Não estou conseguindo resolver- fila e listas- simulação de mercado

Tenho este exercício para fazer, porém sou iniciante ainda, vim quebrando a cabeça a semana inteira e não consegui resolver, sendo para entregar amanhã espero a ajuda de vocês.
É necessário usar a estrutura de dados fila.
Segue o exercício:
Neste sistema deverá ser simulado um sistema de fila de caixa de 15 unidades. Este sistema simula que existe uma fila: fila de clientes; e 10 caixas: lista de caixas.
Adicionar cliente;
Adiciona um cliente na fila de clientes. Deverá ser adiciona um cliente na fila solicitando que o usuário insira o nome dele;
Mandar cliente para o caixa: O cliente deverá ser removida da fila de clientes e será adiciona no caixa que estiver com menos clientes;
Remover cliente do caixa: O usuário deve informar de qual caixa será removido um cliente, fazendo isso, remover o cliente da fila do caixa;

Por favor, me ajudem, não consigo resolver

Que parte você não está conseguindo resolver? Você só postou o enunciado.

Ao menos tente fazer alguma coisa antes de pedir ajuda.

Abraço.

Então, o que eu tenho até agora é:

  1. uma classe para o cliente
    public class Cliente {

    String nome;

    public String getNome() {
    return nome;
    }

    public void setNome(String nome) {
    this.nome = nome;
    }

    @Override
    public String toString() {

     return nome;
    

    }
    }

E uma classe para o Sistema, implementei a fila e criei uma LinkedList de LinkedLists para simbolizar cada caixa, mas não consigo comparar qual linked list está mais vazia e mandar para ela o cliente adicionado :\

public class Sistema {

public static void main(String[] args) {

	Queue<Cliente> fila = new LinkedList<Cliente>();

	Cliente cliente = new Cliente();
	cliente.setNome(JOptionPane.showInputDialog("Informe o nome do cliente a ser inserido: "));
	fila.add(cliente);
	
	LinkedList<LinkedList<Object>> caixas = new LinkedList<LinkedList<Object>>();
	
	for (int j = 0; j <= 10; j++) {
		caixas.add(new LinkedList<Object>());
	}