Follow-up to fix for #168

Restore checks for resolved field before returning null
diff --git a/api/src/main/java/jakarta/el/StaticFieldELResolver.java b/api/src/main/java/jakarta/el/StaticFieldELResolver.java
index e64f40b..f9c5276 100644
--- a/api/src/main/java/jakarta/el/StaticFieldELResolver.java
+++ b/api/src/main/java/jakarta/el/StaticFieldELResolver.java
@@ -208,16 +208,17 @@
             String fieldName = (String) property;
             try {
                 context.setPropertyResolved(true);
-                
-                klass.getField(fieldName);
-                
-                /*
-                 * This resolver is always read-only so fall-through to return
-                 * null.
-                 */
+                Field field = klass.getField(fieldName);
+
+                int mod = field.getModifiers();
+                if (isPublic(mod) && isStatic(mod)) {
+                    // Resolver is read-only so need to return null if field is
+                    // resolved.
+                    return null;
+                }                
             } catch (NoSuchFieldException ex) {
-                throw new PropertyNotFoundException(getExceptionMessageString(context, "staticFieldReadError", new Object[] { klass.getName(), fieldName }));
             }
+            throw new PropertyNotFoundException(getExceptionMessageString(context, "staticFieldReadError", new Object[] { klass.getName(), fieldName }));
         }
 
         return null;