code: public Object convertStringToObject(String string, String version) throws ClassNotFoundException
      {
          if ((string == null) || (string.length() == 0))
              return null;
  
          Object object  = null;
          try {
              InputStream reader = new ByteArrayInputStream(string.getBytes(BundleConstants.OBJECT_ENCODING));//Constants.STRING_ENCODING));
              ObjectInputStream inStream = new ObjectInputStream(reader);
              object = inStream.readObject();
              reader.close();
              inStream.close();
          } catch (ClassNotFoundException e) {
              if (this.getClassFinder(null) != null)
              {
                  String className = null;
                  int startClass = e.getMessage().indexOf('\'') + 1;
                  int endClass = e.getMessage().indexOf('\'', startClass);
                  if (endClass != -1)
                      className = e.getMessage().substring(startClass, endClass);
                  object = this.getClassFinder(null).findConvertStringToObject(className, version, string);	// Try to find this class in the obr repos
              }
              if (object == null)
                  throw e;
          } catch (IOException e) {
              e.printStackTrace();    // Never
          }
  
          return object;
      }
docs: Convert this encoded string back to a Java Object.
  TODO This is expensive, I need to synchronize and use a static writer.
  @param string The string to convert.
  @return The java object.