private boolean initialize(int numOfRows, int numOfColumns) {
        if (isInitialized) {
            Iterator<List<Passenger>> rowIterator = passengerList.iterator();
            while(rowIterator.hasNext()){
                List<Passenger> _passengers = rowIterator.next();
                for (int i = 0; i < _passengers.size(); i++) {
                _passengers.set(i, null);
                }
            }
        }else{
            /**
             * initialize the inner list
             */
            for (int i = 0; i < numOfRows; i++) {
                List<Passenger> _passengerList = new ArrayList<>(numOfColumns - 1 );
                for (int j = 0; j < numOfColumns; j++) {
                    _passengerList.add(null);
                }
                /**
                 * initialize the outer list
                 */
                passengerList.add(_passengerList);
            }
        }
        return true;
    }