code: @Override
      protected void configure()
      {
          final Disposer disposer = new Disposer();
  
          bind( Disposer.class ).toInstance( disposer );
  
          bindListener( getTypeMatcher(), new AbstractMethodTypeListener( getAnnotationType() )
          {
  
              @Override
              protected <I> void hear( final Method disposeMethod, TypeEncounter<I> encounter )
              {
                  encounter.register( new InjectionListener<I>()
                  {
  
                      public void afterInjection( I injectee )
                      {
                          disposer.register( disposeMethod, injectee );
                      }
  
                  } );
              }
  
          } );
      }
docs: {@inheritDoc}