private void _processQueue ( ) { SoftValue < K , V > aSoftValue ; while ( ( aSoftValue = GenericReflection . uncheckedCast ( m_aQueue . poll ( ) ) ) != null ) { m_aSrcMap . remove ( aSoftValue . m_aKey ) ; } }
Here we go through the ReferenceQueue and remove garbage collected SoftValue objects from the HashMap by looking them up using the SoftValue . m_aKey data member .