public static String propertyName(Method m) {
    String rest = null;
    String name = m.getName();
    if (name.startsWith("get")) {
      rest = name.substring(3);
    } else if (name.startsWith("is") && m.getReturnType() == boolean.class) {
      rest = name.substring(2);
    }
    if (rest == null || rest.length() == 0 || m.getParameterTypes().length > 0
        || m.getReturnType() == void.class || name.equals("getClass")) {
      return null;
    }
    return rest;
  }
Builder if the target class is an interface and contains no methods other than getters. Then we
can make an instance using a dynamic proxy that forwards the getters to the source
CompositeData
geode-core/src/main/java/org/apache/geode/management/internal/OpenTypeConverter.java