private void tidy ( ) { nonPermanent . entrySet ( ) . stream ( ) . map ( entry -> { List < WeakReference < IzouSoundLineBaseClass >> collect = entry . getValue ( ) . stream ( ) . filter ( izouSoundLineWeakReference -> izouSoundLineWeakReference . get ( ) != null ) . collect ( Collectors . toList ( ) ) ; if ( ! collect . isEmpty ( ) ) { nonPermanent . put ( entry . getKey ( ) , collect ) ; return null ; } else { return entry ; } } ) . filter ( Objects :: nonNull ) . forEach ( entry -> nonPermanent . remove ( entry . getKey ( ) ) ) ; }
removes obsolete references