Why is this an issue?

Nested code blocks can be used to create a new scope and restrict the visibility of the variables defined inside it. Using this feature in a method typically indicates that the method has too many responsibilities, and should be refactored into smaller methods.

Noncompliant code example

public void evaluate(int operator) {
  // Do some computation...
  {
    int a = stack.pop();
    int b = stack.pop();
    int result = a + b;
    stack.push(result);
  }
}

Compliant solution

public void evaluate(int operator) {
  // Do some computation...
  evaluateAdd();
}

private void evaluateAdd() {
  int a = stack.pop();
  int b = stack.pop();
  int result = a + b;
  stack.push(result);
}