/**
   * *****************************************************************************************************************
   *
   * <p>Post-processes a raw image using the installed postprocessor, if any.
   *
   * @param image the raw image to postprocess
   * @return the post-processed image
   *     <p>****************************************************************************************************************
   */
  protected void postProcessMetadata(
      final @Nonnull RAWMetadataSupport metadata, final @Nonnull RAWImageReadParam readParam) {
    logger.fine("postProcessMetadata(%s, %s)", metadata.getClass(), readParam);
    final Source source = readParam.lookup(Source.class);
    final PostProcessor postProcessor =
        !source.needsPostProcessor() ? null : postProcessorMapBySpiClass.get(getClass());
    logger.finer(">>>> source: %s, postProcessor: %s", source, postProcessor);

    if (postProcessor != null) {
      postProcessor.processMetadata(metadata, readParam);
    }
  }
  /**
   * *****************************************************************************************************************
   *
   * <p>Post-processes a raw image using the installed postprocessor, if any.
   *
   * @param image the raw image to postprocess
   * @return the post-processed image
   *     <p>****************************************************************************************************************
   */
  @Nonnull
  protected BufferedImage postProcess(
      final @Nonnull BufferedImage image,
      final @Nonnull RAWMetadataSupport metadata,
      final @Nonnull RAWImageReadParam readParam) {
    logger.fine("postProcess(%s, %s, %s)", image, metadata.getClass(), readParam);
    final Source source = readParam.lookup(Source.class);
    final PostProcessor postProcessor =
        !source.needsPostProcessor() ? null : postProcessorMapBySpiClass.get(getClass());
    logger.finer(">>>> source: %s, postProcessor: %s", source, postProcessor);

    return (postProcessor != null) ? postProcessor.process(image, metadata, readParam) : image;
  }