function createPopover(oData, oField) {
		var sParameterId = oField.getParameterId(),
			oHeader = createHeader(oData, sParameterId),
		    oResetToDefaultButton = createResetBtn(oData, sParameterId, oField),
		    oDynamicPanel = createDynamicPanel(sParameterId),
			oCurrentValue = createCurrentValuesBox(sParameterId),
		    oSettingsPanel = createSettingPanel(oData, oField),
			oTransformPanel = createTransformPanel(oData, oField),
		    oPopover = new Popover({
			id: sParameterId + "_settings_popover",
			showArrow: true,
			contentWidth: "400px",
			showHeader: false,
			horizontalScrolling: false,
			verticalScrolling: false,
			modal: false,
			footer: new OverflowToolbar({
				content: [
					oResetToDefaultButton,
					new ToolbarSpacer(),
					new Button(sParameterId + "_settings_popover_ok_btn", {
						text: oResourceBundle.getText("EDITOR_MORE_OK"),
						type: "Emphasized",
						press: function () {
							if (oData.type === "destination") {
								if (oField._oNewParameter) {
									var newParameter = Object.assign({}, oField._oNewParameter);
									var aValues = deepClone(Object.assign([], oField._oValue.value));
									aValues = aValues.sort(function (a, b) {
										// if _position property not exists, do nothing
										if (!a._dt || !a._dt._position || !b._dt || !b._dt._position) {
											return 0;
										}
										return a._dt._position - b._dt._position;
									});
									aValues.forEach(function (value) {
										delete value._dt;
									});
									newParameter.configuration.values.data.json = {
										"values": aValues
									};
									setNextSetting("pageAdminNewDestinationParameter", newParameter);
								}
							} else {
								//handle page admin values
								if (oData.values && oData.values.item) {
									var oTable = Element.getElementById(sParameterId + "_settings_popover_pav_table"),
									selectedContexts = oTable.getSelectedContexts(),
									selectedKeys = [];
									if (oCurrentModel.getProperty("/selectedValues") === "Partion") {
										for (var i = 0; i < selectedContexts.length; i++) {
											var selectedKey = oCurrentInstance.getKeyFromItem(selectedContexts[i].getObject());
											selectedKeys.push(selectedKey);
										}
										setNextSetting("pageAdminValues", selectedKeys);
									} else {
										setNextSetting("pageAdminValues", []);
									}
								}
							}
							oCurrentInstance._applyCurrentSettings();
							bCancel = false;
							oPopover.close();
						}
					}),
					new Button(sParameterId + "_settings_popover_cancel_btn", {
						text: oResourceBundle.getText("EDITOR_MORE_CANCEL"),
						press: function () {
							oPopover.close();
						}
					})
				]
			}),
			afterClose: function () {
				if (bCancel) {
					oCurrentInstance._cancelCurrentSettings();
				}
				bCancel = true;
				oPopover.destroy();
			},
			afterOpen: function () {
				window.requestAnimationFrame(function () {
					oPopover.getDomRef() && (oPopover.getDomRef().style.opacity = "1");
				});

				//handle page admin values selection
				if (oData.values && oData.values.item) {
					var oTable = Element.getElementById(sParameterId + "_settings_popover_pav_table"),
					paValues = oCurrentModel.getProperty("/_next/pageAdminValues");
					if (paValues !== undefined && paValues.length > 0) {
						oTable.removeSelections();
						oCurrentModel.setProperty("/selectedValues", "None");
						var sItems = oCurrentModel.getProperty("/_next/pageAdminValues"),
							aItems = oTable.getItems();
						for (var i = 0; i < sItems.length; i++) {
							for (var j = 0; j < aItems.length; j++) {
								var aItemValue = oCurrentInstance.getKeyFromItem(aItems[j].getBindingContext().getObject());
								if (sItems[i] === aItemValue) {
									oTable.setSelectedItem(aItems[j]);
								}
							}
						}
						oCurrentModel.setProperty("/selectedValues", "Partion");
					} else {
						oTable.selectAll();
						oCurrentModel.setProperty("/selectedValues", "All");
					}
				}
				oField.fireSettingsPanelOpened();
			}
		});
		oPopover.setCustomHeader(oHeader);
		oPopover.addContent(oDynamicPanel);
		oPopover.addContent(oCurrentValue);
		oPopover.addContent(oSettingsPanel);
		oPopover.addContent(oTransformPanel);

		oPopover.addStyleClass("sapUiIntegrationFieldSettings");

		return oPopover;
	}
@class
@extends sap.ui.core.Control
@alias sap.ui.integration.editor.Settings
@author SAP SE
@since 1.83.0
@version ${version}
@private
@experimental since 1.83.0
@ui5-restricted