Ouch.  We are scanning through EOL conversion files 3x per computation.  Most of them are going to be source code files, which are typically small texts under 64 KiB.  For these we probably should just allocate a byte[] buffer, slurp the entire file into the buffer, and work with the buffer instead of reading the file 3x into the JVM.  Its actually probably worth it to special case for these smaller text files.