applyOperation(operation) {
        let configuredShader = operation instanceof WglConfiguredShader ? operation : operation(this);
        this.stateTrader.shadeAndTrade(configuredShader);
    }
@param {!WglConfiguredShader|!function(!CircuitEvalContext) : !WglConfiguredShader} operation
@return {void}