code: private void failOnOverlapOfClearedPropagatedUnchanged(Set<String> cleared, Set<String> propagated, Set<String> unchanged) {
          HashSet<String> overlap = new HashSet<String>(cleared);
          overlap.retainAll(propagated);
          HashSet<String> s = new HashSet<String>(cleared);
          s.retainAll(unchanged);
          overlap.addAll(s);
          s = new HashSet<String>(propagated);
          s.retainAll(unchanged);
          overlap.addAll(s);
          if (overlap.isEmpty()) // only possible if builder is concurrently modified during build
              throw new ConcurrentModificationException();
          throw new IllegalStateException(Tr.formatMessage(tc, "CWWKC1152.context.lists.overlap", overlap));
      }
docs: Fail with error identifying the overlap(s) in context types between any two of:
  cleared, propagated, unchanged.
  
  @throws IllegalStateException identifying the overlap.