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