code: func (s *Sync) AddRawEntry(hash common.Hash, depth int, parent common.Hash) {
  	// Short circuit if the entry is empty or already known
  	if hash == emptyState {
  		return
  	}
  	if _, ok := s.membatch.batch[hash]; ok {
  		return
  	}
  	if ok, _ := s.database.Has(hash.Bytes()); ok {
  		return
  	}
  	// Assemble the new sub-trie sync request
  	req := &request{
  		hash:  hash,
  		raw:   true,
  		depth: depth,
  	}
  	// If this sub-trie has a designated parent, link them together
  	if parent != (common.Hash{}) {
  		ancestor := s.requests[parent]
  		if ancestor == nil {
  			panic(fmt.Sprintf("raw-entry ancestor not found: %x", parent))
  		}
  		ancestor.deps++
  		req.parents = append(req.parents, ancestor)
  	}
  	s.schedule(req)
  }
docs: // AddRawEntry schedules the direct retrieval of a state entry that should not be
  // interpreted as a trie node, but rather accepted and stored into the database
  // as is. This method's goal is to support misc state metadata retrievals (e.g.
  // contract code).