public boolean equals(Object obj)
{
boolean result = false;
if (obj instanceof CommandController)
{
CommandController newController = (CommandController) obj;
// Same class Name
if (!getCommand().getClass().getName().equals(newController.getCommand().getClass().getName()))
{
result = false;
}
else if (isInitialized() && newController.isInitialized())
{
// Compare inputs
Set<String> originalInputNames = getInputs().keySet();
Set<String> newInputNames = newController.getInputs().keySet();
if (originalInputNames.containsAll(newInputNames) && newInputNames.containsAll(originalInputNames))
{
result = true;
}
}