public BaseEncoding withSeparator(String separator, int n)
	{
		Parameters.checkCondition(n > 0);
		for (char c : separator.toCharArray()) {
			if (isPaddingChar(c) || isInAlphabet(c)) {
				throw new IllegalArgumentException(
					"Invalid separator character: '" + c + "'");
			}
		}
		return new BaseEncoding(alphabet, separator, n, omitPadding,
			ignoreUnknownChars);
	}
public BaseEncoding withSeparator ( String separator , int n ) { Parameters . checkCondition ( n > 0 ) ; for ( char c : separator . toCharArray ( ) ) { if ( isPaddingChar ( c ) || isInAlphabet ( c ) ) { throw new IllegalArgumentException ( "Invalid separator character: '" + c + "'" ) ; } } return new BaseEncoding ( alphabet , separator , n , omitPadding , ignoreUnknownChars ) ; }
Returns a {@code BaseEncoding} that behaves as this one except that
it adds the specified separator after every {@code n} characters when
encoding data and ignores any occurence of the specified separator
when decoding encoded data.

See <a href="http://tools.ietf.org/html/rfc4648#section-3.1">RFC 4648
section 3.1</a> for more details.

@param separator the separator to use.
@param n the number of characters between two successive separators.

@return a {@code BaseEncoding} with the desired configuration.

@throws NullPointerException if {@code separator} is {@code null}.
@throws IllegalArgumentException if {@code separator} contains any
alphabet or padding characters or if {@code n <= 0}.