@Override
    public <Type> Type getProperty(GuacamoleProperty<Type> property,
            Type defaultValue) throws GuacamoleException {

        Type value = getProperty(property);
        if (value == null)
            return defaultValue;

        return value;

    }
Returns the string value of the property having the given name, trying
each source of properties added with addGuacamoleProperties() until a
value is found. If no such property is defined, null is returned.

@param name
    The name of the property value to retrieve.

@return
    The value of the property having the given name, or null if no such
    property is defined.

@throws GuacamoleException
    If an error occurs retrieving a property from a GuacamoleProperties
    implementation added via addGuacamoleProperties().
guacamole-ext/src/main/java/org/apache/guacamole/environment/LocalEnvironment.java