{
      helper.populateNameInfo(nameInfo, f);
      if (currentNode == null)
      {
        // this is a root element
        currentNode = document.createElementNS(nameInfo.getNamespaceURI(), nameInfo.getQualifiedName());
        document.appendChild(currentNode);
        handler.recordValues(currentNode, o.eContainer(), f, o);
      }
      else
      {
        currentNode = currentNode.appendChild(document.createElementNS(nameInfo.getNamespaceURI(), nameInfo.getQualifiedName()));
        handler.recordValues(currentNode, o.eContainer(), f, o);
      }
    }