public static ArrayReference mirrorOfByteArray(byte[] bytes, EvaluationContext context)
    throws EvaluateException, InvalidTypeException, ClassNotLoadedException {
    context = ((EvaluationContextImpl)context).withAutoLoadClasses(true);
    ArrayType arrayClass = (ArrayType)context.getDebugProcess().findClass(context, "byte[]", context.getClassLoader());
    ArrayReference reference = mirrorOfArray(arrayClass, bytes.length, context);
    VirtualMachine virtualMachine = reference.virtualMachine();
    List<Value> mirrors = new ArrayList<>(bytes.length);
    for (byte b : bytes) {
      mirrors.add(virtualMachine.mirrorOf(b));
    }

    if (isAndroidVM(virtualMachine)) {
      // Android VM has a limited buffer size to receive JDWP data (see https://issuetracker.google.com/issues/73584940)
      setChuckByChunk(reference, mirrors);
    }
    else {
      try {
        setValuesNoCheck(reference, mirrors);
      }
      catch (VMMismatchException e) {
        LOG.error("Class vm: " + arrayClass.virtualMachine() +
                  " loaded by " + arrayClass.virtualMachine().getClass().getClassLoader() +
                  "\nReference vm: " + reference.virtualMachine() +
                  " loaded by " + reference.virtualMachine().getClass().getClassLoader() +
                  "\nMirrors vms: " + StreamEx.of(mirrors).map(Mirror::virtualMachine).distinct()
                    .map(vm -> {
                      return vm +
                             " loaded by " + vm.getClass().getClassLoader() +
                             " same as ref vm = " + (vm == reference.virtualMachine());
                    })
                    .joining(", ")
          , e);
      }
    }

    return reference;
  }
public static ArrayReference mirrorOfByteArray(byte[] bytes, EvaluationContext context)