assert found : "Cannot find any upstream filter from " + joiner.contents.getName();
       public static CType getJoinerType(FlatNode joiner)        {           boolean found;           //search backward until we find the first filter           while (!(joiner == null || joiner.contents instanceof SIRFilter)) {               found = false;               for (int i = 0; i < joiner.inputs; i++) {                   if (joiner.incoming[i] != null) {                       joiner = joiner.incoming[i];                       found = true;                   }               }               assert found :                   "Cannot find any upstream filter from "                    + joiner.contents.getName();           }           if (joiner != null)                return ((SIRFilter)joiner.contents).getOutputType();           else                return CStdType.Void;       }