LinearCost containerCost = linearInformation.getLinearRepresentation(self).getCost();
LinearCost containerCost = null; Utils.fail("This part is not implemented in statespace.");
	public Object visitContainer(SIRContainer self) {	    LinearPrinter.println(" calculating cost of: " + self);	    // if we don't know anything about this container, we are done, though we need	    // to do the recursion to the children	    if (!linearInformation.hasLinearRepresentation(self)) {		Iterator childIter = self.getChildren().iterator();		while (childIter.hasNext()) {		    ((SIROperator)childIter.next()).accept(this);		}		return self;	    }	    // calcuate the cost of doing a direct replacement of this container	    LinearCost containerCost = linearInformation.getLinearRepresentation(self).getCost();	    // calculate the cost of doing the optimal replacement of the children.	    LinearReplaceCalculator childCalculator = new LinearReplaceCalculator(linearInformation);	    Iterator childIter = self.getChildren().iterator();	    while(childIter.hasNext()) {		((SIROperator)childIter.next()).accept(childCalculator);	    }	    LinearCost childCost = childCalculator.getTotalCost();	    // now, if the container cost is less than the child cost, use the	    // container, otherwise use the child	    if (containerCost.lessThan(childCost)) {		doReplace.put(self, new Boolean(true));	    } else {		doReplace.putAll(childCalculator.getDoReplace()); // remember which children were used	    }	    return self;	}