code: func (a *API) FetchGraph(cid CIDType) (*Graph, error) {
  	if cid == nil || *cid == "" {
  		return nil, fmt.Errorf("Invalid graph CID [none]")
  	}
  
  	graphCID := string(*cid)
  
  	matched, err := regexp.MatchString(config.GraphCIDRegex, graphCID)
  	if err != nil {
  		return nil, err
  	}
  	if !matched {
  		return nil, fmt.Errorf("Invalid graph CID [%s]", graphCID)
  	}
  
  	result, err := a.Get(graphCID)
  	if err != nil {
  		return nil, err
  	}
  	if a.Debug {
  		a.Log.Printf("[DEBUG] fetch graph, received JSON: %s", string(result))
  	}
  
  	graph := new(Graph)
  	if err := json.Unmarshal(result, graph); err != nil {
  		return nil, err
  	}
  
  	return graph, nil
  }
docs: // FetchGraph retrieves graph with passed cid.