This reverts commit059b68dd67. Note that this was manually adjusted to retain some of the refactoring introduced by commit059b68dd67, so that it could likewise retain the correction introduced in commit5b4bc05fa5
This reverts commit059b68dd67. Note that this was manually adjusted to retain some of the refactoring introduced by commit059b68dd67, so that it could likewise retain the correction introduced in commit5b4bc05fa5