@Override
        public boolean equals(final Object o) {
            if (this == o) {
                return true;
            }

            if (!(o instanceof PluginToLoad)) {
                return false;
            }

            final PluginToLoad that = (PluginToLoad) o;
            return this.canonicalName.equalsIgnoreCase(that.canonicalName)
                || this.pluginName.equalsIgnoreCase(that.pluginName);
        }
Two plugins are considered "equal" if they share the same canonical name, <strong>or</strong> the same
name from the plugin.xml file. This class represents a plugin that could be loaded to encapsulate this concept
<p>
    Note: this class has a natural ordering that is inconsistent with equals.
</p>
xmppserver/src/main/java/org/jivesoftware/openfire/container/PluginMonitor.java