code: private String getConfigPropertyName(Annotation annotation)
        throws ClassNotFoundException, NoSuchFieldException, NoSuchMethodException
     {
        if (annotation.isOnField())
        {
           return annotation.getMemberName();
        }
        else if (annotation.isOnMethod())
        {
           String name = annotation.getMemberName();
  
           if (name.startsWith("set"))
           {
              name = name.substring(3);
           }
           else if (name.startsWith("get"))
           {
              name = name.substring(3);
           }
           else if (name.startsWith("is"))
           {
              name = name.substring(2);
           }
  
           if (name.length() > 1)
           {
              return Character.toLowerCase(name.charAt(0)) + name.substring(1);
           }
           else
           {
              return Character.toString(Character.toLowerCase(name.charAt(0)));
           }
        }
  
        throw new IllegalArgumentException(bundle.unknownAnnotation(annotation));
     }
docs: Get the config-property-name for an annotation
  @param annotation The annotation
  @return The name
  @exception ClassNotFoundException Thrown if a class cannot be found
  @exception NoSuchFieldException Thrown if a field cannot be found
  @exception NoSuchMethodException Thrown if a method cannot be found