docs: protected Method findWriteMethod(String propertyName, Class cls,
                                       Class propertyType)
          {
          String name = "set"
                        + Character.toUpperCase(propertyName.charAt(0))
                        + propertyName.substring(1);
  
          try
              {
              return cls.getMethod(name, propertyType);
              }
          catch (NoSuchMethodException e)
              {
              for (Method m : cls.getMethods())
                  {
                  if (m.getName().equals(name) && m.getParameterTypes().length == 1)
                      {
                      // best match, might need type conversion
                      return m;
                      }
                  }
              }
  
          return null;
          }