@Override
	public void executeMsg(final Environmental myHost, final CMMsg msg)
	{
		if(msg.amITarget(this)&&(msg.tool() instanceof Item))
		{
			final Item newitem=(Item)msg.tool();
			if((newitem.container()==this)
			&&(newitem.owner() !=null))
			{
				Item neweritem=(Item)newitem.copyOf();
				final Vector<Item> allStuff=new Vector<Item>();
				allStuff.addElement(neweritem);
				if(newitem instanceof Container)
				{
					final List<Item> V=((Container)newitem).getDeepContents();
					for(int v=0;v<V.size();v++)
					{
						final Item I=(Item)V.get(v).copyOf();
						I.setContainer((Container)neweritem);
						allStuff.addElement(I);
					}
				}
				neweritem.setContainer(this);
				for(int i=0;i<allStuff.size();i++)
				{
					neweritem=allStuff.elementAt(i);
					if(newitem.owner() instanceof MOB)
						((MOB)newitem.owner()).addItem(neweritem);
					else
					if(newitem.owner() instanceof Room)
					{
						((Room)newitem.owner()).addItem(neweritem);
						neweritem.setExpirationDate(expirationDate());
					}
					neweritem.recoverPhyStats();
				}
			}
		}
		super.executeMsg(myHost,msg);
	}