code: protected <T> TypeConfiguration<T> type( Class<T> type ) {
          if ( type.isPrimitive() ) {
              throw new IllegalArgumentException( "Type " + type + " is a primitive. Call primitiveType(Class) instead" );
          }
          return new TypeConfiguration<T>( type );
      }
docs: <p>type</p>
  
  @param type Type
  @return a {@link TypeConfiguration} to configure serializer and/or deserializer for the given type.
  @param <T> a T object.