 			_boundingBox = new BoundingBox(min, max);
 		}
 		
+		/**
+		 * Merge another Geometry object. The Geometry object calling the merge() method is
+		 * modified in place.
+		 *  
+		 * @param geometry The Geometry to merge.
+		 * @param vertexStreamUsage The StreamUsage to use for the new VertexStream objects.
+		 * @param indexStreamUsage The StreamUsage to use for the new IndexStream objects.
+		 * 
+		 * @return 
+		 * 
+		 */
 		public function merge(geometry			: Geometry,
 							  vertexStreamUsage : uint = 3,
 							  indexStreamUsage 	: uint = 3) : Geometry

			var localOriginZ	: Number 		= localOrigin.z;
			
			var indicesData 	: ByteArray 	= _indexStream.lock();
			var xyzData			: ByteArray		= xyzVertexStream.lock();
			var minDistance		: Number 		= Number.POSITIVE_INFINITY;
			var triangleIndice	: int 			= -3;
			
			for (var verticeIndex : uint = 0; verticeIndex < numVertices; verticeIndex += 3)
			{

	import aerys.minko.type.math.Ray;
	import aerys.minko.type.math.Vector4;
	
	import flash.geom.Point;
	import flash.utils.ByteArray;

	/**
