Вроде раньше Java требовала чтобы локальная переменная point в таких случаях объявлялась как final или я что-то путаю?
private void showAddVerticeBox() {
Point point = getAddedPointCoordinates();
if(addPointBox == null) {
addPointBox = new PopupPanel();
Button plusButton = new Button();
addPointBox.add(plusButton);
plusButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
addNewPoint(point);
}
});
}
addPointBox.show();
}
Написал такой код потом сидел думал почему у меня при втором и последующем вызове метода добавляется та же точка что и в первый раз

А значение локальной переменной оказывается захватывается и потом используется как ни в чем не бывало во всех последующих вызовах