public Row registerRow(Row row) {
    int index = rows.indexOf(row);
    if (index == -1) {
      addRow(row);
      return row;
    } else {
      Row foundedRow = rows.get(index);
      Iterator<Place> places = row.getAllPlaces();
      while (places.hasNext()) {
        foundedRow.registerPlace(places.next());
      }
      return foundedRow;
    }
  }