throw new HeuristicRollbackException();
      case ActionStatus.H_HAZARD:
      case ActionStatus.H_MIXED:
        throw new HeuristicMixedException();
      case ActionStatus.INVALID:
        throw new IllegalStateException();
      default:      
        throw new HeuristicMixedException(); // not sure what happened,
      // so err on the safe side!
      }
    }
    catch (ClassCastException ex)
    {
      ex.printStackTrace();
      throw new IllegalStateException();
    }
    finally
    {
      TransactionImple.removeTransaction(this);
    }