The CharSet.add(String) method makes special consideration for the "-" character, adding it to the set if it is the only character in the string. However, the same special consideration is not made for the "^" character. Is this intentional?
I would think special consideration should either be made for both characters or not at all...