diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoArchiver.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoArchiver.java
index b1e7ba8120328365fb86532d7d97044c73eb09b1..4578908817103d9e44623096673c72150d713768 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoArchiver.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoArchiver.java
@@ -27,6 +27,7 @@ import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.common.filesystem.BooleanStatus;
 import ch.systemsx.cisd.openbis.dss.generic.server.plugins.standard.AbstractArchiverProcessingPlugin;
 import ch.systemsx.cisd.openbis.dss.generic.shared.ArchiverTaskContext;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Code;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DeletedDataSet;
 import ch.systemsx.cisd.openbis.generic.shared.dto.DatasetDescription;
 
@@ -72,7 +73,7 @@ public class DemoArchiver extends AbstractArchiverProcessingPlugin
     @Override
     public DatasetProcessingStatuses doDeleteFromArchive(List<DeletedDataSet> dataSets)
     {
-        List<String> datasetCodes = DeletedDataSet.extractDataSetCodes(dataSets);
+        List<String> datasetCodes = Code.extractCodes(dataSets);
         archiveContents.addAll(datasetCodes);
         System.out.println("DemoArchiver - deleteFromArchive: " + datasetCodes);
         DatasetProcessingStatuses statuses = new DatasetProcessingStatuses();
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DeletedDataSet.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DeletedDataSet.java
index 2da069c51405848899b70051ffe883f1551876f8..24a97d495c4f965208aa52d12f1bc523e52c3e8b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DeletedDataSet.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DeletedDataSet.java
@@ -17,15 +17,15 @@
 package ch.systemsx.cisd.openbis.generic.shared.basic.dto;
 
 import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
+
+import ch.systemsx.cisd.openbis.generic.shared.basic.ICodeHolder;
 
 /**
  * Describes a deleted data set.
  * 
  * @author Izabela Adamczyk
  */
-public class DeletedDataSet implements Serializable
+public class DeletedDataSet implements Serializable, ICodeHolder
 {
 
     private static final long serialVersionUID = ServiceVersionHolder.VERSION;
@@ -36,19 +36,6 @@ public class DeletedDataSet implements Serializable
 
     private final String location; // the location where the data set existed before deletion
 
-    public static List<String> extractDataSetCodes(List<DeletedDataSet> dataSets)
-    {
-        List<String> result = new ArrayList<String>();
-        if (dataSets != null)
-        {
-            for (DeletedDataSet description : dataSets)
-            {
-                result.add(description.getIdentifier());
-            }
-        }
-        return result;
-    }
-
     public DeletedDataSet(String identifier, String location, long eventId)
     {
         this.eventId = eventId;
@@ -61,6 +48,11 @@ public class DeletedDataSet implements Serializable
         return location;
     }
 
+    public String getCode()
+    {
+        return getIdentifier();
+    }
+
     public String getIdentifier()
     {
         return identifier;
@@ -76,4 +68,5 @@ public class DeletedDataSet implements Serializable
     {
         return "DeletedDataSet [identifier=" + identifier + "]";
     }
+
 }