@Override
	public Set<OperatorSet> detectPropertyOnline(
			SearchState relevantState,
			SearchTree tree) {
		Set<OperatorSet> result =  new HashSet<OperatorSet>();
		//TODO: shouldn't this be in-fact an offline detector?
		relevantState = tree.getSentState(relevantState.iparentID);
		if(relevantState == null) return result;
		//TODO: optimize
		for(SearchState s1 : relevantState.successors){
			for(SearchState s2 : relevantState.successors){
				if(s1.stateID != s2.stateID){
					OperatorSet opSet = new OperatorSet(EnumPrivacyProperty.PRIVATELY_NONDETERMINISTIC,true);
					opSet.addAll(s1.responsibleOperators);
					opSet.retainAll(s2.responsibleOperators);
					if(!opSet.isEmpty()){
						result.add(opSet);
					}
				}
			}
		}
		return result;
	}
@Override
	public Set<OperatorSet> detectPropertyOnline(
			SearchState relevantState,
			SearchTree tree) {
		Set<OperatorSet> result =  new HashSet<OperatorSet>();
	
		relevantState = tree.getSentState(relevantState.iparentID);
		if(relevantState == null) return result;
	
		for(SearchState s1 : relevantState.successors){
			for(SearchState s2 : relevantState.successors){
				if(s1.stateID != s2.stateID){
					OperatorSet opSet = new OperatorSet(EnumPrivacyProperty.PRIVATELY_NONDETERMINISTIC,true);
					opSet.addAll(s1.responsibleOperators);
					opSet.retainAll(s2.responsibleOperators);
					if(!opSet.isEmpty()){
						result.add(opSet);
					}
				}
			}
		}
		return result;
	}
@override public set<operatorset> detectpropertyonline( searchstate relevantstate, searchtree tree) { set<operatorset> result = new hashset<operatorset>(); relevantstate = tree.getsentstate(relevantstate.iparentid); if(relevantstate == null) return result; for(searchstate s1 : relevantstate.successors){ for(searchstate s2 : relevantstate.successors){ if(s1.stateid != s2.stateid){ operatorset opset = new operatorset(enumprivacyproperty.privately_nondeterministic,true); opset.addall(s1.responsibleoperators); opset.retainall(s2.responsibleoperators); if(!opset.isempty()){ result.add(opset); } } } } return result; }