public void loadProductData() {
    colorOptions = currentProduct.getColors();
    sizeOptions = currentProduct.getSizes();
    imageUrls = currentProduct.getImageUrls();
    Collections.shuffle(imageUrls);

    boolean loadImages = false;

    List<UIImage> images = new ArrayList<>();
    for (String url : imageUrls) {
      File file = new File(url);
      if (file.exists()) {
        images.add(new UIImage(file));
      } else {
        loadImages = true;
      }
    }

    imageView =
        new JBKenBurnsView(
            new CGRect(0, -60, UIScreen.getMainScreen().getBounds().getWidth(), 400));
    imageView.setImages(images);
    imageView.setUserInteractionEnabled(false);

    if (loadImages) {
      // Add spinner while loading data.
      getTableView().setModel(new ProductDetailPageModel(new SpinnerCell()));

      loadImages(this::fillViewController);
    } else {
      fillViewController();
    }
  }