public void createNodes(FlatNode top, HashMap[] exeCounts) {
    inputNodes = new HashMap<SIROperator, InputSliceNode>();
    outputNodes = new HashMap<SIROperator, OutputSliceNode>();
    filterNodes = new HashMap<SIROperator, FilterSliceNode>();
    generatedIds = new HashSet<FilterSliceNode>();
    this.exeCounts = exeCounts;

    top.accept(this, null, true);
  }