Should it be just `WritableByteChannel` instead of `GatheringByteChannel`?