code: public Injector createInjector() {
          for (final TypeLiteral<?> typeLiteral : _inheritedTypeLiterals) {
              final Key<?> key = Key.get(typeLiteral);
              final Binding<?> binding = _parentInjector.getExistingBinding(key);
              if (binding != null) {
                  if (!_adHocModule.hasBindingFor(typeLiteral)) {
                      // Bind entry if not already bound in adhoc module!!!
                      _adHocModule.bind(typeLiteral, binding.getProvider());
                  }
              }
          }
  
          final Module module = Modules.override(_parentModule).with(_adHocModule);
          return Guice.createInjector(module);
      }
docs: Creates an {@link Injector} which in turn can be used to get instances of
  various types.
  
  Note the the {@link #getInstance(Class)} method is preferred, if only a
  single injection is to be made.
  
  @return a Guice injector