public SplitMatch(String pattern, String matchStr, char delimiter) {

        if (pattern == null || matchStr == null) {
            throw new IllegalArgumentException(
                    "Pattern and String must not be null");
        }

        this.pattern = pattern;
        this.matchStr = matchStr;
        ptnLength = pattern.length();
        matchStrLength = matchStr.length();
        if (ptnLength == 0 || matchStrLength == 0) {
            throw new IllegalArgumentException(
                    "Pattern and String must have at least one character");
        }
        matchStrParts = StringUtility.split(matchStr, delimiter);
        patternParts = StringUtility.split(pattern, delimiter);

    }