TCGDisjunctiveNormalForm in_oPreCondition,
      TCGConjunction in_oPostCondition)
  {
    // *** include precondition in search algorithm
//    TCGDisjunctiveNormalForm oPreDNF = in_oPair.getSecond().getPrecondition();
    TCGDisjunctiveNormalForm oPreDNF = in_oPreCondition;
    
    // insert restricted guard condition here
    if(Configuration.isInnerTransitionHasPriorityOverOuterTransition()) {
      if(in_oPair.getSecond() != null &&
          TCGNodeHelperClass.firstNodeIsSubStateOfSecondNode(
          in_oPair.getFirst(), in_oPair.getSecond().getSourceNode())) {
//        Hier entstehen widerspr�chliche Bedingungen? Mit Beispiel-debug 167 testen!
        Map<TCGEvent, TCGDisjunctiveNormalForm> colAllowedEventToDNF =
          TCGTransitionHelperClass.returnAvailableEventsAndGuardsForStateAndOutgoingTransition(
            in_oPair.getFirst(), in_oPair.getSecond());
        // TODO : ### ObjectComparator durchziehen: nach "contains" suchen
        Object oRefObject = ObjectComparator.getEqualObject(colAllowedEventToDNF.keySet(), in_oEvent);
        if(oRefObject != null) {
          TCGEvent oRefEvent = (TCGEvent)oRefObject;
          boolean bBothDNFsAreNonEmpty = !(oPreDNF == null || oPreDNF.getConjunctions().isEmpty()) 
            && !(colAllowedEventToDNF.get(oRefEvent) == null || colAllowedEventToDNF.get(oRefEvent).getConjunctions().isEmpty());
          oPreDNF = TCGDisjunctiveNormalFormHelperClass.connectTwoDNFWithAnd(
              oPreDNF, colAllowedEventToDNF.get(oRefEvent));
          TCGDisjunctiveNormalFormHelperClass.removeContradictingConjunctions(oPreDNF);
          // check if the removal of contradicting conjunctions completely cleared the conjunction set
          if(bBothDNFsAreNonEmpty == oPreDNF.getConjunctions().isEmpty())
            return;
//          oPreDNF = colAllowedEventToDNF.get(in_oEvent);
        }
        else
          return;
      }
    }
    // continue search for all conjunctions of the precondition (guard)
    if((oPreDNF != null) && (!oPreDNF.getConjunctions().isEmpty())) {
      for(TCGConjunction oPreConjunction : oPreDNF.getConjunctions()) {  
        searchBackwardsFromEventAndPostcondition(
            in_oPair, in_oEvent, oPreConjunction, in_oPostCondition);
      }
    }
    else {