final OverrideOperationCompiler compiler = OpenGammaExecutionContext.getOverrideOperationCompiler(executionContext);
if (compiler == null) {
throw new IllegalStateException("No override operation compiler for " + shift + " in execution context");
}
s_logger.debug("Applying {} to {}", shift, marketData);
final OverrideOperation operation = compiler.compile(shift, executionContext.getComputationTargetResolver());
for (final Map.Entry<ExternalIdBundle, Double> dataPoint : marketData.getDataPointSet()) {
s_logger.debug("Applying to {}", dataPoint);
final Object result = operation.apply(new ValueRequirement(MarketDataRequirementNames.MARKET_VALUE, ComputationTargetType.PRIMITIVE, dataPoint.getKey()),
dataPoint.getValue());
s_logger.debug("Got result {}", result);