RTEditor/src/main/java/com/onegravity/rteditor/effects/SpanCollector.java
final protected RTSpan<V>[] getSpansAndroid(Spannable str, int selStart, int selEnd) {
        RTSpan<V>[] spans = str.getSpans(selStart, selEnd, mSpanClazz);
        return spans == null ? (RTSpan<V>[]) Array.newInstance(mSpanClazz) : spans;
    }
final protected RTSpan<V>[] getSpansAndroid(Spannable str, int selStart, int selEnd) {
        RTSpan<V>[] spans = str.getSpans(selStart, selEnd, mSpanClazz);
        return spans == null ? (RTSpan<V>[]) Array.newInstance(mSpanClazz) : spans;
    }
final protected RTSpan < V > [ ] getSpansAndroid ( Spannable str , int selStart , int selEnd ) { RTSpan < V > [ ] spans = str . getSpans ( selStart , selEnd , mSpanClazz ) ; return spans == null ? ( RTSpan < V > [ ] ) Array . newInstance ( mSpanClazz ) : spans ; }
Return an array of the markup objects attached to the specified slice of a Spannable and whose
type is the specified type or a subclass of it (see Spanned.getSpans(int, int, Class<T>)).
Return an array of the markup objects attached to the specified slice of a Spannable and whose type is the specified type or a subclass of it ( see Spanned . getSpans ( int int Class<T > )) .