public static void setSpans(@NonNull SpannableBuilder builder, @Nullable Object spans, int start, int end) {
        if (spans != null) {

            // setting a span for an invalid position can lead to silent fail (no exception,
            // but execution is stopped)
            if (!isPositionValid(builder.length(), start, end)) {
                return;
            }

            // @since 3.0.1 we introduce another method that recursively applies spans
            // allowing array of arrays (and more)
            setSpansInternal(builder, spans, start, end);
        }
    }
public static void setSpans ( @ NonNull SpannableBuilder builder , @ Nullable Object spans , int start , int end ) { if ( spans != null ) { if ( ! isPositionValid ( builder . length ( ) , start , end ) ) { return ; } setSpansInternal ( builder , spans , start , end ) ; } }
@since 2.0.0