Previously, it was called for each block, which is unnecessary. createConfiguration does not get called with the block, and everything in the call chain in between only needs the block and the boundary ID to find the right createConfiguration function to call.
This change is especially useful if you need to recreate the boundaries periodically (such as when using dynamic refinement) and when the boundaries are a bit expensive to create (like the ParserUBB). The gain is not actually that big, but while debugging another issue, I found that
createConfiguration was called way more often than I thought it should be.
I am unsure whether the way I implemented this change is the right one™. I would have preferred to do it all inside
BoundarySetter, but that turned out not to be possible because one might want to reconfigure
BoundarySetter with a different block. The current code doesn't do that anywhere, but who knows what is done in all the private walberla applications.