diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DatasetDownloadServlet.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DatasetDownloadServlet.java
index 2fab9d8fd50510b8dccd2cd7b7cf0e46814a6c87..4e2479f413889a0fe9290b7207fd2fe350960dbb 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DatasetDownloadServlet.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DatasetDownloadServlet.java
@@ -36,9 +36,9 @@ import org.apache.commons.lang.StringUtils;
 
 import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException;
 import ch.systemsx.cisd.common.exceptions.UserFailureException;
+import ch.systemsx.cisd.common.io.hierarchical_content.HierarchicalContentUtils;
 import ch.systemsx.cisd.common.io.hierarchical_content.api.IHierarchicalContent;
 import ch.systemsx.cisd.common.io.hierarchical_content.api.IHierarchicalContentNode;
-import ch.systemsx.cisd.common.utilities.HierarchicalContentUtils;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.Size;
 import ch.systemsx.cisd.openbis.generic.shared.util.HttpRequestUtils;
 
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/api/v1/DssServiceRpcGeneric.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/api/v1/DssServiceRpcGeneric.java
index 429eaa194fd6d88e59dad7de36ce2a7a83efa75b..429e0bc40753c35849a8be626bdc1677ef78968b 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/api/v1/DssServiceRpcGeneric.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/api/v1/DssServiceRpcGeneric.java
@@ -32,12 +32,12 @@ import org.apache.log4j.Logger;
 import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel;
 import ch.systemsx.cisd.base.exceptions.IOExceptionUnchecked;
 import ch.systemsx.cisd.common.filesystem.FileUtilities;
+import ch.systemsx.cisd.common.io.hierarchical_content.HierarchicalContentUtils;
 import ch.systemsx.cisd.common.io.hierarchical_content.api.IHierarchicalContent;
 import ch.systemsx.cisd.common.io.hierarchical_content.api.IHierarchicalContentNode;
 import ch.systemsx.cisd.common.logging.LogCategory;
 import ch.systemsx.cisd.common.logging.LogFactory;
 import ch.systemsx.cisd.common.spring.IInvocationLoggerContext;
-import ch.systemsx.cisd.common.utilities.HierarchicalContentUtils;
 import ch.systemsx.cisd.etlserver.api.v1.PutDataSetService;
 import ch.systemsx.cisd.openbis.dss.generic.server.AbstractDssServiceRpc;
 import ch.systemsx.cisd.openbis.dss.generic.server.IStreamRepository;
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/resolver/FtpFileImpl.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/resolver/FtpFileImpl.java
index 39275899f20a61974fe262bf1808c09ead09dfb5..4f634a1699ea73d112da8577c43b480670258e87 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/resolver/FtpFileImpl.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/ftp/resolver/FtpFileImpl.java
@@ -23,10 +23,10 @@ import java.util.List;
 
 import org.apache.ftpserver.ftplet.FtpFile;
 
+import ch.systemsx.cisd.common.io.hierarchical_content.HierarchicalContentUtils;
 import ch.systemsx.cisd.common.io.hierarchical_content.IHierarchicalContentNodeFilter;
 import ch.systemsx.cisd.common.io.hierarchical_content.api.IHierarchicalContent;
 import ch.systemsx.cisd.common.io.hierarchical_content.api.IHierarchicalContentNode;
-import ch.systemsx.cisd.common.utilities.HierarchicalContentUtils;
 import ch.systemsx.cisd.openbis.dss.generic.server.ftp.FtpConstants;
 import ch.systemsx.cisd.openbis.dss.generic.server.ftp.FtpFileFactory;
 
diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentTraverseUtil.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentTraverseUtil.java
index 03809888ae3f6fc7ee94dcfc76ec73e56c75eb27..43d2fbbb635ea8b4481a2dcaa6154f7dc336fc5e 100644
--- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentTraverseUtil.java
+++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentTraverseUtil.java
@@ -18,9 +18,9 @@ package ch.systemsx.cisd.openbis.dss.generic.shared;
 
 import java.util.List;
 
+import ch.systemsx.cisd.common.io.hierarchical_content.HierarchicalContentUtils;
 import ch.systemsx.cisd.common.io.hierarchical_content.api.IHierarchicalContent;
 import ch.systemsx.cisd.common.io.hierarchical_content.api.IHierarchicalContentNode;
-import ch.systemsx.cisd.common.utilities.HierarchicalContentUtils;
 
 /**
  * A utility class to abstract traversing of {@link IHierarchicalContentNode}-s.
diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/PathInfoProviderBasedHierarchicalContentTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/PathInfoProviderBasedHierarchicalContentTest.java
index 32638380f893a818a46a3459e3a9757b7a43eac9..efb3a6bb56369033df6448261ec4bc209f62ee59 100644
--- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/PathInfoProviderBasedHierarchicalContentTest.java
+++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/content/PathInfoProviderBasedHierarchicalContentTest.java
@@ -30,9 +30,9 @@ import org.testng.annotations.Test;
 import ch.systemsx.cisd.base.tests.AbstractFileSystemTestCase;
 import ch.systemsx.cisd.common.filesystem.FileUtilities;
 import ch.systemsx.cisd.common.io.hierarchical_content.DefaultFileBasedHierarchicalContentTest;
+import ch.systemsx.cisd.common.io.hierarchical_content.HierarchicalContentUtils;
 import ch.systemsx.cisd.common.io.hierarchical_content.api.IHierarchicalContent;
 import ch.systemsx.cisd.common.io.hierarchical_content.api.IHierarchicalContentNode;
-import ch.systemsx.cisd.common.utilities.HierarchicalContentUtils;
 import ch.systemsx.cisd.common.utilities.IDelegatedAction;
 import ch.systemsx.cisd.openbis.dss.generic.shared.ISingleDataSetPathInfoProvider;
 import ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetPathInfo;
diff --git a/common/source/java/ch/systemsx/cisd/common/io/ByteArrayBasedContentNode.java b/openbis-common/source/java/ch/systemsx/cisd/common/io/ByteArrayBasedContentNode.java
similarity index 100%
rename from common/source/java/ch/systemsx/cisd/common/io/ByteArrayBasedContentNode.java
rename to openbis-common/source/java/ch/systemsx/cisd/common/io/ByteArrayBasedContentNode.java
diff --git a/common/source/java/ch/systemsx/cisd/common/io/ConcatenatedContentInputStream.java b/openbis-common/source/java/ch/systemsx/cisd/common/io/ConcatenatedContentInputStream.java
similarity index 100%
rename from common/source/java/ch/systemsx/cisd/common/io/ConcatenatedContentInputStream.java
rename to openbis-common/source/java/ch/systemsx/cisd/common/io/ConcatenatedContentInputStream.java
diff --git a/common/source/java/ch/systemsx/cisd/common/io/FileBasedContentNode.java b/openbis-common/source/java/ch/systemsx/cisd/common/io/FileBasedContentNode.java
similarity index 100%
rename from common/source/java/ch/systemsx/cisd/common/io/FileBasedContentNode.java
rename to openbis-common/source/java/ch/systemsx/cisd/common/io/FileBasedContentNode.java
diff --git a/common/source/java/ch/systemsx/cisd/common/io/HierarchicalContentNodeBasedHierarchicalContentNode.java b/openbis-common/source/java/ch/systemsx/cisd/common/io/HierarchicalContentNodeBasedHierarchicalContentNode.java
similarity index 100%
rename from common/source/java/ch/systemsx/cisd/common/io/HierarchicalContentNodeBasedHierarchicalContentNode.java
rename to openbis-common/source/java/ch/systemsx/cisd/common/io/HierarchicalContentNodeBasedHierarchicalContentNode.java
diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/HierarchicalContentUtils.java b/openbis-common/source/java/ch/systemsx/cisd/common/io/hierarchical_content/HierarchicalContentUtils.java
similarity index 98%
rename from common/source/java/ch/systemsx/cisd/common/utilities/HierarchicalContentUtils.java
rename to openbis-common/source/java/ch/systemsx/cisd/common/io/hierarchical_content/HierarchicalContentUtils.java
index f8ffbf7e40c6dc01c5327069caf3914a75cfe859..03f3569144379b89b4cba251f4c48b067604d534 100644
--- a/common/source/java/ch/systemsx/cisd/common/utilities/HierarchicalContentUtils.java
+++ b/openbis-common/source/java/ch/systemsx/cisd/common/io/hierarchical_content/HierarchicalContentUtils.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.common.utilities;
+package ch.systemsx.cisd.common.io.hierarchical_content;
 
 import java.io.FilterInputStream;
 import java.io.IOException;
diff --git a/common/source/java/ch/systemsx/cisd/common/io/hierarchical_content/api/IHierarchicalContent.java b/openbis-common/source/java/ch/systemsx/cisd/common/io/hierarchical_content/api/IHierarchicalContent.java
similarity index 100%
rename from common/source/java/ch/systemsx/cisd/common/io/hierarchical_content/api/IHierarchicalContent.java
rename to openbis-common/source/java/ch/systemsx/cisd/common/io/hierarchical_content/api/IHierarchicalContent.java
diff --git a/common/source/java/ch/systemsx/cisd/common/io/hierarchical_content/api/IHierarchicalContentNode.java b/openbis-common/source/java/ch/systemsx/cisd/common/io/hierarchical_content/api/IHierarchicalContentNode.java
similarity index 100%
rename from common/source/java/ch/systemsx/cisd/common/io/hierarchical_content/api/IHierarchicalContentNode.java
rename to openbis-common/source/java/ch/systemsx/cisd/common/io/hierarchical_content/api/IHierarchicalContentNode.java
diff --git a/common/sourceTest/java/ch/systemsx/cisd/common/io/ConcatenatedContentInputStreamTest.java b/openbis-common/sourceTest/java/ch/systemsx/cisd/common/io/ConcatenatedContentInputStreamTest.java
similarity index 100%
rename from common/sourceTest/java/ch/systemsx/cisd/common/io/ConcatenatedContentInputStreamTest.java
rename to openbis-common/sourceTest/java/ch/systemsx/cisd/common/io/ConcatenatedContentInputStreamTest.java
diff --git a/openbis-common/sourceTest/java/ch/systemsx/cisd/common/io/hierarchical_content/DefaultFileBasedHierarchicalContentTest.java b/openbis-common/sourceTest/java/ch/systemsx/cisd/common/io/hierarchical_content/DefaultFileBasedHierarchicalContentTest.java
index 5385d4f77f77e80e418a25025e6707ea5f4c67bf..717d0b81875ade61a620a20ba0f263e5506fac0e 100644
--- a/openbis-common/sourceTest/java/ch/systemsx/cisd/common/io/hierarchical_content/DefaultFileBasedHierarchicalContentTest.java
+++ b/openbis-common/sourceTest/java/ch/systemsx/cisd/common/io/hierarchical_content/DefaultFileBasedHierarchicalContentTest.java
@@ -40,7 +40,6 @@ import ch.systemsx.cisd.common.hdf5.HierarchicalStructureDuplicatorFileToHDF5;
 import ch.systemsx.cisd.common.hdf5.HierarchicalStructureDuplicatorFileToHDF5.DuplicatorWriterClient;
 import ch.systemsx.cisd.common.io.IOUtilities;
 import ch.systemsx.cisd.common.io.hierarchical_content.api.IHierarchicalContentNode;
-import ch.systemsx.cisd.common.utilities.HierarchicalContentUtils;
 import ch.systemsx.cisd.common.utilities.IDelegatedAction;
 
 /**