added CompressedIdBuffer which uses an encoder and also does run-length-encoding