I face the task of laying out a weighted graph that will change the number of nodes during runtime. The chosen layout should rearrange the nodes without losing the global topology in order to keep the "amount of visual adjustment" as low as possible for the user. Additional requirement: it should be applicable in a JAVA-environment. Does anyone know the best practices?