code: public static Method getGetter(Class<?> clazz, String fieldName) {
          StringBuilder sb = new StringBuilder("get").append(
                  Character.toUpperCase(fieldName.charAt(0))).append(fieldName,
                  1, fieldName.length());
          final String internedGetName = sb.toString().intern();
          final String internedIsName = sb.replace(0, 3, "is").toString().intern();
          return traverseHierarchy(clazz, new TraverseTask<Method>() {
  
              @Override
              public Method run(Class<?> clazz) {
                  Method[] methods = clazz.getDeclaredMethods();
                  Method res = null;
  
                  for (int i = 0; i < methods.length; i++) {
                      Method m = methods[i];
                      if (isGetterSignature(m)) {
                          if (m.getName() == internedGetName
                                  && (res == null
                                  || res.getReturnType().isAssignableFrom(m.getReturnType()))) {
                              res = m;
                          }
                          if (m.getName() == internedIsName
                                  && (res == null
                                  || res.getReturnType().isAssignableFrom(m.getReturnType()))) {
                              res = m;
                          }
                      }
                  }
  
                  return res;
              }
          });
      }
docs: Retrieves the getter method of the given class for the specified field
  name. The method first tries to find the getFieldName method of the class
  and if it can not find that method it looks for the isFieldName method.
  If this method also can not be found, null is returned.
  <p>
  This method uses #
  {@link ReflectionUtils#getMethodReturnType(Class, String, Class...)} to
  retrieve the getter.
  <p>
  A getter must not have any parameters and must have a return type that is
  different from void.
  
  @param clazz     The class within to look for the getter method
  @param fieldName The field name for which to find the getter method
  @return The getter method for the given fieldName if it can be found,
  otherwise null