code: public final void declareAlreadyPrecommitted() throws TaskListException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "declareAlreadyPrecommitted");
  
          if (STATE_UNTOUCHED == _state)
          {
              _state = STATE_END_PRECOMMIT;
          }
          else if (STATE_END_PRECOMMIT == _state)
          {
              // declared precommitted already
          }
          else
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "declareAlreadyPrecommitted");
              throw new TaskListException(_state);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "declareAlreadyPrecommitted");
      }
docs: Use this method to declare that a tasklist has already been
  precommitted.  This is used when restoring tasks used to resolve
  'in doubt' items from persistence.
  By doing this we reduce the number of different paths through the
  state model.
  @throws TaskListException