title: Confusing behavior of java.beans.PropertyDescriptor(String, Class)
body: <p>I'm trying to create a PropertyDescriptor for a bean class I have.  I am calling</p>
  
  <pre><code>new PropertyDescriptor(myProperty, myClass)
  </code></pre>
  
  <p>and am seeing an exception that the method "isMyProperty" does not exist.
  Peeking into the code a bit --</p>
  
  <pre><code>/**
   * Constructs a PropertyDescriptor for a property that follows
   * the standard Java convention by having getFoo and setFoo
   * accessor methods.  Thus if the argument name is "fred", it will
   * assume that the writer method is "setFred" and the reader method
   * is "getFred" (or "isFred" for a boolean property).  Note that the
   * property name should start with a lower case character, which will
   * be capitalized in the method names.
   *
   * @param propertyName The programmatic name of the property.
   * @param beanClass The Class object for the target bean.  For
   *      example sun.beans.OurButton.class.
   * @exception IntrospectionException if an exception occurs during
   *              introspection.
   */
  public PropertyDescriptor(String propertyName, Class&lt;?&gt; beanClass)
      throws IntrospectionException {
  this(propertyName, beanClass, 
       "is" + capitalize(propertyName), 
       "set" + capitalize(propertyName));
  }
  </code></pre>
  
  <p>The documentation says that it will look for "getFred" but it always uses <code>"is" + capitalize(property)</code>!  This is in java version "1.6.0_31"</p>
  
  <p>Thoughts?</p>