in src/sizes/retained_size_and_held_objects.cpp [84:99]
jobjectArray RetainedSizeAndHeldObjectsAction::createResultObject(jlong retainedSize, jlong shallowSize, const std::vector<jobject> &heldObjects) {
jint objectsCount = static_cast<jint>(heldObjects.size());
jclass langObject = env->FindClass("java/lang/Object");
jobjectArray resultObjects = env->NewObjectArray(objectsCount, langObject, nullptr);
for (jsize i = 0; i < objectsCount; ++i) {
env->SetObjectArrayElement(resultObjects, i, heldObjects[i]);
}
jobjectArray result = env->NewObjectArray(2, langObject, nullptr);
std::vector<jlong> sizes{shallowSize, retainedSize};
env->SetObjectArrayElement(result, 0, toJavaArray(env, sizes));
env->SetObjectArrayElement(result, 1, resultObjects);
return result;
}