System.out.println("Creating direct linear implementation of " + self.getIdent() + "(" + self.getName() + ")");
    public void visitFilter(SIRFilter self, SIRFilterIter iter){	// if we have a linear representation of this filter	if (linearityInformation.hasLinearRepresentation(self)) {	    // ensure that we have a literal for the number of pops that this filter does	    if (!(self.getPop() instanceof JIntLiteral)) {		throw new RuntimeException("Non integer literal pop count!!!");	    }	    // create a new work function that calculates the linear representation directly	    JMethodDeclaration newWork = makeDirectImplementation(linearityInformation.getLinearRepresentation(self),								  self.getInputType(),								  self.getOutputType(),								  ((JIntLiteral)self.getPop()).intValue());	    // set the work function of the filter to be the new work function we just made	    self.setWork(newWork);	}	    }