code: public static void resolveConflicts(PatternCacheControl specificPattern, PatternCacheControl generalPattern) {
          for (Entry<Directive, String> entry : generalPattern.getDirectives().entrySet()) {
              Directive generalDirective = entry.getKey();
              String generalValue = entry.getValue();
              if (generalValue == EMPTY_STRING_VALUE) {
                  specificPattern.setDirective(generalDirective, EMPTY_STRING_VALUE);
              } else {
                  resolveValueConflicts(generalDirective, generalValue, specificPattern);
              }
          }
      }
docs: Resolves directive conflicts between two PatternCacheControl objects
  @param specificPattern - the pattern which can be included in the second one
  @param generalPattern - the pattern which includes the first one