docs: private void handleDrainedSource() throws IOException {
           if (!inCatalog() && m_committedBuffers.isEmpty()) {
               //Returning null indicates end of stream
               try {
                   if (m_pollTask != null) {
                       m_pollTask.setFuture(null);
                   }
               } catch (RejectedExecutionException reex) {
                   // Ignore, {@code GuestProcessor} was closed
               }
               m_pollTask = null;
               m_generation.onSourceDrained(m_partitionId, m_tableName);
               return;
           }
       }