@Override
  @NotNull
  public MemoryAgentActionResult<ObjectsAndSizes> getSortedShallowAndRetainedSizesByClass(@NotNull EvaluationContextImpl evaluationContext,
                                                                                          @NotNull ReferenceType classType,
                                                                                          long objectsLimit,
                                                                                          long timeoutInMillis) throws EvaluateException {
    if (!myCapabilities.canEstimateObjectsSizes()) {
      throw new UnsupportedOperationException("Memory agent can't estimate objects sizes");
    }

    return executeOperation(() -> myProxy.getShallowAndRetainedSizeByClass(evaluationContext, classType, objectsLimit, timeoutInMillis));
  }
@Override
  @NotNull
  public MemoryAgentActionResult<ObjectsAndSizes> getSortedShallowAndRetainedSizesByClass(@NotNull EvaluationContextImpl evaluationContext,
                                                                                          @NotNull ReferenceType classType,
                                                                                          long objectsLimit,
                                                                                          long timeoutInMillis)