@Override
  protected boolean isEnabled(@NotNull XDebugSession session, DataContext dataContext) {
    Promise<String> textPromise = getTextToEvaluate(dataContext, session);
    // in the case of async expression evaluation just enable the action
    if (textPromise.getState() == Promise.State.PENDING) {
      return true;
    }
    // or disable on rejected
    else if (textPromise.getState() == Promise.State.REJECTED) {
      return false;
    }
    // else the promise is already fulfilled, get it's value
    try {
      return textPromise.blockingGet(0) != null;
    }
    catch (TimeoutException | ExecutionException e) {
      return false;
    }
  }
@Override
  protected boolean isEnabled(@NotNull XDebugSession session, DataContext dataContext)