code: func (rwt *RWTree) Save() ([]byte, int64, error) {
  	// save state at a new version may still be orphaned before we save the version against the hash
  	hash, version, err := rwt.tree.SaveVersion()
  	if err != nil {
  		return nil, 0, fmt.Errorf("could not save RWTree: %v", err)
  	}
  	// Take an immutable reference to the tree we just saved for querying
  	rwt.ImmutableTree, err = rwt.tree.GetImmutable(version)
  	if err != nil {
  		return nil, 0, fmt.Errorf("RWTree.Save() could not obtain ImmutableTree read tree: %v", err)
  	}
  	rwt.updated = false
  	return hash, version, nil
  }
docs: // Save the current write tree making writes accessible from read tree.