Why does CharSequence not have String getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) should be Why does CharSequence not have CharSequence getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) With appropriate covariant returns down the inheritance tree.