Possible issue with SRP maybe?

Hey Tom.

Sorry, it should have been protected, not private.

The validation in internalFoo()` is to make sure the parameters passed as an array to it are formed properly within the array. Not sure why such validation is even necessary (I didn’t create the classes myself actually), and since the child already does building of the array and not the client, it should be fine. Validation isn’t really necessary, I think.

Originally, internalFoo() was just foo() in the parent and thus why inheritance was necessary. foo() was also necessary for the fluent API. Then foo() was moved down to the child, because the other sugar methods were doing a similar kind of validation.

I’ll have a look at the composition suggestion later. Thanks!

As for validation and building the command bag being one responsibility, I still have some doubts. Although, if the reason for change is only for the command bag, then yeah, I guess it is only one reason. Hmmm…

Scott