private void queue(final FileChannel source, final IoCallback ioCallback) {
   // if data is sent from withing the callback we queue it, to prevent the stack growing
   // indefinitely
   if (pendingFile != null) {
     throw UndertowMessages.MESSAGES.dataAlreadyQueued();
   }
   pendingFile = source;
   queuedCallback = ioCallback;
 }
 private void queue(final ByteBuffer[] byteBuffers, final IoCallback ioCallback) {
   // if data is sent from withing the callback we queue it, to prevent the stack growing
   // indefinitely
   if (next != null) {
     throw UndertowMessages.MESSAGES.dataAlreadyQueued();
   }
   next = byteBuffers;
   queuedCallback = ioCallback;
 }