public static List<StackFrameItem> getCollectionModificationStack(SuspendContextImpl context,
                                                                    @Nullable Value collectionInstance,
                                                                    IntegerValue modificationIndex) {
    DebuggerManagerThreadImpl.assertIsManagerThread();
    VirtualMachineProxyImpl virtualMachineProxy = getVirtualMachine(context);
    if (virtualMachineProxy == null) {
      return Collections.emptyList();
    }

    Value result = invokeStorageMethod(context.getDebugProcess(), context,
                                       GET_COLLECTION_STACK_METHOD_NAME,
                                       GET_COLLECTION_STACK_METHOD_DESC,
                                       toList(collectionInstance, modificationIndex));

    String message = result instanceof StringReference ? ((StringReference)result).value() : "";

    return readStackItems(context.getDebugProcess(), message, virtualMachineProxy);
  }
public static List<StackFrameItem> getCollectionModificationStack(SuspendContextImpl context,
                                                                    @Nullable Value collectionInstance,
                                                                    IntegerValue modificationIndex)