public long Decode(OctetStream reader, OctetStream.Context ctx) { long d = 0; int p = 0; while (true) { long m = reader.Read (ctx); d |= (m & 127) << p; if ((m & 128) != 0) { break; } p += 7; } return d; }