added addNodesToLayer in the spatial plugin, cache the SpatialDatabaseService in the plugin, but make sure invalid root nodes are reloaded