public @NotNull TaintValue joinUntil(@Nullable TaintValue until,
                                       @SuppressWarnings("BoundedWildcard") @NotNull Supplier<TaintValue> callable) {
    if (until == null) {
      until = TAINTED;
    }
    if (until == this) {
      return this;
    }
    if (until == UNKNOWN && this != UNTAINTED) {
      return this;
    }
    return join(callable.get());
  }
public @NotNull TaintValue joinUntil(@Nullable TaintValue until,
                                       @SuppressWarnings("BoundedWildcard") @NotNull Supplier<TaintValue> callable)