code: private Node newInstrumentationNode(NodeTraversal traversal, Node node) {
      int lineNumber = node.getLineno();
      String arrayName = createArrayName(traversal);
  
      // Create instrumentation Node
      Node getElemNode = IR.getelem(
          IR.name(arrayName),
          IR.number(lineNumber - 1));  // Make line number 0-based
      Node exprNode = IR.exprResult(IR.assign(getElemNode, IR.trueNode()));
  
      // Note line as instrumented
      String fileName = getFileName(traversal);
      if (!instrumentationData.containsKey(fileName)) {
        instrumentationData.put(fileName,
                                new FileInstrumentationData(fileName, arrayName));
      }
      instrumentationData.get(fileName).setLineAsInstrumented(lineNumber);
  
      return exprNode.useSourceInfoIfMissingFromForTree(node);
    }
docs: Creates and return a new instrumentation node. The instrumentation Node is
  of the form: "arrayName[lineNumber] = true;"
  Note 1: Node returns a 1-based line number.
  Note 2: Line numbers in instrumentation are made 0-based. This is done to
  map to their bit representation in BitField. Thus, there's a one-to-one
  correspondence of the line number seen on instrumented files and their bit
  encodings.
  
  @return an instrumentation node corresponding to the line number