@Override
 public boolean nextFrame(ByteBuffer buffer) throws HyracksDataException {
   int index = channelReader.findNextSender();
   if (index >= 0) {
     IInputChannel[] channels = channelReader.getChannels();
     ByteBuffer srcFrame = channels[index].getNextBuffer();
     FrameUtils.copy(srcFrame, buffer);
     channels[index].recycleBuffer(srcFrame);
     return true;
   }
   return false;
 }