protected void end ( ) { if ( subSolver != null && subSolver . subSolver == null ) { if ( type == OperatorDescrType . AND ) { if ( possibilityLists . isEmpty ( ) ) { possibilityLists . add ( new HashSet < VerifierComponent > ( ) ) ; } List < Set < VerifierComponent > > newPossibilities = new ArrayList < Set < VerifierComponent > > ( ) ; List < Set < VerifierComponent > > sets = subSolver . getPossibilityLists ( ) ; for ( Set < VerifierComponent > possibilityList : possibilityLists ) { for ( Set < VerifierComponent > set : sets ) { Set < VerifierComponent > newSet = new HashSet < VerifierComponent > ( ) ; newSet . addAll ( possibilityList ) ; newSet . addAll ( set ) ; newPossibilities . add ( newSet ) ; } } possibilityLists = newPossibilities ; } else if ( type == OperatorDescrType . OR ) { possibilityLists . addAll ( subSolver . getPossibilityLists ( ) ) ; } subSolver = null ; } else if ( subSolver != null && subSolver . subSolver != null ) { subSolver . end ( ) ; } }
Ends subSolvers data collection .