@RequiresEdt
  public static <T, E extends Throwable> T compute(@NotNull ThrowableComputable<T, E> action) throws E {
    return ApplicationManager.getApplication().runWriteAction(action);
  }
@RequiresEdt
  public static <T, E extends Throwable> T compute(@NotNull ThrowableComputable<T, E> action)