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: }
  --------------------------------------------
  
  
negative.code: Configuration config = ConfigurationProvider.getConfiguration();
  --------------------------------------------
  
  Hereby the +ConfigurationProvider+ singleton is backed up by an instance of +<<ConfigurationProviderSpi>>+.
  
  
  [[PropertyConverter]]
  ==== Property Converters
  
  As illustrated in the previous section, +Configuration+ also to access non String types. Nevertheless internally
  all properties are strictly modelled as pure Strings only, so non String types must be derived by converting the
  configured String values into the required target type. This is achieved with the help of +PropertyConverters+:
  
  [source,java]
  