application.setValueListItems/elements.fd.setValueListItems

I want to clear a valuelist. I found the thread: “setting a valuelist to null using setValueListItems”, but it does not work for me. I tried also:

var emptyVesselList = databaseManager.createEmptyDataSet( 0, new Array( 'display_values', 'real_values' ) );
application.setValueListItems( 'val_vesselname', emptyVesselList );

but this also does not work and the valuelist name is correct. Then I tried this:

var emptyVesselList = databaseManager.createEmptyDataSet( 0, new Array( 'display_values', 'real_values' ) );
elements.tf_vessel.setValueListItems( emptyVesselList );

and it works. Why does the first not work and the second does? Why there are two possibilities (application.setValueListItems vs. elements.field.setValueListItems) to the set valuelist items?

I found the problem, it was because I used:

application.setValueListItems( 'val_vesselname', LIST_I_WANT_TO_SET );

and

elements.tf_vessel.setValueListItems( LIST_I_WANT_TO_SET );

both in my code.

Is this a desired behavior?