* @param node the node to resolve, not null
* @throws RuntimeException if unable to resolve all the securities
*/
public void resolveSecurities(final PortfolioNode node) {
final Collection<SecurityLink> links = new ArrayList<SecurityLink>(256);
PortfolioNodeTraverser.depthFirst(new AbstractPortfolioNodeTraversalCallback() {
@Override
public void preOrderOperation(final PortfolioNode parentNode, final Position position) {
if (LinkUtils.isValid(position.getSecurityLink())) {
links.add(position.getSecurityLink());
} else {