code: @CheckReturnValue
      public RoleAction setPermissions(Long permissions)
      {
          if (permissions != null)
          {
              Checks.notNegative(permissions, "Raw Permissions");
              Checks.check(permissions <= Permission.ALL_PERMISSIONS, "Provided permissions may not be greater than a full permission set!");
              for (Permission p : Permission.toEnumSet(permissions))
                  checkPermission(p);
          }
          this.permissions = 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 raw {@link net.dv8tion.jda.core.Permission Permissions} value for the new role.
  To retrieve this use {@link net.dv8tion.jda.core.Permission#getRawValue()}
  
  @throws java.lang.IllegalArgumentException
  If the provided permission value is invalid
  @throws net.dv8tion.jda.core.exceptions.InsufficientPermissionException
  If the currently logged in account does not hold one of the specified permissions
  
  @return The current RoleAction, for chaining convenience
  
  @see    net.dv8tion.jda.core.Permission#getRawValue()
  @see    net.dv8tion.jda.core.Permission#getRaw(java.util.Collection)
  @see    net.dv8tion.jda.core.Permission#getRaw(net.dv8tion.jda.core.Permission...)