@NotNull
  private static ObjectReference getProxyInstance(@NotNull EvaluationContextImpl evaluationContext,
                                                  @NotNull ClassType proxyType,
                                                  @NotNull ObjectReference cancellationFileName,
                                                  @NotNull ObjectReference progressFileName,
                                                  @NotNull LongValue timeoutInMillis) throws EvaluateException {
    DebugProcessImpl debugProcess = evaluationContext.getDebugProcess();
    Method constructor = DebuggerUtils.findMethod(proxyType, JVMNameUtil.CONSTRUCTOR_NAME, PROXY_CONSTRUCTOR_SIGNATURE);
    if (constructor == null) {
      throw EvaluateExceptionUtil.createEvaluateException("No appropriate constructor found for proxy class");
    }
    return debugProcess.newInstance(
      evaluationContext, proxyType, constructor, Arrays.asList(cancellationFileName, progressFileName, timeoutInMillis)
    );
  }
@NotNull
  private static ObjectReference getProxyInstance(@NotNull EvaluationContextImpl evaluationContext,
                                                  @NotNull ClassType proxyType,
                                                  @NotNull ObjectReference cancellationFileName,
                                                  @NotNull ObjectReference progressFileName,
                                                  @NotNull LongValue timeoutInMillis)