code: protected static synchronized void registerAllowedChildClass(Class<? extends ElementBase> clazz,
                                                                   Class<? extends ElementBase> childClass,
                                                                   int maxOccurrences) {
          allowedChildClasses.addCardinality(clazz, childClass, maxOccurrences);
      }
docs: A ElementBase subclass should call this in its static initializer block to register any
  subclasses that may be a child.
  
  @param clazz Class whose valid child classes are to be registered.
  @param childClass Class that may be a child of clazz.
  @param maxOccurrences Maximum occurrences for the child class.