Tricks and Tips with NIO part I: Why you must handle OP_WRITE