public GuacamoleProxyConfiguration getGuacamoleProxyConfiguration()
            throws GuacamoleException {

        // Retrieve default proxy configuration from environment
        GuacamoleProxyConfiguration defaultConfig = environment.getDefaultGuacamoleProxyConfiguration();

        // Retrieve proxy configuration overrides from model
        String hostname = getModel().getProxyHostname();
        Integer port = getModel().getProxyPort();
        EncryptionMethod encryptionMethod = getModel().getProxyEncryptionMethod();

        // Produce new proxy configuration from model, using defaults where unspecified
        return new GuacamoleProxyConfiguration(
            hostname         != null ? hostname         : defaultConfig.getHostname(),
            port             != null ? port             : defaultConfig.getPort(),
            encryptionMethod != null ? encryptionMethod : defaultConfig.getEncryptionMethod()
        );
    }
Returns the connection information which should be used to connect to
guacd when establishing a connection to the remote desktop described by
this connection. If no such information is defined for this specific
remote desktop connection, the default guacd connection information will
be used instead, as defined by JDBCEnvironment.

@return
    The connection information which should be used to connect to guacd
    when establishing a connection to the remote desktop described by
    this connection.

@throws GuacamoleException
    If the connection information for guacd cannot be parsed.
extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/connection/ModeledConnection.java