docs: public synchronized List<String> propertyListOf(Class<?> c) {
          String cn = c.getName();
          List<String> ls = repo.get(cn);
          if (ls != null) {
              return ls;
          }
          Set<Class<?>> circularReferenceDetector = new HashSet<>();
          ls = propertyListOf(c, circularReferenceDetector, null);
          repo.put(c.getName(), ls);
          return ls;
      }