Let's try SofterReference. Looks like it reduces GC pauses and we do not need to manage caches by ourselves.