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