private BioFuzzParseNode getNodeById(BioFuzzParseNode node, int id) {

    BioFuzzParseNode res = null;

    if (node == null) return res;

    // logger.debug("node id: " + node.getId() + "id " + id);

    if (node.getId() == id) {
      // logger.debug("here");
      res = node;
    }

    if (node.hasChildren() && res == null) {
      for (BioFuzzParseNode child : node.getChildren()) {
        if ((res = getNodeById(child, id)) != null) {
          break;
        }
      }
    }

    return res;
  }