/// <summary>
/// Creates a new PhraseNode that contains the words resulting from splitting the given identifier.
/// </summary>
/// <param name="id">A program identifier.</param>
/// <param name="splitter">An IdSplitter to split the given identifier into words.</param>
public PhraseNode(string id, IdSplitter splitter)
: this() {
string[] words;
if(splitter != null) {
words = splitter.Split(id);
} else {
words = new string[] { id };
}
InitWords(words);
}