AbstractFlowPropertyDefinitionProvider no longer holds map of FlowPropertyDefinitions. instead it now holds map of FlowPropertyDefinitionBuilders. This is because converting to FlowPropertyDefinitions forced all the unspecified attributes to be defined. But in the FlowPropertyDefinitionProvider we are not yet ready to make that decision. We need to wait until putting the properties on a specific FlowPropertyProvider ( and the additional FPExpectations can be applied)

remove unneeded AbstractFlowPropertyDefinitionProvider.addPropertyDefinitions(FPD) method

FlowPropertyDefinitionBuilder throws FlowConfigurationException instead of ApplicationIllegalArgumentException if there is a problem with creating the flowPropertyDefinition/Expectation