void (@NotNull @ProgressTitle String updateMessage, int fromRow, int toRow, int fromCol, int toCol, @NotNull Consumer<? super ArrayChunk> whenLoaded) { myQueue.queue(new Update(updateMessage) { @Override public void run() { ProgressManager.getInstance().run(new Task.Backgroundable(null, updateMessage, false) { @Override public void run(@NotNull ProgressIndicator indicator) { indicator.setIndeterminate(true); try { ArrayChunk chunk = myDebugValue.getFrameAccessor() .getArrayItems(myDebugValue, fromRow, fromCol, toRow - fromRow + 1, toCol - fromCol + 1, myDataProvider.getFormat()); if (chunk != null) { whenLoaded.accept(chunk); } } catch (PyDebuggerException e) { Logger.getInstance(this.getClass()).error(e); } } }); } }); }