VisitorResult CompoundUpdateOutputVisitor::visit( Compound* compound )
{
    if( !compound->isRunning( ))
        return TRAVERSE_PRUNE;    

    _updateOutput( compound );
    _updateSwapBarriers( compound );

    return TRAVERSE_CONTINUE;    
}
VisitorResult CompoundUpdateOutputVisitor::visit(Compound* compound)
{
    if (!compound->isActive())
        return TRAVERSE_PRUNE;

    _updateQueues(compound);
    _updateFrames(compound);
    _updateSwapBarriers(compound);

    return TRAVERSE_CONTINUE;
}