private static int getId(String functionName) {
        if (functionName.equals(NAME_REGEXP_STRING_MATCH))
            return ID_REGEXP_STRING_MATCH;
        else if (functionName.equals(NAME_X500NAME_MATCH))
            return ID_X500NAME_MATCH;
        else if (functionName.equals(NAME_RFC822NAME_MATCH))
            return ID_RFC822NAME_MATCH;
        else if (functionName.equals(NAME_STRING_REGEXP_MATCH))
            return ID_STRING_REGEXP_MATCH;
        else if (functionName.equals(NAME_ANYURI_REGEXP_MATCH))
            return ID_ANYURI_REGEXP_MATCH;
        else if (functionName.equals(NAME_IPADDRESS_REGEXP_MATCH))
            return ID_IPADDRESS_REGEXP_MATCH;
        else if (functionName.equals(NAME_DNSNAME_REGEXP_MATCH))
            return ID_DNSNAME_REGEXP_MATCH;
        else if (functionName.equals(NAME_RFC822NAME_REGEXP_MATCH))
            return ID_RFC822NAME_REGEXP_MATCH;
        else if (functionName.equals(NAME_X500NAME_REGEXP_MATCH))
            return ID_X500NAME_REGEXP_MATCH;

        throw new IllegalArgumentException("unknown match function: " +
                                           functionName);
    }