lojix/wam_prolog/src/main/com/thesett/aima/logic/fol/wam/optimizer/WAMOptimizer.java
public <T extends WAMOptimizeableListing> T apply(WAMOptimizeableListing listing)
    {
        SizeableList<WAMInstruction> optListing = optimize(listing.getInstructions());
        listing.setOptimizedInstructions(optListing);

        return (T) listing;
    }
public <T extends WAMOptimizeableListing> T apply(WAMOptimizeableListing listing)
    {
        SizeableList<WAMInstruction> optListing = optimize(listing.getInstructions());
        listing.setOptimizedInstructions(optListing);

        return (T) listing;
    }
public < T extends WAMOptimizeableListing > T apply ( WAMOptimizeableListing listing ) { SizeableList < WAMInstruction > optListing = optimize ( listing . getInstructions ( ) ) ; listing . setOptimizedInstructions ( optListing ) ; return ( T ) listing ; }
{@inheritDoc}

<p/>Runs the instruction listing through an optimizer pass, and replaces the original instruction listing with
the optimized version.
{ @inheritDoc }