public CharacterActionInterface interrupt(CharacterActionInterface newAction)
 {
     if (newAction == this || (newAction.getPriority() <= priority_ && !newAction.isFinished()))
     {
         return this;
     }
     newAction.start();
     return newAction;
 }
 public CharacterActionInterface interrupt(CharacterActionInterface newAction)
 {
     if (newAction == this || newAction.getPriority() <= priority_)
     {
         return this;
     }
     newAction.start();
     return newAction;
 }
 public CharacterActionInterface interrupt(CharacterActionInterface newAction)
 {
     if (newAction == this)
     {
         finished_ = true;
         return this;
     }
     if (newAction.getPriority() <= priority_ && !finished_)
     {
         return this;
     }
     newAction.start();
     return newAction;
 }