code: public static List<Property> allProperties(TypeDef typeDef) {
          return unrollHierarchy(typeDef)
                  .stream()
                  .flatMap(h -> h.getProperties().stream())
                  .collect(Collectors.toList());
      }
docs: All properties (including inherited).
  @param typeDef   The type.
  @return          A list with all properties.