code: @SuppressWarnings("unchecked")
      @Override
      public PropertyEditor find(Class<?> type) {
          if(type == null){
              return null;
          }
          Class<? extends PropertyEditor> editorClass = this.register.get(type);
          if (editorClass != null) {
              try {
                  return editorClass.newInstance();
              } catch (Exception e) {
                   //e.printStackTrace();
              }
          }
  
          final boolean isArray = type.isArray();
          String editorName = BeanUtils.stripPackage(type);
          if (isArray) {
              editorName += EDITOR_ARRAY;
          } else {
              editorName += EDITOR;
          }
          String searchName = null;
          try {
              searchName = BeanUtils.stripClass(type) + "." + editorName;
              editorClass = (Class<? extends PropertyEditor>) BeanUtils.findClass(searchName);
              return editorClass.newInstance();
          } catch (Exception e) {
              //catching, to be compliant with JDK PEM
              if(logger.isLoggable(Level.FINEST)){
                  logger.log(Level.FINEST,"Failed to instantiate property editor class  '"+searchName+"'.",e);
              }
          }
  
          for (String pkg : this.packages) {
              try {
                  searchName = pkg + "." + editorName;
                  editorClass = (Class<? extends PropertyEditor>) BeanUtils.findClass(searchName);
                  return editorClass.newInstance();
              } catch (Exception e) {
                  //catching, to be compliant with JDK PEM
                  if(logger.isLoggable(Level.FINEST)){
                      logger.log(Level.FINEST,"Failed to instantiate property editor class  '"+searchName+"'.",e);
                  }
              }
          }
  
          if (isArray) {
              Class<?> cellType = type.getComponentType();
              if (find(cellType) != null) {
                  return new GenericArrayPropertyEditor(type);
              }
              return null;
          }  else if(type.isPrimitive()){
              return find(BeanUtils.getWrapperTypeFor(type));
          }
  
          return null;
      }
docs: /*
  (non-Javadoc)
  
  @see org.jboss.common.beans.property.finder.PropertyEditorFinder#find(java.lang.Class)