Create vs maybeCreate

I was reviewing @bmuschko 's slides on plugins and it made me think about using projects.configurations.create vs projects.configurations.maybeCreate in a plugin. In the example

project.configurations.create('docker').setVisible(false)

is used, which essentially means that the docker configuration is not allowed to pre-exist and that it is only visible within project scope.

The alternative of this is to do

project.configurations.maybeCreate('docker')

which essentially says is create the configuration, but if it exists just re-use it.

Implementation #1 is very specific, but potentially less flexiable for certain edge-cases that #2 would allow for.

Implementaiton #2 does allow for more flexibility, but potential also side-effects, if the configuration was already created beforehand in the build script. But it also allows two plugins using the same configuration to co-exist. The latetr might indeed be a design decision

I guess there is also an argument to be made for either depending on whether the configuration is intented to be added to within a project or whether it is a covert one, mostly only for internal plugin usage.

Thoughts?