         {
             copy[i] = deepCopier.filter(program[i]);
         }
-        filterProgramInPlace(copy, filter);
         return copy;
     }
 }

        }
    }

    private static function filterProgramInPlace(program:Vector.<ASTNode>, filter:ASTFilter):void
    {
        for (var i:int = 0; i < program.length; i++)
        {


    private function compileMeasureProgram():void
    {
        measureProgram = copyProgram(virtualMeasureProgram);
        filterProgram(virtualMeasureProgram, virtualGetResolver);
        filterProgram(measureProgram, propertyTransformer);
    }

    private function compileUpdateProgram():void
    {
        resolveVirtualSetters();
        filterProgram(updateProgram, virtualGetResolver);
        filterProgram(updateProgram, new Max0SpanSetters());
        if (rounding)
        {
            filterProgram(updateProgram, new RoundSetters());
        }
        filterProgram(updateProgram, propertyTransformer);
    }

    private function resolveVirtualSetters():void
