in app/redact/TextFinder.scala [110:127]
override protected def writeString(text: String, textPositions: java.util.List[TextPosition]): Unit = {
slidingWindow = text :: slidingWindow.take(2)
val last3Lines = fullRegex.findFirstMatchIn(slidingWindow.take(3).reverse.mkString(" ")).map(candidateFromMatch)
val last2Lines = fullRegex.findFirstMatchIn(slidingWindow.take(2).reverse.mkString(" ")).map(candidateFromMatch)
val last1Line = fullRegex.findFirstMatchIn(slidingWindow.take(1).reverse.mkString(" ")).map(candidateFromMatch)
(last3Lines orElse last2Lines orElse last1Line, potentialCandidate) match {
case (Some(newCandidate), _) =>
potentialCandidate = Some(newCandidate)
case (_, Some(candidate)) =>
candidates.append(candidate)
potentialCandidate = None
case _ =>
}
}