java.lang.ArrayIndexOutOfBoundsException: -1

Estou com uma exceção quando eu quero alterar os dados cadastrados

java.util.ArrayList.elementData(ArrayList.java:422)
java.util.ArrayList.remove(ArrayList.java:499)
command.AlterarOrgao.executar(AlterarOrgao.java:51)
controller.ServletController.doExecute(ServletController.java:23)
controller.ServletController.doPost(ServletController.java:36)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Classes:

package command;

import java.io.IOException;
import java.util.ArrayList;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import model.Orgao;
import service.OrgaoService;

public class AlterarOrgao implements Command {

	@Override
	public void executar(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		String pId = request.getParameter("id");
		String pIdHospital = request.getParameter("id_hospital");
		String pQuantidade = request.getParameter("quantidade");
		String pTipo = request.getParameter("tipo");
		int id = -1;
		int id_hospital = -1;
		int quantidade = -1;
		
		try {
			id = Integer.parseInt(pId);
			id_hospital = Integer.parseInt(pIdHospital);
			quantidade = Integer.parseInt(pQuantidade);
			
		} catch (NumberFormatException e) {

		}

		Orgao orgao = new Orgao();
		orgao.setIdOrgao(id);
		orgao.setIdHospital(id_hospital);
		orgao.setQuantidade(quantidade);
		orgao.setTipo(pTipo);
		OrgaoService os = new OrgaoService();
		RequestDispatcher view = null;
		HttpSession session = request.getSession();

		os.atualizar(orgao);
		@SuppressWarnings("unchecked")
		ArrayList<Orgao> lista = (ArrayList<Orgao>) session
				.getAttribute("lista");
		int pos = busca(orgao, lista);
		lista.remove(pos);
		lista.add(pos, orgao);
		session.setAttribute("lista", lista);
		request.setAttribute("orgao", orgao);
		view = request.getRequestDispatcher("VisualizarOrgao.jsp");

		view.forward(request, response);
	}

	public int busca(Orgao orgao, ArrayList<Orgao> lista) {
		Orgao to;
		for (int i = 0; i < lista.size(); i++) {
			to = lista.get(i);
			if (to.getIdOrgao() == orgao.getIdOrgao()) {
				return i;
			}
		}
		return -1;
	}
}

JSP

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<!DOCTYPE html>
<html lang="pt-br">

<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Alterar Órgão</title>
	<link rel="stylesheet" href="bootstrap/js/bootstrap.min.js" >	
  	<link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" >
  	<link rel="stylesheet" href="style.css" >
	<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
	<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</head>

<body>
	<div align="center"><a href="#"><img src="img/SocialMed.png" width="700"></a></div>
	
	<hr/>
	<br>
	
	<!-- Container Principal -->
	<div id="main" class="container">
		<h3 class="page-header">Alterar Órgão #${orgao.idOrgao }</h3>
		
		<div class="col-md-12">
			<p><strong>Tipo</strong></p>
			
			<p>
				${orgao.tipo }
			</p>
		</div>
	</div>
		
	<form action="controller.do" method="post">
		<!-- area de campos do form -->
		<input type="hidden" name="idMedico" value="${orgao.idOrgao }" />
		<div class="row">
			<div class="form-group col-md-12">
				<label for="quantidade">Quantidade</label>
				<input type="text" class="form-control" name="quantidade" id="quantidade" required maxlength="100" placeholder="Quantidade de Orgãos" value="${orgao.quantidade }">
			</div>
		</div>
		<hr />
				 <div id="actions" class="row">
			<div class="col-md-12">
				<button type="submit" class="btn btn-primary" name="command" value="AlterarOrgao">Salvar</button>
				<br>
				<a href="ListarOrgao.jsp" class="btn btn-default">Cancelar</a>
			</div>
		</div>
	</form>

	<script src="js/jquery.min.js"></script>
	<script src="js/bootstrap.min.js"></script>

	<br>
	<br>
	<br>

	<ul class="nav nav-pills nav-fill">
		<li class="nav-item">
			<a href="index.html"><img src="img/Logo rodape socialmed.png" width="80"></img></a>
		</li>
		<li class="nav-item">
			<a href="#"><img src="img/copyright.png" width="130"></img></a>
		</li>
		<li class="nav-item">
			<a href="#" ><img src="img/usjt.png" width="80"></img></a>
		</li>
	</ul>
</body>

</html>

Estas a tentar remover um elemento que não existe da lista.

Sua busca está retornando -1 e não existe a posição -1 na lista.