src/main/java/org/openkoreantext/processor/util/CharArraySet.java
public static CharArraySet unmodifiableSet(CharArraySet set) {
    if (set == null)
      throw new NullPointerException("Given set is null");
    if (set == EMPTY_SET)
      return EMPTY_SET;
    if (set.map instanceof CharArrayMap.UnmodifiableCharArrayMap)
      return set;
    return new CharArraySet(CharArrayMap.unmodifiableMap(set.map));
  }
public static CharArraySet unmodifiableSet(CharArraySet set) {
    if (set == null)
      throw new NullPointerException("Given set is null");
    if (set == EMPTY_SET)
      return EMPTY_SET;
    if (set.map instanceof CharArrayMap.UnmodifiableCharArrayMap)
      return set;
    return new CharArraySet(CharArrayMap.unmodifiableMap(set.map));
  }
Returns an unmodifiable {@link CharArraySet}. This allows to provide
unmodifiable views of internal sets for "read-only" use.

@param set a set for which the unmodifiable set is returned.
@return an new unmodifiable {@link CharArraySet}.
@throws NullPointerException if the given set is <code>null</code>.