code: public T withCroppedThumbnail(String path, String name, double scale,  double cropWidth, double cropHeight) {
          File thumbnailFile = new File(path.toString(), name);
          if(!Files.exists(Paths.get(path))) {
              thumbnailFile.mkdirs();
          }
          thumbnailImage=ImageProcessor.cropAndScale(image,scale, cropWidth, cropHeight);
          FileUtil.writeImage(thumbnailImage, EXTENSION, thumbnailFile);
          return self();
      }
docs: Generate cropped thumbnail of the original screenshot.
  Will save different thumbnails depends on when it was called in the chain.
  
  @param path to save thumbnail image to
  @param name of the resulting image
  @param scale to apply
  @param cropWidth e.g. 0.2 will leave 20% of the initial width
  @param cropHeight e.g. 0.1 will leave 10% of the initial width
  @return instance of type Snapshot