code: private Type createType(Namespace containingPackage, TypeElement type) {
          requireNonNull(type, "Type element is <null>.");
          if (containingPackage == null) containingPackage = packageOf(type);
          return new Type(containingPackage, typeClassificationOf(type), TypeNameVisitor.INSTANCE.visit(type.asType()));
      }
docs: Creates an 'empty' type (i.e. without any fields, constructors or methods)
  
  @param containingPackage The containing package of the type (optional, will be obtained from typeElement if null).
  @param type              The type element to create a Type object for.
  @return The empty Type object.