_handleAlreadySelectedDates(alreadySelectedDate, cellDate) {
        let {selectedDates, rangeDateFrom, rangeDateTo} = this;
        let {range, toggleSelected} = this.opts;
        let selectedDatesLen = selectedDates.length;
        let isFunc = typeof toggleSelected === 'function';
        let shouldToggle = isFunc ? toggleSelected({datepicker: this, date: cellDate}) : toggleSelected;
        let datesAreSame = Boolean(range && selectedDatesLen === 1 && alreadySelectedDate);
        // If range=true and user selects same date, then add new instance of same date to selectedDates
        // to be able to change time independently on both dates
        let cellDateCopy = datesAreSame ? copyDate(cellDate) : cellDate;

        if (range) {
            if (!shouldToggle) {
                // Add possibility to select same date when range is true
                if (selectedDatesLen !== 2) {
                    this.selectDate(cellDateCopy);
                }
                // Don't change lastSelectedDate if we have 2 same selected dates
                if (selectedDatesLen === 2 && isSameDate(rangeDateFrom, rangeDateTo)) {
                    return;
                }
            }
        }

        if (shouldToggle) {
            this.unselectDate(cellDateCopy);
        } else {
            // Change last selected date to be able to change time when clicking on this cell
            this._updateLastSelectedDate(datesAreSame ? cellDateCopy : alreadySelectedDate);
        }
    }
Checks if date is already selected, returns selected date if finds one
Returns selected date, need for timepicker
@param {Date} date
@param {String} cellType - days, months, years
@return {boolean|Date}
@private