function buildFilters(aNodes) {
				return aNodes.map(function (vNode) {
					var aParts;

					if (typeof vNode === "string") {
						aParts = vNode.split("=");
						return new Filter(aParts[0], FilterOperator.EQ, aParts[1]);
					}
					if (vNode.and) {
						return new Filter({filters : buildFilters(vNode.and), and : true});
					}
					return new Filter({filters : buildFilters(vNode.or)});
				});
			}
******************************************************************************************
	QUnit.test("create at the start after creation at end, delete in between", function (assert) {
		var oBinding = this.bindList("/EMPLOYEES"),
			oBindingMock = this.mock(oBinding),
			oContext1,
			oContext2,
			oDeletePromise,
			oGroupLock = {getGroupId : function () { return "$auto"; }};

		oBinding.bLengthFinal = true;
		oBinding.iMaxLength = 0;
		this.mock(oContextPrototype).expects("fetchValue").atLeast(1).withExactArgs().resolves({});
		oBindingMock.expects("refreshSingle").atLeast(1).returns(SyncPromise.resolve());

		oBindingMock.expects("createInCache").twice().returns(SyncPromise.resolve({}));

		// code under test
		oContext1 = oBinding.create(undefined, false, /*bAtEnd