private void addDefaultNegate(Fragment newFrag, CharBuffer chars, ParseContext context, Object c) {
        if (needConnect(chars, context)) {
            chars.next(); // remove '-'
            Character end = chars.next();
            if (end.compareTo((Character) c) < 0) {
                throw new IllegalArgumentException("invalid range " + c + "-" + end);
            }
            for (char i = (Character) c; i <= end; i++) {
                buildNegateEscapeOrRangeFrag(newFrag, i);
            }
        } else {
            newFrag.getStart().addNegateTransfer(c, newFrag.getEnd());
        }
    }