function constructor(oModel, sPath, oContext, mParameters) {
		PropertyBinding.call(this, oModel, sPath);
		// initialize mixin members
		asODataBinding.call(this);

		if (sPath.endsWith("/")) {
			throw new Error("Invalid path: " + sPath);
		}
		this.mScope = undefined;
		if (mParameters) {
			if (typeof mParameters.scope === "object") {
				this.mScope = mParameters.scope;
				mParameters = {...mParameters};
				delete mParameters.scope;
			}
			this.checkBindingParameters(mParameters,
				["$$groupId", "$$ignoreMessages", "$$noPatch"]);
			this.sGroupId = mParameters.$$groupId;
			this.bNoPatch = mParameters.$$noPatch;
			this.setIgnoreMessages(mParameters.$$ignoreMessages);
		} else {
			this.sGroupId = undefined;
			this.bNoPatch = false;
		}
		if (this.sPath === "@$ui5.context.isSelected") {
			this.bNoPatch = true;
		}
		this.oCheckUpdateCallToken = undefined;
		this.oContext = oContext;
		this.bHasDeclaredType = undefined; // whether the binding info declares a type
		this.bInitial = true;
		// Note: system query options supported at property binding only for ".../$count"
		this.mQueryOptions = this.oModel.buildQueryOptions(_Helper.clone(mParameters),
			/*bSystemQueryOptionsAllowed*/sPath.endsWith("$count"));
		this.vValue = undefined;
		// BEWARE: #doFetchOrGetQueryOptions uses #isRoot which relies on this.oContext!
		this.fetchCache(oContext);
		oModel.bindingCreated(this);
	}
******************************************************************************************
	// ODataPropertyBinding
	//*********************************************************************************************

	/**
Do <strong>NOT</strong> call this private constructor, but rather use
{@link sap.ui.model.odata.v4.ODataModel#bindProperty} instead!

@param {sap.ui.model.odata.v4.ODataModel} oModel
  The OData V4 model
@param {string} sPath
  The binding path in the model; must not end with a slash
@param {sap.ui.model.Context} [oContext]
  The context which is required as base for a relative path
@param {object} [mParameters]
  Map of binding parameters
@throws {Error}
  If disallowed binding parameters are provided