code: private boolean moveToNextTriggerpoint( RandomIter triggerIter, RandomIter flowIter, int[] flowDirColRow ) {
          double tmpFlowValue = flowIter.getSampleDouble(flowDirColRow[0], flowDirColRow[1], 0);
          if (tmpFlowValue == 10) {
              return false;
          }
          if (!ModelsEngine.go_downstream(flowDirColRow, tmpFlowValue))
              throw new ModelsIllegalargumentException("Unable to go downstream: " + flowDirColRow[0] + "/" + flowDirColRow[1],
                      this, pm);
          while( isNovalue(triggerIter.getSampleDouble(flowDirColRow[0], flowDirColRow[1], 0)) ) {
              tmpFlowValue = flowIter.getSampleDouble(flowDirColRow[0], flowDirColRow[1], 0);
              if (tmpFlowValue == 10) {
                  return false;
              }
              if (!ModelsEngine.go_downstream(flowDirColRow, tmpFlowValue))
                  throw new ModelsIllegalargumentException("Unable to go downstream: " + flowDirColRow[0] + "/" + flowDirColRow[1],
                          this, pm);
          }
          return true;
      }
docs: Moves the flowDirColRow variable to the next trigger point.
  
  @param triggerIter
  @param flowDirColRow
  @return <code>true</code> if a new trigger was found, <code>false</code> if the exit was reached.