code: public void setEntryClasses(Class<?>... entryClasses) {
      int numEntries = entryClasses.length;
      HashMap<String, Class<?>> kindToEntryClassMap = this.kindToEntryClassMap;
      for (int i = 0; i < numEntries; i++) {
        Class<?> entryClass = entryClasses[i];
        ClassInfo typeInfo = ClassInfo.of(entryClass);
        Field field = typeInfo.getField("@gd:kind");
        if (field == null) {
          throw new IllegalArgumentException("missing @gd:kind field for " + entryClass.getName());
        }
        Object entry = Types.newInstance(entryClass);
        String kind = (String) FieldInfo.getFieldValue(field, entry);
        if (kind == null) {
          throw new IllegalArgumentException(
              "missing value for @gd:kind field in " + entryClass.getName());
        }
        kindToEntryClassMap.put(kind, entryClass);
      }
    }
docs: Sets the entry classes to use when parsing.