code: public static final boolean match(char[] pattern, char[] name,
  			boolean isCaseSensitive)
  	{
  
  		if (name == null)
  		{
  			return false; // null name cannot match
  		}
  		if (pattern == null)
  		{
  			return true; // null pattern is equivalent to '*'
  		}
  
  		return match(pattern, 0, pattern.length, name, 0, name.length, isCaseSensitive);
  	}
docs: Answers true if the pattern matches the given name, false otherwise. This char[] pattern matching accepts
  wild-cards '*' and '?'. When not case sensitive, the pattern is assumed to already be lowercased, the name will
  be lowercased character per character as comparing. If name is null, the answer is false. If pattern is null, the
  answer is true if name is not null. <br>
  <br>
  For example:
  <ol>
  <li>
  
  <pre>
  pattern = { '?', 'b', '*' }
  name = { 'a', 'b', 'c' , 'd' }
  isCaseSensitive = true
  result =&gt; true
  </pre>
  
  </li>
  <li>
  
  <pre>
  pattern = { '?', 'b', '?' }
  name = { 'a', 'b', 'c' , 'd' }
  isCaseSensitive = true
  result =&gt; false
  </pre>
  
  </li>
  <li>
  
  <pre>
  pattern = { 'b', '*' }
  name = { 'a', 'b', 'c' , 'd' }
  isCaseSensitive = true
  result =&gt; false
  </pre>
  
  </li>
  </ol>
  
  @param pattern
  the given pattern
  @param name
  the given name
  @param isCaseSensitive
  flag to know whether or not the matching should be case sensitive
  @return true if the pattern matches the given name, false otherwise