LinearPrinter.println(" current child: " + currentKid);
    public void postVisitPipeline(SIRPipeline self, SIRPipelineIter iter) {	this.pipelinesSeen++;	LinearPrinter.println("Visiting pipeline: " + "(" + self + ")");		// This bit just goes and prints out the children of the pipeline.	Iterator kidIter = self.getChildren().iterator();	LinearPrinter.println("Children: ");	while(kidIter.hasNext()) {	    SIRStream currentKid = (SIRStream)kidIter.next();	    String linearString = (this.hasLinearRepresentation(currentKid)) ? "linear" : "non-linear";	    LinearPrinter.println("  " + currentKid + "(" + linearString + ")");	}	// start going down the list of pipeline children.	int pipeCounter = 0;	kidIter = self.getChildren().iterator();	SIRPipeline currentPipe = new SIRPipeline("LinearWrapper"+pipeCounter);	while(kidIter.hasNext()) {	    // grab the next child. If we have a linear rep, add the kid to the pipeline	    SIRStream currentKid = (SIRStream)kidIter.next();	    LinearPrinter.println(" current child: " + currentKid);	    if (this.hasLinearRepresentation(currentKid)) {		// add this kid to the current linear pipeline.		currentPipe.add(currentKid);	    } else {		// kid was non linear. Replace the children in self with the new pipeline		// and update the mapping from filters to LinearFilterRepresentations.		doPipelineAdd(self, currentPipe, this.filtersToLinearRepresentation);		currentPipe = new SIRPipeline("LinearWrapper"+pipeCounter);		pipeCounter++;	    }	}	// add the current pipeline (to catch the end of the pipeline) -- doens't add empty pipelines	doPipelineAdd(self, currentPipe, this.filtersToLinearRepresentation);		// check to make sure that we didn't foobar ourselves.	checkRep();    }