code: public static Range trim(SequenceQuality quality, QualityTrimmerParameters parameters, Range initialRange) {
          int lower = pabs(trim(quality, initialRange.getLower(), initialRange.getUpper(), +1, true, parameters)) + 1;
          assert lower >= initialRange.getLower();
          if (lower == initialRange.getUpper())
              return null;
          int upper = pabs(trim(quality, lower, initialRange.getUpper(), -1, true, parameters));
          if (upper == lower)
              // Should not happen, just in case
              return null;
          return new Range(lower, upper, initialRange.isReverse());
      }
docs: Trims the initialRange by cutting off low quality nucleotides on both edges.
  
  The criteria of QualityTrimmer may not be fulfilled for the resulting range. This method detects
  beginning of the region with stably high quality, once the beginning of the region is detected the algorithm
  stops. Detected stop positions are "from" and "to" of the output range.
  
  @param quality      quality values
  @param parameters   trimming parameters
  @param initialRange initial range to trim
  @return trimmed range, or null in case the whole sequence should be trimmed