diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/ContainerDataSetStorageAlgorithm.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/AbstractNoFileDataSetStorageAlgorithm.java
similarity index 88%
rename from datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/ContainerDataSetStorageAlgorithm.java
rename to datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/AbstractNoFileDataSetStorageAlgorithm.java
index 4c948fdaad847865cd8a17f3540d18dffc403e83..6705dd5e06396ed0deaa5ab427ffaf2f2c3fd814 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/ContainerDataSetStorageAlgorithm.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/AbstractNoFileDataSetStorageAlgorithm.java
@@ -24,13 +24,11 @@ import ch.systemsx.cisd.etlserver.IDataStoreStrategy;
 import ch.systemsx.cisd.etlserver.IStorageProcessorTransactional;
 import ch.systemsx.cisd.etlserver.IStorageProcessorTransactional.IStorageProcessorTransaction;
 import ch.systemsx.cisd.etlserver.NullStorageProcessorTransaction;
-import ch.systemsx.cisd.etlserver.registrator.api.v1.impl.ConversionUtils;
 import ch.systemsx.cisd.etlserver.registrator.recovery.DataSetStoragePrecommitRecoveryAlgorithm;
 import ch.systemsx.cisd.etlserver.registrator.recovery.DataSetStorageRecoveryAlgorithm;
 import ch.systemsx.cisd.etlserver.registrator.recovery.DataSetStorageStoredRecoveryAlgorithm;
 import ch.systemsx.cisd.etlserver.validation.IDataSetValidator;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
-import ch.systemsx.cisd.openbis.generic.shared.dto.NewExternalData;
 
 /**
  * An implementation of the storage algorithm that registers data sets without file contents. This
@@ -38,7 +36,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.NewExternalData;
  * 
  * @author Chandrasekhar Ramakrishnan
  */
-public class ContainerDataSetStorageAlgorithm<T extends DataSetInformation> extends
+public abstract class AbstractNoFileDataSetStorageAlgorithm<T extends DataSetInformation> extends
         DataSetStorageAlgorithm<T>
 {
 
@@ -53,7 +51,7 @@ public class ContainerDataSetStorageAlgorithm<T extends DataSetInformation> exte
      * @param mailClient
      * @param stagingDirectory
      */
-    public ContainerDataSetStorageAlgorithm(File incomingDataSetFile,
+    public AbstractNoFileDataSetStorageAlgorithm(File incomingDataSetFile,
             DataSetRegistrationDetails<? extends T> registrationDetails,
             IDataStoreStrategy dataStoreStrategy, IStorageProcessorTransactional storageProcessor,
             IDataSetValidator dataSetValidator, String dataStoreCode,
@@ -68,7 +66,7 @@ public class ContainerDataSetStorageAlgorithm<T extends DataSetInformation> exte
     /**
      * Creates algorithm from a recovery algorithm.
      */
-    public ContainerDataSetStorageAlgorithm(IDataStoreStrategy dataStoreStrategy,
+    public AbstractNoFileDataSetStorageAlgorithm(IDataStoreStrategy dataStoreStrategy,
             IStorageProcessorTransactional storageProcessor, IFileOperations fileOperations,
             IMailClient mailClient, DataSetStorageRecoveryAlgorithm<T> recoveryAlgorithm)
     {
@@ -118,13 +116,6 @@ public class ContainerDataSetStorageAlgorithm<T extends DataSetInformation> exte
         // do nothing
     }
 
-    @Override
-    public NewExternalData createExternalData()
-    {
-        return ConversionUtils.convertToNewContainerDataSet(getRegistrationDetails(),
-                getDataStoreCode());
-    }
-
     @Override
     public String getSuccessRegistrationMessage()
     {
@@ -136,7 +127,8 @@ public class ContainerDataSetStorageAlgorithm<T extends DataSetInformation> exte
     @Override
     public String getFailureRegistrationMessage()
     {
-        return "Error trying to register container data set '" + getDataSetInformation().toString()
+        return "Error trying to register no-file-contents data set '"
+                + getDataSetInformation().toString()
                 + "'.";
     }
 
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetRegistrationService.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetRegistrationService.java
index c575b05571274e3ecd0b9e6c995c0f258db24a7b..4c6dfa6b8951c232764c07a3b4a33ff92c69e485 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetRegistrationService.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/DataSetRegistrationService.java
@@ -336,7 +336,7 @@ public class DataSetRegistrationService<T extends DataSetInformation> implements
                                 + dataSetInformation);
             }
             algorithm =
-                    new ContainerDataSetStorageAlgorithm<T>(dataSetFile, dataSetDetails, strategy,
+                    new AbstractNoFileDataSetStorageAlgorithm<T>(dataSetFile, dataSetDetails, strategy,
                             registratorContext.getStorageProcessor(),
                             globalContext.getDataSetValidator(), globalContext.getDssCode(),
                             registratorContext.getFileOperations(), globalContext.getMailClient(),
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/recovery/DataSetStoragePrecommitRecoveryAlgorithm.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/recovery/DataSetStoragePrecommitRecoveryAlgorithm.java
index d07b77d512de958de610ce8f7988e5f2e606e92c..5f23841b9a13acc067bf181a14541221287f6b69 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/recovery/DataSetStoragePrecommitRecoveryAlgorithm.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/recovery/DataSetStoragePrecommitRecoveryAlgorithm.java
@@ -26,7 +26,7 @@ import ch.systemsx.cisd.etlserver.IDataStoreStrategy;
 import ch.systemsx.cisd.etlserver.IStorageProcessorTransactional;
 import ch.systemsx.cisd.etlserver.IStorageProcessorTransactional.IStorageProcessorTransaction;
 import ch.systemsx.cisd.etlserver.registrator.AbstractOmniscientTopLevelDataSetRegistrator.OmniscientTopLevelDataSetRegistratorState;
-import ch.systemsx.cisd.etlserver.registrator.ContainerDataSetStorageAlgorithm;
+import ch.systemsx.cisd.etlserver.registrator.AbstractNoFileDataSetStorageAlgorithm;
 import ch.systemsx.cisd.etlserver.registrator.DataSetStorageAlgorithm;
 import ch.systemsx.cisd.etlserver.registrator.DataSetStorageAlgorithm.DataSetStoragePaths;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
@@ -100,7 +100,7 @@ public class DataSetStoragePrecommitRecoveryAlgorithm<T extends DataSetInformati
 
         if (isContainer)
         {
-            return new ContainerDataSetStorageAlgorithm<T>(dataStoreStrategy, storageProcessor,
+            return new AbstractNoFileDataSetStorageAlgorithm<T>(dataStoreStrategy, storageProcessor,
                     fileOperations, mailClient, recoveryAlgorithm);
         } else
         {
diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/recovery/DataSetStorageStoredRecoveryAlgorithm.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/recovery/DataSetStorageStoredRecoveryAlgorithm.java
index 663587ba0289390267b1fa0fb5cf65728d53e7bb..d2649add44b70eceb42b6e9c4999f642e013b600 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/recovery/DataSetStorageStoredRecoveryAlgorithm.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/registrator/recovery/DataSetStorageStoredRecoveryAlgorithm.java
@@ -25,7 +25,7 @@ import ch.systemsx.cisd.etlserver.DataStoreStrategyKey;
 import ch.systemsx.cisd.etlserver.IDataStoreStrategy;
 import ch.systemsx.cisd.etlserver.IStorageProcessorTransactional;
 import ch.systemsx.cisd.etlserver.registrator.AbstractOmniscientTopLevelDataSetRegistrator.OmniscientTopLevelDataSetRegistratorState;
-import ch.systemsx.cisd.etlserver.registrator.ContainerDataSetStorageAlgorithm;
+import ch.systemsx.cisd.etlserver.registrator.AbstractNoFileDataSetStorageAlgorithm;
 import ch.systemsx.cisd.etlserver.registrator.DataSetStorageAlgorithm;
 import ch.systemsx.cisd.etlserver.registrator.DataSetStorageAlgorithm.DataSetStoragePaths;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation;
@@ -83,7 +83,7 @@ public class DataSetStorageStoredRecoveryAlgorithm<T extends DataSetInformation>
 
         if (isContainer)
         {
-            return new ContainerDataSetStorageAlgorithm<T>(dataStoreStrategy, storageProcessor,
+            return new AbstractNoFileDataSetStorageAlgorithm<T>(dataStoreStrategy, storageProcessor,
                     fileOperations, mailClient, recoveryAlgorithm);
         } else
         {