Index: trunk/src/org/openstreetmap/josm/data/osm/PrimitiveDeepCopy.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/PrimitiveDeepCopy.java	(revision 7958)
+++ trunk/src/org/openstreetmap/josm/data/osm/PrimitiveDeepCopy.java	(revision 7961)
@@ -14,5 +14,5 @@
  * This class allows to create and keep a deep copy of primitives. Provides methods to access directly added
  * primitives and reference primitives
- *
+ * @since 2305
  */
 public class PrimitiveDeepCopy {
@@ -26,17 +26,26 @@
     private final CopyOnWriteArrayList<PasteBufferChangedListener> listeners = new CopyOnWriteArrayList<>();
 
+    /**
+     * Constructs a new {@code PrimitiveDeepCopy} without data. Use {@link #makeCopy(Collection)} after that.
+     */
     public PrimitiveDeepCopy() {
-
+        // Do nothing
     }
 
-    public PrimitiveDeepCopy(final Collection<OsmPrimitive> primitives) {
+    /**
+     * Constructs a new {@code PrimitiveDeepCopy} of given OSM primitives.
+     * @param primitives OSM primitives to copy
+     * @since 7961
+     */
+    public PrimitiveDeepCopy(final Collection<? extends OsmPrimitive> primitives) {
         makeCopy(primitives);
     }
 
     /**
-     * Replace content of the object with copy of provided primitives
-     * @param primitives
+     * Replace content of the object with copy of provided primitives.
+     * @param primitives OSM primitives to copy
+     * @since 7961
      */
-    public final void makeCopy(final Collection<OsmPrimitive> primitives) {
+    public final void makeCopy(final Collection<? extends OsmPrimitive> primitives) {
         directlyAdded.clear();
         referenced.clear();
@@ -119,4 +128,3 @@
         listeners.remove(listener);
     }
-
 }
