protected void refreshFunctions() { graph.readLock(); try { boolean graphHasChanged = graphObserver.isNew() || graphObserver.hasGraphChanged(); if (graphHasChanged) { if (graphObserver.isNew()) { graphObserver.hasGraphChanged(); } refreshGraphFunctions(); } refreshAttributeFunctions(graphHasChanged); } finally { graph.readUnlockAll(); } }