@PUT
    public void updateObject(ExternalType modifiedObject) throws GuacamoleException {

        // Validate that data was provided
        if (modifiedObject == null)
            throw new GuacamoleClientException("Data must be submitted when updating objects.");

        // Filter/sanitize object contents
        translator.filterExternalObject(userContext, modifiedObject);

        // Perform update
        translator.applyExternalChanges(object, modifiedObject);

        try {
            directory.update(object);
            fireDirectorySuccessEvent(DirectoryEvent.Operation.UPDATE);
        }
        catch (GuacamoleException | RuntimeException | Error e) {
            fireDirectoryFailureEvent(DirectoryEvent.Operation.UPDATE, e);
            throw e;
        }

    }
Updates an existing object. The changes to be made to the corresponding
object within the directory indicated by the provided data.

@param modifiedObject
    The data to update the corresponding object with.

@throws GuacamoleException
    If an error occurs while updating the object.
guacamole/src/main/java/org/apache/guacamole/rest/directory/DirectoryObjectResource.java