docs: function(value, params, property, fields, object) {
  
              if (!_.isObject(value)) {
                  throw new Error('Value of property "' + property + '" must be an object!');
              }
  
              if ('instanceOf' in params) {
  
                  var instanceOf = params.instanceOf;
                  var clazzClazz = object.__isClazz ? object.__clazz : object.__clazz.__clazz;
  
                  if (_.isString(instanceOf)) {
                      instanceOf = clazzClazz.getNamespace().adjustPath(instanceOf);
  
                      if (!value.__clazz) {
                          instanceOf = clazzClazz(instanceOf);
                      }
                  }
  
                  if (value.__clazz ? !value.__clazz.__isSubclazzOf(instanceOf) : !(value instanceof instanceOf)) {
  
                      var className = instanceOf.__isClazz
                          ? instanceOf.__name
                          : (_.isString(instanceOf) ? instanceOf : 'another');
  
  
                      throw new Error('Value of property "' + property +
                          '" must be instance of ' + className + ' clazz!');
                  }
              }
  
              return value;
          }