@Override
	public final int compare(Member arg0, Member arg1)
	{
		if(arg0.hasMode('o') && arg1.hasMode('o'))
			return arg0.simpleNick().compareToIgnoreCase(arg1.simpleNick());
		else if(arg0.hasMode('o') && !arg1.hasMode('o'))
			return -1;
		else if(!arg0.hasMode('o') && arg1.hasMode('o'))
			return 1;
			
		else if(arg0.hasMode('v') && arg1.hasMode('v'))
			return arg0.simpleNick().compareToIgnoreCase(arg1.simpleNick());
		else if(arg0.hasMode('v') && !arg1.hasMode('v'))
			return -1;
		else if(!arg0.hasMode('v') && arg1.hasMode('v'))
			return 1;
		
		return arg0.simpleNick().compareToIgnoreCase(arg1.simpleNick());
	}