I use it extensively in the Guts-GUI . You can look, in particular, at the ResourceModule , where it is used to display the right ResourceConverter<T> for a given type T :
Map<TypeLiteral<?>>, ResourceConverter<?>>
MapBinder is created directly in the Resources helper class.
Thus, any module can add its own resource converters for its own types, for example. MessageModule adds its own converters.
I also used it as a Map<Integer, WindowProcessor>> in the WindowsModule to define an ordered list of WindowProcessor , which will be applied one after another to the newly created window.
Again, this allows the various modules to insert their own processor into the list applied to each window: ResourceModule uses it to add the ability to automatically inject i18n resources into windows.
source share