/** TODO: return set of all pending calls in case of InterproceduralSequentialComposition */
 private String getCalledProcedure(int i) {
   if (super.getTrace().isCallPosition(i)) {
     final ICallAction call = (ICallAction) super.getTrace().getSymbolAt(i);
     return call.getSucceedingProcedure();
   } else if (super.getTrace().isPendingReturn(i)) {
     final IReturnAction ret = (IReturnAction) super.getTrace().getSymbolAt(i);
     return ret.getPrecedingProcedure();
   } else {
     throw new UnsupportedOperationException("only available for call and pending return");
   }
 }
 @Override
 protected UnmodifiableTransFormula getFormulaFromValidNonCallPos(int i) {
   if (super.getTrace().isReturnPosition(i)) {
     final IReturnAction ret = (IReturnAction) super.getTrace().getSymbolAt(i);
     return ret.getAssignmentOfReturn();
   } else {
     final IInternalAction cb = (IInternalAction) super.getTrace().getSymbolAt(i);
     if (mWithBranchEncoders) {
       return ((CodeBlock) cb).getTransitionFormulaWithBranchEncoders();
     } else {
       return cb.getTransformula();
     }
   }
 }