code: public boolean retainAll(Collection<?> c) {
          if (!(c instanceof JumboEnumSet))
              return super.retainAll(c);
  
          JumboEnumSet<?> es = (JumboEnumSet<?>)c;
          if (es.elementType != elementType) {
              boolean changed = (size != 0);
              clear();
              return changed;
          }
  
          for (int i = 0; i < elements.length; i++)
              elements[i] &= es.elements[i];
          return recalculateSize();
      }
docs: Retains only the elements in this set that are contained in the
  specified collection.
  
  @param c elements to be retained in this set
  @return <tt>true</tt> if this set changed as a result of the call
  @throws NullPointerException if the specified collection is null