def _merge_bee(self, bee):
        '''Shifts a random value for a supplied bee with in accordance with
        another random bee's value

        Args:
            bee (EmployerBee): supplied bee to merge

        Returns:
            tuple: (score of new position, values of new position, fitness
                function return value of new position)
        '''

        random_dimension = randint(0, len(self._value_ranges) - 1)
        second_bee = randint(0, self._num_employers - 1)
        while (bee.id == self._employers[second_bee].id):
            second_bee = randint(0, self._num_employers - 1)
        new_bee = deepcopy(bee)
        new_bee.values[random_dimension] = self.__onlooker.calculate_positions(
            new_bee.values[random_dimension],
            self._employers[second_bee].values[random_dimension],
            self._value_ranges[random_dimension]
        )
        fitness_score = new_bee.get_score(self._fitness_fxn(
            new_bee.values,
            **self._args
        ))
        return (fitness_score, new_bee.values, new_bee.error)
Shifts a random value for a supplied bee with in accordance with
        another random bee's value

        Args:
            bee (EmployerBee): supplied bee to merge

        Returns:
            tuple: (score of new position, values of new position, fitness
                function return value of new position)