if (!(o instanceof java.io.Serializable)) {
if (!(o instanceof Serializable)) {
    private static String representationOf(Object o, Invokeable i, SerializerContext context) throws Exception {        if (null == o) return "N;";        if (!(o instanceof java.io.Serializable)) {            throw new SerializationException("Trying to serialize non-serializable object " + o + " via " + i);        }        if (i != null) return (String)i.invoke(o, context);        // Default object serialization        StringBuffer buffer= new StringBuffer();        Class c= o.getClass();        long numFields = 0;        for (Field f : classFields(c)) {            buffer.append("s:");            buffer.append(f.getName().length());            buffer.append(":\"");            buffer.append(f.getName());            buffer.append("\";");            f.setAccessible(true);            buffer.append(representationOf(f.get(o), invokeableFor(f.getType()), context));            numFields++;        }        buffer.append("}");                buffer.insert(0, "O:" + c.getName().length() + ":\"" + c.getName() + "\":" + numFields + ":{");        return buffer.toString();    }