only appends delimiter if the accumulated string is non-empty . note : this is n't a candidate implementation for joiner since it fails on leading empty components . concode_field_sep Joiner JOINER_ON_CHARACTER concode_elem_sep char DELIMITER_CHARACTER concode_elem_sep Iterable<String> components concode_elem_sep Joiner JOINER_ON_STRING concode_elem_sep String DELIMITER_STRING concode_elem_sep int componentLength concode_elem_sep int count concode_field_sep int joinerWithStringDelimiter concode_elem_sep int joinerWithCharacterDelimiter concode_elem_sep int alwaysAppendThenBackUp concode_elem_sep int booleanIfFirst concode_elem_sep void setUp concode_elem_sep int assignDelimiter concode_elem_sep int joinerInlined