public ArrayList<ArrayList<SemanticNode>> process(ParserAnnotation annotation) {

    Environment ENV = annotation.getEnv();
    ArrayList<SemanticNode> nodes = annotation.getNodes();
    return bindPropToIndex(nodes, ENV);
  }
  public ArrayList<ArrayList<SemanticNode>> process(ParserAnnotation annotation) {

    Environment ENV = annotation.getEnv();
    ArrayList<SemanticNode> nodes = annotation.getNodes();
    return matchSyntacticPatterns.matchSyntacticPatterns(nodes, ENV);
  }