code: func (db *Database) preimage(hash common.Hash) ([]byte, error) {
  	// Retrieve the node from cache if available
  	db.lock.RLock()
  	preimage := db.preimages[hash]
  	db.lock.RUnlock()
  
  	if preimage != nil {
  		return preimage, nil
  	}
  	// Content unavailable in memory, attempt to retrieve from disk
  	return db.diskdb.Get(db.secureKey(hash[:]))
  }
docs: // preimage retrieves a cached trie node pre-image from memory. If it cannot be
  // found cached, the method queries the persistent database for the content.