code: func (im *importer) Node() (*Object, error) {
  	im.nodemu.Lock()
  	defer im.nodemu.Unlock()
  	if im.nodeCache != nil {
  		return im.nodeCache, nil
  	}
  
  	expr := fmt.Sprintf("attr:%s:%s attr:%s:%s",
  		attrNodeType, nodeTypeImporter,
  		attrImporterType, im.ImporterType(),
  	)
  	res, err := im.host.search.Query(context.TODO(), &search.SearchQuery{
  		Sort:       search.Unsorted,
  		Limit:      10, // might be more than one because of multiple blob hash types
  		Expression: expr,
  	})
  	if err != nil {
  		return nil, err
  	}
  	best, err := im.bestNode(res)
  	if err != nil {
  		return nil, err
  	}
  	if best != nil {
  		return best, nil
  	}
  
  	o, err := im.host.NewObject()
  	if err != nil {
  		return nil, err
  	}
  	if err := o.SetAttrs(
  		"title", fmt.Sprintf("%s importer", im.name),
  		attrNodeType, nodeTypeImporter,
  		attrImporterType, im.ImporterType(),
  	); err != nil {
  		return nil, err
  	}
  
  	im.nodeCache = o
  	return o, nil
  }
docs: // node returns the importer node. (not specific to a certain account
  // on that importer site)
  //
  // It is a permanode with:
  //   camliNodeType: "importer"
  //   importerType: "twitter"
  // And optionally:
  //   authClientID:     "xxx"    // e.g. api token
  //   authClientSecret: "sdkojfsldfjlsdkf"