@Override
    public boolean placeResearvation(int rowNum, Column column, Passenger passenger) throws UnsupportedOperationException {
        if (!isInitialized) {
            throw new NullPointerException("Passenger List has not been initialized");
        } 
        if (rowNum < 0 || rowNum > passengerList.size()) {
            throw new IndexOutOfBoundsException("The row# is out of bound");
        }
        if (column.index() < 0 || column.index() > passengerList.get(0).size()) {
            throw new IndexOutOfBoundsException("The column# is out of bound");
        }
        
        List<Passenger> _passenger =  passengerList.get(rowNum -1);
        
        if (_passenger.get(column.index() -1) == null) {
            _passenger.set(column.index() -1, passenger);
            return true;
        }else{
            throw new IllegalArgumentException("A passenger is already in the list");
        }
    }