The loop inside TextCatalogReader.nextToken that skips over comments does not detect EOF. Therefore if someone (like me) forgets the closing dashes in a catalog comment, the loop will not terminate and continue eating up CPU cycles forever.
Fixed. Thanks.