public static StatefulSession getSerialisedStatefulSession(StatefulSession session,
RuleBase ruleBase,
boolean dispose) throws Exception {
// Serialize to a byte array
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutput out = new ObjectOutputStream( bos );
out.writeObject( session );
out.close();
bos.close();
// Get the bytes of the serialized object
final byte[] b1 = bos.toByteArray();
ByteArrayInputStream bais = new ByteArrayInputStream( b1 );
StatefulSession session2 = ruleBase.newStatefulSession( bais );
bais.close();
bos = new ByteArrayOutputStream();
out = new ObjectOutputStream( bos );
out.writeObject( session2 );
out.close();
bos.close();
final byte[] b2 = bos.toByteArray();
// bytes should be the same.