code: @CheckReturnValue
      public RoleAction setPermissions(Permission... permissions)
      {
          if (permissions != null)
          {
              for (Permission p : permissions)
              {
                  Checks.notNull(p, "Permissions");
                  checkPermission(p);
              }
          }
  
          this.permissions = permissions == null ? null : Permission.getRaw(permissions);
          return this;
      }
docs: Sets the Permissions the new Role should have.
  This will only allow permissions that the current account already holds unless
  the account is owner or {@link net.dv8tion.jda.core.Permission#ADMINISTRATOR admin} of the parent {@link net.dv8tion.jda.core.entities.Guild Guild}.
  
  @param  permissions
  The varargs {@link net.dv8tion.jda.core.Permission Permissions} for the new role
  
  @throws net.dv8tion.jda.core.exceptions.InsufficientPermissionException
  If the currently logged in account does not hold one of the specified permissions
  @throws IllegalArgumentException
  If any of the provided permissions is {@code null}
  
  @return The current RoleAction, for chaining convenience
  
  @see    net.dv8tion.jda.core.Permission#getRaw(net.dv8tion.jda.core.Permission...) Permission.getRaw(Permission...)