public void _updateNodeCollection(Node n) {
		if(!n.holdInNodeCollection) {
			return; // the node is not yet hold by this node collection 
		}
		//sensitiveInformationChanged = true;
		// test whether the node has changed the cell of the matrix
		
		// the old position in the matrix
		CubePos oldPos = (CubePos) n.nodeCollectionInfo;
		// the new position in the matrix
		Position pos = n.getPosition();
		int x = mapCoord(pos.xCoord);
		int y = mapCoord(pos.yCoord);
		int z = mapCoord(pos.zCoord);
		if(oldPos.x != x || oldPos.y != y || oldPos.z != z) { 
			// the node needs to be stored in a different cell of the matrix
			// remove it from the old matrix cell...
			if(!list[oldPos.x][oldPos.y][oldPos.z].removeNode(n)) {
				Main.fatalError("Geometric3DNodeCollection.updateNodeCollection(Node):\nA node is being removed from the matrix, but it is not located in the matrix cell in which it claims to be.");
			}
			// ... and add it to the new matrix cell
			list[x][y][z].addNode(n);
			// update the matrix-cell info stored at the node 
			oldPos.x = x;
			oldPos.y = y;
			oldPos.z = z;
		}
	}