for (List<TextPosition> textList : charactersByArticle)
{
if (getSortByPosition())
{
TextPositionComparator comparator = new TextPositionComparator();
// because the TextPositionComparator is not transitive, but
// JDK7+ enforces transitivity on comparators, we need to use
// a custom quicksort implementation (which is slower, unfortunately).
if(useCustomQuicksort)