@Override
    public Collection<ObjectType> getAll(Collection<String> identifiers)
            throws GuacamoleException {

        Collection<ObjectType> objects = super.getAll(identifiers);

        // Decorate all retrieved objects, if any
        Collection<ObjectType> decorated = new ArrayList<ObjectType>(objects.size());
        for (ObjectType object : objects)
            decorated.add(decorate(object));

        return decorated;

    }
Given an object originally returned from a call to this
DecoratingDirectory's decorate() function, reverses the decoration
operation, returning the original object. This function is effectively
the exact inverse of the decorate() function. The return value of
undecorate(decorate(X)) must be identically X. All objects given to this
DecoratingDirectory via add() or update() will first be passed through
this function.

@param object
    An object which was originally returned by a call to this
    DecoratingDirectory's decorate() function.

@return
    The original object which was provided to this DecoratingDirectory's
    decorate() function.

@throws GuacamoleException
    If the provided object cannot be undecorated due to an error.
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/DecoratingDirectory.java