code: public static final char[] concatWith(char[][] array, char separator)
  	{
  		int length = array == null ? 0 : array.length;
  		if (length == 0)
  		{
  			return CharOperation.NO_CHAR;
  		}
  
  		int size = length - 1;
  		int index = length;
  		while (--index >= 0)
  		{
  			if (array[index].length == 0)
  			{
  				size--;
  			} else
  			{
  				size += array[index].length;
  			}
  		}
  		if (size <= 0)
  		{
  			return CharOperation.NO_CHAR;
  		}
  		char[] result = new char[size];
  		index = length;
  		while (--index >= 0)
  		{
  			length = array[index].length;
  			if (length > 0)
  			{
  				System.arraycopy(array[index], 0, result, size -= length, length);
  				if (--size >= 0)
  				{
  					result[size] = separator;
  				}
  			}
  		}
  		return result;
  	}
docs: Answers the concatenation of the given array parts using the given separator between each part. <br>
  <br>
  For example:<br>
  <ol>
  <li>
  
  <pre>
  array = { { 'a' }, { 'b' } }
  separator = '.'
  =&gt; result = { 'a', '.', 'b' }
  </pre>
  
  </li>
  <li>
  
  <pre>
  array = null
  separator = '.'
  =&gt; result = { }
  </pre>
  
  </li>
  </ol>
  
  @param array
  the given array
  @param separator
  the given separator
  @return the concatenation of the given array parts using the given separator between each part