code: boolean shouldDrainBuffers(boolean delayable) {
          if (executor.isShutdown()) {
              DrainStatus status = drainStatus.get();
              return (status != PROCESSING) && (!delayable || (status == REQUIRED));
          }
          return false;
      }
docs: Determines whether the buffers should be drained.
  
  @param delayable if a drain should be delayed until required
  @return if a drain should be attempted