private synchronized void adjust() { // Generate random position in graph space tempISOM = new ISOMVertexData(); tempXYD = new Coordinates(); // creates a new XY data location tempXYD.setX(10 + Math.random() * getCurrentSize().getWidth()); tempXYD.setY(10 + Math.random() * getCurrentSize().getHeight()); // Get closest vertex to random position Vertex winner = elementAccessor.getVertex(tempXYD.getX(), tempXYD.getY()); while (true) { try { for (Iterator iter = getVisibleVertices().iterator(); iter.hasNext(); ) { Vertex v = (Vertex) iter.next(); ISOMVertexData ivd = getISOMVertexData(v); ivd.distance = 0; ivd.visited = false; } break; } catch (ConcurrentModificationException cme) { } } adjustVertex(winner); }