The internal builders of this class are very similar to each other and can hopefully be generalized into fewer more generic types.
The main thing in which they differ is that they each have a unique LayerBlockConfig is to be composed of other LayerBlockConfigs (through the builders methods).
If "composable" LayerBlockConfigs implement some common API (or are wrapped in one) then it should be possible to reduce the number of internal builders significantly.
The internal builders of this class are very similar to each other and can hopefully be generalized into fewer more generic types.
The main thing in which they differ is that they each have a unique LayerBlockConfig is to be composed of other LayerBlockConfigs (through the builders methods).
If "composable" LayerBlockConfigs implement some common API (or are wrapped in one) then it should be possible to reduce the number of internal builders significantly.