code: private static String getPropertyName(String methodName, int beginIndex)
      {
          String propertyName;
          int secondIndex = beginIndex + 1;
  
          if (methodName.length() <= secondIndex ||
              Character.isLowerCase(methodName.charAt(secondIndex)))
          {
              // no second letter, or second letter is lowercase, so lowercase
              // the first letter as well.
              StringBuilder namebldr = new StringBuilder(methodName);
              namebldr.setCharAt(beginIndex, Character.toLowerCase(namebldr.charAt(beginIndex)));
              propertyName = namebldr.substring(beginIndex);
          }
          else
          {
              // second letter is uppercase (or at least not lowercase, like '_'),
              // so leave the case of the first letter alone.
              propertyName = methodName.substring(beginIndex);
          }
  
          return propertyName;
      }
docs: Returns the OMG IDL property name for the specified java 'get', 'is',
  or 'set' method. <p>
  
  Basically, the OMG IDL property name is the same as the method name,
  with the 'get', 'is', or 'set' string stripped off the front, and the
  first letter changed to lowercase, if the second letter is NOT
  uppercase. <p>
  
  Note that the second letter is strictly for performance, as it is
  expected that the caller will know if the method name begins with
  'get', 'is', or 'set'. <p>
  
  @param methodName method name to be converted to a property name
  @param beginIndex index to the first letter in the method name
  after 'get', 'is', or 'set' (i.e. the length of
  either 'get', 'is', or 'set').