function createSalesOrders(iStartId, iLength) {
			const aOrders = [];
			for (let i = 0; i < iLength; i += 1) {
				aOrders.push({SalesOrderID : `${iStartId + i}`});
			}
			return {
				"@odata.count" : "20",
				value : aOrders
			};
		}
******************************************************************************************
	// Scenario: Create 3 sales orders, one that stays transient, one that gets persisted but does
	// not match the binding's filter, and one that gets persisted and matches the bindings's
	// filter. Select these 3 sales orders. Then do either a "refresh", a "requestSideEffects"
	// (side-effects refresh), a "sort" or a "changeParameters" and check that the selection is as
	// expected. In case of a side-effects refresh "created persisted" entries remain "created
	// persisted", but in other cases they become "persisted". As a result all created keep the
	// selection (no validation request). For all non-created entries the selection status depends
	// on whether the entry matches the binding's filter.
	// JIRA: CPOUI5ODATAV4-2915
["refresh", "requestSideEffects", "sort", "changeParameters"].forEach((sMethod) => {
	QUnit.test(`CPOUI5ODATAV4-2915: Selection Validation via ${sMethod} in combination with create`,
			async function (assert) {
		const oModel = this.createSalesOrdersModel({autoExpandSelect : true});
		const sView = `
<Table id="table" items="{
		path : '/SalesOrderList',
		parameters : {$$clearSelectionOnFilter : true, $search : 'foo'}
	}">
	<Text id="id" text="{SalesOrderID}"/>
	<Text id="note" text="{Note}"/>
	<Text id="selected" text="{@$ui5.context.isSelected}"/>
</Table>`;

		this.expectRequest("SalesOrderList?$search=foo&$select=Note,SalesOrderID"
				+ "&$skip=0&$top=100", {
				value : [
					{Note : "SO 1 (foo)", SalesOrderID : "1"}
				]
			})
			.expectChange("id", ["1"])
			.expectChange("note", ["SO 1 (foo)"])
			.expectChange("selected", [null]);

		await this.createView(assert, sView, oModel);

		this.expectChange("id", ["", "1"])
			.expectChange("note", ["SO 2 (n/a) - transient", "SO 1 (foo)"])
			.expectChange("selected", [, null]);

		const oTable = this.oView.byId("table");
		const oListBinding = oTable.getBinding("items");
		// create a transient sales order; selection is never validated
		const oContextSO2 = oListBinding.create({Note : "SO 2 (n/a) - transient"},
			/*bSkipRefresh