public byte[] serial(SomeClass2 data) throws IOException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(5 * 1024 * 1024);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);
if (shared) {
objectOutputStream.writeObject(data);
} else {
objectOutputStream.writeUnshared(data);
}
outputStream.close();
return outputStream.toByteArray();
}
public SomeClass2 deserial(byte[] data) throws IOException, ClassNotFoundException {
ByteArrayInputStream in = new ByteArrayInputStream(data);
ObjectInputStream objectInputStream = new ObjectInputStream(in);
SomeClass2 instance;
if (shared) {
instance = (SomeClass2)objectInputStream.readObject();
} else {
instance = (SomeClass2)objectInputStream.readUnshared();
}
return instance;