@Override
	public void executeMsg(final Environmental myHost, final CMMsg msg)
	{
		if((msg.amITarget(this))
		&&((msg.targetMinor()==CMMsg.TYP_LOOK)||(msg.targetMinor()==CMMsg.TYP_EXAMINE)))
		{
			synchronized(this)
			{
				final boolean wasOpen=isOpen;
				isOpen=true;
				CMLib.commands().handleBeingLookedAt(msg);
				isOpen=wasOpen;
			}
			if(behaviors!=null)
				for(final Behavior B : behaviors)
				{
					if(B!=null)
						B.executeMsg(this,msg);
				}

			for(final Enumeration<Ability> a=effects();a.hasMoreElements();)
			{
				final Ability A=a.nextElement();
				if(A!=null)
					A.executeMsg(this,msg);
			}
			return;
		}
		super.executeMsg(myHost,msg);
	}