Implemented custom hashCode and improved equals() for UserActionNode