code: protected String getPropertyName(String methodName, int prefixLength, int suffixLength) {
  
      int len = methodName.length();
      int end = len - suffixLength;
      if (prefixLength < end) {
        String methodSuffix = methodName.substring(prefixLength, end);
        StringBuffer sb = new StringBuffer(methodSuffix);
        sb.setCharAt(0, Character.toLowerCase(methodSuffix.charAt(0)));
        return sb.toString();
      }
      return null;
    }
docs: This method gets the according {@link net.sf.mmm.util.pojo.descriptor.api.PojoPropertyDescriptor#getName()
  property-name} for the given {@code methodName}. <br>
  This is the un-capitalized substring of the {@code methodName} after the prefix (given via {@code prefixLength}).
  
  @param methodName is the {@link java.lang.reflect.Method#getName() name} of the
  {@link net.sf.mmm.util.pojo.descriptor.api.accessor.PojoPropertyAccessor#getAccessibleObject()
  accessor-method}.
  @param prefixLength is the length of the method prefix (e.g. 3 for "get"/"set" or 2 for "is").
  @param suffixLength is the length of the method suffix (e.g. 4 for "Size").
  @return the requested property-name or {@code null} if NOT available <br>
  ({@code methodName}.{@link String#length() length()} &lt;= {@code prefixLength}).