private Reader createNIOReader() throws IOException {
final File file = getFileHandle();
// Skip BOM header.
final BufferedInputStream strm = new BufferedInputStream(new FileInputStream(file));
final BOM bom = getBOM(strm);
strm.skip(bom.pattern.length);
final Reader reader = new BufferedReader(
new InputStreamReader(strm, bom.charset));
return reader;