public function getListItems( $domain = null, $type = null )
	{
		if( $domain === null )
		{
			$listItems = array();

			foreach( $this->_listItems as $domain => $items ) {
				$listItems += $items;
			}

			return $listItems;
		}

		if( !isset( $this->_listItems[$domain] ) ) {
			return array();
		}

		if( !isset( $this->_sortedLists[$domain] ) )
		{
			foreach( $this->_listItems[$domain] as $listItem )
			{
				$refId = $listItem->getRefId();

				if( isset( $this->_refItems[$domain][$refId] ) ) {
					$listItem->setRefItem( $this->_refItems[$domain][$refId] );
				}
			}

			uasort( $this->_listItems[$domain], array( $this, '_comparePosition' ) );
			$this->_sortedLists[$domain] = true;
		}

		if( $type !== null )
		{
			$list = array();
			$iface = 'MShop_Common_Item_Typeid_Interface';

			foreach( $this->_listItems[$domain] as $id => $item )
			{
				if( $item instanceof $iface && $type === $item->getType() ) {
					$list[$id] = $item;
				}
			}
		}
		else
		{
			$list = $this->_listItems[$domain];
		}

		return $list;
	}