public ClassInfo getSuperclass() {
        final Set<ClassInfo> superClasses = relatedClasses.get(RelType.SUPERCLASSES);
        if (superClasses == null || superClasses.isEmpty()) {
            return null;
        } else if (superClasses.size() > 2) {
            throw new IllegalArgumentException("More than one superclass: " + superClasses);
        } else {
            final ClassInfo superclass = superClasses.iterator().next();
            if (superclass.getName().equals("java.lang.Object")) {
                return null;
            } else {
                return superclass;
            }
        }
    }
public ClassInfo getSuperclass ( ) { final Set < ClassInfo > superClasses = relatedClasses . get ( RelType . SUPERCLASSES ) ; if ( superClasses == null || superClasses . isEmpty ( ) ) { return null ; } else if ( superClasses . size ( ) > 2 ) { throw new IllegalArgumentException ( "More than one superclass: " + superClasses ) ; } else { final ClassInfo superclass = superClasses . iterator ( ) . next ( ) ; if ( superclass . getName ( ) . equals ( "java.lang.Object" ) ) { return null ; } else { return superclass ; } } }
Get the single direct superclass of this class, or null if none. Does not return the superinterfaces, if this
is an interface (use {@link #getInterfaces()} to get superinterfaces of an interface.}

@return the superclass of this class, or null if none.