static boolean applyTags ( RuleDto rule , Set < String > tags ) { for ( String tag : tags ) { RuleTagFormat . validate ( tag ) ; } Set < String > initialTags = rule . getTags ( ) ; final Set < String > systemTags = rule . getSystemTags ( ) ; Set < String > withoutSystemTags = Sets . filter ( tags , input -> input != null && ! systemTags . contains ( input ) ) ; rule . setTags ( withoutSystemTags ) ; return withoutSystemTags . size ( ) != initialTags . size ( ) || ! withoutSystemTags . containsAll ( initialTags ) ; }
Validates tags and resolves conflicts between user and system tags .