docs: public static <Input extends ImageBase<Input>, Output extends ImageBase<Output>>
  	ImageDistort<Input, Output> distort(boolean cached, InterpolatePixel<Input> interp, ImageType<Output> outputType) {
  		switch( outputType.getFamily() ) {
  			case GRAY:
  				return distortSB(cached,(InterpolatePixelS)interp,outputType.getImageClass());
  			case PLANAR:
  				return distortPL(cached,(InterpolatePixelS)interp,outputType.getImageClass());
  			case INTERLEAVED:
  				if( interp instanceof InterpolatePixelS )
  					throw new IllegalArgumentException("Interpolation function for single band images was" +
  							" passed in for an interleaved image");
  				return distortIL(cached,(InterpolatePixelMB) interp, (ImageType)outputType);
  			default:
  				throw new IllegalArgumentException("Unknown image family "+outputType.getFamily());
  		}
  	}