Dúvida no Programa JAVA

Galera estou fazendo um projeto na faculdade e optei em fazer um programa de pedidos,
criei as seguinds classes, Cliente, Editora, Pedido e Sistema.
Dentro da classe Sistem criei um metodo CadastrarClientes e ListarClientes, usei um arrayList para cadastrar os clientes, e criei um metodo para selecionar o cliente para o tal cliente realizar o pedido só que na hora de selecionar estou tendo uma dúvida, porque eu queria dps mostrar os pedidos em andamento e mostrar o cliente e o pedido q ele fez, não sei como faço, vou deixar o codigo mais ou menos de como eu fiz.

//METODOS PERSONALIZADOS PARA CLIENTES
public void CadastrarClientes(){
System.out.println("\n\tCADASTRO DE CLIENTES\n");
do{
cliente = new Cliente();
System.out.print("NOME DO CLIENTE: ");
cliente.setNome(new Scanner(System.in).nextLine());
System.out.print("TELEFONE: ");
cliente.setTelefone(new Scanner(System.in).nextLine());
System.out.print("DOCUMENTO: ");
cliente.setDoc(new Scanner(System.in).nextLine());
cont++;
clientes.add(cliente);

        System.out.println("\n(0) ----SAIR\n(1) ----NOVO CLIENTE");
        System.out.print("OPÇÃO: ");
        es = teclado.nextInt();
        System.out.println("");
    }while(es!=0);
}

 
//LISTA DOS CLIENTES CADASTRADOS
public void ListarClientes(){
    Iterator i = clientes.iterator();
    System.out.println("\n\tCLIENTES CADASTRADOS\n");
    while(i.hasNext()){
        cliente = (Cliente)i.next();
        System.out.println("CLIENTE "+(j+=1)+"º: "+cliente.getNome());
    }
    
    j=0;
}
//SELECIONANDO CLIENTE DE ACORDO COM A POSIÇÃO QUE ELE ESTA NA LISTA
public void SelecionarCliente(){
    System.out.print("\nSELECIONE O CLIENTE: ");
    es = teclado.nextInt();
    cliente = (Cliente) clientes.get(es-=1);
    System.out.print("\nCLIENTE SELECIONADO: "+cliente.getNome());
}