public virtual void NewToken(bool isNextId) { if (isNextId) { var newId = NextId(); "{0}->{1}"._DLOG(Id, newId); Id = newId; } var oldTimeout = Token.TimeoutMs; Token = new ActionToken(GetType(), Id, oldTimeout, CreateOperationResult()); Token.TimeoutMs = oldTimeout; Token.Name = Name; ActionUnits.Clear(); CompletedCallback = null; }