@NotNull
  @Override
  public MemoryAgentActionResult<Pair<long[], long[]>> getShallowAndRetainedSizesByObjects(@NotNull EvaluationContextImpl evaluationContext,
                                                                                           @NotNull List<ObjectReference> references,
                                                                                           long timeoutInMillis) throws EvaluateException {
    if (!myCapabilities.canEstimateObjectsSizes()) {
      throw new UnsupportedOperationException("Memory agent can't estimate objects sizes");
    }

    return executeOperation(() -> myProxy.getShallowAndRetainedSizesByObjects(evaluationContext, references, timeoutInMillis));
  }
@NotNull
  @Override
  public MemoryAgentActionResult<Pair<long[], long[]>> getShallowAndRetainedSizesByObjects(@NotNull EvaluationContextImpl evaluationContext,
                                                                                           @NotNull List<ObjectReference> references,
                                                                                           long timeoutInMillis)