public void EndScope()
{
if (_scopes.Count == 0) {
throw new InvalidOperationException("No active scope to end.");
}
_writer.WriteLine();
_writer.Indent--;
Scope scope = _scopes.Pop();
if (scope.Type == ScopeType.Array) {
_writer.Write("]");
}
else {
_writer.Write("}");
}
}