code: def get_child(self, injection_site_fn, binding):
          
          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)
docs: 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