}
public void writeFields() throws IOException {
final RiverPutField putField = this.putField;
if (putField == null) {
throw new NotActiveException("no current PutField object");
}
if (! compareAndSetState(UNWRITTEN_FIELDS, ON)) {
throw new NotActiveException("writeFields() may only be called when the fields have not yet been written");
}
this.putField = null;
putField.write(marshaller);
}