public override async ValueTask <NpgsqlRange <TElement>[]> Read( NpgsqlReadBuffer buf, int len, bool async, FieldDescription?fieldDescription = null) { await buf.Ensure(4, async); var numRanges = buf.ReadInt32(); var multirange = new NpgsqlRange <TElement> [numRanges]; for (var i = 0; i < numRanges; i++) { await buf.Ensure(4, async); var rangeLen = buf.ReadInt32(); multirange[i] = await _rangeHandler.Read(buf, rangeLen, async, fieldDescription); } return(multirange); }