@Override
    public boolean equals(Object o) {
        if (o == null) {
            return false;
        }
        if (this.getClass() != o.getClass()) {
            return false;
        }
        User ob = (User) o;
        if (this.id != ob.userId()) {
            return false;
        }
        if (!this.username.equals(ob.username())
                || !this.firstName.equals(ob.firstName())
                || !this.lastName.equals(ob.lastName())
                || !this.password.equals(ob.password())
                || !this.email.equals(ob.email())
                || this.indexedRecords != ob.indexedRecords())
        {
            return false;
        }
        return true;
    }