code: public void register(final Class<?> model) {
          final ODatabaseObject db = dbProvider.get();
          // auto create schema for new classes
          ((OObjectDatabaseTx) db).setAutomaticSchemaGeneration(true);
          // processing lower hierarchy types first
          try {
              for (Class<?> type : Lists.reverse(SchemeUtils.resolveHierarchy(model))) {
                  processType(db, type);
              }
          } catch (Throwable th) {
              throw new SchemeInitializationException("Failed to register model class " + model.getName(), th);
          }
      }
docs: Register model scheme. If model class extends other classes, superclasses will be processed first
  (bottom to top). On each class from hierarchy extensions are searched and applied. Processed classes are
  cashed to avoid multiple processing of the same base model class.
  
  @param model model class