
    def _insert_at_index(self, arr, val, index):
        """
        The method is only used internally, it inserts in item in an array at a given index and shifts the
        values after that index to the right.

        :param list arr: list of floats representing the recommendation score.
        :param float val: a float representing the recommendation value to be inserted.
        :param int index: index where the value will be inserted.