code: public void process(Bitmap destBitmap, Bitmap sourceBitmap) {
      internalCopyBitmap(destBitmap, sourceBitmap);
      process(destBitmap);
    }
docs: Clients should override this method if the post-processing cannot be done in place. If the
  post-processing can be done in place, clients should override the {@link #process(Bitmap)}
  method.
  
  <p> The provided destination bitmap is of the same size as the source bitmap. There are no
  guarantees on the initial content of the destination bitmap, so the implementation has to make
  sure that it properly populates it.
  
  <p> The source bitmap must not be modified as it may be shared by the other clients.
  The implementation must use the provided destination bitmap as its output.
  
  @param destBitmap the destination bitmap to be used as output
  @param sourceBitmap the source bitmap to be used as input