Reformatted according to new indentation conventions, no functional change.