*/linked_list_chunk linked_list_chunk_copy ( linked_list_chunk llc )  {
    linked_list_chunk llc2 = linked_list_chunk_create();
    inner_linked_chunk* buff = llc->first;
    while(buff != NULL) {
        linked_list_chunk_add_back(llc2 , chunk_copy(buff->value));
        buff = buff->suivant;
    }
    return llc2;
}
/*!
 * Do various modifications of the  \c linked_list_chunk with the provided \c chunk.
 * On return, the \c chunk is added on both extremities.
 */
static void test_llc_ch ( linked_list_chunk const llc ,
                          chunk const ch ) {

    fprintf ( stdout , "*** adding to back : \"" ) ;
    chunk_print ( ch , stdout ) ;
    fprintf ( stdout , "\" :\n" ) ;
    linked_list_chunk_add_back ( llc , ch ) ;
    linked_list_chunk_print ( llc , stdout ) ;

    fprintf ( stdout , "*** adding to front : \"" ) ;
    chunk_print (  ch , stdout ) ;
    fprintf ( stdout , "\" :\n" ) ;
    linked_list_chunk_add_front ( llc , chunk_copy ( ch ) ) ;
    linked_list_chunk_print ( llc , stdout ) ;

    assert ( ! linked_list_chunk_is_empty ( llc ) ) ;
}