public void destroyNode(SceneNode node) {
		if (this.layers.contains(node) || node == this.overlayRoot) {
			throw new IllegalArgumentException("root scene node must not be destroyed");
		}
		
		if (!node.getParent().removeNode(node)) {
			this.logger.logWarning(LOGGING_SOURCE, "attempt to destroy non-existing scene node");
		}
	}