Not understanding this distinction is the most frequent performance issue that occurs when
using weak references. Don't make the mistake of thinking that a weak reference is just like
a soft reference except that it is freed more quickly: a softly referenced object will be avail-
able for (usually) minutes or even hours, but a weakly referenced object will be available
only for as long as its referent is still around (subject to the next GC cycle clearing it).