protected PathTraceMaterial regionIsHomogeneous( SolidNode sn, int rx, int ry, int rz, int rw, int rh, int rd )
		throws DereferenceException
	{
		SolidNode subNode = nodeDereffer.deref(sn.subNode(rx, ry, rz), SolidNode.class);
		
		PathTraceMaterial mat0 = nodeIsHomogeneous(subNode);
		if( mat0 == null ) return null;
		
		for( int dz=0; dz<rd; ++dz ) for( int dy=0; dy<rh; ++dy ) for( int dx=0; dx<rw; ++dx ) {
			PathTraceMaterial matN = nodeIsHomogeneous(nodeDereffer.deref(sn.subNode(rx+dx, ry+dy, rz+dz), SolidNode.class));
			if( matN != mat0 ) return null;
		}
		
		return mat0;
	}