private List<FlowDescriptor> filterByInputType(boolean input) {
   List<FlowDescriptor> filtered = new ArrayList<>();
   for (FlowDescriptor flow : flows) {
     if (result.isInput(flow) != input) continue;
     filtered.add(flow);
   }
   return filtered;
 }
 private void data(int col, List<FlowDescriptor> flows) {
   int row = 3;
   int resultStartCol = ResultExport.FLOW_HEADER.length;
   for (FlowDescriptor flow : flows) {
     double value = result.getTotalFlowResult(flow).value;
     writer.flowRow(sheet, row, col, flow);
     writer.cell(sheet, row, resultStartCol + col, value);
     if (dqResult == null) {
       row++;
       continue;
     }
     RoundingMode rounding = dqResult.setup.roundingMode;
     int scores = dqResult.setup.exchangeDqSystem.getScoreCount();
     double[] quality = dqResult.get(flow);
     writer.dataQuality(sheet, row++, resultStartCol + col + 1, quality, rounding, scores);
   }
 }