code: function (apool, atext, reqOptions, commentCollector, serializer) {
      var textLines = atext.text.slice(0, -1).split('\n');
      var attribLines = Changeset.splitAttributionLines(atext.attribs, atext.text);
  
      var lineMarkupManager = new Line.LineMarkupManager(reqOptions.lists === true, serializer);
  
      for (var i = 0; i < textLines.length; i++) {
          var line = new Line(attribLines[i], textLines[i], apool);
          
          var extractedLine = line.extractLineAttributes(reqOptions.lists === true, reqOptions.lineattribs === true);
          
          // get inline content
          var inlineContent = _getInlineMarkup(extractedLine.inlinePlaintext, extractedLine.inlineAttributeString, 
                  apool, reqOptions.regex === true, commentCollector, serializer);
          
          // wrap inline content with markup (line, lists)
          lineMarkupManager.processLine(line, extractedLine.lineAttributes, inlineContent);
      }
  
      return lineMarkupManager.finishAndReturnXml();
  }
docs: /*
  Returns a Markup fragment for the content (atext = attribs+text) of a pad,
  using the given serializer. In case of an xml-serializer the result is just
  a sequence of <line>...</line> elements, except if
  lists up-translation is turned-on.
  
  I.e. the result is not well-formed.
  
  @param apool the epl attribute pool
  @param atext the epl attributed text
  @param reqOptions option object with properties: lists, lineattribs, regex
  @param commentCollector used to collect references to comments we need to include
  @param serializer a serializer instance (e.g. for json, xml)