Merged latest changes from trunk.

git-svn-id: https://svn.apache.org/repos/asf/abdera/java/branches/axiom-upgrade@1374773 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/extensions/sharing/src/main/java/org/apache/abdera/ext/sharing/SharingHelper.java b/extensions/sharing/src/main/java/org/apache/abdera/ext/sharing/SharingHelper.java
index 926236f..3a29a45 100644
--- a/extensions/sharing/src/main/java/org/apache/abdera/ext/sharing/SharingHelper.java
+++ b/extensions/sharing/src/main/java/org/apache/abdera/ext/sharing/SharingHelper.java
@@ -335,8 +335,8 @@
         Feed feed = (Feed)base;
         Unpublished unpub = getUnpublished(feed, true);
         Entry newentry = (Entry)entry.clone();
-        newentry.setParentElement(unpub);
-        unpub.addEntry(newentry);
+        // Use addExtension instead of addEntry because addEntry clones the node
+        unpub.addExtension(newentry);
         entry.discard();
         return newentry;
     }
@@ -350,7 +350,6 @@
         Unpublished unpub = (Unpublished)base;
         Feed feed = unpub.getParentElement();
         Entry newentry = (Entry)entry.clone();
-        newentry.setParentElement(feed);
         feed.addEntry(newentry);
         entry.discard();
         return newentry;
diff --git a/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java b/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java
index 4d8085d..ea1ef50 100644
--- a/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java
+++ b/parser/src/main/java/org/apache/abdera/parser/stax/FOMElement.java
@@ -260,7 +260,7 @@
                 }
                 if (attr != null)
                     addAttribute(attr);
-            } else {
+            } else if (attr != null) {
                 removeAttribute(attr);
             }
         }
diff --git a/parser/src/main/java/org/apache/abdera/parser/stax/FOMExtensibleElement.java b/parser/src/main/java/org/apache/abdera/parser/stax/FOMExtensibleElement.java
index b5cc505..78dbc89 100644
--- a/parser/src/main/java/org/apache/abdera/parser/stax/FOMExtensibleElement.java
+++ b/parser/src/main/java/org/apache/abdera/parser/stax/FOMExtensibleElement.java
@@ -180,7 +180,6 @@
         if (el == null) {
             addExtension(element);
         } else {
-            element.setParentElement(this);
             el.insertSiblingBefore((OMElement)getInternal(element));
         }
         return (T)element;