CharSequence (int hashCode, @NotNull CharSequence sequence, int startOffset, int endOffset) { Object o = get(hashCode); if (o == null) return null; if (o instanceof CharSequence) { if (charSequenceSubSequenceEquals((CharSequence)o, sequence, startOffset, endOffset)) { return (CharSequence)o; } return null; } if (o instanceof CharSequence[]) { for(CharSequence cs:(CharSequence[])o) { if (charSequenceSubSequenceEquals(cs, sequence, startOffset, endOffset)) { return cs; } } return null; } assert false:o.getClass(); return null; }