public VitipiMenuDiscretProfil(ProfilesSystemModel profilesModel,
			InformationSystemModel informationSystemModel, String currentProfil) {
		super(DEFAULT_MENU_PROFIL_TITLE
				+ VitipiTools.normalizeName(currentProfil), new ImageIcon(
				VitipiMenuConstantes.ICON_PROFIL_PATH), DEFAULT_PROFILE_COLOR,
				MNEMONIC_VALUE, 0);
		mnemonicUsedValues = new ArrayList<>();
		this.name = currentProfil;
		this.profiles = profilesModel;
		this.informationSystemModel = informationSystemModel;

		setFocusable(true);

		profiles.addPropertyChangeListener(profilesModel.getPropertyName(),
				new PropertyChangeListener() {
					@Override
					public void propertyChange(PropertyChangeEvent evt) {
						removeAll();
						validate();
						addMenuProfiles((TagAndURISubModel[]) evt.getNewValue());
					}
				});

		informationSystemModel
				.addPropertyChangeListener(new PropertyChangeListener() {

					@Override
					public void propertyChange(PropertyChangeEvent evt) {
						if (evt.getPropertyName().equals(
								InformationSystemModel.PROFILE_ID_PROPERTY)
								|| evt.getPropertyName()
										.equals(InformationSystemModel.PROFILE_ID_PROPERTY_BIS)) {
							boolean found = false;
							VitipiDiscretMenuItemWithRadioButton item = null;
							for (int i = 0; i < getItemCount() && !found; i++) {
								item = (VitipiDiscretMenuItemWithRadioButton) getItem(i);
								if (item.getText().equals(
										VitipiTools.normalizeName((String) evt
												.getNewValue()))) {
									found = true;
								}
							}
							item.setSelected(true);
							name = item.getText();
							setText(DEFAULT_MENU_PROFIL_TITLE + name);
						}
					}
				});

		addMenuProfiles(profiles.getDatas().toArray(new TagAndURISubModel[0]));
	}