@SuppressWarnings("unchecked")
        public <C> SystemProperty<Set<C>> buildSet(final Class<C> listType) {
            if (clazz != Set.class) {
                throw new IllegalArgumentException("Only set types can be built with buildSet");
            }
            checkCollectionType(listType);
            this.collectionType = listType;
            return (SystemProperty<Set<C>>) build();
        }
Validates the details of the SystemProperty, and generates one if it's valid.

@return A SystemProperty object
@throws IllegalArgumentException if incorrect arguments have been supplied to the builder
xmppserver/src/main/java/org/jivesoftware/util/SystemProperty.java