code: 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()
          );
      }
docs: 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.