public default <Type> Collection<Type> getPropertyCollection(
            GuacamoleProperty<Type> property, Collection<Type> defaultValue)
            throws GuacamoleException {
        return new DefaultEnvironment(this).getPropertyCollection(property, defaultValue);
    }
Given a GuacamoleProperty, parses and returns the value set for that
property in guacamole.properties, if any. If no value is found, the
provided Collection of default values is returned. The
implementation of parsing and returning a collection of multiple
values is up to the individual property implementations, and not all
implementations will support reading and returning multiple values.

@param <Type>
    The type that the given property is parsed into.

@param property
    The property to read from guacamole.properties.

@param defaultValue
    The Collection of values to return in the Collection if no value was
    given in guacamole.properties.

@return
    A sorted collection of the the parsed values of the property as read
    from guacamole.properties, or a Collection with the single default
    value provided.

@throws GuacamoleException
    If an error occurs while parsing the value for the given property in
    guacamole.properties.
guacamole-ext/src/main/java/org/apache/guacamole/environment/Environment.java