public final T getResultIfFullFilled() {
    Promise<T> result = ref.get();
    try {
      return (result != null && result.isSucceeded()) ? result.blockingGet(0) : null;
    }
    catch (TimeoutException | ExecutionException e) {
      return null;
    }
  }
public final T getResultIfFullFilled()