code: @CheckReturnValue
      public RoleAction createRole()
      {
          checkPermission(Permission.MANAGE_ROLES);
  
          Route.CompiledRoute route = Route.Roles.CREATE_ROLE.compile(getGuild().getId());
          return new RoleAction(route, getGuild());
      }
docs: Creates a new {@link net.dv8tion.jda.core.entities.Role Role} in this Guild.
  <br>It will be placed at the bottom (just over the Public Role) to avoid permission hierarchy conflicts.
  <br>For this to be successful, the logged in account has to have the {@link net.dv8tion.jda.core.Permission#MANAGE_ROLES MANAGE_ROLES} Permission
  
  <p>Possible {@link net.dv8tion.jda.core.requests.ErrorResponse ErrorResponses} caused by
  the returned {@link net.dv8tion.jda.core.requests.RestAction RestAction} include the following:
  <ul>
  <li>{@link net.dv8tion.jda.core.requests.ErrorResponse#MISSING_PERMISSIONS MISSING_PERMISSIONS}
  <br>The role could not be created due to a permission discrepancy</li>
  
  <li>{@link net.dv8tion.jda.core.requests.ErrorResponse#MISSING_ACCESS MISSING_ACCESS}
  <br>We were removed from the Guild before finishing the task</li>
  
  <li>{@link net.dv8tion.jda.core.requests.ErrorResponse#MAX_ROLES_PER_GUILD MAX_ROLES_PER_GUILD}
  <br>There are too many roles in this Guild</li>
  </ul>
  
  @throws net.dv8tion.jda.core.exceptions.InsufficientPermissionException
  If the logged in account does not have the {@link net.dv8tion.jda.core.Permission#MANAGE_ROLES} Permission
  
  @return {@link net.dv8tion.jda.core.requests.restaction.RoleAction RoleAction}
  <br>Creates a new role with previously selected field values