class OtcTradeBuilder extends AbstractTradeBuilder {

  UniqueId updatePosition(UniqueId positionId,
                                        BeanDataSource tradeData,
                                        BeanDataSource securityData,
                                        BeanDataSource underlyingData) {
    ManageableTrade trade = buildTrade(tradeData);
    ManageablePosition position = getPositionMaster().get(positionId).getPosition();
    ManageableSecurity previousSecurity = loadSecurity(position.getSecurityLink());
    return updateSecuritiesAndPosition(securityData, underlyingData, trade, previousSecurity, positionId);
  }

    OtcTradeBuilder(PositionMaster positionMaster,
                                PortfolioMaster portfoioMaster,
                                SecurityMaster securityMaster,
                                Set<MetaBean> metaBeans,
                                StringConvert stringConvert);

}