I think an end to end example would help. Suppose I have a stream definition with test --foo=bar. So we now pass the properties to this method to see if there's a profile named -profile-foo-bar- ?  Could work.  A few comments:
1) I think we need a generic public activateProfiles(List<String> profiles)
2) Add a private method like activateProfilesFromProperties(Properties) which performs the core logic here, and called from addProperties()
3) I'm not crazy about the naming convention.  My personal preference is '.', but if you insist on "-", remove the leading one: some alternative profile names:
   
    * foo.bar 
    * option.foo.bar 

(or perhaps match anything that ends with "foo.bar" )