code: public static Object getObjectFieldValue( Object object, String fieldName )
              throws UtilEvalError, ReflectError {
          if ( object instanceof This ) {
              return ((This) object).namespace.getVariable( fieldName );
          } else if( object == Primitive.NULL ) {
              throw new UtilTargetError( new NullPointerException(
                  "Attempt to access field '" +fieldName+"' on null value" ) );
          } else {
              try {
                  return getFieldValue(
                      object.getClass(), object, fieldName, false/*onlystatic*/);
              } catch ( ReflectError e ) {
                  // no field, try property access
                  if ( hasObjectPropertyGetter( object.getClass(), fieldName ) )
                      return getObjectProperty( object, fieldName );
                  else
                      throw e;
              }
          }
      }
docs: Check for a field with the given name in a java object or scripted object
  if the field exists fetch the value, if not check for a property value.
  If neither is found return Primitive.VOID.