class YamlDocGenerator {

  String generateForClass(Map<String, Object> classSchema) {
    StringBuilder sb = new StringBuilder(CLASS_TABLE_HEADER);

    Map<String, Object> properties =
        Optional.ofNullable(subMap(classSchema, "properties")).orElse(new HashMap<>());
    for (String propertyName : getSortedKeys(properties)) {
      sb.append("\n").append(generateForProperty(propertyName, properties));
    }
    return sb.toString();
  }

  public  YamlDocGenerator(Map<String, Object> schema);

}