anchor.diff:  [source,java]
   --------------------------------------------
   public class TypeLiteral<T> implements Serializable {
  +
       [...]
  +
       protected TypeLiteral(Type type) {
           this.type = type;
       }
   
       protected TypeLiteral() { }
   
  -    public static <T> TypeLiteral<T> of(Type type){...}
  +    public static <L> TypeLiteral<L> of(Type type){...}
  +    public static <L> TypeLiteral<L> of(Class<L> type){...}
   
       public final Type getType() {...}
       public final Class<T> getRawType() {...}
  +
  +    public static Type getGenericInterfaceTypeParameter(Class<?> clazz, Class<?> interfaceType){...}
  +    public static Type getTypeParameter(Class<?> clazz, Class<?> interfaceType){...}
  +
       [...]
   }
   --------------------------------------------
  
positive.code:                                  config);
  --------------------------------------------
  
  [[Mutability]]
  ==== Mutability
  
  tbd
  
  
  [[ConfigException]]
  === ConfigException
  
  The class +ConfigException+ models the base *runtime* exception used by the configuration system.
  
  [[SPI]]
  == SPI
  
negative.code: [source,java]
  .Interface Configuration in Java 8
  --------------------------------------------
  public interface Configuration{
      // methods also defined in Java 7
      String get(String key);
      <T> T get(String key, Class<T> type);
  