protected function _getSameProduct( MShop_Order_Item_Base_Product_Interface $item )
	{
		$attributeMap = array();

		foreach( $item->getAttributes() as $attributeItem ) {
			$attributeMap[ $attributeItem->getCode() ] = $attributeItem;
		}

		foreach( $this->_products as $position => $product )
		{
			if( $product->compare( $item ) === false ) {
				continue;
			}

			$prodAttributes = $product->getAttributes();

			if( count( $prodAttributes ) !== count( $attributeMap ) ) {
				continue;
			}

			foreach( $prodAttributes as $attribute )
			{
				if( array_key_exists( $attribute->getCode(), $attributeMap ) === false
					|| $attributeMap[ $attribute->getCode() ]->getValue() != $attribute->getValue() ) {
					continue 2; // jump to outer loop
				}
			}

			return $position;
		}

		return false;
	}