question: private void appendTypeParameters ( final List < String > types ) { boolean first = true ; for ( final String typeValue : types ) { if ( VCardConfig . isVersion30 ( mVCardType ) || VCardConfig . isVersion40 ( mVCardType ) ) { final String encoded = ( VCardConfig . isVersion40 ( mVCardType ) ? VCardUtils . toStringAsV40ParamValue ( typeValue ) : VCardUtils . toStringAsV30ParamValue ( typeValue ) ) ; if ( TextUtils . isEmpty ( encoded ) ) { continue ; } if ( first ) { first = false ; } else { mBuilder . append ( VCARD_PARAM_SEPARATOR ) ; } appendTypeParameter ( encoded ) ; } else { if ( ! VCardUtils . isV21Word ( typeValue ) ) { continue ; } if ( first ) { first = false ; } else { mBuilder . append ( VCARD_PARAM_SEPARATOR ) ; } appendTypeParameter ( typeValue ) ; } } }
target:  VCARD_PARAM_SEPARATOR must be appended before this method being called.