public virtual void FlagForCancel()
 {
     if (this._state == RunnableInstanceState.Running)
     {
         this._state = RunnableInstanceState.Canceling;
     }
 }
 public virtual bool TryFinish()
 {
     if (this._state == RunnableInstanceState.Finished)
     {
         this._state = RunnableInstanceState.Dead;
         return(true);
     }
     else
     {
         return(false);
     }
 }
 public virtual bool TryCancel()
 {
     if (this._state == RunnableInstanceState.Canceling)
     {
         this._state = RunnableInstanceState.Dead;
         return(true);
     }
     else
     {
         return(false);
     }
 }
 public virtual bool TryUnPause()
 {
     if (this._state == RunnableInstanceState.Paused)
     {
         this._state = RunnableInstanceState.Running;
         return(true);
     }
     else
     {
         return(false);
     }
 }
 public virtual bool TryStart()
 {
     if (this._state == RunnableInstanceState.Waiting)
     {
         this._state = RunnableInstanceState.Running;
         return(true);
     }
     else
     {
         return(false);
     }
 }