code: public void endElement(String uri, String localName, String name) throws RepositoryException
     {
        InternalQName elementName = locationFactory.parseJCRName(name).getInternalName();
  
        if (Constants.SV_NODE_NAME.equals(elementName))
        {
           // sv:node element
           endNode();
        }
        else if (Constants.SV_PROPERTY_NAME.equals(elementName))
        {
           // sv:property element
  
           ImportPropertyData propertyData = endProperty();
           if (propertyData != null)
           {
              changesLog.add(new ItemState(propertyData, ItemState.ADDED, true, getAncestorToSave()));
  
              ImportNodeData currentNodeInfo = (ImportNodeData)getParent();
  
              NodePropertiesInfo currentNodePropertiesInfo = mapNodePropertiesInfo.get(currentNodeInfo.getIdentifier());
  
              currentNodePropertiesInfo.addProperty(propertyData);
           }
        }
        else if (Constants.SV_VALUE_NAME.equals(elementName))
        {
           // sv:value element
           //mark current value as completed
           DecodedValue curPropValue = propertyInfo.getValues().get(propertyInfo.getValues().size() - 1);
           curPropValue.setComplete(true);
        }
        else if (Constants.SV_VERSION_HISTORY_NAME.equals(elementName))
        {
           // remove version storage node from tree
           tree.pop();
        }
        else
        {
           throw new RepositoryException("invalid element in system view xml document: " + localName);
        }
     }
docs: {@inheritDoc}