string GetDescription(CompletionEntryDetails entryDetails)
		{
			return String.Format(
				"{0} {1}",
				GetFullSymbolName(entryDetails),
				GetDocCommentPrecededByNewLine(entryDetails));
		}
		static string GetFullSymbolName(CompletionEntryDetails entryDetails)
		{
			if (entryDetails.displayParts == null) {
				return String.Empty;
			}
			
			var name = new StringBuilder();
			foreach (SymbolDisplayPart part in entryDetails.displayParts) {
				name.Append(part.text);
			}
			return name.ToString();
		}
		string GetDocCommentPrecededByNewLine(CompletionEntryDetails entryDetails)
		{
			if ((entryDetails.documentation == null) || (entryDetails.documentation.Length == 0)) {
				return String.Empty;
			}
			
			return String.Format("\r\n{0}", entryDetails.documentation[0].text);
		}