c3220325a0
Thanks to @narretz for help in fixing style violations and to @gkalpak for a very extensive review. Closes #14952