docs: public String[] findGetterPropertyNames() {
          final Method[] getters = findGetterMethods();
          final List<String> result = new ArrayList<String>();
          for (int i = 0; i < getters.length; i++) {
              final Method m = getters[i];
              String name = m.getName();
              String propertyName = null;
              if (name.startsWith("get") && name.length() > 3) {
                  propertyName = name.substring(3);
              } else if (name.startsWith("is") && name.length() > 2) {
                  propertyName = name.substring(2);
              } else if (name.startsWith("are") && name.length() > 3) {
                  propertyName = name.substring(3);
              }
              if (propertyName != null) {
                  propertyName = INFLECTOR.camelCase(INFLECTOR.underscore(propertyName), false);
                  result.add(propertyName);
              }
          }
          return result.toArray(new String[result.size()]);
      }