public void cancel() {
    if (status != SeanceStatus.OPENED) {
      throw new SeanceChangeStateException("Closed or Canceled seance cannot be caneled");
    }
    setStatus(SeanceStatus.CANCELED);
    for (Ticket ticket : tickets) {
      if (ticket.getStatus() != TicketStatus.SOLD) {
        disableTicket(ticket);
      }
    }
  }