code: boolean changingSuperAllowed(T oldSuperType, T newSuperType) {
          checkSchemaMutationAllowed();
          return oldSuperType == null || !oldSuperType.equals(newSuperType);
      }
docs: Checks if changing the super is allowed. This passed if:
  The <code>newSuperType</code> is different from the old.
  
  @param oldSuperType the old super
  @param newSuperType the new super
  @return true if we can set the new super