private static @NotNull <T extends Runnable & PossiblyDumbAware> PossiblyDumbAwareRunnable<T> create(@NotNull T delegate, Object o) {
      return new PossiblyDumbAwareRunnable<>(delegate, o);
    }
private static @NotNull <T extends Runnable & PossiblyDumbAware> PossiblyDumbAwareRunnable<T> create(@NotNull T delegate, Object o)