code: public <T> void dereference(T instance, Class<T> type, Annotation qualifier)
              throws ProviderMissingException {
          if (uiThreadRunner.isOnUiThread()) {
  
          } else {
              uiThreadRunner.post(new Runnable() {
                  @Override
                  public void run() {
  
                  }
              });
          }
  
          graph.dereference(instance, type, qualifier, Inject.class);
      }
docs: Dereference an injectable object. When it's not referenced by anything else after this
  dereferencing, release its cached instance if possible.
  @param instance the instance is to release
  @param type the type of the object
  @param qualifier the qualifier