def get_child(self, injection_site_fn, binding):
        """Creates a child injection context.

        A "child" injection context is a context for a binding used to
        inject something into the current binding's provided value.

        Args:
          injection_site_fn: the child function being injected into
          binding: a Binding
        Returns:
          a new _InjectionContext
        """
        child_scope_id = binding.scope_id
        new_binding_stack = self._binding_stack + [binding]
        if binding in self._binding_stack:
            raise errors.CyclicInjectionError(new_binding_stack)
        if not self._is_scope_usable_from_scope_fn(
                child_scope_id, self._scope_id):
            raise errors.BadDependencyScopeError(
                self.get_injection_site_desc(),
                self._scope_id, child_scope_id, binding.binding_key)
        return _InjectionContext(
            injection_site_fn, new_binding_stack, child_scope_id,
            self._is_scope_usable_from_scope_fn)
Creates a child injection context.

        A "child" injection context is a context for a binding used to
        inject something into the current binding's provided value.

        Args:
          injection_site_fn: the child function being injected into
          binding: a Binding
        Returns:
          a new _InjectionContext