private static @NotNull Object dereference(@NotNull WeakReference<Object> reference, String id) {
    Object weakTarget = reference.get();
    if (weakTarget == null) {
      throw new IllegalStateException(
        "Weak reference to variable " + id + " expired. " +
        "Please use `Driver.withContext { }` for hard variable references."
      );
    }
    return weakTarget;
  }
private static @NotNull Object dereference(@NotNull WeakReference<Object> reference, String id)