That's true. It became hard to read.
I splitted the logic into `w.rebuildRequired()` in d451f28ad1171df530a395abaaeafb244bae59cb