anchor.diff:  [source,java]
   ----
   // List<? super Point>
  -final Type list = generic(List.class, supertype(Point.class));
  +final Type type = generic(List.class, supertype(Point.class));
   
   // List<? extends Number>
  -final Type list = generic(List.class, subtype(Number.class));
  +final Type type = generic(List.class, subtype(Number.class));
   ----
   
   and then go crazy with this:
  
positive.code: image:https://badges.gitter.im/Join%20Chat.svg["Gitter", link="https://gitter.im/{github-org}/{project-name}"]
  
  
  This https://www.java.com[Java] library provides a factory to create generic `java.lang.reflect.Type` variations, such as `Map<String, Point>`.
  
  === Features
  
  
negative.code: 
  [source,java]
  ----
  // Map<Number, Point>
  final Type type = GenericTypes.generic(Map.class, Number.class, Point.class);
  
  // List<Number>
  final Type type = GenericTypes.generic(List.class, Number.class);
  ----
  
  Super- and subtypes such as `List<? super Point>` or `List<? extends Number>` can be created in the following way:
  