It is called twice, but in different conditions:
at first it set Testsuite, so it create proposal without any UI ( in general it is bad idea to depend on test data, but I want to be backward compatible ).
The second call is without Testsuite so it show UI in wizard and allow user to modify it as they want.