src/org/kocakosm/pitaya/util/Strings.java
public static String shuffle(String str, Random rnd)
	{
		return new String(XArrays.shuffle(str.toCharArray(), rnd));
	}
public static String shuffle(String str, Random rnd)
	{
		return new String(XArrays.shuffle(str.toCharArray(), rnd));
	}
public static String shuffle ( String str , Random rnd ) { return new String ( XArrays . shuffle ( str . toCharArray ( ) , rnd ) ) ; }
Randomly permutes the characters from the given {@code String} using
the specified source of randomness. All permutations occur with equal
likelihood assuming that the source of randomness is fair. This
implementation uses the optimized version of the Fisher-Yates shuffle
algorithm (Fisher, Yates, Durstenfeld, Knuth) and thus runs in linear
time.

@param str the {@code String} to be shuffled.
@param rnd the source of randomness to use.

@return the shuffled {@code String}.

@throws NullPointerException if one of the arguments is {@code null}.
Randomly permutes the characters from the given { @code String } using the specified source of randomness . All permutations occur with equal likelihood assuming that the source of randomness is fair . This implementation uses the optimized version of the Fisher - Yates shuffle algorithm ( Fisher Yates Durstenfeld Knuth ) and thus runs in linear time .