code: private static void registerSlotFilled(
        UpdateSpec updateSpec, QueueSettings queueSettings, Slot slot, Object value) {
      slot.fill(value);
      updateSpec.getNonTransactionalGroup().includeSlot(slot);
      Task task = new HandleSlotFilledTask(slot.getKey(), queueSettings);
      updateSpec.getFinalTransaction().registerTask(task);
    }
docs: Given a Slot and a concrete value with which to fill the slot, we fill the
  value with the slot and create a new {@link HandleSlotFilledTask} for the
  newly filled Slot. We register the Slot and the Task with the given
  UpdateSpec for later saving.
  
  @param updateSpec The Slot will be added to the
  {@link UpdateSpec#getNonTransactionalGroup() non-transactional
  group} of the updateSpec. The new {@link HandleSlotFilledTask} will
  be added to the {@link UpdateSpec#getFinalTransaction() final
  transaction}.
  @param queueSettings queue settings for the created task
  @param slot the Slot to fill
  @param value the value with which to fill it