@Override public Binder serialize(Object object,BiSerializer s) { return ((BiSerializable) object).serialize(s); }
@Override public Object deserialize(Binder binder, BiDeserializer deserializer) { try { Constructor c= objectClass.getDeclaredConstructor(); c.setAccessible(true); BiSerializable bs = (BiSerializable) c.newInstance(); bs.deserialize(binder, deserializer); return bs; } catch (Exception e) { throw new BiSerializationException("failed to deserialize " + typeName() + ": " + objectClass.getCanonicalName(), e); } } }