code: func (t *Tr) contextOrCachedNode(id ID, cache bool) (*Node, error) {
  	if t.context != nil {
  		n := t.context.getNode(id)
  		if n != nil {
  			return n, nil
  		}
  	}
  
  	return t.cacher.getNode(t, id, cache)
  }
docs: // contextOrCachedNode is a convenience function for either fetching
  // a node from the context or persistence.