code: private Map<String, PropertyType> buildPropertyTypes(Class<?> clazz) {
          Map<String, PropertyType> r = new HashMap<>();
          for (Field f : clazz.getFields())
              r.put(f.getName(),new PropertyType(f));
  
          for (Method m : clazz.getMethods())
              if(m.getName().startsWith("get"))
                  r.put(Introspector.decapitalize(m.getName().substring(3)),new PropertyType(m));
  
          return r;
      }
docs: Given the class, list up its {@link PropertyType}s from its public fields/getters.