code: private void processFields() throws CoreException {
  
          final Class<?> currentClass = this.getClass();
  
          // Parse view properties
          for (final Field f : currentClass.getDeclaredFields()) {
  
              // Only Node and Animation properties are eligible
              if (Node.class.isAssignableFrom(f.getType()) || Animation.class.isAssignableFrom(f.getType())) {
  
                  // If a property was private, it must set to accessible = false after processing action
                  boolean needToHide = false;
                  // For private properties, set them accessible temporary
                  if (!f.isAccessible()) {
                      f.setAccessible(true);
                      needToHide = true;
                  }
  
                  // Process all existing annotation for the current field
                  processAnnotations(f);
  
                  // Reset the property visibility
                  if (needToHide && f.isAccessible()) {
                      f.setAccessible(false);
                  }
              }
          }
      }
docs: Process all fields' annotations to auto-link them with event handler.
  
  @throws CoreException if annotation processing fails