code: private PropertyOperations mergeConfigurationAndProfileProperties(PropertyOperations props) {
          PropertyOperations result;
          result = mergeConfigurationProperties(props);
          result = mergeProfileProperties(result);
          return result;
      }
docs: Some property keys may be prefixed with the name of a configuration or the name of a profile
  
  If this matches the current configration/profile we strip this prefix and merge the new property over the top of any default ones
  This enables us to declare properties which are only active in a certain profile or configuration
  
  We do configurations first, so if we take it to the extreme we could have the below for a processes.myProcess.remotingPort property
  
  configurations.configA.profiles.profile1.processes.myProcess.remotingPort = 12345
  
  The above property would be only set while running feature configuration A in profile 1