question: public void keepOnly ( Set < IVarAbstraction > usefulPointers ) { Set < IVarAbstraction > reps = new HashSet < IVarAbstraction > ( ) ; for ( IVarAbstraction pn : usefulPointers ) { reps . add ( pn . getRepresentative ( ) ) ; } usefulPointers . addAll ( reps ) ; reps = null ; for ( IVarAbstraction pn : pointers ) { if ( ! usefulPointers . contains ( pn ) ) pn . deleteAll ( ) ; } System . gc ( ) ; }
target:  Keep only the pointers the users are interested in. Just used for reducing memory occupation.