code: private void installBinding(DependencyGraph graph, Key<?> key, Binding binding) {
      // Figure out where we're putting the implicit entry
      GinjectorBindings implicitEntryPosition = positions.getInstallPosition(key);
      
      // Ensure that the dependencies are available to the ginjector
      inheritBindingsForDeps(implicitEntryPosition, graph.getDependenciesOf(key));
      
      // Now add the implicit binding to the ginjector
      implicitEntryPosition.addBinding(key, binding);
    }
docs: Adds the given implicit binding in the graph to the injector hierarchy in the position
  specified by the {@link BindingPositioner}. Also ensures that the dependencies of the implicit
  binding are available at the chosen position.