@Override
    public boolean equals(final Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        final DataSourceKey key = (DataSourceKey) o;
        if (unique) {
            return config.equals(key.config) && name.equals(key.name);
        }
        return config.equals(key.config);
    }
WARNING: THIS IS A SPECIAL EQUALS METHOD
<p>
This method is specifically designed to only include the data source name in the equality if we want to force a
unique data source to be created based on the config plus the name. In most cases we dedupe the datasource on the
connection config alone and don't use the name.

@param o The object to compare
@return True if the objects are the same.
stroom-db-util/src/main/java/stroom/db/util/DataSourceKey.java