raf.writeUTF((String) value);
} else if (binding == java.sql.Date.class || binding == java.sql.Time.class
|| binding == java.sql.Timestamp.class || binding == java.util.Date.class) {
raf.writeLong(((Date) value).getTime());
} else if (Geometry.class.isAssignableFrom(binding)) {
WKBWriter writer = new WKBWriter();
byte[] buffer = writer.write((Geometry) value);
int length = buffer.length;
raf.writeInt(length);
raf.write(buffer);
} else {
// can't optimize, in this case we use an ObjectOutputStream to write out