* @param client
	 */
	private void cmd_lock(final String arg, final Client client) {
		debug("Command: lock");

		final Player player = getPlayer(client);
		final Room room = getRoom( player.getLocation() );

		debug("Player: " + player.getName());
		debug("Room:   " + room.getName());
		
		Exit exit = null;	
		
		boolean found_exit = false;
		
		for(final Exit e : objectDB.getExitsByRoom(room)) {
			if( e.getExitType() == ExitType.DOOR ) {
				final Door d = (Door) e;
				
				System.out.println("lock: \'" + d.getName( room.getDBRef() ) + "\'");
				
				if( d.getName( room.getDBRef() ).equals(arg) ) {
					exit = d;
					found_exit = true;
				}
				
			}
			else if( e.getName().equals(arg) ) {
				exit = e;
				found_exit = true;
			}
			
			if( found_exit ) break;
		}
		
		if ( exit != null ) {
			final String exitName = exit.getName();
			
			if( exit instanceof Lockable ) {
				final Lockable<Item> l = (Lockable<Item>) exit;

				if ( !l.isLocked() ) {
					if( l.requiresKey() ) {
						boolean hasKey = hasKey(player, l);
						
						if( hasKey ) {
							l.lock();
							
							final String keyName = l.getKey().getName();
							
							send("You lock " + exitName + " with " + colors(keyName, getDisplayColor("item")) + ".", client);
						}
					}
					else {
						l.lock();
						send("You lock " + exitName + ".", client);
					}
				}
				else send("That's already locked.", client);
			}
			else send(exitName + " not lockable.", client);
			
			//send("It's a good thing no one saw you trying to lock a " + exit.getExitType().toString() + " with no lock.", client);
		}
		else send("No such object", client);
	}