code: function createBasicTranslation(memberName, type, i, options) {
    var node = {};
  
    node["id"] = memberName;
    node["type"] = type;
  
    if (i["inheritdoc"] !== undefined) {
      node["inheritdoc"] = i["inheritdoc"].src;
    }
    else if (i["doc"] !== undefined) {
      node["description"] = i["doc"];
      // short description lasts until the first empty line
      node["short_description"] = node["description"].replace(/\n\n[\s\S]*$/, '\n');
    }
    else {
      node["undocumented"] = true;
    }
  
    node["line"] = i["linenr"];
  
    if (i["private"] !== undefined)
      node["private"] = i["private"];
  
    if (i["experimental"] !== undefined)
      node["experimental"] = i["experimental"];
  
    if (i["ignore"] !== undefined)
      node["ignore"] = i["ignore"];
      
    if (i["chainable"] !== undefined)
      node["chainable"] = i["chainable"];
  
    if (i["see"] !== undefined)
      node["related_to"] = i["see"].name;
  
    if (i["author"] !== undefined && i["author"].length > 0)
      node["author"] = i["author"].doc;
    
    if (i["version"] !== undefined)
      node["version"] = i["version"].doc;
    
    if (i["since"] !== undefined)
      node["since"] = i["since"].doc;
  
    if (i["author"] !== undefined)
      node["author"] = i["author"];
  
    if (i["related"] !== undefined)
      node["related"] = i["related"].name;
  
    if (options.customTags) {
      _.each(options.customTags, function(tag) {
        if (i[tag] !== undefined)
          node[tag] = i[tag];
      });
    }
  
    return node;
  }
docs: creates types for nodes that can be anything