@Override
    public boolean equals(Object other) {

        // Not equal if null or not the same type of object
        if (other == null || getClass() != other.getClass())
            return false;

        // Get identifiers of objects being compared
        String thisIdentifier = getIdentifier();
        String otherIdentifier = ((AbstractIdentifiable) other).getIdentifier();

        // If null, equal only if this identifier is null
        if (otherIdentifier == null)
            return thisIdentifier == null;

        // Otherwise, equal only if strings are identical
        return otherIdentifier.equals(thisIdentifier);

    }
Creates a new AbstractIdentifiable that compares identifiers in a
case-sensitive manner. This is equivalent to invoking {@link #AbstractIdentifiable(boolean)}
with the case sensitivity flag set to true.
guacamole-ext/src/main/java/org/apache/guacamole/net/auth/AbstractIdentifiable.java