code: protected static void checkParentConstructor(Class<?> clazz) throws InvalidClassException {
          if (clazz != Object.class) {
          Class<?> parentClazz = clazz.getSuperclass();
              try {
                  checkConstructorNoArg(parentClazz);
              } catch (InvalidClassException e) {
                  checkClassIsAnnotationMarked(parentClazz);
              }
          }
      }
docs: Checks if parent class (if exists) is annotated as AutoSerializable, or have parameterless public constructor .
  @param clazz
  @throws java.io.InvalidClassException