docs: private ProductDescriptor getSwapProductDescriptor(Element trade) {
  
  		InterestRateSwapLegProductDescriptor legReceiver = null;
  		InterestRateSwapLegProductDescriptor legPayer = null;
  
  		NodeList legs = trade.getElementsByTagName("swapStream");
  		for(int legIndex = 0; legIndex < legs.getLength(); legIndex++) {
  			Element leg = (Element) legs.item(legIndex);
  
  			boolean isPayer = leg.getElementsByTagName("payerPartyReference").item(0).getAttributes().getNamedItem("href").getNodeValue().equals(homePartyId);
  
  			if(isPayer) {
  				legPayer = getSwapLegProductDescriptor(leg);
  			} else {
  				legReceiver = getSwapLegProductDescriptor(leg);
  			}
  		}
  
  		return new InterestRateSwapProductDescriptor(legReceiver, legPayer);
  	}