private static ScriptTree innerBuildScriptTree(TextReader tr) { try { ScriptTree tree = new ScriptTree(); ScriptSection section = readScriptSection(tr); while (section != null) { tree.Add(section); section = readScriptSection(tr); } return tree; } finally { if (tr != null) tr.Close(); } }