O que os chavetas em Java significam sozinhos?

Eu tenho algum código Java que usa chaves de duas maneiras

// Curly braces attached to an 'if' statement:
if(node.getId() != null)
{
    node.getId().apply(this);
}

// Curly braces by themselves:
{
    List<PExp> copy = new ArrayList<PExp>(node.getArgs());
    for(PExp e : copy)
    {
        e.apply(this);
    }
}
outAMethodExp(node);

O que esses aparelhos cacheados autônomos após o primeiroif declaração significa?

questionAnswers(10)

yourAnswerToTheQuestion