code: public JobDescription into(final ImageView imageView) {
          if (data.placeholder != Dali.NO_RESID) {
              imageView.setImageResource(data.placeholder);
          }
  
          return start(new BlurWorker.BlurWorkerListener() {
              @Override
              public void onResult(final BlurWorker.Result result) {
                  //run on ui thread because we need to modify ui
                  uiThreadHandler.post(new Runnable() {
                      @Override
                      public void run() {
                          if (result.isError()) {
                              Log.e(TAG, "Could not set into imageview", result.getThrowable());
                              if (data.errorResId == Dali.NO_RESID) {
                                  imageView.setImageResource(data.errorResId);
                              }
                          } else {
                              if (data.alphaFadeIn) {
                                  //use what is currently in the imageview to fade
                                  Drawable placeholder;
                                  Drawable oldDrawable = imageView.getDrawable();
                                  if (oldDrawable != null) {
                                      if (oldDrawable instanceof LayerDrawable) {
                                          LayerDrawable oldLayerDrawable = (LayerDrawable) oldDrawable;
                                          placeholder = oldLayerDrawable.getDrawable(0);
                                      } else {
                                          placeholder = imageView.getDrawable();
                                      }
                                  } else {
                                      placeholder = new ColorDrawable(Color.parseColor("#00FFFFFF"));
                                  }
  
                                  final TransitionDrawable transition = new TransitionDrawable(new Drawable[]{
                                          placeholder, new BitmapDrawable(data.contextWrapper.getResources(), result.getBitmap())
                                  });
                                  imageView.setImageDrawable(transition);
                                  transition.startTransition(FADE_IN_MS);
  
                                  //after the transition set only the processed bitmap to avoid keeping both images in memory
  
                              } else {
                                  imageView.setImageDrawable(new BitmapDrawable(data.contextWrapper.getResources(), result.getBitmap()));
                              }
                          }
                      }
                  });
  
              }
          });
      }
docs: /* GETTER METHODS *************************************************************************