@Override
	public void executeMsg(final Environmental myHost, final CMMsg msg)
	{
		if((msg.amITarget(this)
			||((msg.tool()==this)&&(msg.target() instanceof Container)))
		&&((getPackageFlagsBitmap()&PACKAGE_FLAG_TO_ITEMS_PROGRAMMATICALLY)==0)
		&&((msg.targetMinor()==CMMsg.TYP_GET)||(msg.targetMinor()==CMMsg.TYP_DROP)))
		{
			ItemPossessor possessor = owner();
			if((msg.targetMinor()==CMMsg.TYP_DROP)&&(msg.target() instanceof Room))
				possessor=(Room)msg.target();
			List<Item> items = unPackage(Integer.MAX_VALUE);
			for(Item I : items)
				possessor.addItem(I, ItemPossessor.Expire.Player_Drop);
			destroy();
			return;
		}
		super.executeMsg(myHost,msg);
	}