Como fazer um metodo para não deixar adicionar uma Pizza Sem Ingredientes na Lista CarrinhoDeCompras

Olá, A todos, estou iniciando os meus estudos em java, e me deparei com um problema que no caso seria: como fazer um teste pra nao deixar adicionar uma pizza sem ingredientes na Lista carrinhoDeCompras. E em qual classe eu teria que por esse metodo?

OBS: já me disseram que está bem mal encapsulado, mas ainda nao aprendi bem esse conceito, entao deixarei para aplicar depois que eu entender bem desse assunto.

public class Pizza {

static Map<String, Integer> ingredientes= new HashMap<>();
int contaIngrediente=0;
static int contaPizza=0;



public void adicionaIngrediente(String ingrediente, Integer quantidade){


    if(ingredientes.containsKey(ingrediente)){
        int aux= ingredientes.get(ingrediente);
        ingredientes.put(ingrediente, quantidade+aux);
    }

    else {
        ingredientes.put(ingrediente, quantidade);

    }

    contaIngrediente++;
}

}

public class CarrinhoDeCompras {

List<Pizza> pizzas= new ArrayList<Pizza>();



public void retornarTotalPizzas(){
    System.out.println("\n");
    System.out.println("Total de pizzas no carrinho: "+pizzas.size());
    System.out.println("\n");
}

public class Principal {
public static void main(String[] args){

    CarrinhoDeCompras carrinhoDeCompras= new CarrinhoDeCompras();

    Pizza pizza1= new Pizza();
    pizza1.adicionaIngrediente("Pepperoni", 8);
    pizza1.adicionaIngrediente("Bacon", 7);
    pizza1.adicionaIngrediente("Presunto", 9);


    carrinhoDeCompras.pizzas.add(pizza1);

    Pizza pizza2= new Pizza();

*witout put ingredients here
carrinhoDeCompras.pizzas.add(pizza2); ****Can’t add to the list carrinhoDeCompras.

Em vez de
carrinhoDeCompras.pizzas.add(pizza1);
terás de ter no teu carrinho de compras um método para adicionar (p exemplo adicionaPizza) onde verifiques se a pizza tem ingredientes antes de adicionar ao ArrayList.

O problema @Belax é que a solução do seu problema é justamente encapsulamento.
A sua lista de pizzas está exposta.
Ela deveria ser privada e dentro da classe CarrinhoDeCompras deveria haver um metodo addPizza(pizza), por exemplo. Este método deveria verificar se a pizza que esta sendo adicionada tem ingredientes ou não; caso tenha ele adiciona na lista, caso contrário não adiciona, podendo notificar à quem chamou o método sobre sucesso ou falha no procedimento.