instance : new PaletteTransformation (); } private Palette palette ; private PaletteTransformation () {} public Palette extractPaletteAndRelease () { Palette palette = this . public final class PaletteTransformation implements Transformation { private static final PaletteTransformation INSTANCE = new PaletteTransformation (); private static final Map < Bitmap , Palette > CACHE = new WeakHashMap <>(); public static PaletteTransformation instance () { return INSTANCE ; } public static Palette getPalette ( Bitmap bitmap ) { return CACHE . get ( bitmap ); } private PaletteTransformation () {} @Override public Bitmap transform ( Bitmap source ) { Palette palette = Palette .