code: public Deserializer getObjectDeserializer(String type, Class cl)
          throws HessianProtocolException {
          Deserializer reader = getObjectDeserializer(type);
  
          if (cl == null
              || cl.equals(reader.getType())
              || cl.isAssignableFrom(reader.getType())
              || reader.isReadResolve()
              || HessianHandle.class.isAssignableFrom(reader.getType())) {
              return reader;
          }
  
          if (log.isLoggable(Level.FINE)) {
              log.fine("hessian: expected deserializer '" + cl.getName() + "' at '" + type + "' ("
                  + reader.getType().getName() + ")");
          }
  
          return getDeserializer(cl);
      }
docs: Reads the object as a map.