function constructor(oModel, oBinding, sPath, iIndex, oCreatePromise, iGeneration,
			bInactive) {
		if (sPath[0] !== "/") {
			throw new Error("Not an absolute path: " + sPath);
		}
		if (sPath.endsWith("/")) {
			throw new Error("Unsupported trailing slash: " + sPath);
		}
		BaseContext.call(this, oModel, sPath);
		this.oBinding = oBinding;
		this.setCreated(oCreatePromise);
		// a promise waiting for the deletion, also used as indicator for #isDeleted
		this.oDeletePromise = null;
		// avoids recursion when calling #doSetProperty within the createActivate event handler
		this.bFiringCreateActivate = false;
		this.iGeneration = iGeneration || 0;
		this.bInactive = bInactive || undefined; // be in sync with the annotation
		this.iIndex = iIndex;
		// this.iSelectionCount = 0; // on demand, for header contexts only
		this.bKeepAlive = false;
		this.bOutOfPlace = false;
		this.bSelected = false;
		this.fnOnBeforeDestroy = undefined;
	}
******************************************************************************************
	// Context
	//*********************************************************************************************

	/**
Do <strong>NOT</strong> call this private constructor. In the OData V4 model you cannot
create contexts at will: retrieve them from a binding or a view element instead.

@param {sap.ui.model.odata.v4.ODataModel} oModel
  The model
@param {sap.ui.model.odata.v4.ODataContextBinding|sap.ui.model.odata.v4.ODataListBinding} oBinding
  A binding that belongs to the model
@param {string} sPath
  An absolute path without trailing slash
@param {number} [iIndex]
  Index of item (within the collection addressed by <code>sPath</code>) represented
  by this context; used by list bindings, not context bindings
@param {sap.ui.base.SyncPromise} [oCreatePromise]
  A promise which is resolved with the created entity when the POST request has been
  successfully sent and the entity has been marked as non-transient; used as base for
  {@link #created}
@param {number} [iGeneration=0]
  The unique number for this context's generation, which can be retrieved via
  {@link #getGeneration}
@param {boolean} [bInactive]
  Whether this context is inactive and will only be sent to the server after the first
  property update
@throws {Error}
  If an invalid path is given