code: public void registerDefaults() {
          typeToEditor.clear();
          propertyToEditor.clear();
  
          //switch to service loader and use of custom annotation
          ServiceLoader<PropertyEditor> propertyLoader = ServiceLoader.load(PropertyEditor.class);
          Iterator<PropertyEditor> controllersIt = propertyLoader.iterator();
          while (controllersIt.hasNext()) {
              try {
                  PropertyEditor c = controllersIt.next();
                  EditorRegistry annotation = c.getClass().getAnnotation(EditorRegistry.class);
                  if (annotation != null) {
                      for (Class<?> clazz : annotation.type()) {
                          registerEditor(clazz, c.getClass());
                      }
                  }
            } catch (ServiceConfigurationError serviceError) {
                Logger.getLogger(getClass().getName()).log(Level.WARNING, serviceError.getMessage(), serviceError);
             }
          }
      }
docs: Adds default editors. This method is called by the constructor but may be
  called later to reset any customizations made through the
  <code>registerEditor</code> methods. <b>Note: if overridden,
  <code>super.registerDefaults()</code> must be called before plugging
  custom defaults. </b>