public String create(String uri) throws GuacamoleException {

        // Get the next available connection identifier.
        String newConnectionId = Integer.toString(getNextConnectionID());

        // Get a new QCParser
        QCParser parser = new QCParser(confService.getAllowedParameters(),
                                        confService.getDeniedParameters());
        
        // Parse the URI into a configuration
        GuacamoleConfiguration config = parser.getConfiguration(uri);

        // Generate a name for the configuration.
        String name = parser.getName(config);

        // Create a new connection and set the parent identifier.
        Connection connection = new SimpleConnection(name, newConnectionId, config, true);
        connection.setParentIdentifier(QuickConnectUserContext.ROOT_IDENTIFIER);

        // Place the object in this directory.
        add(connection);

        // Add connection to the tree.
        rootGroup.addConnectionIdentifier(newConnectionId);

        return newConnectionId;
    }
Taking a URI, parse the URI into a GuacamoleConfiguration object and
then use the configuration to create a SimpleConnection object, obtain
an identifier, and place it on the tree, returning the identifier value
of the new connection.

@param uri
    The URI to parse into a GuacamoleConfiguration, which will then be
    used to generate the SimpleConnection.

@return
    The identifier of the connection created in the directory.

@throws GuacamoleException
    If an error occurs adding the object to the tree.
extensions/guacamole-auth-quickconnect/src/main/java/org/apache/guacamole/auth/quickconnect/QuickConnectDirectory.java