code: public static <T> AsyncCallback<T> before (AsyncCallback<T> target,
                                                 final Function<T, Void> preOp)
      {
          return new ChainedCallback<T, T>(target) {
              @Override public void onSuccess (T result) {
                  preOp.apply(result);
                  forwardSuccess(result);
              }
          };
      }
docs: Creates a chained callback that calls the supplied pre-operation before passing the result
  on to the supplied target callback.