code: @ArgumentsChecked
  	@Throws({ IllegalNullArgumentException.class, IllegalPatternArgumentException.class })
  	public static <T extends CharSequence> T matchesPattern(@Nonnull final Pattern pattern, @Nonnull final T chars,
  			@Nullable final String name) {
  		Check.notNull(pattern, "pattern");
  		Check.notNull(chars, "chars");
  		if (!matches(pattern, chars)) {
  			throw new IllegalPatternArgumentException(name, pattern, chars);
  		}
  		return chars;
  	}
docs: Ensures that a readable sequence of {@code char} values matches a specified pattern. If the given character
  sequence does not match against the passed pattern, an {@link IllegalPatternArgumentException} will be thrown.
  
  @param pattern
  pattern, that the {@code chars} must correspond to
  @param chars
  a readable sequence of {@code char} values which should match the given pattern
  @param name
  name of object reference (in source code)
  @return the passed {@code chars} that matches the given pattern
  
  @throws IllegalNullArgumentException
  if the given argument {@code chars} is {@code null}
  @throws IllegalPatternArgumentException
  if the given {@code chars} that does not match the {@code pattern}