IndexableIteratorPresentation (@Nullable @NonNls String debugName, @Nullable @NlsContexts.ProgressText String indexingProgressText, @Nullable @NlsContexts.ProgressText String rootsScanningProgressText) { record Presentation(@Nullable @NonNls String debugName, @Nullable @NlsContexts.ProgressText String indexingProgressText, @Nullable @NlsContexts.ProgressText String rootsScanningProgressText) implements IndexableIteratorPresentation { @Override public String getDebugName() { return this.debugName; } @Nullable @Override public String getIndexingProgressText() { return this.indexingProgressText; } @Override public String getRootsScanningProgressText() { return this.rootsScanningProgressText; } } return new Presentation(debugName, indexingProgressText, rootsScanningProgressText); }