/// <summary>
 /// Searches a SGF game tree for game-info properties
 /// </summary>
 /// <param name="gameTree">SGF game tree</param>
 private void SearchGameTree(SgfGameTree gameTree)
 {
     foreach (var child in gameTree.Children)
     {
         SearchGameTree(child);
     }
     //gather game-info properties from this node
     foreach (var node in gameTree.Sequence)
     {
         foreach (var property in node)
         {
             var knownProperty = SgfKnownProperties.Get(property.Identifier);
             if (knownProperty != null && knownProperty.Type == SgfPropertyType.GameInfo)
             {
                 _gameInfoProperties[property.Identifier] = property;
             }
         }
     }
 }
 public SgfGameInfoSearcher(SgfGameTree gameTree)
 {
     _gameTree = gameTree;
 }