protected String getImagePath(
      JRRenderable renderer, boolean isLazy, JRExporterGridCell gridCell) {
    String imagePath = null;

    if (renderer != null) {
      if (renderer.getType() == JRRenderable.TYPE_IMAGE
          && rendererToImagePathMap.containsKey(renderer.getId())) {
        imagePath = rendererToImagePathMap.get(renderer.getId());
      } else {
        if (isLazy) {
          imagePath = ((JRImageRenderer) renderer).getImageLocation();
        } else {
          JRPrintElementIndex imageIndex = getElementIndex(gridCell);
          imagesToProcess.add(imageIndex);

          String imageName = getImageName(imageIndex);
          imagePath = "Pictures/" + imageName;
        }

        rendererToImagePathMap.put(renderer.getId(), imagePath);
      }
    }

    return imagePath;
  }