code: public Deserializer getDeserializer(String type)
          throws HessianProtocolException {
          if (type == null || type.equals(""))
              return null;
  
          Deserializer deserializer;
  
          deserializer = (Deserializer) _cachedTypeDeserializerMap.get(type);
  
          if (deserializer != null)
              return deserializer;
  
          deserializer = (Deserializer) _staticTypeMap.get(type);
          if (deserializer != null)
              return deserializer;
  
          if (classNameResolver != null) {
              try {
                  type = classNameResolver.resolve(type);
              } catch (Exception e) {
                  throw new HessianProtocolException(e);
              }
          }
  
          if (type.startsWith("[")) {
              Deserializer subDeserializer = getDeserializer(type.substring(1));
  
              if (subDeserializer != null)
                  deserializer = new ArrayDeserializer(subDeserializer.getType());
              else
                  deserializer = new ArrayDeserializer(Object.class);
          } else {
              try {
                  //Class cl = Class.forName(type, false, getClassLoader());
  
                  Class cl = loadSerializedClass(type);
  
                  deserializer = getDeserializer(cl);
              } catch (Exception e) {
                  log.warning("Hessian/Burlap: '" + type + "' is an unknown class in " + getClassLoader() + ":\n" + e);
  
                  log.log(Level.FINER, e.toString(), e);
              }
          }
  
          if (deserializer != null) {
              _cachedTypeDeserializerMap.put(type, deserializer);
          }
  
          return deserializer;
      }
docs: Returns a deserializer based on a string type.