diff --git a/common/source/java/ch/systemsx/cisd/common/json/JsonObject.java b/common/source/java/ch/systemsx/cisd/common/json/JsonObject.java
index 43c0ab57b48208b12a2001564c49b691d9e800cd..c5782500fcc3ef36ef8a4c9bfdfa0056398ed82b 100644
--- a/common/source/java/ch/systemsx/cisd/common/json/JsonObject.java
+++ b/common/source/java/ch/systemsx/cisd/common/json/JsonObject.java
@@ -23,6 +23,11 @@ import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 /**
+ * Annotation all JSON transfered classes should be marked with. It was originally created to
+ * replace @JsonTypeName annotation which was not visible in the documentation. With @JsonTypeName
+ * annotation it would be impossible for our users to find a logical type name of a class to be sent
+ * to JSON-RPC services.
+ * 
  * @author pkupczyk
  */
 @Target(
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/json/GenericObjectMapper.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/json/GenericObjectMapper.java
index c0d380f3fcd0d4e539ac0637b5deded8fc648770..5390eb491b8df489aac4f47bd29d005548c9775c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/json/GenericObjectMapper.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/api/json/GenericObjectMapper.java
@@ -22,6 +22,8 @@ import ch.systemsx.cisd.common.api.server.json.JsonReflectionsSubTypeResolver;
 import ch.systemsx.cisd.common.api.server.json.JsonTypeAndClassAnnotationIntrospector;
 
 /**
+ * Jackson library object mapper used in generic OpenBIS.
+ * 
  * @author pkupczyk
  */
 public class GenericObjectMapper extends ObjectMapper
@@ -31,7 +33,7 @@ public class GenericObjectMapper extends ObjectMapper
     {
         setAnnotationIntrospector(new JsonTypeAndClassAnnotationIntrospector(
                 new GenericJsonClassValueToClassObjectsMapping()));
-        setSubtypeResolver(new JsonReflectionsSubTypeResolver());
+        setSubtypeResolver(JsonReflectionsSubTypeResolver.getDefaultInstance());
     }
 
 }
diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/json/ScreeningObjectMapper.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/json/ScreeningObjectMapper.java
index 7cf2099f533c72fbf97e7e78cfc5f6ae76d9a4ba..fbe110a0aad645994a8a00f574e5efd810a055c2 100644
--- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/json/ScreeningObjectMapper.java
+++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/json/ScreeningObjectMapper.java
@@ -22,6 +22,8 @@ import ch.systemsx.cisd.common.api.server.json.JsonReflectionsSubTypeResolver;
 import ch.systemsx.cisd.common.api.server.json.JsonTypeAndClassAnnotationIntrospector;
 
 /**
+ * Jackson library object mapper used in screening OpenBIS.
+ * 
  * @author pkupczyk
  */
 public class ScreeningObjectMapper extends ObjectMapper
@@ -31,7 +33,7 @@ public class ScreeningObjectMapper extends ObjectMapper
     {
         setAnnotationIntrospector(new JsonTypeAndClassAnnotationIntrospector(
                 new ScreeningJsonClassValueToClassObjectsMapping()));
-        setSubtypeResolver(new JsonReflectionsSubTypeResolver());
+        setSubtypeResolver(JsonReflectionsSubTypeResolver.getDefaultInstance());
     }
 
 }