/**
  * @param null $name
  * @return Groups
  * @throws GroupExistsException
  * @throws NameRequiredException
  */
 public function createGroup($name = null)
 {
     if (is_null($name) || strlen($name) <= 0) {
         throw new NameRequiredException(trans('user-management::messages.group_name_required'), array(trans('user-management::messages.group_name_required')));
     }
     if (Groups::where('name', $name)->count() > 0) {
         throw new GroupExistsException(trans('user-management::messages.group_already_required'), array(trans('user-management::messages.group_already_required')));
     } else {
         $group = new Groups();
         $group->name = $name;
         $group->save();
         return $group;
     }
 }