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 ) ; }
Construct an InterestRateSwapProductDescriptor from a node in a FpML file .