_positionSource = positionSource;
if (positionSource != null) {
final PositionSourceResolver resolver = new PositionSourceResolver(positionSource);
addResolver(ComputationTargetType.PORTFOLIO, new LazyResolver.LazyPortfolioResolver(this, resolver.portfolio()));
addResolver(ComputationTargetType.PORTFOLIO_NODE, new LazyResolver.LazyPortfolioNodeResolver(this, resolver.portfolioNode()));
addResolver(ComputationTargetType.POSITION, new LazyResolver.LazyPositionResolver(this, resolver.position()));
addResolver(ComputationTargetType.TRADE, new LazyResolver.LazyTradeResolver(this, resolver.trade()));
}
addResolver(ComputationTargetType.CURRENCY);
addResolver(ComputationTargetType.PRIMITIVE);
addResolver(ComputationTargetType.UNORDERED_CURRENCY_PAIR);