public void setRoom(Room room) {
    if (room == null) {
      throw new IllegalArgumentException();
    }
    if (this.room != null && !this.room.equals(room)) {
      throw new ReassignObjectException();
    }

    if ( !room.exists(this)) {
      room.addRow(this);
    }
    this.room = room;
  }