@ Override
	public int compare(File lhs, File rhs)
	{
		if (lhs.isDirectory () && !rhs.isDirectory ()) {
			if (order == FileFolderOrder.DIRECTORY_FIRST)
				return -1; // list directories first
			else
				return 1; // list directories last
		} else if ( !lhs.isDirectory () && rhs.isDirectory ())
			if (order == FileFolderOrder.DIRECTORY_FIRST)
				return 1; // list files first
			else
				return -1; // list files last
		else {
			String lhsName = FileComparatorUtils.getStandardizedName (lhs);
			String rhsName = FileComparatorUtils.getStandardizedName (rhs);
			
			// Use natural order comparison to determine file order
			return Strings.compareNatural (lhsName, rhsName);
		}
	}