protected virtual void AddDelegateGrammar( Grammar delegateGrammar )
{
CompositeGrammarTree t = composite.DelegateGrammarTreeRoot.FindNode( this );
t.AddChild( new CompositeGrammarTree( delegateGrammar ) );
// make sure new grammar shares this composite
delegateGrammar.composite = this.composite;
}