public <T> void execute(Computable<? extends T> task, CallbackWrapper<T> callback) {
    clear();
    T result;
    try {
      result = task.compute();
    }
    catch (CancellationException e) {
      onError(safeMessage(e));
      result = null;
    }

    if (myErrorMessage == null) {
      callback.onSuccess(result);
    }
    else {
      callback.onError(myErrorMessage);
    }
  }
public <T> void execute(Computable<? extends T> task, CallbackWrapper<T> callback)