private void updateInstances() {
    cancelFilteringTask();

    myDebugProcess.getManagerThread().schedule(new DebuggerContextCommandImpl(myDebugProcess.getDebuggerContext()) {
      @Override
      public Priority getPriority() {
        return Priority.LOWEST;
      }

      @Override
      public void threadAction(@NotNull SuspendContextImpl suspendContext) {
        final EvaluationContextImpl evaluationContext = new EvaluationContextImpl(suspendContext, suspendContext.getFrameProxy());
        final XExpression expression = ReadAction.compute(() -> myFilterConditionEditor.getExpression());
        if (myIsDisposed) return;
        if (selectRepresentation(expression)) {
          updateRepresentation();
        }
        List<JavaReferenceInfo> instances = myRepresentation.fetchInstances(evaluationContext);

        synchronized (myFilteringTaskLock) {
          myFilteringTask = new FilteringTask(myClassName, myDebugProcess, expression, new MyValuesList(instances),
                                              new MyFilteringCallback(evaluationContext));

          myFilteringTaskFuture = ApplicationManager.getApplication().executeOnPooledThread(myFilteringTask);
        }
      }
    });
  }
private void updateInstances()