code: function(sPropertyName, sOperator, oValue, oValue2) {
  			var oProperty = this._oEntityType.findPropertyByName(sPropertyName);
  			if (oProperty == null) {
  				throw "Cannot add filter condition for unknown property name " + sPropertyName; // TODO
  			}
  			var aFilterablePropertyNames = this._oEntityType.getFilterablePropertyNames();
  			if (((aFilterablePropertyNames ? Array.prototype.indexOf.call(aFilterablePropertyNames, sPropertyName) : -1)) === -1) {
  				throw "Cannot add filter condition for not filterable property name " + sPropertyName; // TODO
  			}
  			this._addCondition(sPropertyName, sOperator, oValue, oValue2);
  			return this;
  		}
docs: Add a condition to the filter expression.
  
  Multiple conditions on the same property are combined with a logical OR first, and in a second step conditions for
  different properties are combined with a logical AND.
  
  @param {string}
  sPropertyName The name of the property bound in the condition
  @param {sap.ui.model.FilterOperator}
  sOperator operator used for the condition
  @param {object}
  oValue value to be used for this condition
  @param {object}
  oValue2 (optional) as second value to be used for this condition
  @throws Exception
  if the property is unknown or not filterable
  @returns {sap.ui.model.analytics.odata4analytics.FilterExpression} This object for method chaining
  @public
  @function
  @name sap.ui.model.analytics.odata4analytics.FilterExpression#addCondition