try {
String data = "(;PW[White]PB[Me]AW[cb]AW[db]AW[eb]AW[bc]AW[cc]AW[cd]AW[dd]AW[ed]AW[fd]AW[gd]AW[de]AW[fe]AW[df]AW[ef]AB[bb]AB[fb]AB[hb]AB[ac]AB[dc]AB[ec]AB[fc]AB[gc]AB[bd]AB[hd]AB[be]AB[ce]AB[ge]AB[he]AB[cf]AB[ff]AB[hf]AB[cg]AB[dg]AB[eg]AB[fg];B[](;W[ca]CR[ca](;B[ea]CR[ea];W[ab]CR[ab](;B[aa]CR[aa];W[ba]CR[ba]C[RIGHT])(;B[ad]CR[ad];W[ba]CR[ba]C[RIGHT]))(;B[ad]CR[ad];W[ea]CR[ea]C[RIGHT])(;B[ab]CR[ab];W[ea]CR[ea]C[RIGHT]))(;W[ea]CR[ea];B[ca]CR[ca](;W[ab]CR[ab];B[aa]CR[aa])(;W[da]CR[da];B[ab]CR[ab])(;W[ba]CR[ba];B[ab]CR[ab]))(;W[ab]CR[ab];B[aa]CR[aa](;W[ca]CR[ca](;B[ea]CR[ea];W[ba]CR[ba]C[RIGHT])(;B[ad]CR[ad];W[ea]CR[ea]C[RIGHT]))(;W[ea]CR[ea];B[ca]CR[ca]))(;W[ba]CR[ba];B[ab]CR[ab](;W[ca]CR[ca];B[ea]CR[ea])(;W[ea]CR[ea];B[ca]CR[ca]))(;W[da]CR[da];B[ab]CR[ab]))";
SGFParser parser = new SGFParser(data);
SGFNode tree = parser.parse();
DocumentedGame game = new DocumentedGame(tree);
SGFNode node = game.kifuFirstMove(true);
SGFMove move = node.getMoveProperty();
assertEquals(SGFMove.WHITE, move.color);
assertEquals(2, move.x);
assertEquals(0, move.y);
} catch (Exception e) {