code: public Deserializer getCustomDeserializer(Class cl)
      {
          Deserializer deserializer = _customDeserializerMap.get(cl.getName());
  
          if (deserializer == AbstractDeserializer.NULL)
              return null;
          else if (deserializer != null)
              return deserializer;
  
          try {
              Class serClass = Class.forName(cl.getName() + "HessianDeserializer",
                  false, cl.getClassLoader());
  
              Deserializer ser = (Deserializer) serClass.newInstance();
  
              _customDeserializerMap.put(cl.getName(), ser);
  
              return ser;
          } catch (ClassNotFoundException e) {
              log.log(Level.ALL, e.toString(), e);
          } catch (Exception e) {
              throw new HessianException(e);
          }
  
          _customDeserializerMap.put(cl.getName(), AbstractDeserializer.NULL);
  
          return null;
      }
docs: Returns a custom deserializer the class
  
  @param cl the class of the object that needs to be deserialized.
  
  @return a deserializer object for the deserialization.