@Override
	public boolean suspendAccount(String pAdminUsername, String pAdminPassword, String pIPAddress, String pUsernameToSuspend) 
	{
		if(!pAdminUsername.equals("Admin"))
		{
			aLog.info("Error Suspending Account : Incorrect Administrator Username");
			return false;
		}
		if(!pAdminPassword.equals("Admin"))
		{
			aLog.info("Error Suspending Account : Incorrect Administrator Password");
			return false;
		}
		if(!validate(pIPAddress))
		{
			aLog.info("Error Suspending Account : Invalid IP-address");
			return false;
		}
		if((pUsernameToSuspend.charAt(0) > 'Z' && pUsernameToSuspend.charAt(0) < 'a') || pUsernameToSuspend.charAt(0) < 'A' || pUsernameToSuspend.charAt(0) > 'z')
		{
			aLog.info("Error Suspending Account : Username cannot start with " + pUsernameToSuspend.charAt(0));
			return false;
		}
		Account tmpAccount = getAccount(pUsernameToSuspend);
		if(tmpAccount == null)
		{
			aLog.info("Error Suspending Account : Username Was Not Found");
			tmpAccount = null;
			return false;
		}

		boolean bSuccess = false;
		synchronized(this)
		{
			bSuccess = aDatabase.get(String.valueOf(pUsernameToSuspend.toUpperCase().charAt(0))).remove(tmpAccount);
		}
		if(bSuccess)
		{
			aLog.info("Player Account suspended :\nUsername \"" +  pUsernameToSuspend +  "\", Password \"" + tmpAccount.getPassword() + "\", IP-address \"" + tmpAccount.getIPAddress() + "\"");
			return true;
		}
		else
		{
			aLog.info("Error Suspending Account : suspension faild");
			return false;
		}
	}