LoweringConstants. getWorkName(self))));
self.getWork().getName())));
    private void visitContainer(SIRContainer self,				JMethodDeclaration init) {	// translate init statements to function calls with context.	// this is modifying <init> without adding/removing extra	// stuff.	lowerInitStatements(self, init);	// now add some things to the init function... 	// first, a prologue that comes before the original statements	// in the init function.  It is a list of statements.	List prologue = new LinkedList();	// start building up the prologoue, in order...	// first, set stream type to pipeline	prologue.add(new LIRSetStreamType(LoweringConstants.					  getStreamContext(),					  self.getStreamType()));	// set work function, if there is one	if (self.hasMethod(LoweringConstants.getWorkName(self))) {	    prologue.add(new LIRSetWork(LoweringConstants.					getStreamContext(),					new LIRFunctionPointer(					   LoweringConstants.					   getWorkName(self))));	}	// register children	registerChildren(self.getChildren(), prologue);	// now develop an epilogue, to be inserted after the	// statements in the original init function.	List epilogue = new LinkedList();	// register tapes between children in the epilogue	registerTapes(self.getTapePairs(), epilogue);	// add the prologue and epilogue to the init function	init.addAllStatements(0, prologue);	init.addAllStatements(epilogue);    }