@SuppressLint("WrongConstant")
    private void updateInternal() {
      CloseableReference<CloseableImage> sourceImageRef;
      synchronized (RepeatedPostprocessorConsumer.this) {
        if (mIsClosed) {
          return;
        }
        sourceImageRef = CloseableReference.cloneOrNull(mSourceImageRef);
      }
      try {
        getConsumer().onNewResult(sourceImageRef, NO_FLAGS);
      } finally {
        CloseableReference.closeSafely(sourceImageRef);
      }
    }
PostprocessorConsumer wrapper that allows repeated postprocessing.

<p>Reference to the last result received is cloned and kept until the request is cancelled. In
order to allow multiple postprocessing, results are always propagated as non-final. When {@link
#update()} is called, a new postprocessing of the last received result is requested.

<p>Intermediate results are ignored.
imagepipeline/src/main/java/com/facebook/imagepipeline/producers/PostprocessorProducer.java