/*******************************************************************************
 * Copyright (c) 2005, 2012 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.bpel.ui;

import org.eclipse.osgi.util.NLS;

public final class Messages extends NLS {

	private static final String BUNDLE_NAME = "org.eclipse.bpel.ui.messages"; //$NON-NLS-1$


	private Messages() {
		// Do not instantiate
	}

	public static String ActionImplementationSection_Action_Category_1;
	public static String ActionImplementationSection_Choose_one_of_these_actions_2;
	public static String ActionImplementationSection_Description_3;
	public static String ActionImplementationSection_HTML_hover_description_text_5;
	public static String ActionImplementationSection_Hover_tooltip_4;
	public static String AppendNewAction_Add_a_1;
	public static String AssignAction_Assign_HTML_Description_1;
	public static String AssignImplDetails_Delete__6;
	public static String AssignImplDetails_From__1;
	public static String AssignImplDetails_New__5;
	public static String AssignImplDetails_To__2;
	public static String AssignImplDetails_KeepSrcElementName;
	public static String AssignImplDetails_IgnoreMissingSourceData;
	public static String BPELUtil_NCName;
	public static String BrowseSelectorDialog_0;
	public static String BrowseSelectorDialog_1;
	public static String BrowseSelectorDialog_2;
	public static String BrowseSelectorDialog_4;
	public static String DocumentationSection_Source_1;
	public static String DocumentationSection_Language_1;
	public static String DocumentationSection_Description_1;
	public static String FaultCatchNameSection_None_0;
	public static String ImportsSection_0;
	public static String ImportsSection_1;
	public static String ImportsSection_2;
	public static String ImportsSection_3;
	// https://jira.jboss.org/browse/JBIDE-6765
	public static String NamespacePrefixesSection;
	public static String NamespacePrefixesSection_0;
	public static String NamespacePrefixesSection_1;
	public static String NamespacePrefixesSection_2;
	public static String NamespacePrefixesSection_3;
	public static String NamespacePrefixesSection_4;
	public static String InputMessageAdapter_0;
	public static String InvokeImplSection_0;
	public static String InvokeImplSection_1;
	public static String InvokeImplSection_10;
	public static String InvokeImplSection_11;
	public static String InvokeImplSection_12;
	public static String InvokeImplSection_13;
	public static String InvokeImplSection_16;
	public static String InvokeImplSection_2;
	public static String InvokeImplSection_22;
	public static String InvokeImplSection_23;
	public static String InvokeImplSection_24;
	public static String InvokeImplSection_25;
	public static String InvokeImplSection_3;
	public static String InvokeImplSection_4;
	public static String InvokeImplSection_7;
	public static String NamespaceMappingDialog_3;
	public static String NamespaceMappingDialog_4;
	public static String NamespaceMappingDialog_5;
	public static String NamespaceMappingDialog_6;
	public static String NamespaceMappingDialog_8;
	public static String NamespaceMappingDialog_9;
	public static String OperationAdapter_0;
	public static String OutputMessageAdapter_0;
	public static String PaletteFactory_Actions;
	public static String PaletteFactory_Control;
	public static String PaletteFactory_Empty;
	public static String PaletteFactory_Faults;
	public static String PartnerLinkAdapter_0;
	public static String PartnerLinkImplSection_0;
	public static String PartnerLinkImplSection_1;
	public static String PartnerLinkImplSection_10;
	public static String PartnerLinkImplSection_11;
	public static String PartnerLinkImplSection_2;
	public static String PartnerLinkImplSection_4;
	public static String PartnerLinkImplSection_5;
	public static String PartnerLinkImplSection_6;
	public static String PartnerLinkImplSection_7;
	public static String PartnerLinkImplSection_8;
	public static String PartnerLinkImplSection_9;
	public static String PartnerLinkTypeAdapter_0;
	public static String PartnerLinkTypeSelectorDialog_0;
	public static String PartnerLinkTypeSelectorDialog_1;
	public static String PartnerLinkTypeSelectorDialog_2;
	public static String PartnerLinkTypeSelectorDialog_3;
	public static String PartnerLinkTypeSelectorDialog_4;
	public static String PartnerLinkTypeSelectorDialog_5;
	public static String PartnerLinkTypeSelectorDialog_6;
	public static String SaveImageAction_1;
	public static String SaveImageAction_2;
	public static String SaveImageAction_3;
	public static String SaveImageAction_4;
	public static String SchemaImportDialog_0;
	public static String SchemaImportDialog_10;
	public static String SchemaImportDialog_11;
	public static String SchemaImportDialog_13;
	public static String SchemaImportDialog_14;
	public static String SchemaImportDialog_15;
	public static String SchemaImportDialog_16;
	public static String SchemaImportDialog_17;
	public static String SchemaImportDialog_18;
	public static String SchemaImportDialog_19;
	public static String SchemaImportDialog_2;
	public static String SchemaImportDialog_4;
	public static String SchemaImportDialog_5;
	public static String SchemaImportDialog_6;
	public static String SchemaImportDialog_7;
	public static String SchemaImportDialog_8;
	public static String SchemaImportDialog_9;
	public static String TypeSelectorDialog_10;
	public static String TypeSelectorDialog_11;
	public static String TypeSelectorDialog_12;
	public static String TypeSelectorDialog_14;
	public static String TypeSelectorDialog_15;
	public static String TypeSelectorDialog_16;
	public static String TypeSelectorDialog_17;
	public static String TypeSelectorDialog_18;
	public static String TypeSelectorDialog_19;
	public static String TypeSelectorDialog_3;
	public static String TypeSelectorDialog_4;
	public static String TypeSelectorDialog_5;
	public static String TypeSelectorDialog_7;
	public static String TypeSelectorDialog_9;
	public static String Validate;
	public static String AutoArrangeFlowsAction_Arrange_Flow_Contents_2;
	public static String AutoArrangeFlowsAction_Auto_arrange_flow_contents_3;
	public static String ToggleLayoutOrientation_1;
	public static String ToggleLayoutOrientation_2;
	public static String BPELCopyAction_Copy_1;
	public static String BPELCopyAction_Copy_2;
	public static String BPELCopyAction_Copy_3;
	public static String BPELDuplicateAction_Duplicate_1;
	public static String BPELDuplicateAction_Duplicate_2;
	public static String BPELCutAction_Cut_1;
	public static String BPELCutAction_Cut_2;
	public static String BPELCutAction_Cut_3;
	public static String BPELDragEditPartsTracker_Drag_1;
	public static String BPELEditManager_RenameError;
	public static String BPELEditManager_RenameErrorMessage;
	public static String BPELEditPart_Enter_a_new_name_3;
	public static String BPELEditPart_Rename_2;
	public static String BPELEditPartFactory_Could_not_create_edit_part_for;
	public static String BPELEditor_OpaqueActivity_1;
	public static String BPELEditor_OpaqueActivity_2;
	public static String BPELEditor_Assign_10;
	public static String BPELEditor_Assign_11;
	public static String BPELEditor_Validate_XML_12;
	public static String BPELEditor_Validate_XML_13;
	public static String BPELEditor_Bottom_Control_Group_39;
	public static String BPELEditor_Cant_read_input_file_1;
	public static String BPELEditor_Compensate_1;
	public static String BPELEditor_Compensate_2;
	public static String BPELEditor_CompensateScope_1;
	public static String BPELEditor_CompensateScope_2;
	public static String BPELEditor_Flow_1;
	public static String BPELEditor_Flow_2;
	public static String BPELEditor_Invoke_35;
	public static String BPELEditor_Invoke_36;
	public static String BPELEditor_Marquee_Tool;
	public static String BPELEditor_Pick_8;
	public static String BPELEditor_Pick_9;
	public static String BPELEditor_ReThrow_1;
	public static String BPELEditor_ReThrow_2;
	public static String BPELEditor_Receive_4;
	public static String BPELEditor_Receive_5;
	public static String BPELEditor_Reply_6;
	public static String BPELEditor_Reply_7;
	public static String BPELEditor_Scope_1;
	public static String BPELEditor_Scope_2;
	public static String BPELEditor_Selection_Tool_38;
	public static String BPELEditor_Sequence_23;
	public static String BPELEditor_Sequence_24;
	public static String BPELEditor_If_17;
	public static String BPELEditor_If_18;
	public static String BPELEditor_Exit_26;
	public static String BPELEditor_Exit_27;
	public static String BPELEditor_Throw_28;
	public static String BPELEditor_Throw_29;
	public static String BPELEditor_Top_Control_Group_37;
	public static String BPELEditor_Wait_21;
	public static String BPELEditor_Wait_22;
	public static String BPELEditor_While_19;
	public static String BPELEditor_While_20;
	public static String BPELEditor_ForEach_19;
	public static String BPELEditor_ForEach_20;
	public static String BPELEditor_Zoom_In_40;
	public static String BPELEditor_Zoom_Out_41;
	public static String BPELEditor_Repeat_Until_42;
	public static String BPELEditor_Repeat_Until_43;
	public static String BPELEditor_addCorrelationSet;
	public static String BPELEditor_addPartnerLink;
	public static String BPELEditor_addVariable;
	public static String BPELEditor_addMessageExchange;
	public static String BPELGraphicalEditPolicy_link1_1;
	public static String BPELPasteAction_Paste_1;
	public static String BPELPasteAction_Paste_2;
	public static String BPELPasteAction_Paste_3;
	public static String BPELPreferencePage_HomePage_Description;
	public static String BPELPreferencePage_0;
	public static String BPELPreferencePage_0TT;
	public static String BPELPreferencePage_1;
	public static String BPELPreferencePage_1TT;
	public static String BPELPreferencePage_2;
	public static String BPELPreferencePage_2TT;
	public static String BPELPreferencePage_3;
	public static String BPELPreferencePage_3TT;
	public static String BPELPreferencePage_4;
	public static String BPELPreferencePage_4TT;
	public static String BPELPreferencePage_WSIL_1;
	public static String BPELPreferencePage_WSIL_2;
	public static String BPELPreferencePage_WSIL_Location;
	public static String BPELPreferencePage_WSIL_Abstract;
	public static String BPELPreferencePage_WSIL_Namespace;
	public static String BPELPreferencePage_WSIL_Index;
	public static String BPELPreferencePage_WSIL_Add;
	public static String BPELPreferencePage_WSIL_Remove;
	public static String BPELPreferencePage_WSIL_Description;
	public static String BPELPreferencePage_WSIL_MoveDown;
	public static String BPELPreferencePage_WSIL_MoveUp;
	public static String BPELPreferencePage_WSIL_OpenInBrowser;
	public static String BPELPreferencePage_WSIL_DocumentNotLoaded;
	public static String BPELPreferencePage_WSIL_NameLimit;
	public static String BPELPreferencePage_WSIL_EnterLocation;
	public static String BPELPreferencePage_WSIL_EnterDescription;
	public static String BPELUtil__unknown_URI__54;
	public static String BPELUtil_HiddenSequence_2;
	public static String BPELUtil_Sequence_1;

	// https://issues.jboss.org/browse/JBIDE-8601
	public static String BPELUtil__Error;
	public static String BPELUtil_NoEditorForNullObject;
	public static String BPELUtil_NoEditorForObject;

	public static String BPELVariableAdapter_Variable_1;
	public static String BPELXYLayoutEditPolicy_Add_Part_1;
	public static String BPELXYLayoutEditPolicy_Move_Part_2;
	public static String ElseIfAdapter_ElseIf_1;
	public static String CatchAdapter_Catch_1;
	public static String CatchAllAdapter_0;
	public static String CatchAllDetails_0;
	public static String ChangeTypeAction_Change_type_to_1;
	public static String CompensateImplDetails_Activity__10;
	public static String CompensationHandlerAdapter_Compensation_Handlers_1;
	public static String CorrSetImplDetails_Browse____6;
	public static String CorrSetImplDetails_Edit____7;
	public static String CorrSetImplDetails_Properties__5;
	public static String CorrSetImplDetails_Property_1;
	public static String CorrSetImplDetails_Remove_4;
	public static String CorrelationDetails_Add_18;
	public static String CorrelationDetails_Both_7;
	public static String CorrelationDetails_Correlation_Set_12;
	public static String CorrelationDetails_Correlation_Sets__20;
	public static String CorrelationDetails_Direction_1;
	public static String CorrelationDetails_Initiation_8;
	public static String CorrelationDetails_Join_11;
	public static String CorrelationDetails_No_10;
	public static String CorrelationDetails_Receive_4;
	public static String CorrelationDetails_Receive_6;
	public static String CorrelationDetails_Remove_19;
	public static String CorrelationDetails_Send_5;
	public static String CorrelationDetails_Yes_11;
	public static String CorrelationSetAdapter_Correlation_Set_1;
	public static String CorrelationSetsAdapter_Correlation_Sets_1;
	public static String CorrelationSetsEditPart_Add_Correlation_Set_1;
	public static String CorrelationSetsEditPart_Correlation_Sets_1;
	public static String CorrelationSetsEditPart_Remove_Correlation_Set_1;
	public static String CreateElseIfAction_Add_ElseIf_1;
	public static String CreateCatchAction_Add_Catch_1;
	public static String CreateCatchAllAction_Add_Catch_All_1;
	public static String CreateCompensationHandlerAction_Add_Compensation_Handler_1;
	public static String CreateEventHandlerAction_Add_Event_Handler_1;
	public static String CreateFaultHandlerAction_Add_Fault_Handler_1;
	public static String CreateFlowLinkAction_Add_Link_0;
	public static String CreateInstanceDetails_Create_a_new_Process_instance_if_one_does_not_already_exist_1;
	public static String CreateOnAlarmAction_Add_OnAlarm_1;
	public static String CreateOnEventAction_Add_OnEvent_1;
	public static String CreateOnMessageAction_Add_OnMessage_1;
	public static String CreateElseAction_Add_Else_1;
	public static String DeleteChildCommand_Delete_2;
	public static String DeleteChildCommand_Item_1;
	public static String DeleteSelectedAction_Delete_1;
	public static String DeleteSelectedAction_Delete_2;
	public static String DeleteSelectedAction_Delete_3;
	public static String DeleteSelectedAction_Delete_Items_3;
	public static String DurationSelector_Days_2;
	public static String DurationSelector_Hours_3;
	public static String DurationSelector_Minutes_4;
	public static String DurationSelector_Months_1;
	public static String DurationSelector_Seconds_5;
	public static String DurationSelector_Years_1;
	public static String EditMessagePropertyDialog_10;
	public static String EditMessagePropertyDialog_14;
	public static String EditMessagePropertyDialog_18;
	public static String EditMessagePropertyDialog_1;
	public static String EditMessagePropertyDialog_20;
	public static String EditMessagePropertyDialog_21;
	public static String EditMessagePropertyDialog_22;
	public static String EditMessagePropertyDialog_23;
	public static String EditMessagePropertyDialog_26;
	public static String EditMessagePropertyDialog_27;
	public static String EditMessagePropertyDialog_4;

	// https://jira.jboss.org/browse/JBIDE-7107
	public static String EditMessagePropertyDialog_11;
	public static String EditMessagePropertyDialog_12;
	public static String EditMessagePropertyDialog_13;
	public static String EditMessagePropertyDialog_15;
	public static String EditMessagePropertyDialog_16;

	public static String EditMessagePropertyDialog_Type_1;
	public static String EditMessagePropertyDialog_Element_1;
	public static String EditMessagePropertyDialog_Message_1;
	public static String EditPropertyAliasDialog_10;
	public static String EditPropertyAliasDialog_9;
	public static String EndNodeAdapter_End_1;
	public static String EndpointReferenceAssignCategory_Endpoint_Reference;
	public static String EventHandlerAdapter_Event_Handlers_1;
	public static String ExitOnStandardFault_1;
	public static String ExitOnStandardFault_Yes_2;
	public static String ExitOnStandardFault_No_3;
	public static String ExpressionAssignCategory_Expression_1;
	public static String FaultAdapter_Fault_1;
	public static String FaultCatchNameDetails_Built_in_14;
	public static String FaultCatchNameDetails_Fault_Name__16;
	public static String FaultCatchNameDetails_Fault_Name__24;
	public static String FaultCatchNameDetails_Fault_Type__13;
	public static String FaultCatchNameDetails_Namespace__21;
	public static String FaultCatchNameDetails_User_defined_15;
	public static String FaultCatchNameSection_Variable_Name_3;
	public static String FaultCatchNameSection_Error_Invalid_Type;
	public static String FaultHandlerAdapter_Fault_Handlers_1;
	public static String FaultThrowNameDetails_Built_in_14;
	public static String FaultThrowNameDetails_Fault_Name__16;
	public static String FaultThrowNameDetails_Fault_Name__24;
	public static String FaultThrowNameDetails_Fault_Type__13;
	public static String FaultThrowNameDetails_Fault_Variable__27;
	public static String FaultThrowNameDetails_Namespace__21;
	public static String FaultThrowNameDetails_User_defined_15;
	public static String FaultThrowNameSection_Browse_1;
	public static String FaultThrowNameSection_None_3;
	public static String FaultThrowNameSection_Select_Fault_Variable_2;
	public static String FlowXYLayoutEditPolicy_Create_1;
	public static String IBPELUIConstants_Activity_Change_36;
	public static String IBPELUIConstants_Add_Compensation_Handler_11;
	public static String IBPELUIConstants_Add_Termination_Handler_11;
	public static String IBPELUIConstants_Add_Copy_12b;
	public static String IBPELUIConstants_Insert_Copy;
	public static String IBPELUIConstants_Swap_Copy;
	public static String IBPELUIConstants_Add_VALIDATE_VARIABLE_15;
	public static String IBPELUIConstants_Add_Correlation_6;
	public static String IBPELUIConstants_Add_Custom_Property_14;
	public static String IBPELUIConstants_Add_Custom_Setting_13;
	public static String IBPELUIConstants_Add_Event_Handler_11;
	public static String IBPELUIConstants_Add_Fault_Handler_11;
	public static String IBPELUIConstants_Add_Import;
	public static String IBPELUIConstants_Add_Link_5;
	public static String IBPELUIConstants_Add_Partner_7;
	public static String IBPELUIConstants_Add_Property_9;
	public static String IBPELUIConstants_Add_Property_Alias_10;
	public static String IBPELUIConstants_Add_Role_12;
	public static String IBPELUIConstants_Add_Variable_8;
	public static String IBPELUIConstants_Add_MessageExchange;
	public static String IBPELUIConstants_Assign_Copy_Change_64;
	public static String IBPELUIConstants_Auto_Arrange_33;
	public static String IBPELUIConstants_Change_4;
	public static String IBPELUIConstants_Change_5;
	public static String IBPELUIConstants_Change_BPEL_File_30;
	public static String IBPELUIConstants_Compensate_Change_40;
	public static String IBPELUIConstants_Correlation_Change_65;
	public static String IBPELUIConstants_Create_Instance_Change_51;
	public static String IBPELUIConstants_Assign_Validate_XML_52;
	public static String IBPELUIConstants_Delete_Copy_24b;
	public static String IBPELUIConstants_Delete_Correlation_18;
	public static String IBPELUIConstants_Delete_Link_17;
	public static String IBPELUIConstants_Delete_Property_19;
	public static String IBPELUIConstants_Delete_Property_Alias_20;
	public static String IBPELUIConstants_Delete_Role_24;
	public static String IBPELUIConstants_Exit_On_Standard_Fault_1;
	public static String IBPELUIConstants_Expression_Body_Change_63;
	public static String IBPELUIConstants_Expression_Change_63;
	public static String IBPELUIConstants_Expression_Language_Change_67;
	public static String IBPELUIConstants_Fault_Name_Change_68;
	public static String IBPELUIConstants_Fault_Namespace_Change_69;
	public static String IBPELUIConstants_Fault_Variable_Name_Change_70;
	public static String IBPELUIConstants_Interface_Change_45;
	public static String IBPELUIConstants_Join_Failure_Change_50;
	public static String IBPELUIConstants_Message_Type_Change_37;
	public static String IBPELUIConstants_Method_Change_46;
	public static String IBPELUIConstants_My_Role_Change_42;
	public static String IBPELUIConstants_Name_Change_66;
	public static String IBPELUIConstants_Name_Change_80;
	public static String IBPELUIConstants_Message_Exchange_Change;
	public static String IBPELUIConstants_Operation_Change_39;
	public static String IBPELUIConstants_Partner_Change_79;
	public static String IBPELUIConstants_Partner_Link_Change_43;
	public static String IBPELUIConstants_Partner_Role_Change_44;
	public static String IBPELUIConstants_Port_Type_Change_41;
	public static String IBPELUIConstants_Process_Type_Change_67;
	public static String IBPELUIConstants_Property_Change_71;
	public static String IBPELUIConstants_Query_Language_Change_67;
	public static String IBPELUIConstants_Remove_Client_Settings_21;
	public static String IBPELUIConstants_Remove_Custom_Property_25;
	public static String IBPELUIConstants_Remove_Import;
	public static String IBPELUIConstants_Delete_Validate_Variable_26;
	public static String IBPELUIConstants_Remove_Custom_Settings_22;
	public static String IBPELUIConstants_Remove_Property_23;
	public static String IBPELUIConstants_Reposition_26;
	public static String IBPELUIConstants_Resize_27;
	public static String IBPELUIConstants_Scope_Compensable_Change_38;
	public static String IBPELUIConstants_Scope_Serialization_Change_38;
	public static String IBPELUIConstants_Spec_Compliance_Change_2;
	public static String IBPELUIConstants_Target_namespace_Change_61;
	public static String IBPELUIConstants_Variable_Change_38;
	public static String IBPELUIConstants_Variable_Type_Change_1;
	public static String IBPELUIConstants_Variable_Type_Change_73;
	public static String IBELUIConstants_SET_PARALLEL_EXECUTION;
	public static String IBELUIConstants_COUNTER_VARIABLE_NAME_CHANGE;
	public static String IBELUIConstants_SET_SUCCESSFUL_BRANCHES_ONLY;
	public static String ImportDetails_Import_Location_12;
	public static String ImportDetails_Import_Namespace_12;
	public static String ImportDetails_Imports_20;
	public static String InsertInContainerCommand_Add_1;
	public static String InsertInContainerCommand_Add_Node_1;
	public static String InsertInContainerCommand_Node_3;
	public static String InsertNewAction_Insert_a;
	public static String InvokeAction_Invoke_HTML_Description_1;
	public static String InvokeImplDetails_Fault_Name__25;
	public static String InvokeImplDetails_Operation__19;
	public static String InvokeImplDetails_Partner__10;
	public static String InvokeImplDetails_Request_3_Plain;
	public static String InvokeImplDetails_Response_4_Plain;
	// https://issues.jboss.org/browse/JBIDE-8305
	public static String InvokeImplDetails_MessageType;
	public static String InvokeImplDetails_Element;
	public static String InvokeImplDetails_MessageTypeOrElement;

	public static String InvokeImplSection_None_1;
	public static String JoinFailureDetails_No_3;
	public static String JoinFailureDetails_Suppress_Join_Failure__1;
	public static String JoinFailureDetails_Use_Same_Value_as_Parent__No__6;
	public static String JoinFailureDetails_Use_Same_Value_as_Parent__Yes__5;
	public static String JoinFailureDetails_Use_Same_Value_as_Parent_4;
	public static String JoinFailureDetails_Yes_2;
	public static String LinkAdapter_Link_1;
	public static String LiteralAssignCategory_Fixed_Value_1;
	public static String LiteralAssignCategory_Literal_not_XML_2;
	public static String LiteralAssignCategory_Warning_1;
	public static String MakePartner2WayAction_0;
	public static String MessageAdapter_Message_1;

	public static String MessageExchangesAdapter_Label;
	public static String MessageExchangesAdapter_TypeLabel;
	public static String MessageExchangeAdapter_TypeLabel;
	public static String MessageExchangesEditPart_Add_Message_Exchange_1;
	public static String MessageExchangesEditPart_Remove_Message_Exchange_1;
	public static String MessageExchangeImplSection_1;
	public static String MessageExchangeImplSection_Create_Global;
	public static String MessageExchangeImplSection_Create_Local;
	public static String MessageExchangeImplSection_Clear;

	public static String MessageExchange_Create_Dialog_Title;
	public static String MessageExchange_Create_Dialog_NameField_Label;



	public static String ModelLabelProvider____None____1;
	public static String ModelTreeLabelProvider_s1_s2;
	public static String NameDetails_BPEL_Name__3;
	public static String NameDetails_RenameErrorMessage;
	public static String NamespaceSection_Target_namespace_1;
	public static String NullAssignCategory____None____1;
	public static String NullHandlingLabelProvider____None____1;
	public static String OnAlarmAdapter_OnAlarm_1;
	public static String OnEventAdapter_OnEvent_1;
	public static String OnMessageAdapter_OnMessage_1;
	public static String OpaqueAssignCategory_An_Opaque_value_is_used_in_abstract_processes__2;
	public static String OpaqueAssignCategory_Opaque_1;
	public static String OperationAdapter_Operation_1;
	public static String ElseAdapter_0;
	public static String ElseConditionDetails_0;
	public static String PartAdapter_Part_1;
	public static String PartLabelProvider__none__1;
	public static String PartLabelProvider_result_localPart;
	public static String PartnerLinkAdapter_Partner_1;
	public static String PartnerLinkImplSection_Browse_1;
	public static String PartnerLinkSelectorDialog_0;
	public static String PartnerLinkSelectorDialog_1;
	public static String PartnerLinkSelectorDialog_2;
	public static String PartnerLinkSelectorDialog_3;
	public static String PartnerLinkSelectorDialog_4;
	public static String PartnerLinkSelectorDialog_5;
	public static String PartnerLinkSelectorDialog_6;
	public static String PartnerRoleSelectorDialog_Title_PartnerRole;
	public static String PartnerRoleSelectorDialog_Title_MyRole;
	public static String PartnerLinkTypeAdapter_Partner_Link_Type_1;
	public static String PartnerLinksAdapter_PartnerLinks_1;
	public static String PartnerLinksEditPart_0;
	public static String PartnerLinksEditPart_1;
	public static String PartnerLinksEditPart_Partners_1;
	public static String PartnerRoleAssignCategory_Partner_Change_4;
	public static String PartnerRoleAssignCategory_Partner_Reference_1;
	public static String PartnerRoleAssignCategory_Role_Change_2;
	public static String PartnerRoleAssignCategory_Role__3;
	public static String PortTypeAdapter_Port_Type_2;
	public static String ProcessAdapter_Process_1;
	public static String ProcessContextMenuProvider_Add_1;
	public static String ProcessContextMenuProvider_Change_Type_3;
	public static String ProcessContextMenuProvider_Insert_Before_2;
	public static String PropertyAdapter_Property_1;
	public static String PropertySelectorDialog_Matches_4;
	public static String PropertySelectorDialog_None_1;
	public static String PropertySelectorDialog_Property_Name_wildcards_3;
	public static String PropertySelectorDialog_Property_Type_5;
	public static String PropertySelectorDialog_Select_a_Property_2;
	public static String ReceiveAction_Receive_HTML_Description_1;
	public static String ReferencePartnerLinksAdapter_0;
	public static String ReferencePartnerLinksEditPart_0;
	public static String ReferencePartnerLinksEditPart_1;
	public static String RenameAction_Rename_0;
	public static String RenameAction_Rename_1;
	public static String ReorderInContainerCommand_Reorder_1;
	public static String ReplaceInContainerCommand_Replace_1;
	public static String ReplyAction_Reply_HTML_Description_1;
	public static String RevertAction_0;
	public static String RevertRetargetAction_Rever_t_1;
	public static String RoleAdapter_Role_1;
	public static String RolePortTypeAdapter_Port_Type_1;
	public static String SelectionAndCreationDialog_Error_2;
	public static String SelectionAndCreationDialog_New_1;
	public static String SelectionAndCreationDialog_No_elements_were_selected_3;
	public static String SetCommand_Change_1;
	public static String SetCommand_Change_2;
	public static String SetCompensateLinkAction_Set_Compensate_1;
	public static String SetExtensibilityElementCommand_Change_1;
	public static String SetPartnerLinkAction_Set_Partner_1;
	public static String SetRequestVarAction_Set_Request_Variable_1;
	public static String SetResponseVarAction_Set_Response_Variable_1;
	public static String SetVariableAction_Select_Request_Variable_2;
	public static String SetVariableAction_Select_Response_Variable_2;
	public static String SimpleAction_Simple_Action_0;
	public static String StartNodeAdapter_Start_1;
	public static String TableCursor_ScreenReader_Cell_Action1;
	public static String ToggleAutoFlowLayout_Align_Flow_Contents_Automatically_2;
	public static String ToggleAutoFlowLayout_Align_activities_in_Flows_automatically_3;
	public static String ToggleShowCompensationHandler_Show_Compensation_Handler_2;
	public static String ToggleShowCompensationHandler_Shows_compensation_handler_activities_3;
	public static String ToggleShowTerminationHandler_Show_Termination_Handler_2;
	public static String ToggleShowTerminationHandler_Shows_termination_handler_activities_3;
	public static String ToggleShowEventHandler_Show_Event_Handler_2;
	public static String ToggleShowEventHandler_Shows_event_handler_activities_3;
	public static String ToggleShowFaultHandler_Show_Fault_Handler_2;
	public static String ToggleShowFaultHandler_Shows_fault_handler_activities_3;
	public static String VariableAdapter_0;
	public static String VariableImplDetails_Isolated__6;
	public static String VariablePartAssignCategory_Query__8;
	public static String VariablePartAssignCategory_Variable_or_Part_1;
	public static String VariablePropertyAssignCategory_Property_of_a_Variable_1;
	public static String VariableSelectorDialog_Matches_2;
	public static String VariableSelectorDialog_New_Variable_4;
	public static String VariableSelectorDialog_None_0;
	public static String VariableSelectorDialog_Variable_Name_5;
	public static String VariableSelectorDialog_Variable_Name_wildcards_1;
	public static String VariableSelectorDialog_Variable_Type_4;
	public static String VariableTypeSelector_0;
	public static String VariableTypeSelector_1;
	public static String VariableTypeSelector_2;
	public static String VariableTypeSelector_3;
	public static String VariableTypeSelector_Browse_1;
	public static String VariableTypeSelector_Browse_2;
	public static String VariableTypeSelector_Data_Type_1;
	public static String VariableTypeSelector_Data_Type_2;
	public static String VariableTypeSelector_Direction_1;
	public static String VariableTypeSelector_Fault_1;
	public static String VariableTypeSelector_Fault_2;
	public static String VariableTypeSelector_Input_1;
	public static String VariableTypeSelector_Interface_1;
	public static String VariableTypeSelector_Interface_2;
	public static String VariableTypeSelector_None_1;
	public static String VariableTypeSelector_Operation_1;
	public static String VariableTypeSelector_Output_1;
	public static String VariablesAdapter_Variables_0;
	public static String VariablesEditPart_Add_Variable_1;
	public static String VariablesEditPart_Remove_Variable_1;
	public static String VariablesEditPart_Variables_1;
	public static String WaitConditionSection_Date_1;
	public static String WaitConditionSection_Duration_2;

	public static String ForEachSection_IS_PARALLEL;
	public static String ForEachSection_COUNTER_NAME;
	public static String ForEachSuccessfulBranchesOnlySection_1;
	public static String ForEachStartCounterValuesSection_TITLE_3;
	public static String ForEachFinalCounterValuesSection_TITLE_3;

	public static String XSDAttributeDeclarationAdapter_XSD_Attribute_1;
	public static String XSDComplexTypeDefinitionAdapter_0;
	public static String XSDElementDeclarationAdapter_XSD_Element_1;
	public static String XSDSchemaAdapter_0;
	public static String XSDSchemaAdapter_1;
	public static String XSDSchemaTreeNode_0;
	public static String XSDSchemaTreeNode_1;
	public static String XSDSimpleTypeDefinitionAdapter_0;
	public static String XSDTypeDefinitionAdapter_XSD_Type_1;
	public static String ZoominToolEntry_Zoom_in_1;
	public static String ZoomoutToolEntry_Zoom_out_1;
	public static String TerminationHandlerAdapter_Termination_Handlers_1;
	public static String CreateTerminationHandlerAction_Add_Termination_Handler_1;
	public static String ValidateDetails_1;
	public static String ValidateDetails_2;
	public static String ValidateDetails_3;
	public static String ValidateDetails_4;
	// 3-letter abbreviations.  We could get rid of these ones if we get rid of DateTimeSelector.
	public static String DateTimeSelector_Month_1;
	public static String DateTimeSelector_Month_2;
	public static String DateTimeSelector_Month_3;
	public static String DateTimeSelector_Month_4;
	public static String DateTimeSelector_Month_5;
	public static String DateTimeSelector_Month_6;
	public static String DateTimeSelector_Month_7;
	public static String DateTimeSelector_Month_8;
	public static String DateTimeSelector_Month_9;
	public static String DateTimeSelector_Month_10;
	public static String DateTimeSelector_Month_11;
	public static String DateTimeSelector_Month_12;

	public static String ShowPropertiesViewAction_actionText;
	public static String ShowPaletteInPaletteViewAction_actionText;

    public static String OutlinePage_showOverviewView;
    public static String OutlinePage_showOutlineView;

	public static String DeletePartnerLinkTypeWarningMessage;
	public static String DeletePartnerLinkTypeWarningDialogTitle;

	// https://jira.jboss.org/browse/JBIDE-7520
	public static String EditModelClient_load_error_title;
	public static String EditModelClient_bpel_load_error;
	public static String EditModelClient_bpelex_load_error;
	public static String EditModelClient_wsdl_load_error;
	public static String EditModelClient_delete_error_title;
	public static String EditModelClient_delete_error_message;
	public static String Editor_load_error_title;
	public static String Editor_load_error;
	public static String Editor_design_page_error;

	public static String Make_Process_Abstract_Title;
	public static String Make_Process_Abstract_Message;

	static {

		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
	}
}