* @param client
	 */
	public void examine(final MUDObject m, final Client client) {
		if (!(m instanceof NullObject) && m != null) {
			send(colors(m.getName() + "(#" + m.getDBRef() + ")", getDisplayColor(m.type)), client);
			
			final String typeName = m.type.getName();
			
			send("Type: " + typeName + " Flags: " + ObjectFlag.toInitString(m.getFlags()), client);

			if (m instanceof Item) {
				Item item = (Item) m;

				send("Item  Type: " + item.getItemType().toString(), client);
				send("Slot  Type: " + item.getSlotType().toString(), client);
			}
			else if (m instanceof Thing) {
				send("Thing Type: " + ((Thing) m).thing_type.toString(), client);
			}
			
			final Player owner = m.getOwner();

			if (owner != null) {
				send("Owner: " + colors(owner.getName(), getDisplayColor("player")) + " (#" + owner.getDBRef() + ")", client);
			}
			else {
				send("Owner: null", client);
			}

			send("Description: " + m.getDesc(), client);

			final MUDObject m1 = getObject(m.getLocation());

			if (m1 != null) {
				send("Location: " + colors(m1.getName(), getDisplayColor(m1.type)) + " (#" + m1.getDBRef() + ")", client);
			}
			else {
				send("Location: null", client);
			}
			
			// send("Coordinates:", client);

			final Point position = m.getPosition();

			/*
			 * send("X: " + position.getX(), client); send("Y: " + position.getY(), client); send("Z: " + position.getZ(), client);
			 */

			send("Coordinates: ( " + position.getX() + ", " + position.getY() + ", " + position.getZ() + " )", client);

			if (m instanceof Container) {
				send("Contains: ", client);

				for (final Item item : ((Container) m).getContents()) {
					send(item.getName(), client);
				}
			}
		}
		else {
			final String lockState;

			if (((NullObject) m).isLocked()) lockState = "Locked";
			else                             lockState = "unLocked";

			send("-- NullObject -- (#" + m.getDBRef() + ") [" + lockState + "]", client);
		}
	}