String (@NotNull Project project) { return CachedValuesManager.getManager(project).getCachedValue(project, () -> { String lombokVersion = null; try { lombokVersion = ReadAction.nonBlocking(() -> getLombokVersionInternal(project)).executeSynchronously(); } catch (ProcessCanceledException e) { throw e; } catch (Throwable e) { Logger.getInstance(LombokLibraryUtil.class).error(e); } return new Result<>(StringUtil.notNullize(lombokVersion), ProjectRootManager.getInstance(project)); }); }