question: public PatternMatcher execute ( ) throws DataflowAnalysisException { workList . addLast ( cfg . getEntry ( ) ) ; while ( ! workList . isEmpty ( ) ) { BasicBlock basicBlock = workList . removeLast ( ) ; visitedBlockMap . put ( basicBlock , basicBlock ) ; BasicBlock . InstructionIterator i = basicBlock . instructionIterator ( ) ; while ( i . hasNext ( ) ) { attemptMatch ( basicBlock , i . duplicate ( ) ) ; i . next ( ) ; } Iterator < BasicBlock > succIterator = cfg . successorIterator ( basicBlock ) ; while ( succIterator . hasNext ( ) ) { BasicBlock succ = succIterator . next ( ) ; if ( visitedBlockMap . get ( succ ) == null ) { workList . addLast ( succ ) ; } } } return this ; }
target:  Search for examples of the ByteCodePattern.