Ajuda na busca de uma matriz separada por setores

Com essa disposição do teatro eu preciso de um método que ocupe as poltronas e de outro que imprima as livres

Isso é o que tenho até o momento:

public class Poltrona
{
private String identificacao;
private int setor;
private boolean ocupada;

public Poltrona(String identificacao, int setor){
    this.identificacao = identificacao;
    this.setor = setor;
    ocupada = false;
}

public String getIdentificacao(){ return identificacao; }
public int getSetor(){ return setor;}
public boolean estaOcupada(){ return ocupada;}
public void reserva(){
    ocupada = true;
}
public void libera(){
    ocupada = false;
}
public String toString(){
    if(ocupada) return setor +"O";
    return setor+"L";
}

}

public class Teatro
{
private String nomeSala;
private Poltrona[][] sala;

public Teatro(String nomeSala){
this.nomeSala = nomeSala;
sala = new Poltrona[12][20];
inicializa();
}
public void inicializa(){
String letras =“ABCDEFGHIJKL”;
int setor;
for(int i=0; i<sala.length; i++){
if(i<=2) setor = 0;
else setor = 3;
for(int j=0; j<sala[i].length; j++){
if(i>2 && i<8){
if(j<=9) setor = 1;
else setor = 2;
}
sala[i][j] = new Poltrona(""+letras.charAt(i)+j,setor);
}
}
}
public String toString(){
String letras =“ABCDEFGHIJKL”;
String msg = "Sala de Teatro " + nomeSala+ "\n ";
for(int i=0; i<sala[0].length; i++){
if(i<9) msg = msg + (i+1) + " ";
else msg = msg + (i+1) + " ";
}
msg = msg + “\n”;
for(int i=0; i<sala.length; i++){
msg = msg + letras.charAt(i) + " ";
for(int j=0; j<sala[i].length; j++){
msg = msg + sala[i][j] + " ";
}
msg = msg + “\n”;
}
return msg;
}