@Override
 public boolean equals(Object obj) {
   if (obj == this) {
     return true;
   }
   if (obj != null && obj.getClass() == this.getClass()) {
     RoleSearchResult other = (RoleSearchResult) obj;
     return JodaBeanUtils.equal(getPaging(), other.getPaging())
         && JodaBeanUtils.equal(getRoles(), other.getRoles());
   }
   return false;
 }
 @SuppressWarnings("unchecked")
 @Override
 protected void propertySet(Bean bean, String propertyName, Object newValue, boolean quiet) {
   switch (propertyName.hashCode()) {
     case -995747956: // paging
       ((RoleSearchResult) bean).setPaging((Paging) newValue);
       return;
     case 108695229: // roles
       ((RoleSearchResult) bean).setRoles((List<ManageableRole>) newValue);
       return;
   }
   super.propertySet(bean, propertyName, newValue, quiet);
 }