public override TextReader GetReader() { Stream stream = OpenStream(); if (stream == null) { throw new InvalidImplementationException(); } TextReader reader; Encoding encoding = _defaultEncoding; if (_engine != null) { reader = LanguageContext.FromEngine(_engine).GetSourceReader(stream, encoding); } else if (encoding != null) { reader = new StreamReader(stream, encoding, true); } else { reader = new StreamReader(stream, true); } return(reader); }