building_tools: Add NPE check in EDT along with a defensive copy
This fixes #21833: NPE: Cannot invoke "org.openstreetmap.josm.data.coor.EastNorth.east()".
This is caused by something either calling the reset method *or* one of the
methods for calculating the EastNorth returning null.
In any case, we fix the potential race condition by making a defensive copy of
the en
array, and then checking the defensive copy for nulls in the EDT,
where appropriate.