[ref_impl_eiffel] [1363] Make the main UI populate routines slightly safer with better contracts.

Revision: 1363
Author: thomas.beale
Log Message: