docs: function encodeGetMarketProfitAndLoss(doc, result) {
      // annotations
      if (!result.annotations) {
          // bets
          doc.startElement('annotations').writeAttribute('xsi:null', '1');
          doc.endElement();
      } else {
          doc.startElement('annotations').writeAttribute('xsi:type',
                  'n2:ArrayOfProfitAndLoss');
          for ( var i = 0; i < result.annotations.length; ++i) {
              var ann = result.annotations[i];
              doc.startElement('n2:ProfitAndLoss').writeAttribute('xsi:type',
                      'n2:ProfitAndLoss');
              // futureIfWin
              doc.startElement('futureIfWin').writeAttribute('xsi:type', 'xsd:double');
              doc.text(ann.futureIfWin + '');
              doc.endElement();
              // ifWin
              doc.startElement('ifWin').writeAttribute('xsi:type', 'xsd:double');
              doc.text((1 * ann.ifWin).toFixed(2));
              doc.endElement();
              // selectionID
              doc.startElement('selectionId').writeAttribute('xsi:type', 'xsd:integer');
              doc.text(ann.selectionId);
              doc.endElement();
              // selectionName
              doc.startElement('selectionName').writeAttribute('xsi:type', 'xsd:string');
              doc.text(ann.selectionName);
              doc.endElement();
              // worstCaseIfWin
              doc.startElement('worstCaseIfWin').writeAttribute('xsi:type', 'xsd:double');
              doc.text(ann.worstCaseIfWin + '');
              doc.endElement();
              // ifLoss
              doc.startElement('ifLoss').writeAttribute('xsi:type', 'xsd:double');
              doc.text((1 * ann.ifLoss).toFixed(2));
              doc.endElement();
  
              doc.endElement();
          }
          doc.endElement();
      }
      // commissionApplied
      doc.startElement('commissionApplied').writeAttribute('xsi:type', 'xsd:double');
      doc.text(result.commissionApplied + '');
      doc.endElement();
      // currencyCode
      doc.startElement('currencyCode').writeAttribute('xsi:type', 'xsd:string');
      doc.text(result.currencyCode);
      doc.endElement();
      // includesSettledBets
      doc.startElement('includesSettledBets').writeAttribute('xsi:type', 'xsd:booleang');
      doc.text(result.includesSettledBets ? "true" : "false");
      doc.endElement();
      // includesBspBets
      doc.startElement('includesBspBets').writeAttribute('xsi:type', 'xsd:booleang');
      doc.text(result.includesBspBets ? "true" : "false");
      doc.endElement();
      // marketId
      doc.startElement('marketId').writeAttribute('xsi:type', 'xsd:integer');
      doc.text(result.marketId);
      doc.endElement();
      // marketName
      doc.startElement('marketName').writeAttribute('xsi:type', 'xsd:string');
      doc.text(result.marketName);
      doc.endElement();
      // marketStatus
      doc.startElement('marketStatus').writeAttribute('xsi:type', 'n2:MarketStatusEnum');
      doc.text(result.marketStatus);
      doc.endElement();
      // unit
      doc.startElement('unit').writeAttribute('xsi:type', 'xsd:string');
      doc.text(result.unit || 'N/A');
      doc.endElement();
  }