¿Qué significa realmente EnumSet?

Tengo el siguiente ejemplo:

import java.util.EnumSet;
import java.util.Iterator;

public class SizeSet {

    public static void main(String[] args) {
        EnumSet largeSize = EnumSet.of(Size.XL,Size.XXL,Size.XXXL);
        for(Iterator it = largeSize.iterator();it.hasNext();){
            Size size = (Size)it.next();
            System.out.println(size);
        }
    }
}


enum Size {
  S, M, L, XL, XXL, XXXL;

}

En este código puedo entender que el Enum crea un tipo Enum de tamaños.

Mi pregunta es: eslargeSize un objeto de tipo EnumSet? que significa realmente? Tengo muchas ganas de entenderlo mejor.

Respuestas a la pregunta(9)

Su respuesta a la pregunta