return null;
}
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new DroolsObjectOutputStream(baos);
oos.writeObject(origin);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
ObjectInputStream ois = new DroolsObjectInputStream(bais, classLoader);
Object deepCopy = ois.readObject();
return (T)deepCopy;
} catch(IOException ioe) {