in src/internal/BinaryCommunicator.ts [286:302]
async _readCollection(buffer, expectedColType) {
const size = buffer.readInteger();
const subType = buffer.readByte();
const isSet = CollectionObjectType._isSet(subType);
const result: Set<any> | Array<any> = isSet ? new Set() : new Array(size);
let element;
for (let i = 0; i < size; i++) {
element = await this.readObject(buffer, expectedColType ? expectedColType._elementType : null);
if (isSet) {
(result as Set<any>).add(element);
}
else {
result[i] = element;
}
}
return result;
}