preloadSlide(index) {
        // Verify slide index, it can not be lower than 0
        // and it can not be greater than the total elements
        if (index < 0 || index > this.elements.length - 1) {
            return false;
        }

        if (_.isNil(this.elements[index])) {
            return false;
        }

        let slideNode = this.slidesContainer.querySelectorAll('.gslide')[index];
        if (_.hasClass(slideNode, 'loaded')) {
            return false;
        }

        const slide = this.elements[index];
        const type = slide.type;
        const slideData = {
            index: index,
            slide: slideNode, //this will be removed in the future
            slideNode: slideNode,
            slideConfig: slide.slideConfig,
            slideIndex: index,
            trigger: slide.node,
            player: null
        };

        this.trigger('slide_before_load', slideData);

        if (type === 'video' || type === 'external') {
            setTimeout(() => {
                slide.instance.setContent(slideNode, () => {
                    this.trigger('slide_after_load', slideData);
                });
            }, 200);
        } else {
            slide.instance.setContent(slideNode, () => {
                this.trigger('slide_after_load', slideData);
            });
        }
    }
Preload slides
@param  {Int}  index slide index
@return {null}