private void next() {
    if (null == carouselSizeFilter) {
      carouselSizeFilter = getDefaultCarouselSize();
    }

    if (null != carouselEndFilter) {
      int newStart = carouselEndFilter - 1;
      newStart = (newStart < carouselSizeFilter) ? carouselSizeFilter : newStart;
      setCarouselStartFilter(newStart);
    }

    setCarouselEndFilter(null);

    buildCarousel(true);
  }
  private void previous() {
    if (null == carouselSizeFilter) {
      carouselSizeFilter = getDefaultCarouselSize();
    }

    if (null != carouselStartFilter) {
      int newEnd = carouselStartFilter + 1;
      setCarouselEndFilter(newEnd);

      // it's ok if this is higher than the current max, the actual fetch will make sure the
      // values are sane.
      setCarouselStartFilter(carouselStartFilter + carouselSizeFilter);
    }

    buildCarousel(true);
  }