sclass CachedPosterizer is IPosterizer { IPosterizer posterizer; int[] cache; *(int *IF1_IntToInt posterizer) { makeCache(); } // 0..255 to 0..255 public int get(int brightness) { ret cache[brightness]; } void makeCache { cache = new int[256]; for brightness to 256: cache[i] = posterizer.get(brightness); } }