core/src/main/java/com/orientechnologies/orient/core/metadata/schema/OClassImpl.java
protected OClass addBaseClass(final OClassImpl iBaseClass) {
    checkRecursion(iBaseClass);

    if (subclasses == null)
      subclasses = new ArrayList<OClass>();

    if (subclasses.contains(iBaseClass))
      return this;

    subclasses.add(iBaseClass);
    addPolymorphicClusterIdsWithInheritance(iBaseClass);
    return this;
  }
protected OClass addBaseClass(final OClassImpl iBaseClass) {
    checkRecursion(iBaseClass);

    if (subclasses == null)
      subclasses = new ArrayList<OClass>();

    if (subclasses.contains(iBaseClass))
      return this;

    subclasses.add(iBaseClass);
    addPolymorphicClusterIdsWithInheritance(iBaseClass);
    return this;
  }
protected OClass addBaseClass ( final OClassImpl iBaseClass ) { checkRecursion ( iBaseClass ) ; if ( subclasses == null ) subclasses = new ArrayList < OClass > ( ) ; if ( subclasses . contains ( iBaseClass ) ) return this ; subclasses . add ( iBaseClass ) ; addPolymorphicClusterIdsWithInheritance ( iBaseClass ) ; return this ; }
Adds a base class to the current one. It adds also the base class cluster ids to the polymorphic cluster ids array.

@param iBaseClass The base class to add.
Adds a base class to the current one . It adds also the base class cluster ids to the polymorphic cluster ids array .