private static void EncodeAndWriteData(Reader reader, Writer writer, TrieNode trie) { var codeTable = CodeTable.FromTrie(trie); while (!reader.IsEndOfStream) { var @byte = reader.ReadByte(); var code = codeTable[@byte]; WriteCode(code, writer); } }