return Sets.newHashSet(new ValueSpecification(ValueRequirementNames.PNL_SERIES, target.toSpecification(), ValueProperties.all().withoutAny(ValuePropertyNames.CURVE_CURRENCY)));
}
@Override
public Set<ValueRequirement> getRequirements(final FunctionCompilationContext context, final ComputationTarget target, final ValueRequirement desiredValue) {
final FXForwardSecurity security = (FXForwardSecurity) target.getPosition().getSecurity();
final ValueProperties constraints = desiredValue.getConstraints();
final Set<String> resultCurrencies = constraints.getValues(CURRENCY);
final Currency payCurrency = security.accept(ForexVisitors.getPayCurrencyVisitor());
final Currency receiveCurrency = security.accept(ForexVisitors.getReceiveCurrencyVisitor());
String resultCurrency;
if (resultCurrencies == null || resultCurrencies.size() != 1) {
final CurrencyPair baseQuotePair = _currencyPairs.getCurrencyPair(payCurrency, receiveCurrency);
final Currency baseCurrency = baseQuotePair.getBase();
resultCurrency = baseCurrency.getCode();