private void Triverse(GLNode gLNode) { GLSnippet snippet = this.FindSnippet(gLNode); if (snippet != null) { snippet.BeforeChildren(this, gLNode); } foreach (var item in gLNode.Children) { this.Triverse(item); } if (snippet != null) { snippet.AfterChildren(this, gLNode); } }