private void BuildAmbigousNode(PineappleTreeNode node, SearchResults result)
    {
      node.BacklightColorIndex = (int)Highlights.Ambigous;
      node.Subitems.Add("Ambigous. See tree subitems for details.");

      if (Configs.Instance.ShowOriginal)
        node.Subitems.Add("Original line: " + result.Original);

      node.ToolTipText = "Unable to precisely determine method. Set of variants provided.";
      node.ImageIndex = 8;

      foreach (INamedEntity entity in result.Results)
      {
        PineappleTreeNode entityNode = new PineappleTreeNodeMultiline(GetEntityName(entity));
        node.Nodes.Add(entityNode);
        BuildNormalNode(entityNode, entity, null);
      }
    }
    private void BuildTree()
    {
      pineappleTreeView.BeginUpdate();
      pineappleTreeView.Nodes.Clear();

      foreach (SearchResults result in results)
      {
        PineappleTreeNode node = new PineappleTreeNodeMultiline(GetEntityName(result.Result));
        pineappleTreeView.Nodes.Add(node);

        switch (result.Message)
        {
          case SearchResultMessage.Normal:
            BuildNormalNode(node, result.Result, result.Original);
            break;
          case SearchResultMessage.Ambiguous:
            BuildAmbigousNode(node, result);
            break;
          case SearchResultMessage.Substitution:
            BuildSubstitutionNode(node, result.Result, result.Original);
            break;
          case SearchResultMessage.Failed:
            BuildFailedNode(node, result.Result, result.Original);
            break;
        }                
      }

      pineappleTreeView.CollapseAll();
      pineappleTreeView.EndUpdate();
    }