public int ExecuteCommand(IDbCommand command)
 {
     try
     {
         return(_currentState.Execute(command));
     }
     catch (Exception ex)
     {
         throw new CommandFailureException(command, ex);
     }
 }