/*******************************************************************************
 * Copyright (c) 2000, 2022 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *     John Kaplan, johnkaplantech@gmail.com - 108071 [code templates] template for body of newly created class
 *     Sebastian Davids, sdavids@gmx.de - 187316 [preferences] Mark Occurences Pref Page; Link to
 *     Benjamin Muskalla <b.muskalla@gmx.net> - [preferences] Add preference for new compiler warning: MissingSynchronizedModifierInInheritedMethod - https://bugs.eclipse.org/bugs/show_bug.cgi?id=245240
 *     Guven Demir <guven.internet+eclipse@gmail.com> - [package explorer] Alternative package name shortening: abbreviation - https://bugs.eclipse.org/bugs/show_bug.cgi?id=299514
 *     Thomas Reinhardt <thomas@reinhardt.com> - [build path] user library dialog should allow to select JAR from workspace - http://bugs.eclipse.org/300542
 *     Stephan Herrmann <stephan@cs.tu-berlin.de> - Contributions for
 *     				[compiler][null] inheritance of null annotations as an option - https://bugs.eclipse.org/388281
 *     				Warning option for bug 410218 - https://bugs.eclipse.org/461999
 *     Gábor Kövesdán - Contribution for Bug 350000 - [content assist] Include non-prefix matches in auto-complete suggestions
 *     Jesper S Møller - Contributions for bug 529432 - Allow JDT UI to target Java 10
 *     Angelo Zerr <angelo.zerr@gmail.com> - [CodeMining] Provide Java References/Implementation CodeMinings - Bug 529127
 *******************************************************************************/
package org.eclipse.jdt.internal.ui.preferences;

import org.eclipse.osgi.util.NLS;


public final class PreferencesMessages extends NLS {

	private static final String BUNDLE_NAME= "org.eclipse.jdt.internal.ui.preferences.PreferencesMessages";//$NON-NLS-1$

	private PreferencesMessages() {
		// Do not instantiate
	}

	public static String BuildPathsPropertyPage_error_message;
	public static String BuildPathsPropertyPage_error_title;
	public static String BuildPathsPropertyPage_job_title;
	public static String BuildPathsPropertyPage_no_java_project_message;
	public static String BuildPathsPropertyPage_closed_project_message;
	public static String BuildPathsPropertyPage_unsavedchanges_title;
	public static String BuildPathsPropertyPage_unsavedchanges_message;
	public static String BuildPathsPropertyPage_unsavedchanges_button_save;
	public static String BuildPathsPropertyPage_unsavedchanges_button_discard;
	public static String BuildPathsPropertyPage_unsavedchanges_button_ignore;
	public static String ClasspathVariablesPreferencePage_title;
	public static String ClasspathVariablesPreferencePage_description;
	public static String ClasspathVariablesPreferencePage_savechanges_title;
	public static String ClasspathVariablesPreferencePage_savechanges_message;
	public static String CleanUpPreferencePage_Description;
	public static String CleanUpPreferencePage_Title;
	public static String CodeAssistAdvancedConfigurationBlock_default_table_category_column_title;
	public static String CodeAssistAdvancedConfigurationBlock_default_table_description;
	public static String CodeAssistAdvancedConfigurationBlock_default_table_keybinding_column_title;
	public static String CodeAssistAdvancedConfigurationBlock_key_binding_hint;
	public static String CodeAssistAdvancedConfigurationBlock_page_description;
	public static String CodeAssistAdvancedConfigurationBlock_separate_table_category_column_title;
	public static String CodeAssistAdvancedConfigurationBlock_separate_table_description;
	public static String CodeAssistAdvancedConfigurationBlock_no_shortcut;
	public static String CodeAssistAdvancedConfigurationBlock_Up;
	public static String CodeAssistAdvancedConfigurationBlock_Down;
	public static String CodeAssistAdvancedConfigurationBlock_parameterNameFromAttachedJavadoc_timeout;
	public static String CodeAssistAdvancedConfigurationBlock_parameterNameFromAttachedJavadoc_timeout_emptyInput;
	public static String CodeAssistAdvancedConfigurationBlock_parameterNameFromAttachedJavadoc_timeout_invalidInput;
	public static String CodeAssistAdvancedConfigurationBlock_parameterNameFromAttachedJavadoc_timeout_invalidRange;
	public static String CodeAssistAdvancedConfigurationBlock_nonUIThread;
	public static String CodeAssistAdvancedConfigurationBlock_nonUIThread_computersRequiringUIThread;
	public static String ImportOrganizePreferencePage_title;
	public static String ImportOrganizeConfigurationBlock_order_label;
	public static String ImportOrganizeConfigurationBlock_other_static;
	public static String ImportOrganizeConfigurationBlock_other_normal;
	public static String ImportOrganizeConfigurationBlock_order_add_button;
	public static String ImportOrganizeConfigurationBlock_order_edit_button;
	public static String ImportOrganizeConfigurationBlock_order_up_button;
	public static String ImportOrganizeConfigurationBlock_order_down_button;
	public static String ImportOrganizeConfigurationBlock_order_remove_button;
	public static String ImportOrganizeConfigurationBlock_order_add_static_button;
	public static String ImportOrganizeConfigurationBlock_order_load_button;
	public static String ImportOrganizeConfigurationBlock_order_save_button;
	public static String ImportOrganizeConfigurationBlock_ignoreLowerCase_label;
	public static String ImportOrganizeConfigurationBlock_threshold_label;
	public static String ImportOrganizeConfigurationBlock_error_invalidthreshold;
	public static String ImportOrganizeConfigurationBlock_loadDialog_title;
	public static String ImportOrganizeConfigurationBlock_loadDialog_error_title;
	public static String ImportOrganizeConfigurationBlock_loadDialog_error_message;
	public static String ImportOrganizeConfigurationBlock_saveDialog_title;
	public static String ImportOrganizeConfigurationBlock_saveDialog_error_title;
	public static String ImportOrganizeConfigurationBlock_staticthreshold_label;
	public static String ImportOrganizeConfigurationBlock_saveDialog_error_message;
	public static String ImportOrganizeInputDialog_title;
	public static String ImportOrganizeInputDialog_browse_packages_button;
	public static String ImportOrganizeInputDialog_browse_types_label;
	public static String ImportOrganizeInputDialog_title_static;
	public static String ImportOrganizeInputDialog_ChoosePackageDialog_title;
	public static String ImportOrganizeInputDialog_ChoosePackageDialog_description;
	public static String ImportOrganizeInputDialog_ChoosePackageDialog_empty;
	public static String ImportOrganizeInputDialog_ChooseTypeDialog_title;
	public static String ImportOrganizeInputDialog_ChooseTypeDialog_description;
	public static String ImportOrganizeInputDialog_ChooseTypeDialog_error_message;
	public static String ImportOrganizeInputDialog_error_invalidName;
	public static String ImportOrganizeInputDialog_error_entryExists;
	public static String ImportOrganizeInputDialog_name_group_label;
	public static String ImportOrganizeInputDialog_name_group_static_label;
	public static String JavaBasePreferencePage_rebuildingIndexJobName;
	public static String JavaBasePreferencePage_rebuildIndexButtonName;
	public static String JavaBasePreferencePage_description;
	public static String JavaBasePreferencePage_doubleclick_action;
	public static String JavaBasePreferencePage_doubleclick_gointo;
	public static String JavaBasePreferencePage_doubleclick_expand;
	public static String JavaBasePreferencePage_refactoring_lightweight;
	public static String JavaBasePreferencePage_refactoring_title;
	public static String JavaBasePreferencePage_refactoring_auto_save;
	public static String JavaBasePreferencePage_search;
	public static String JavaBasePreferencePage_search_small_menu;
	public static String JavaBasePreferencePage_search_enable_parallel;
	public static String JavaBuildConfigurationBlock_build_recreate_modified;
	public static String JavadocConfigurationBlock_error_archive_not_found_in_workspace;
	public static String JavadocConfigurationBlock_external_radio;
	public static String JavadocConfigurationBlock_workspace_archive_selection_dialog_description;
	public static String JavadocConfigurationBlock_workspace_archive_selection_dialog_title;
	public static String JavadocConfigurationBlock_workspace_radio;
	public static String JavadocConfigurationPropertyPage_invalid_container;
	public static String JavadocConfigurationPropertyPage_not_supported;
	public static String JavadocConfigurationPropertyPage_read_only;
	public static String JavaEditorPropertyPage_SaveActionLink_Text;
	public static String NativeLibrariesPropertyPage_invalid_container;
	public static String NativeLibrariesPropertyPage_not_supported;
	public static String NativeLibrariesPropertyPage_read_only;
	public static String NewJavaProjectPreferencePage_title;
	public static String NewJavaProjectPreferencePage_description;
	public static String NewJavaProjectPreferencePage_sourcefolder_label;
	public static String NewJavaProjectPreferencePage_sourcefolder_project;
	public static String NewJavaProjectPreferencePage_sourcefolder_folder;
	public static String NewJavaProjectPreferencePage_folders_src;
	public static String NewJavaProjectPreferencePage_folders_bin;
	public static String NewJavaProjectPreferencePage_jrelibrary_label;
	public static String NewJavaProjectPreferencePage_jre_variable_description;
	public static String NewJavaProjectPreferencePage_jre_container_description;
	public static String NewJavaProjectPreferencePage_folders_error_namesempty;
	public static String NewJavaProjectPreferencePage_folders_error_invalidsrcname;
	public static String NewJavaProjectPreferencePage_folders_error_invalidbinname;
	public static String NewJavaProjectPreferencePage_folders_error_invalidcp;
	public static String NewJavaProjectPreferencePage_error_decode;
	public static String JavaEditorPreferencePage_analyseAnnotationsWhileTyping;
	public static String JavaEditorPreferencePage_multiLineComment;
	public static String JavaEditorPreferencePage_singleLineComment;
	public static String JavaEditorPreferencePage_returnKeyword;
	public static String JavaEditorPreferencePage_keywords;
	public static String JavaEditorPreferencePage_strings;
	public static String JavaEditorPreferencePage_others;
	public static String JavaEditorPreferencePage_operators;
	public static String JavaEditorPreferencePage_bracketHighlighting;
	public static String JavaEditorPreferencePage_brackets;
	public static String JavaEditorPreferencePage_javaCommentTaskTags;
	public static String JavaEditorPreferencePage_javaDocKeywords;
	public static String JavaEditorPreferencePage_javaDocHtmlTags;
	public static String JavaEditorPreferencePage_javaDocLinks;
	public static String JavaEditorPreferencePage_javaDocOthers;
	public static String JavaEditorPreferencePage_systemDefault;
	public static String JavaEditorPreferencePage_color;
	public static String JavaEditorPreferencePage_bold;
	public static String JavaEditorPreferencePage_italic;
	public static String JavaEditorPreferencePage_strikethrough;
	public static String JavaEditorPreferencePage_underline;
	public static String JavaEditorPreferencePage_enable;
	public static String JavaEditorPreferencePage_preview;
	public static String JavaEditorPreferencePage_highlightMatchingBracketAndCaretLocation;
	public static String JavaEditorPreferencePage_highlightEnclosingBrackets;
	public static String JavaEditorPreferencePage_highlightMatchingBracket;
	public static String JavaEditorPreferencePage_insertSingleProposalsAutomatically;
	public static String JavaEditorPreferencePage_disableCompletionProposalTriggerChars;
	public static String JavaEditorPreferencePage_showOnlyProposalsVisibleInTheInvocationContext;
	public static String JavaEditorPreferencePage_presentProposalsInAlphabeticalOrder;
	public static String JavaEditorPreferencePage_coloring_element;
	public static String JavaEditorPreferencePage_enableAutoActivation;
	public static String JavaEditorPreferencePage_automaticallyAddImportInsteadOfQualifiedName;
	public static String JavaEditorPreferencePage_suggestStaticImports;
	public static String JavaEditorPreferencePage_completionInserts;
	public static String JavaEditorPreferencePage_completionOverwrites;
	public static String JavaEditorPreferencePage_completionToggleHint;
	public static String JavaEditorPreferencePage_fillArgumentsOnMethodCompletion;
	public static String JavaEditorPreferencePage_fillParameterNamesOnMethodCompletion;
	public static String JavaEditorPreferencePage_fillBestGuessedArgumentsOnMethodCompletion;
	public static String JavaEditorPreferencePage_autoActivationDelay;
	public static String JavaEditorPreferencePage_autoActivationTriggersForJava;
	public static String JavaEditorPreferencePage_autoActivationTriggersForJavaDoc;
	public static String JavaEditorPreferencePage_completePrefixes;
	public static String JavaEditorPreferencePage_backgroundForMethodParameters;
	public static String JavaEditorPreferencePage_foregroundForMethodParameters;
	public static String JavaEditorPreferencePage_backgroundForCompletionReplacement;
	public static String JavaEditorPreferencePage_foregroundForCompletionReplacement;
	public static String JavaEditorPreferencePage_sourceHoverBackgroundColor;
	public static String JavaEditorPreferencePage_general;
	public static String JavaEditorPreferencePage_colors;
	public static String JavaEditorPreferencePage_empty_input;
	public static String JavaEditorPreferencePage_invalid_input;
	public static String JavaEditorPreferencePage_matchingBracketsHighlightColor2;
	public static String JavaEditorPreferencePage_appearanceOptions;
	public static String JavaEditorPreferencePage_typing_tabTitle;
	public static String JavaEditorPreferencePage_closeStrings;
	public static String JavaEditorPreferencePage_closeBrackets;
	public static String JavaEditorPreferencePage_closeBraces;
	public static String JavaEditorPreferencePage_closeJavaDocs;
	public static String JavaEditorPreferencePage_wrapStrings;
	public static String JavaEditorPreferencePage_escapeStrings;
	public static String JavaEditorPreferencePage_escapeStringsNonAscii;
	public static String JavaEditorPreferencePage_addJavaDocTags;
	public static String JavaEditorPreferencePage_smartPaste;
	public static String JavaEditorPreferencePage_link;
	public static String JavaEditorPreferencePage_importsOnPaste;
	public static String JavaEditorPreferencePage_subWordNavigation;
	public static String JavaEditorPreferencePage_typing_smartSemicolon;
	public static String JavaEditorPreferencePage_typing_smartOpeningBrace;
	public static String JavaEditorPreferencePage_typing_smartTab;
	public static String JavaEditorPreferencePage_hoverTab_title;
	public static String JavaEditorPreferencePage_smartInsertMode_message;
	public static String JavaEditorPreferencePage_smartAutoIndentAfterNewLine;
	public static String JavaEditorColoringConfigurationBlock_link;
	public static String JavaBasePreferencePage_openTypeHierarchy;
	public static String JavaBasePreferencePage_openCallHierarchy;
	public static String JavaBasePreferencePage_showCalleeImplementations;
	public static String JavaBasePreferencePage_inView;
	public static String JavaBasePreferencePage_inPerspective;
	public static String JavaEditorPreferencePage_quickassist_lightbulb;
	public static String JavaEditorPreferencePage_showJavaElementOnly;
	public static String JavaEditorHoverConfigurationBlock_annotationRollover;
	public static String JavaEditorHoverConfigurationBlock_hoverPreferences;
	public static String JavaEditorHoverConfigurationBlock_keyModifier;
	public static String JavaEditorHoverConfigurationBlock_description;
	public static String JavaEditorHoverConfigurationBlock_modifierIsNotValid;
	public static String JavaEditorHoverConfigurationBlock_modifierIsNotValidForHover;
	public static String JavaEditorHoverConfigurationBlock_duplicateModifier;
	public static String JavaEditorHoverConfigurationBlock_nameColumnTitle;
	public static String JavaEditorHoverConfigurationBlock_modifierColumnTitle;
	public static String JavaEditorHoverConfigurationBlock_delimiter;
	public static String JavaEditorHoverConfigurationBlock_insertDelimiterAndModifierAndDelimiter;
	public static String JavaEditorHoverConfigurationBlock_insertModifierAndDelimiter;
	public static String JavaEditorHoverConfigurationBlock_insertDelimiterAndModifier;
	public static String MarkOccurrencesConfigurationBlock_title;
	public static String MarkOccurrencesConfigurationBlock_link;
	public static String MarkOccurrencesConfigurationBlock_markOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markTypeOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markMethodOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markConstantOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markFieldOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markLocalVariableOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markExceptionOccurrences;
	public static String MarkOccurrencesConfigurationBlock_markMethodExitPoints;
	public static String MarkOccurrencesConfigurationBlock_markImplementors;
	public static String MarkOccurrencesConfigurationBlock_markBreakContinueTargets;
	public static String MarkOccurrencesConfigurationBlock_stickyOccurrences;
	public static String JavadocConfigurationPropertyPage_IsPackageFragmentRoot_description;
	public static String JavadocConfigurationPropertyPage_IsIncorrectElement_description;
	public static String JavadocConfigurationPropertyPage_IsJavaProject_description;
	public static String JavadocConfigurationPropertyPage_location_path;
	public static String JavadocConfigurationPropertyPage_locationPath_none;
	public static String JavadocConfigurationBlock_browse_folder_button;
	public static String JavadocConfigurationBlock_error_notafolder;
	public static String JavadocConfigurationBlock_javadocFolderDialog_label;
	public static String JavadocConfigurationBlock_javadocFolderDialog_message;
	public static String JavadocConfigurationBlock_MalformedURL_error;
	public static String JavadocConfigurationBlock_validate_button;
	public static String JavadocConfigurationBlock_InvalidLocation_message;
	public static String JavadocConfigurationBlock_ValidPackageListJavadocLocation_message;
	public static String JavadocConfigurationBlock_ValidElementListJavadocLocation_message;
	public static String JavadocConfigurationBlock_OK_label;
	public static String JavadocConfigurationBlock_Open_label;
	public static String JavadocConfigurationBlock_UnableToValidateLocation_message;
	public static String JavadocConfigurationBlock_MessageDialog_title;
	public static String JavadocConfigurationBlock_location_type_path_label;
	public static String JavadocConfigurationBlock_location_type_jar_label;
	public static String JavadocConfigurationBlock_location_path_label;
	public static String JavadocConfigurationBlock_location_jar_label;
	public static String JavadocConfigurationBlock_jar_path_label;
	public static String JavadocConfigurationBlock_zipImportSource_title;
	public static String JavadocConfigurationBlock_location_in_jarorzip_message;
	public static String JavadocConfigurationBlock_browse_jarorzip_path_title;
	public static String JavadocConfigurationBlock_error_notafile;
	public static String JavadocConfigurationBlock_error_invalidarchivepath;
	public static String JavadocConfigurationBlock_error_archivepathnotabsolute;
	public static String JavadocConfigurationBlock_error_dialog_title;
	public static String JavadocConfigurationBlock_browse_archive_button;
	public static String JavadocConfigurationBlock_browse_archive_path_button;
	public static String ProblemSeveritiesConfigurationBlock_adapt_null_pointer_access_settings_dialog_message;
	public static String ProblemSeveritiesConfigurationBlock_adapt_null_pointer_access_settings_dialog_title;
	public static String ProblemSeveritiesConfigurationBlock_ignore_documented_unused_exceptions;
	public static String ProblemSeveritiesConfigurationBlock_ignore_documented_unused_parameters;
	public static String ProblemSeveritiesConfigurationBlock_pb_redundant_null_annotation;
	public static String ProblemSeveritiesConfigurationBlock_pb_nonnull_parameter_annotation_dropped;
	public static String ProblemSeveritiesConfigurationBlock_pb_redundant_null_check;
	public static String ProblemSeveritiesConfigurationBlock_pb_redundant_super_interface_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_redundant_type_arguments_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_resource_leak_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_resource_not_managed_via_twr_label;
	public static String ProblemSeveritiesConfigurationBlock_include_assert_in_null_analysis;
	public static String ProblemSeveritiesConfigurationBlock_treat_optional_as_fatal;
	public static String SourceAttachmentPropertyPage_error_title;
	public static String SourceAttachmentPropertyPage_error_message;
	public static String SourceAttachmentPropertyPage_invalid_container;
	public static String SourceAttachmentPropertyPage_location_path;
	public static String SourceAttachmentPropertyPage_locationPath_none;
	public static String SourceAttachmentPropertyPage_noarchive_message;
	public static String NativeLibrariesPropertyPage_invalidElementSelection_desription;
	public static String NativeLibrariesPropertyPage_errorAttaching_title;
	public static String NativeLibrariesPropertyPage_errorAttaching_message;
	public static String NativeLibrariesPropertyPage_location_path;
	public static String NativeLibrariesPropertyPage_locationPath_none;
	public static String AppearancePreferencePage_description;
	public static String AppearancePreferencePage_methodreturntype_label;
	public static String AppearancePreferencePage_showCategory_label;
	public static String AppearancePreferencePage_methodtypeparams_label;
	public static String AppearancePreferencePage_pkgNamePatternEnable_label;
	public static String AppearancePreferencePage_pkgNamePattern_label;
	public static String AppearancePreferencePage_pkgNamePatternAbbreviateEnable_label;
	public static String AppearancePreferencePage_pkgNamePatternAbbreviate_label;
	public static String AppearancePreferencePage_showMembersInPackagesView;
	public static String AppearancePreferencePage_decorateTestCodeContainerIcons;
	public static String AppearancePreferencePage_stackViewsVerticallyInTheJavaBrowsingPerspective;
	public static String AppearancePreferencePage_note;
	public static String AppearancePreferencePage_preferenceOnlyEffectiveForNewPerspectives;
	public static String AppearancePreferencePage_packageNameCompressionPattern_error_isEmpty;
	public static String AppearancePreferencePage_packageNameAbbreviationPattern_error_isInvalid;
	public static String AppearancePreferencePage_foldEmptyPackages;
	public static String AppearancePreferencePage_sortLibraryEntries;
	public static String CodeFormatterPreferencePage_title;
	public static String SourceAttachmentPropertyPage_not_supported;
	public static String SourceAttachmentPropertyPage_read_only;
	public static String TodoTaskPreferencePage_title;
	public static String TodoTaskPreferencePage_description;
	public static String TodoTaskConfigurationBlock_markers_tasks_high_priority;
	public static String TodoTaskConfigurationBlock_markers_tasks_normal_priority;
	public static String TodoTaskConfigurationBlock_markers_tasks_low_priority;
	public static String TodoTaskConfigurationBlock_markers_tasks_add_button;
	public static String TodoTaskConfigurationBlock_markers_tasks_remove_button;
	public static String TodoTaskConfigurationBlock_markers_tasks_edit_button;
	public static String TodoTaskConfigurationBlock_markers_tasks_name_column;
	public static String TodoTaskConfigurationBlock_markers_tasks_priority_column;
	public static String TodoTaskConfigurationBlock_markers_tasks_setdefault_button;
	public static String TodoTaskConfigurationBlock_casesensitive_label;
	public static String TodoTaskConfigurationBlock_needsbuild_title;
	public static String TodoTaskConfigurationBlock_tasks_default;
	public static String TodoTaskConfigurationBlock_needsfullbuild_message;
	public static String TodoTaskConfigurationBlock_needsprojectbuild_message;
	public static String TodoTaskInputDialog_new_title;
	public static String TodoTaskInputDialog_edit_title;
	public static String TodoTaskInputDialog_name_label;
	public static String TodoTaskInputDialog_priority_label;
	public static String TodoTaskInputDialog_priority_high;
	public static String TodoTaskInputDialog_priority_normal;
	public static String TodoTaskInputDialog_priority_low;
	public static String TodoTaskInputDialog_error_enterName;
	public static String TodoTaskInputDialog_error_comma;
	public static String TodoTaskInputDialog_error_entryExists;
	public static String TodoTaskInputDialog_error_noSpace;
	public static String PropertyAndPreferencePage_useworkspacesettings_change;
	public static String PropertyAndPreferencePage_showprojectspecificsettings_label;
	public static String PropertyAndPreferencePage_useprojectsettings_label;
	public static String JavaBuildPreferencePage_title;
	public static String JavaBuildConfigurationBlock_section_general;
	public static String JavaBuildConfigurationBlock_section_output_folder;
	public static String JavaBuildConfigurationBlock_section_build_path_problems;
	public static String JavaBuildConfigurationBlock_error;
	public static String JavaBuildConfigurationBlock_warning;
	public static String JavaBuildConfigurationBlock_info;
	public static String JavaBuildConfigurationBlock_ignore;
	public static String JavaBuildConfigurationBlock_needsbuild_title;
	public static String JavaBuildConfigurationBlock_needsfullbuild_message;
	public static String JavaBuildConfigurationBlock_needsprojectbuild_message;
	public static String JavaBuildConfigurationBlock_resource_filter_description;
	public static String JavaBuildConfigurationBlock_resource_filter_label;
	public static String JavaBuildConfigurationBlock_build_invalid_classpath_label;
	public static String JavaBuildConfigurationBlock_build_clean_outputfolder_label;
	public static String JavaBuildConfigurationBlock_enable_exclusion_patterns_label;
	public static String JavaBuildConfigurationBlock_enable_multiple_outputlocations_label;
	public static String JavaBuildConfigurationBlock_pb_incomplete_build_path_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_discourraged_reference_label;
	public static String JavaBuildConfigurationBlock_pb_build_path_cycles_label;
	public static String JavaBuildConfigurationBlock_pb_duplicate_resources_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_forbidden_reference_label;
	public static String JavaBuildConfigurationBlock_pb_max_per_unit_label;
	public static String JavaBuildConfigurationBlock_pb_check_prereq_binary_level_label;
	public static String JavaBuildConfigurationBlock_pb_output_overlapping_with_source_label;
	public static String JavaBuildConfigurationBlock_pb_strictly_compatible_jre_not_available_label;
	public static String JavaBuildConfigurationBlock_pb_compiler_compliance_does_not_match_jre_label;
	public static String JavaBuildConfigurationBlock_pb_main_only_project_has_test_only_dependency_label;
	public static String JavaBuildConfigurationBlock_empty_input;
	public static String JavaBuildConfigurationBlock_invalid_input;
	public static String JavaBuildConfigurationBlock_filter_invalidsegment_error;
	public static String ProblemSeveritiesPreferencePage_title;
	public static String ProblemSeveritiesConfigurationBlock_enable_annotation_null_analysis;
	public static String ProblemSeveritiesConfigurationBlock_error;
	public static String ProblemSeveritiesConfigurationBlock_warning;
	public static String ProblemSeveritiesConfigurationBlock_info;
	public static String ProblemSeveritiesConfigurationBlock_ignore;
	public static String ProblemSeveritiesConfigurationBlock_section_potential_programming_problems;
	public static String ProblemSeveritiesConfigurationBlock_section_unnecessary_code;
	public static String ProblemSeveritiesConfigurationBlock_section_code_style;
	public static String ProblemSeveritiesConfigurationBlock_section_deprecations;
	public static String ProblemSeveritiesConfigurationBlock_section_module;
	public static String ProblemSeveritiesConfigurationBlock_section_name_shadowing;
	public static String ProblemSeveritiesConfigurationBlock_section_null_analysis;
	public static String ProblemSeveritiesConfigurationBlock_section_annotations;
	public static String ProblemSeveritiesConfigurationBlock_needsbuild_title;
	public static String ProblemSeveritiesConfigurationBlock_needsfullbuild_message;
	public static String ProblemSeveritiesConfigurationBlock_needsprojectbuild_message;
	public static String NullAnnotationsConfigurationDialog_nonnull_annotations_label;
	public static String NullAnnotationsConfigurationDialog_nonnull_annotations_description;
	public static String ProblemSeveritiesConfigurationBlock_missing_nonnull_by_default_annotation;
	public static String NullAnnotationsConfigurationDialog_nonnullbydefault_annotation_error;
	public static String NullAnnotationsConfigurationDialog_nonnullbydefault_annotations_label;
	public static String NullAnnotationsConfigurationDialog_nonnullbydefault_annotations_description;
	public static String NullAnnotationsConfigurationDialog_nonnull_annotation_error;
	public static String NullAnnotationsConfigurationDialog_null_annotations_description;
	public static String NullAnnotationsConfigurationDialog_nullable_annotation_error;
	public static String NullAnnotationsConfigurationDialog_nullable_annotations_label;
	public static String NullAnnotationsConfigurationDialog_nullable_annotations_description;
	public static String NullAnnotationsConfigurationDialog_add_button;
	public static String NullAnnotationsConfigurationDialog_notFound_info;
	public static String NullAnnotationsConfigurationDialog_primary_label;
	public static String NullAnnotationsConfigurationDialog_secondary_label;
	public static String ProblemSeveritiesConfigurationBlock_common_description;
	public static String ProblemSeveritiesConfigurationBlock_pb_unavoidable_generic_type_problems;
	public static String ProblemSeveritiesConfigurationBlock_pb_unsafe_type_op_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_raw_type_reference;
	public static String ProblemSeveritiesConfigurationBlock_pb_final_param_bound_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_inexact_vararg_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unlikely_collection_method_argument_type_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unlikely_collection_method_argument_type_strict_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unlikely_equals_argument_type_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_accidential_assignement_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_local_variable_hiding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_field_hiding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_special_param_hiding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unqualified_field_access_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_finally_block_not_completing_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_undocumented_empty_block_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_throwing_exception_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_throwing_exception_when_overriding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_throwing_exception_ignore_unchecked_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_serial_version_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_static_on_method_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_synchronized_on_inherited_method;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_hashcode_method;
	public static String ProblemSeveritiesConfigurationBlock_pb_overriding_pkg_dflt_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_method_naming_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_no_effect_assignment_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_incompatible_interface_method_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_indirect_access_to_static_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_hidden_catchblock_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_static_access_receiver_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_imports_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_local_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_parameter_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_exception_parameter_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_type_parameter;
	public static String ProblemSeveritiesConfigurationBlock_pb_signal_param_in_overriding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_suppress_optional_errors_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_private_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_non_externalized_strings_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_dead_code;
	public static String ProblemSeveritiesConfigurationBlock_pb_deprecation_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_terminal_deprecation_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_deprecation_in_deprecation_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_deprecation_when_overriding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_api_leak_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unstable_auto_module_name_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_empty_statement_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unnecessary_type_check_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_incomplete_enum_switch_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_switch_missing_default_case_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unnecessary_else_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_synth_access_emul_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_autoboxing_problem_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_char_array_in_concat_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_comparing_identical;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_override_annotation_for_interface_method_implementations_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_override_annotation_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_deprecated_annotation_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_missing_enum_case_despite_default;
	public static String ProblemSeveritiesConfigurationBlock_pb_annotation_super_interface_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_type_parameter_hiding_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_label_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_unused_object_allocation_label;
	public static String JavadocProblemsPreferencePage_title;
	public static String JavadocProblemsConfigurationBlock_allStandardTags;
	public static String JavadocProblemsConfigurationBlock_public;
	public static String JavadocProblemsConfigurationBlock_protected;
	public static String JavadocProblemsConfigurationBlock_default;
	public static String JavadocProblemsConfigurationBlock_private;
	public static String JavadocProblemsConfigurationBlock_error;
	public static String JavadocProblemsConfigurationBlock_warning;
	public static String JavadocProblemsConfigurationBlock_info;
	public static String JavadocProblemsConfigurationBlock_ignore;
	public static String JavadocProblemsConfigurationBlock_note_title;
	public static String JavadocProblemsConfigurationBlock_note_message;
	public static String JavadocProblemsConfigurationBlock_needsbuild_title;
	public static String JavadocProblemsConfigurationBlock_needsfullbuild_message;
	public static String JavadocProblemsConfigurationBlock_needsprojectbuild_message;
	public static String JavadocProblemsConfigurationBlock_javadoc_description;
	public static String JavadocProblemsConfigurationBlock_pb_javadoc_support_label;
	public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_label;
	public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_label;
	public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_visibility_label;
	public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_not_visible_ref_label;
	public static String JavadocProblemsConfigurationBlock_pb_invalid_javadoc_tags_deprecated_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_javadoc_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_javadoc_tags_visibility_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_javadoc_tags_overriding_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_comments_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_comments_method_type_parameter_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_comments_visibility_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_comments_overriding_label;
	public static String JavadocProblemsConfigurationBlock_pb_missing_tag_description;
	public static String JavadocProblemsConfigurationBlock_returnTag;
	public static String CompliancePreferencePage_title;
	public static String ComplianceConfigurationBlock_error;
	public static String ComplianceConfigurationBlock_warning;
	public static String ComplianceConfigurationBlock_info;
	public static String ComplianceConfigurationBlock_ignore;
	public static String ComplianceConfigurationBlock_version11;
	public static String ComplianceConfigurationBlock_version12;
	public static String ComplianceConfigurationBlock_version13;
	public static String ComplianceConfigurationBlock_version14;
	public static String ComplianceConfigurationBlock_version15;
	public static String ComplianceConfigurationBlock_needsbuild_title;
	public static String ComplianceConfigurationBlock_needsfullbuild_message;
	public static String ComplianceConfigurationBlock_needsprojectbuild_message;
	public static String ComplianceConfigurationBlock_variable_attr_label;
	public static String ComplianceConfigurationBlock_line_number_attr_label;
	public static String ComplianceConfigurationBlock_source_file_attr_label;
	public static String ComplianceConfigurationBlock_codegen_unused_local_label;
	public static String ComplianceConfigurationBlock_cldc11_requires_source13_compliance_se14;
	public static String ComplianceConfigurationBlock_codegen_inline_jsr_bytecode_label;
	public static String ComplianceConfigurationBlock_codegen_method_parameters_attr;
	public static String ComplianceConfigurationBlock_compiler_compliance_label;
	public static String ComplianceConfigurationBlock_default_settings_label;
	public static String ComplianceConfigurationBlock_enable_preview_label;
	public static String ComplianceConfigurationBlock_enable_preview_severity_label;
	public static String ComplianceConfigurationBlock_source_compatibility_label;
	public static String ComplianceConfigurationBlock_codegen_targetplatform_label;
	public static String ComplianceConfigurationBlock_pb_assert_as_identifier_label;
	public static String ComplianceConfigurationBlock_pb_enum_as_identifier_label;
	public static String ComplianceConfigurationBlock_compliance_follows_EE_label;
	public static String ComplianceConfigurationBlock_compliance_follows_EE_with_EE_label;
	public static String ComplianceConfigurationBlock_compliance_group_label;
	public static String ComplianceConfigurationBlock_classfiles_group_label;
	public static String CodeStylePreferencePage_title;
	public static String CodeTemplatesPreferencePage_title;
	public static String NameConventionConfigurationBlock_field_label;
	public static String NameConventionConfigurationBlock_static_label;
	public static String NameConventionConfigurationBlock_arg_label;
	public static String NameConventionConfigurationBlock_local_label;
	public static String NameConventionConfigurationBlock_keywordthis_label;
	public static String NameConventionConfigurationBlock_isforbooleangetters_label;
	public static String NameConventionConfigurationBlock_dialog_prefix;
	public static String NameConventionConfigurationBlock_dialog_suffix;
	public static String NameConventionConfigurationBlock_exceptionname_label;
	public static String NameConventionConfigurationBlock_error_emptyprefix;
	public static String NameConventionConfigurationBlock_error_emptysuffix;
	public static String NameConventionConfigurationBlock_error_invalidprefix;
	public static String NameConventionConfigurationBlock_error_invalidsuffix;
	public static String NameConventionConfigurationBlock_list_label;
	public static String NameConventionConfigurationBlock_list_edit_button;
	public static String NameConventionConfigurationBlock_list_name_column;
	public static String NameConventionConfigurationBlock_list_prefix_column;
	public static String NameConventionConfigurationBlock_list_suffix_column;
	public static String NameConventionConfigurationBlock_field_dialog_title;
	public static String NameConventionConfigurationBlock_field_dialog_message;
	public static String NameConventionConfigurationBlock_static_dialog_title;
	public static String NameConventionConfigurationBlock_static_dialog_message;
	public static String NameConventionConfigurationBlock_static_final_dialog_message;
	public static String NameConventionConfigurationBlock_static_final_dialog_title;
	public static String NameConventionConfigurationBlock_static_final_label;
	public static String NameConventionConfigurationBlock_arg_dialog_title;
	public static String NameConventionConfigurationBlock_arg_dialog_message;
	public static String NameConventionConfigurationBlock_local_dialog_title;
	public static String NameConventionConfigurationBlock_local_dialog_message;
	public static String NameConventionConfigurationBlock_override_link_label;
	public static String MembersOrderPreferencePage_category_button_up;
	public static String MembersOrderPreferencePage_category_button_down;
	public static String MembersOrderPreferencePage_visibility_button_up;
	public static String MembersOrderPreferencePage_visibility_button_down;
	public static String MembersOrderPreferencePage_label_description;
	public static String MembersOrderPreferencePage_fields_label;
	public static String MembersOrderPreferencePage_constructors_label;
	public static String MembersOrderPreferencePage_methods_label;
	public static String MembersOrderPreferencePage_staticfields_label;
	public static String MembersOrderPreferencePage_staticmethods_label;
	public static String MembersOrderPreferencePage_initialisers_label;
	public static String MembersOrderPreferencePage_staticinitialisers_label;
	public static String MembersOrderPreferencePage_types_label;
	public static String MembersOrderPreferencePage_public_label;
	public static String MembersOrderPreferencePage_private_label;
	public static String MembersOrderPreferencePage_protected_label;
	public static String MembersOrderPreferencePage_default_label;
	public static String MembersOrderPreferencePage_usevisibilitysort_label;
	public static String CodeTemplateBlock_templates_comment_node;
	public static String CodeTemplateBlock_templates_code_node;
	public static String CodeTemplateBlock_catchblock_label;
	public static String CodeTemplateBlock_methodstub_label;
	public static String CodeTemplateBlock_constructorstub_label;
	public static String CodeTemplateBlock_newtype_label;
	public static String CodeTemplateBlock_classbody_label;
	public static String CodeTemplateBlock_interfacebody_label;
	public static String CodeTemplateBlock_enumbody_label;
	public static String CodeTemplateBlock_recordbody_label;
	public static String CodeTemplateBlock_annotationbody_label;
	public static String CodeTemplateBlock_typecomment_label;
	public static String CodeTemplateBlock_fieldcomment_label;
	public static String CodeTemplateBlock_filecomment_label;
	public static String CodeTemplateBlock_methodcomment_label;
	public static String CodeTemplateBlock_overridecomment_label;
	public static String CodeTemplateBlock_delegatecomment_label;
	public static String CodeTemplateBlock_constructorcomment_label;
	public static String CodeTemplateBlock_gettercomment_label;
	public static String CodeTemplateBlock_settercomment_label;
	public static String CodeTemplateBlock_getterstub_label;
	public static String CodeTemplateBlock_setterstub_label;
	public static String CodeTemplateBlock_modulecomment_label;
	public static String CodeTemplateBlock_templates_edit_button;
	public static String CodeTemplateBlock_templates_import_button;
	public static String CodeTemplateBlock_templates_export_button;
	public static String CodeTemplateBlock_templates_exportall_button;
	public static String CodeTemplateBlock_createcomment_label;
	public static String CodeTemplateBlock_templates_label;
	public static String CodeTemplateBlock_preview;
	public static String CodeTemplateBlock_import_title;
	public static String CodeTemplateBlock_import_extension;
	public static String CodeTemplateBlock_export_title_singular;
	public static String CodeTemplateBlock_export_title_plural;
	public static String CodeTemplateBlock_export_filename;
	public static String CodeTemplateBlock_export_extension;
	public static String CodeTemplateBlock_export_exists_title;
	public static String CodeTemplateBlock_export_exists_message;
	public static String CodeTemplateBlock_error_read_title;
	public static String CodeTemplateBlock_error_read_message;
	public static String CodeTemplateBlock_error_parse_message;
	public static String CodeTemplateBlock_error_write_title;
	public static String CodeTemplateBlock_error_write_message;
	public static String CodeTemplateBlock_export_error_title;
	public static String CodeTemplateBlock_export_error_hidden;
	public static String CodeTemplateBlock_export_error_canNotWrite;
	public static String TypeFilterPreferencePage_description;
	public static String TypeFilterPreferencePage_list_label;
	public static String TypeFilterPreferencePage_add_button;
	public static String TypeFilterPreferencePage_addpackage_button;
	public static String TypeFilterPreferencePage_edit_button;
	public static String TypeFilterPreferencePage_remove_button;
	public static String TypeFilterPreferencePage_selectall_button;
	public static String TypeFilterPreferencePage_deselectall_button;
	public static String TypeFilterPreferencePage_choosepackage_label;
	public static String TypeFilterPreferencePage_choosepackage_description;
	public static String TypeFilterInputDialog_title;
	public static String TypeFilterInputDialog_message;
	public static String TypeFilterInputDialog_browse_button;
	public static String TypeFilterInputDialog_error_enterName;
	public static String TypeFilterInputDialog_error_invalidName;
	public static String TypeFilterInputDialog_error_entryExists;
	public static String TypeFilterInputDialog_choosepackage_label;
	public static String TypeFilterInputDialog_choosepackage_description;
	public static String SpellingPreferencePage_empty_threshold;
	public static String SpellingPreferencePage_invalid_threshold;
	public static String SpellingPreferencePage_ignore_digits_label;
	public static String SpellingPreferencePage_ignore_mixed_label;
	public static String SpellingPreferencePage_ignore_sentence_label;
	public static String SpellingPreferencePage_ignore_upper_label;
	public static String SpellingPreferencePage_ignore_url_label;
	public static String SpellingPreferencePage_ignore_non_letters_label;
	public static String SpellingPreferencePage_ignore_single_letters_label;
	public static String SpellingPreferencePage_ignore_java_strings_label;
	public static String SpellingPreferencePage_ignore_ampersand_in_properties_label;
	public static String SpellingPreferencePage_proposals_threshold;
	public static String SpellingPreferencePage_problems_threshold;
	public static String SpellingPreferencePage_dictionary_label;
	public static String SpellingPreferencePage_encoding_label;
	public static String SpellingPreferencePage_workspace_dictionary_label;
	public static String SpellingPreferencePage_browse_label;
	public static String SpellingPreferencePage_dictionary_error;
	public static String SpellingPreferencePage_dictionary_none;
	public static String SpellingPreferencePage_locale_error;
	public static String SpellingPreferencePage_filedialog_title;
	public static String SpellingPreferencePage_enable_contentassist_label;
	public static String SpellingPreferencePage_group_user;
	public static String SpellingPreferencePage_group_dictionary;
	public static String SpellingPreferencePage_group_dictionaries;
	public static String SpellingPreferencePage_group_advanced;
	public static String SpellingPreferencePage_user_dictionary_description;
	public static String SpellingPreferencePage_variables;
	public static String UserLibraryPreferencePage_title;
	public static String UserLibraryPreferencePage_description;
	public static String UserLibraryPreferencePage_libraries_label;
	public static String UserLibraryPreferencePage_libraries_new_button;
	public static String UserLibraryPreferencePage_libraries_edit_button;
	public static String UserLibraryPreferencePage_libraries_toggle_button;
	public static String UserLibraryPreferencePage_libraries_addjar_button;
	public static String UserLibraryPreferencePage_libraries_addexternaljar_button;
	public static String UserLibraryPreferencePage_libraries_remove_button;
	public static String UserLibraryPreferencePage_libraries_load_button;
	public static String UserLibraryPreferencePage_libraries_save_button;
	public static String UserLibraryPreferencePage_operation;
	public static String UserLibraryPreferencePage_operation_error;
	public static String UserLibraryPreferencePage_config_error_title;
	public static String UserLibraryPreferencePage_config_error_message;
	public static String UserLibraryPreferencePage_browsejar_new_title;
	public static String UserLibraryPreferencePage_browsejar_edit_title;
	public static String UserLibraryPreferencePage_LibraryNameDialog_new_title;
	public static String UserLibraryPreferencePage_LibraryNameDialog_edit_title;
	public static String UserLibraryPreferencePage_LibraryNameDialog_name_label;
	public static String UserLibraryPreferencePage_LibraryNameDialog_issystem_label;
	public static String UserLibraryPreferencePage_LibraryNameDialog_name_error_entername;
	public static String UserLibraryPreferencePage_LibraryNameDialog_name_error_exists;
	public static String UserLibraryPreferencePage_LoadSaveDialog_save_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_save_ok_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_load_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_location_label;
	public static String UserLibraryPreferencePage_LoadSaveDialog_location_button;
	public static String UserLibraryPreferencePage_LoadSaveDialog_list_selectall_button;
	public static String UserLibraryPreferencePage_LoadSaveDialog_load_replace_message;
	public static String UserLibraryPreferencePage_LoadSaveDialog_load_replace_multiple_message;
	public static String UserLibraryPreferencePage_LoadSaveDialog_list_deselectall_button;
	public static String UserLibraryPreferencePage_LoadSaveDialog_list_save_label;
	public static String UserLibraryPreferencePage_LoadSaveDialog_list_load_label;
	public static String UserLibraryPreferencePage_LoadSaveDialog_filedialog_save_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_filedialog_load_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_error_empty;
	public static String UserLibraryPreferencePage_LoadSaveDialog_error_invalidfile;
	public static String UserLibraryPreferencePage_LoadSaveDialog_overwrite_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_save_ok_message;
	public static String UserLibraryPreferencePage_LoadSaveDialog_overwrite_message;
	public static String UserLibraryPreferencePage_LoadSaveDialog_save_errordialog_title;
	public static String UserLibraryPreferencePage_LoadSaveDialog_save_errordialog_message;
	public static String UserLibraryPreferencePage_LoadSaveDialog_location_error_save_enterlocation;
	public static String UserLibraryPreferencePage_LoadSaveDialog_location_error_save_invalid;
	public static String UserLibraryPreferencePage_LoadSaveDialog_list_error_save_nothingselected;
	public static String UserLibraryPreferencePage_LoadSaveDialog_location_error_load_enterlocation;
	public static String UserLibraryPreferencePage_LoadSaveDialog_location_error_load_invalid;
	public static String UserLibraryPreferencePage_LoadSaveDialog_list_error_load_nothingselected;
	public static String UserLibraryPreferencePage_LoadSaveDialog_load_badformat;
	public static String UserLibraryPreferencePage_LoadSaveDialog_load_replace_title;
	public static String EditTemplateDialog_error_noname;
	public static String EditTemplateDialog_error_invalidName;
	public static String EditTemplateDialog_error_invalidPattern;
	public static String EditTemplateDialog_title_new;
	public static String EditTemplateDialog_title_edit;
	public static String EditTemplateDialog_name;
	public static String EditTemplateDialog_description;
	public static String EditTemplateDialog_context;
	public static String EditTemplateDialog_pattern;
	public static String EditTemplateDialog_insert_variable;
	public static String EditTemplateDialog_undo;
	public static String EditTemplateDialog_redo;
	public static String EditTemplateDialog_cut;
	public static String EditTemplateDialog_copy;
	public static String EditTemplateDialog_paste;
	public static String EditTemplateDialog_select_all;
	public static String EditTemplateDialog_content_assist;
	public static String JavaEditorPreferencePage_folding_title;
	public static String FoldingConfigurationBlock_enable;
	public static String FoldingConfigurationBlock_combo_caption;
	public static String FoldingConfigurationBlock_info_no_preferences;
	public static String FoldingConfigurationBlock_error_not_exist;
	public static String FoldingConfigurationBlock_warning_providerNotFound_resetToDefault;
	public static String PropertiesFileEditorPreferencePage_key;
	public static String PropertiesFileEditorPreferencePage_value;
	public static String PropertiesFileEditorPreferencePage_assignment;
	public static String PropertiesFileEditorPreferencePage_argument;
	public static String PropertiesFileEditorPreferencePage_comment;
	public static String PropertiesFileEditorPreferencePage_foreground;
	public static String PropertiesFileEditorPreferencePage_color;
	public static String PropertiesFileEditorPreferencePage_bold;
	public static String PropertiesFileEditorPreferencePage_italic;
	public static String PropertiesFileEditorPreferencePage_strikethrough;
	public static String PropertiesFileEditorPreferencePage_underline;
	public static String PropertiesFileEditorPreferencePage_preview;
	public static String PropertiesFileEditorPreferencePage_link;
	public static String SmartTypingConfigurationBlock_autoclose_title;
	public static String SmartTypingConfigurationBlock_automove_title;
	public static String SmartTypingConfigurationBlock_tabs_message_tab_text;
	public static String SmartTypingConfigurationBlock_tabs_message_others_text;
	public static String SmartTypingConfigurationBlock_tabs_message_tooltip;
	public static String SmartTypingConfigurationBlock_tabs_message_spaces;
	public static String SmartTypingConfigurationBlock_tabs_message_tabs;
	public static String SmartTypingConfigurationBlock_tabs_message_tabsAndSpaces;
	public static String SmartTypingConfigurationBlock_pasting_title;
	public static String SmartTypingConfigurationBlock_strings_title;
	public static String SmartTypingConfigurationBlock_indentation_title;
	public static String CodeAssistConfigurationBlock_typeFilters_link;
	public static String CodeAssistConfigurationBlock_sortingSection_title;
	public static String CodeAssistConfigurationBlock_autoactivationSection_title;
	public static String CodeAssistConfigurationBlock_insertionSection_title;
	public static String JavaEditorPreferencePage_coloring_category_java;
	public static String JavaEditorPreferencePage_coloring_category_javadoc;
	public static String JavaEditorPreferencePage_coloring_category_comments;
	public static String ProjectSelectionDialog_title;
	public static String ProjectSelectionDialog_desciption;
	public static String ProjectSelectionDialog_filter;
	public static String JavaCompilerPropertyPage_ignore_optional_problems_label;
	public static String JavaCompilerPropertyPage_invalid_element_selection;

	static {
		NLS.initializeMessages(BUNDLE_NAME, PreferencesMessages.class);
	}

	public static String NameConventionConfigurationBlock_use_override_annotation_label;
	public static String NullAnnotationsConfigurationDialog_error_message;
	public static String NullAnnotationsConfigurationDialog_error_title;
	public static String NullAnnotationsConfigurationDialog_restore_defaults;
	public static String NullAnnotationsConfigurationDialog_title;
	public static String NullAnnotationsConfigurationDialog_use_default_annotations_for_null;
	public static String ProblemSeveritiesConfigurationBlock_pb_unhandled_surpresswarning_tokens;
	public static String ProblemSeveritiesConfigurationBlock_pb_enable_surpresswarning_annotation;
	public static String SmartTypingConfigurationBlock_annotationReporting_link;
	public static String TypeFilterPreferencePage_restricted_link;
	public static String TypeFilterPreferencePage_hideDiscouraged_label;
	public static String TypeFilterPreferencePage_hideForbidden_label;
	public static String UserLibraryPreferencePage_UserLibraryPreferencePage_libraries_up_button;
	public static String UserLibraryPreferencePage_UserLibraryPreferencePage_libraries_down_button;
	public static String EditTemplateDialog_autoinsert;
	public static String ComplianceConfigurationBlock_jrecompliance_info;
	public static String ComplianceConfigurationBlock_jrecompliance_info_project;
	public static String ComplianceConfigurationBlock_jrecompliance_backwardcompatibility_info;
	public static String ComplianceConfigurationBlock_jrecompliance_backwardcompatibility_warning;
	public static String ComplianceConfigurationBlock_jrecompliance_backwardcompatibility_label;
	public static String ProblemSeveritiesConfigurationBlock_section_generics;
	public static String JavaBasePreferencePage_dialogs;
	public static String JavaBasePreferencePage_do_not_hide_description;
	public static String JavaBasePreferencePage_do_not_hide_button;
	public static String JavaBasePreferencePage_do_not_hide_dialog_title;
	public static String JavaBasePreferencePage_do_not_hide_dialog_message;
	public static String CodeAssistConfigurationBlock_matchCamelCase_label;
	public static String CodeAssistConfigurationBlock_matchSubword_label;
	public static String ComplianceConfigurationBlock_version16;
	public static String ComplianceConfigurationBlock_version17;
	public static String ComplianceConfigurationBlock_version18;
	public static String ComplianceConfigurationBlock_version9;
	public static String ComplianceConfigurationBlock_version10;
	public static String ComplianceConfigurationBlock_version_11;
	public static String ComplianceConfigurationBlock_version_12;
	public static String ComplianceConfigurationBlock_version_13;
	public static String ComplianceConfigurationBlock_version_14;
	public static String ComplianceConfigurationBlock_version_15;
	public static String ComplianceConfigurationBlock_version_16;
	public static String ComplianceConfigurationBlock_version_17;
	public static String ComplianceConfigurationBlock_version_18;
	public static String ComplianceConfigurationBlock_versionCLDC11;
	public static String ComplianceConfigurationBlock_src_greater_compliance;
	public static String ComplianceConfigurationBlock_classfile_greater_compliance;
	public static String ComplianceConfigurationBlock_classfile_greater_source;
	public static String ProblemSeveritiesConfigurationBlock_enable_syntactic_null_analysis_for_fields;
	public static String ProblemSeveritiesConfigurationBlock_inherit_null_annotations;
	public static String ProblemSeveritiesConfigurationBlock_external_annotations_from_all_locations;
	public static String ProblemSeveritiesConfigurationBlock_pb_parameter_assignment;
	public static String ProblemSeveritiesConfigurationBlock_pb_null_reference;
	public static String ProblemSeveritiesConfigurationBlock_pb_null_spec_violation;
	public static String ProblemSeveritiesConfigurationBlock_pb_null_unchecked_conversion;
	public static String ProblemSeveritiesConfigurationBlock_pb_null_annotated_type_argument_to_unannotated;
	public static String ProblemSeveritiesConfigurationBlock_pb_pessimistic_analysis_for_free_type_variables;
	public static String ProblemSeveritiesConfigurationBlock_pb_nonnull_typevar_maybe_legacy;
	public static String ProblemSeveritiesConfigurationBlock_pb_potential_null_reference;
	public static String ProblemSeveritiesConfigurationBlock_pb_null_annotation_inference_conflict;
	public static String ProblemSeveritiesConfigurationBlock_pb_potential_resource_leak_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_potentially_missing_static_on_method_label;
	public static String ProblemSeveritiesConfigurationBlock_pb_fall_through_case;
	public static String ProblemSeveritiesConfigurationBlock_unused_suppresswarnings_token;
	public static String ProblemSeveritiesConfigurationBlock_suppresswarnings_not_fully_analysed;
	public static String CodeAssistConfigurationBlock_hideDeprecated_label;

	public static String CodeAssistStaticMembersConfigurationBlock_description;
	public static String CodeAssistStaticMembersConfigurationBlock_newType_button;
	public static String CodeAssistStaticMembersConfigurationBlock_newMember_button;
	public static String CodeAssistStaticMembersConfigurationBlock_edit_button;
	public static String CodeAssistStaticMembersConfigurationBlock_remove_button;

	public static String FavoriteStaticMemberInputDialog_member_new_title;
	public static String FavoriteStaticMemberInputDialog_member_edit_title;
	public static String FavoriteStaticMemberInputDialog_member_labelText;
	public static String FavoriteStaticMemberInputDialog_type_new_title;
	public static String FavoriteStaticMemberInputDialog_type_edit_title;
	public static String FavoriteStaticMemberInputDialog_type_labelText;
	public static String FavoriteStaticMemberInputDialog_browse_button;
	public static String FavoriteStaticMemberInputDialog_ChooseTypeDialog_title;
	public static String FavoriteStaticMemberInputDialog_ChooseTypeDialog_description;
	public static String FavoriteStaticMemberInputDialog_ChooseTypeDialog_error_message;
	public static String FavoriteStaticMemberInputDialog_error_invalidMemberName;
	public static String FavoriteStaticMemberInputDialog_error_invalidTypeName;
	public static String FavoriteStaticMemberInputDialog_error_entryExists;

	public static String OptionsConfigurationBlock_Disabled;
	public static String OptionsConfigurationBlock_Enabled;
	public static String OptionsConfigurationBlock_NoOptionMatchesTheFilter;
	public static String OptionsConfigurationBlock_Off;
	public static String OptionsConfigurationBlock_On;
	public static String OptionsConfigurationBlock_RefreshFilter;
	public static String OptionsConfigurationBlock_TypeFilterText;
	public static String OptionsConfigurationBlock_IgnoreOptionalProblemsLink;

	public static String FilteredPreferencesTree_collapseAll_tooltip;
	public static String FilteredPreferencesTree_expandAll_tooltip;
	public static String FilterTextControl_Clear;
	public static String FilterTextControl_ClearFilterField;

	public static String JavaEditorCodeMiningConfigurationBlock_common_description;
	public static String JavaEditorCodeMiningConfigurationBlock_enableCodeMining_label;
	public static String JavaEditorCodeMiningConfigurationBlock_showCodeMining_atLeastOne_label;
	public static String JavaEditorCodeMiningConfigurationBlock_section_general;
	public static String JavaEditorCodeMiningConfigurationBlock_showReferences_label;
	public static String JavaEditorCodeMiningConfigurationBlock_showReferences_onTypes_label;
	public static String JavaEditorCodeMiningConfigurationBlock_showReferences_onFields_label;
	public static String JavaEditorCodeMiningConfigurationBlock_showReferences_onMethods_label;
	public static String JavaEditorCodeMiningConfigurationBlock_showImplementations_label;
	public static String JavaEditorCodeMiningConfigurationBlock_showParameterNames_label;
}
