public Receipt checkin(Car car, boolean isHandicapped) {

        if(isHandicapped) {
            if(!freeHandicappedParkingSpace.isEmpty()) {
                ParkingSpace space = freeHandicappedParkingSpace.removeFirst();
                space.car = car;
                filledHandicappedParkingSpace.put(car.registration, space);
                return new Receipt(space.number, car.registration, LotType.HANDICAPPED);
            }
        }

        if(car.type == CarType.COMPACT) {
            if(!freeCompactParkingSpace.isEmpty()) {
                ParkingSpace space = freeCompactParkingSpace.removeFirst();
                space.car = car;
                filledCompactParkingSpace.put(car.registration, space);
                return new Receipt(space.number, car.registration, LotType.COMPACT);
            } else {
                return null;
            }
        }

        if(car.type == CarType.FULL_SIZE) {
            if(!freeFullSizeParkingSpace.isEmpty()) {
                ParkingSpace space = freeFullSizeParkingSpace.removeFirst();
                space.car = car;
                filledFullSizeParkingSpace.put(car.registration, space);
                return new Receipt(space.number, car.registration, LotType.FULL_SIZE);
            } else {
                return null;
            }
        }

        return null;

    }