code: @Override
    public void createAdjacencyMatrix(SDocumentGraph graph,
      Map<String, String> args, int matchNumber, int nodeCount) throws IOException, IllegalArgumentException
    {
      // first match
      if (matchNumber == 0)
      {
        // get list of metakeys to export
        metakeys = new HashSet<>();
        if (args.containsKey("metakeys"))
        {
          metakeys.addAll(Arrays.asList(args.get("metakeys").split(",")));
        }
        // initialize list of annotations for the matched nodes
        annotationsForMatchedNodes = new TreeMap<>();
      }
      for (SNode node: this.getMatchedNodes(graph)) {
        int node_id = node
            .getFeature(AnnisConstants.ANNIS_NS, AnnisConstants.FEAT_MATCHEDNODE)
            .getValue_SNUMERIC().intValue();
        if(!annotationsForMatchedNodes.containsKey(node_id))
          annotationsForMatchedNodes.put(node_id, new TreeSet<String>());
        List<SAnnotation> annots = new ArrayList<>(node.getAnnotations());
        Set<String> annoNames = annotationsForMatchedNodes.get(node_id);
        for (SAnnotation annot: annots) {
          annoNames.add(annot.getNamespace() + "::" + annot.getName());
        }
      }
    }
docs: Takes a match and stores annotation names to construct the header in
  {@link #outputText(de.hu_berlin.german.korpling.saltnpepper.salt.saltCommon.sDocumentStructure.SDocumentGraph, boolean, int, java.io.Writer) }
  
  @param graph
  @param args
  @param matchNumber
  @param nodeCount
  
  @throws java.io.IOException