private boolean findActivityInAndBlock(Activity prevAct, ActivityNode actNode, AndSplit andSplit, ProcessModel model) {
		List<ProcessNode> differentBranchNodes = new ArrayList<ProcessNode>();
		for (ProcessEdge edge : model.outgoingEdgesOf(andSplit)) {
			List<ProcessNode> branchNodes = new ArrayList<ProcessNode>();
			boolean foundOnBranch = false;
			
			while (!foundOnBranch) {
				ProcessNode next = model.getEdgeTarget(edge);
				if (next instanceof AndJoin) {
					break;
				} 
				if (next.equals(actNode)) {
					foundOnBranch = true;
				} else {
					branchNodes.add(next);
				}
				edge = model.outgoingEdgesOf(next).iterator().next();
			}
			if (!foundOnBranch) {
				differentBranchNodes.addAll(branchNodes);
			}
		}
		while (!differentBranchNodes.isEmpty()) {
			ProcessNode prev = differentBranchNodes.remove(0);
			if (prev instanceof ActivityNode) {
				ActivityNode actPrev = (ActivityNode) prev;
				if (actPrev.getActivity().equals(prevAct)) {
					return true;
				}
			} 
		}
		
		return false;
	}