code: public static CharSource wrap(CharSequence charSequence) {
      return charSequence instanceof String
          ? new StringCharSource((String) charSequence)
          : new CharSequenceCharSource(charSequence);
    }
docs: Returns a view of the given character sequence as a {@link CharSource}. The behavior of the
  returned {@code CharSource} and any {@code Reader} instances created by it is unspecified if
  the {@code charSequence} is mutated while it is being read, so don't do that.
  
  @since 15.0 (since 14.0 as {@code CharStreams.asCharSource(String)})