/* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } SpellNodeImpl other = (SpellNodeImpl) obj; if (!getOuterType().equals(other.getOuterType())) { return false; } if (level == null) { if (other.level != null) { return false; } } else if (!level.equals(other.level)) { return false; } if (spell == null) { if (other.spell != null) { return false; } } else if (!spell.equals(other.spell)) { return false; } if (cls == null) { if (other.cls != null) { return false; } } else if (!cls.equals(other.cls)) { return false; } if (rootNode == null) { if (other.rootNode != null) { return false; } } else if (!rootNode.equals(other.rootNode)) { return false; } return true; }