code: public synchronized AbstractCompactionTask getNextBackgroundTask(int gcBefore)
      {
          if (!isEnabled())
              return null;
          Collection<AbstractCompactionTask> tasks = getMaximalTask(gcBefore);
          if (tasks == null || tasks.size() == 0)
              return null;
          return tasks.iterator().next();
      }
docs: the only difference between background and maximal in LCS is that maximal is still allowed
  (by explicit user request) even when compaction is disabled.