}
result.add(positions);
result.add(moneyPresenter.present("market-value", account.getMarketValue(), locale));
final InvestmentAccountBalance balance = account.getCurrentInvestmentAccountBalance();
final String nodeName = "investment-balance";
if (balance != null) {
final XmlsonObject balanceNode = new XmlsonObject(nodeName);
if (balance.getAvailableCash() != null) {
balanceNode.add(moneyPresenter.present("available-cash", balance.getAvailableCash(), locale));
}
if (balance.getMarginBalance() != null) {
balanceNode.add(moneyPresenter.present("margin-balance", balance.getMarginBalance(), locale));
}
if (balance.getShortBalance() != null) {
balanceNode.add(moneyPresenter.present("short-balance", balance.getShortBalance(), locale));
}
if (balance.getBuyingPower() != null) {
balanceNode.add(moneyPresenter.present("buying-power", balance.getBuyingPower(), locale));
}
result.add(balanceNode);
} else {
result.addNullProperty(nodeName);
}