final double spot = (Double) spotObject;
final YieldAndDiscountCurve yieldCurve = (YieldAndDiscountCurve) yieldCurveObject;
final AffineDividends dividends = (AffineDividends) dividendsObject;
final SmileSurfaceDataBundle volatilities = getData(inputs);
final DoubleTimeSeries<LocalDate> underlyingTS = ((HistoricalTimeSeries) tsObject).getTimeSeries();
final EquityVarianceSwap swap = definition.toDerivative(now, underlyingTS);
final EquityVarianceSwapStaticReplicationPricer pricer = EquityVarianceSwapStaticReplicationPricer.builder().create(); //TODO don't just use defaults
final double pv = pricer.priceFromImpliedVols(swap, spot, yieldCurve, dividends, volatilities);
final ValueProperties properties = desiredValue.getConstraints().copy()
.withoutAny(ValuePropertyNames.FUNCTION).with(ValuePropertyNames.FUNCTION, getUniqueId()).get();
final ValueSpecification spec = new ValueSpecification(getValueRequirementName(), target.toSpecification(), properties);