asclass AbstractCompressor extends Probabilistic { CompressionSearch search; *() {} *(CompressionSearch *search) {} void setSearch(CompressionSearch search) { if (this.search != null && this.search != search) fail(); this.search = search; } CompressionRegime regime() { ret search?.regime(); } // get current best compressed representation //abstract A currentBestDecompressor aka get(); }