code: private void processAmbiguousProperty(XMLStreamWriter writer, Set<Method> methodSet, Class<?> aClass, PropertyDescriptor propertyDescriptor) throws SecurityException, XMLStreamException
     {
        String name = propertyDescriptor.getName();
        name = name.toUpperCase().charAt(0) + name.substring(1);
  
        Method readMethod = null;
        try
        {
           readMethod = aClass.getMethod("get" + name, (Class<?>[]) null);
        }
        catch (NoSuchMethodException ex)
        {
           // Silently ignore
        }
  
        if (readMethod != null)
        {
           Method writeMethod = null;
           try
           {
              writeMethod = aClass.getMethod("set" + name, readMethod.getReturnType());
           }
           catch (NoSuchMethodException ex)
           {
              // Silently ignore
           }
  
           String readMethodName = readMethod.getName();
           String writeMethodName = writeMethod == null ? null : writeMethod.getName();
           addProperty(writer, name, readMethod.getReturnType(), readMethodName, writeMethodName);
  
           methodSet.add(readMethod);
           if (writeMethod != null)
           {
              methodSet.add(writeMethod);
           }
        }
     }
docs: Where bean introspection is confused by getProperty() and getProperty(int index), this method determines the correct
  properties to add.
  
  @param writer XML stream writer
  @param methodSet set of methods processed
  @param aClass Java class
  @param propertyDescriptor Java property
  @throws SecurityException
  @throws XMLStreamException