###############################################################################
# Copyright (c) 2000, 2016 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
#     Jesper Steen Moller - Enhancement 254677 - filter getters/setters
###############################################################################



ExceptionHandler_seeErrorLogMessage= See error log for more details.

ImageDescriptorRegistry_Allocating_image_for_wrong_display_1=Allocating image for wrong display

JavaDebugPreferencePage_description=General settings for Java Debugging.
JavaDebugPreferencePage_Alert_me_when_hot_code_replace_fails_1=Show error when hot code replace &fails
JavaDebugPreferencePage_Alert_me_when_hot_code_replace_is_not_supported_1=Show error when hot code replace is not &supported
JavaDebugPreferencePage_Alert_me_when_obsolete_methods_remain_1=Show error when &obsolete methods remain after hot code replace
JavaDebugPreferencePage_Display__hexadecimal_values__byte__short__char__int__long__3=Display &hexadecimal values (byte, short, char, int, long)
JavaDebugPreferencePage_Display__unsigned_values__byte__5=Display &unsigned values (byte)
JavaDebugPreferencePage_Display_ASCII__character_values__byte__short__int__long__4=Display ASCII &character values (byte, short, int, long)
JavaDebugPreferencePage_Hot_Code_Replace_2=Hot Code Replace
JavaDebugPreferencePage_Suspend__execution_on_uncaught_exceptions_1=Suspend &execution on uncaught exceptions
JavaDebugPreferencePage_Suspend_Execution_1=Suspend Execution
JavaDebugPreferencePage_Suspend_execution_on_co_mpilation_errors_1=Suspend execution on co&mpilation errors
JavaDebugPreferencePage_Value_must_be_a_valid_integer_greater_than__0__ms_1=Value must be a valid integer greater than or equal to {0} ms
JavaDebugPreferencePage_Replace_classfiles_containing_compilation_errors_1=Replace &classfiles containing compilation errors
JavaDebugPreferencePage_ShowStepResult_1=S&how method result after a step operation (if supported by the VM; may be slow)
JavaDebugPreferencePage_Communication_1=Communication
JavaDebugPreferencePage_Debugger__timeout__2=Debugger &timeout (ms):
JavaDebugPreferencePage__Launch_timeout__ms___1=&Launch timeout (ms):
JavaDebugPreferencePage_14=Suspend for &breakpoints during evaluations
JavaDetailFormattersManager_7=<details unavailable - not supported by VM>
JavaDetailFormattersManager_6=This thread has been manually suspended and therefore object details are unavailable.
JavaHotCodeReplaceListener_0=<unknown>
JavaPrimitivesPreferencePage_0=Primitive Display Options
JavaPrimitivesPreferencePage_1=Display options for primitive values

JavaStepFilterPreferencePage_Filter_co_nstructors_19=Filter co&nstructors
JavaStepFilterPreferencePage_Filter_s_ynthetic_methods__requires_VM_support__17=Filter s&ynthetic methods (requires VM support)
JavaStepFilterPreferencePage_Filter_static__initializers_18=Filter static &initializers
JavaStepFilterPreferencePage_Filter_getters=Filter simple &getters
JavaStepFilterPreferencePage_Filter_setters=Filter simple se&tters
JavaStepFilterPreferencePage_title=Step Filtering
JavaStepFilterPreferencePage_0=Step t&hrough filters
JavaStepFilterPreferencePage_description=Step filters are applied when the 'Use Step Filters' toggle is activated.
JavaStepFilterPreferencePage_Remove_all_selected_step_filters_16=Remove All Selected Step Filters
JavaStepFilterPreferencePage_Select_a_package_to_filter_when_stepping_27=&Select a package to filter when stepping:
JavaStepFilterPreferencePage_Select_a_type_to_filter_when_stepping_23=&Select a class to filter when stepping:
JavaStepFilterPreferencePage__Remove_15=&Remove
JavaStepFilterPreferencePage_Add__Filter_9=Add &Filter...
JavaStepFilterPreferencePage_Add__Package____13=Add &Packages...
JavaStepFilterPreferencePage__Use_step_filters=&Use Step Filters
JavaStepFilterPreferencePage_Add__Type____11=Add &Class...
JavaStepFilterPreferencePage_Add_package_to_step_filters_24=Add Packages to Step Filters
JavaStepFilterPreferencePage_Add_type_to_step_filters_20=Add Class to Step Filters
JavaStepFilterPreferencePage_Choose_a_Java_type_and_add_it_to_step_filters_12=Choose a Java Type and Add It to Step Filters
JavaStepFilterPreferencePage_Choose_a_package_and_add_it_to_step_filters_14=Choose Package(s) to Add to Step Filters
JavaStepFilterPreferencePage_Could_not_open_package_selection_dialog_for_step_filters_25=Could not open package selection dialog for step filters
JavaStepFilterPreferencePage_Could_not_open_type_selection_dialog_for_step_filters_21=Could not open type selection dialog for step filters
JavaStepFilterPreferencePage_Defined_step_fi_lters__8=Defined step fi&lters:
JavaStepFilterPreferencePage_Key_in_the_name_of_a_new_step_filter_10=Key in the Name of a New Step Filter
JavaStepFilterPreferencePage__Select_All_1=&Select All
JavaStepFilterPreferencePage_Selects_all_step_filters_2=Selects all step filters
JavaStepFilterPreferencePage_Deselect_All_3=D&eselect All
JavaStepFilterPreferencePage_Deselects_all_step_filters_4=Deselects all step filters

JDIDebugUIPlugin__0__contains_obsolete_methods_1={0} contains obsolete methods.
JDIDebugUIPlugin__0__was_unable_to_replace_the_running_code_with_the_code_in_the_workspace__2=Some code changes cannot be hot swapped into a running virtual machine, such as changing method names or introducing errors into running code.\n\nThe current target virtual machine [{0}] from launch [{1}] was unable to replace the running code with the code in the workspace.\n\nIt is safe to continue running the application, but you may notice discrepancies when debugging this application.
JDIDebugUIPlugin_1=Do not show error &when hot code replace fails
JDIDebugUIPlugin_4=Information
JDIDebugUIPlugin_2=Do not show error &when obsolete methods remain
JDIDebugUIPlugin_Error_1=Error
JDIDebugUIPlugin_Hot_code_replace_failed_1=Hot Code Replace Failed
JDIDebugUIPlugin_Obsolete_methods_remain_1=Obsolete Methods on the Stack
JDIDebugUIPlugin_Stepping_may_be_hazardous_1=The virtual machine was unable to remove all stack frames running old code from the call stack. The virtual machine is not supplying the debugger with valid data for those frames. Stepping into these obsolete frames may be hazardous to the target virtual machine.
JDIDebugUIPlugin_The_target_VM_does_not_support_hot_code_replace_1=The target VM does not support hot code replace
JDIDebugUIPlugin_3=Do not show error &when hot code replace is not supported
JDIDebugUIPlugin_0=Warning

JDIModelPresentation__No_explicit_return_value__30=(No explicit return value)
JDIModelPresentation__conditional__2=[conditional]
JDIModelPresentation___may_be_out_of_synch__2=\ (may be out of synch)
JDIModelPresentation___out_of_synch__1=\ (out of synch)
JDIModelPresentation___scoped__1=\ [scoped]
JDIModelPresentation__1____0__63={1}: {0}
JDIModelPresentation__disconnected__4=<disconnected>
JDIModelPresentation__not_responding__6=<not responding>
JDIModelPresentation__garbage_collected_object__6=<garbage collected object>
JDIModelPresentation__obsolete_method_in__1=<obsolete method in
JDIModelPresentation__terminated__2=<terminated>
JDIModelPresentation_access_71=\ [access]
JDIModelPresentation_access_and_modification_70=\ [access and modification]
JDIModelPresentation_caught_61=caught
JDIModelPresentation_caught_and_uncaught_60=caught and uncaught
JDIModelPresentation_Compilation_error_1=Compilation error
JDIModelPresentation_entry_and_exit=\ [entry and exit]
JDIModelPresentation_entry=\ [entry]
JDIModelPresentation_exit=\ [exit]
JDIModelPresentation_hit_count__67=hit count:
JDIModelPresentation_line__65=line:
JDIModelPresentation_line__76=line:
JDIModelPresentation_local_variables_unavailable=[local variables unavailable]
JDIModelPresentation_modification_72=\ [modification]
JDIModelPresentation_native_method=[native method]
JDIModelPresentation_not_available=not available
JDIModelPresentation_Suspend_VM=[Suspend VM]

###############################################################################
# Thread label keys are built programmatically

thread_terminated=Thread [{0}] (Terminated)
thread_evaluating=Thread [{0}] (Evaluating)
thread_running=Thread [{0}] (Running)
thread_stepping=Thread [{0}] (Stepping)
thread_suspended=Thread [{0}] (Suspended)
thread_suspended_problem=Thread [{0}] (Suspended ({1}))
thread_suspended_fieldaccess=Thread [{0}] (Suspended (access of field {1} in {2}))
thread_suspended_linebreakpoint=Thread [{0}] (Suspended (breakpoint at line {1} in {2}))
thread_suspended_methodentry=Thread [{0}] (Suspended (entry into method {1} in {2}))
thread_suspended_exception=Thread [{0}] (Suspended (exception {1}))
thread_suspended_methodexit=Thread [{0}] (Suspended (exit of method {1} in {2}))
thread_suspended_fieldmodification=Thread [{0}] (Suspended (modification of field {1} in {2}))
thread_suspended_runtoline=Thread [{0}] (Suspended (run to line {1} in {2}))
thread_suspended_classprepare=Thread [{0}] (Class load: {1})

thread_daemon_terminated=Daemon Thread [{0}] (Terminated)
thread_daemon_evaluating=Daemon Thread [{0}] (Evaluating)
thread_daemon_running=Daemon Thread [{0}] (Running)
thread_daemon_stepping=Daemon Thread [{0}] (Stepping)
thread_daemon_suspended=Daemon Thread [{0}] (Suspended)
thread_daemon_suspended_problem=Daemon Thread [{0}] (Suspended ({1}))
thread_daemon_suspended_fieldaccess=Daemon Thread [{0}] (Suspended (access of field {1} in {2}))
thread_daemon_suspended_linebreakpoint=Daemon Thread [{0}] (Suspended (breakpoint at line {1} in {2}))
thread_daemon_suspended_methodentry=Daemon Thread [{0}] (Suspended (entry into method {1} in {2}))
thread_daemon_suspended_exception=Daemon Thread [{0}] (Suspended (exception {1}))
thread_daemon_suspended_methodexit=Daemon Thread [{0}] (Suspended (exit of method {1} in {2}))
thread_daemon_suspended_fieldmodification=Daemon Thread [{0}] (Suspended (modification of field {1} in {2}))
thread_daemon_suspended_runtoline=Daemon Thread [{0}] (Suspended (run to line {1} in {2}))
thread_daemon_suspended_classprepare=Daemon Thread [{0}] (Class load: {1})

thread_system_terminated=System Thread [{0}] (Terminated)
thread_system_evaluating=System Thread [{0}] (Evaluating)
thread_system_running=System Thread [{0}] (Running)
thread_system_stepping=System Thread [{0}] (Stepping)
thread_system_suspended=System Thread [{0}] (Suspended)
thread_system_suspended_problem=System Thread [{0}] (Suspended ({1}))
thread_system_suspended_fieldaccess=System Thread [{0}] (Suspended (access of field {1} in {2}))
thread_system_suspended_linebreakpoint=System Thread [{0}] (Suspended (breakpoint at line {1} in {2}))
thread_system_suspended_methodentry=System Thread [{0}] (Suspended (entry into method {1} in {2}))
thread_system_suspended_exception=System Thread [{0}] (Suspended (exception {1}))
thread_system_suspended_methodexit=System Thread [{0}] (Suspended (exit of method {1} in {2}))
thread_system_suspended_fieldmodification=System Thread [{0}] (Suspended (modification of field {1} in {2}))
thread_system_suspended_runtoline=System Thread [{0}] (Suspended (run to line {1} in {2}))
thread_system_suspended_classprepare=System Thread [{0}] (Class load: {1})

thread_daemon_system_terminated=Daemon System Thread [{0}] (Terminated)
thread_daemon_system_evaluating=Daemon System Thread [{0}] (Evaluating)
thread_daemon_system_running=Daemon System Thread [{0}] (Running)
thread_daemon_system_stepping=Daemon System Thread [{0}] (Stepping)
thread_daemon_system_suspended=Daemon System Thread [{0}] (Suspended)
thread_daemon_system_suspended_problem=Daemon System Thread [{0}] (Suspended ({1}))
thread_daemon_system_suspended_fieldaccess=Daemon System Thread [{0}] (Suspended (access of field {1} in {2}))
thread_daemon_system_suspended_linebreakpoint=Daemon System Thread [{0}] (Suspended (breakpoint at line {1} in {2}))
thread_daemon_system_suspended_methodentry=Daemon System Thread [{0}] (Suspended (entry into method {1} in {2}))
thread_daemon_system_suspended_exception=Daemon System Thread [{0}] (Suspended (exception {1}))
thread_daemon_system_suspended_methodexit=Daemon System Thread [{0}] (Suspended (exit of method {1} in {2}))
thread_daemon_system_suspended_fieldmodification=Daemon System Thread [{0}] (Suspended (modification of field {1} in {2}))
thread_daemon_system_suspended_runtoline=Daemon System Thread [{0}] (Suspended (run to line {1} in {2}))
thread_daemon_system_suspended_classprepare=Daemon System Thread [{0}] (Class load: {1})

###############################################################################

JDIModelPresentation_target_suspended=\ (Suspended)

JDIModelPresentation_thread_filtered=[thread filtered]
JDIModelPresentation_uncaught_62=uncaught
SuspendTimeoutHandler_suspend=Suspend
SuspendTimeoutHandler_timeout_occurred=A timeout occurred while retrieving stack frames for thread: {0}.
JDIDebugUIPlugin_Searching_1=Searching
JDIModelPresentation_unknown_name__1=<unknown name>
JDIModelPresentation_unknown_type__2=<unknown type>
JDIModelPresentation_unknown_value__3=<unknown value>
JDIModelPresentation_unknown_declaring_type__4=<unknown declaring type>
JDIModelPresentation_unknown_receiving_type__5=<unknown receiving type>
JDIModelPresentation_unknown_method_name__6=<unknown method name>
JDIModelPresentation__unknown_arguements___7=(<unknown arguments>)
JDIModelPresentation__unknown_line_number__8=\ <unknown line number>
JDIModelPresentation_instance_1=[instance={0}]
NoLineNumberAttributesStatusHandler_Java_Breakpoint_1=Java Breakpoint
NoLineNumberAttributesStatusHandler_2=Unable to install breakpoint in {0} due to missing line number attributes. Modify compiler options to generate line number attributes.

JavaDetailFormattersPreferencePage_Add__Formatter____5=Ad&d...
JavaDetailFormattersPreferencePage_Allow_you_to_create_a_new_detail_formatter_6=Allow you to create a new detail formatter
JavaDetailFormattersPreferencePage__Remove_7=&Remove
JavaDetailFormattersPreferencePage_0=Detail Formatters
JavaDetailFormattersPreferencePage_1=Show variable details ('toString()' value):
JavaDetailFormattersPreferencePage_2=As the label for variables with detail &formatters
JavaDetailFormattersPreferencePage_3=As the label for &all variables
JavaDetailFormattersPreferencePage_4=In &detail pane only
JavaDetailFormattersPreferencePage_Remove_all_selected_detail_formatters_8=Remove all selected detail formatters
JavaDetailFormattersPreferencePage__Edit____9=&Edit...
JavaDetailFormattersPreferencePage_Edit_the_selected_detail_formatter_10=Edit the selected detail formatter
JavaDetailFormattersPreferencePage_Override_default___toString_____for_Variables_and_Expressions_view_details__1=Override default \'toString()\' for object details.
JavaDetailFormattersPreferencePage__Types_with_detail_formatters__2=&Types with detail formatters:
JavaDetailFormattersPreferencePage_Detail_formatter_code_snippet_defined_for_selected_type__3=Detail &formatter code snippet defined for selected type:

DetailFormatterDialog_Qualified_type__name__2=Qualified type &name:
DetailFormatterDialog_Qualified_type_name_must_not_be_empty__3=Qualified type name must not be empty.
DetailFormatterDialog_Select__type_4=Select &Type...
DetailFormatterDialog_Select_type_6=Select Type
DetailFormatterDialog_Could_not_open_type_selection_dialog_for_detail_formatters_7=Could not open type selection dialog for detail formatters
DetailFormatterDialog_Select_type_8=Select Type
DetailFormatterDialog_Select_a_type_to_format_when_displaying_its_detail_9=&Select a type to format when displaying its detail:
DetailFormatterDialog_Edit_Detail_Formatter_1=Edit Detail Formatter
DetailFormatterDialog_Add_Detail_Formatter_2=Add Detail Formatter
DetailFormatterDialog_Associated_code_must_not_be_empty_3=Detail formatter code snippet must not be empty
DetailFormatterDialog_Detail_formatter__code_snippet__1=Detail formatter &code snippet:
DetailFormatterDialog_17=Detail formatter &code snippet ({0} for code assist):

No_type_with_the_given_name_found_in_the_workspace__1=No type with the given name found in the workspace.
JavaDetailFormattersManager_Detail_formatter_error___1=Detail formatter error:
JavaDetailFormattersManager_An_exception_occurred___0__3=An exception occurred: {0}
DetailFormatterDialog__Enable_1=&Enable this detail formatter
DetailFormatterDialog_A_detail_formatter_is_already_defined_for_this_type_2=A detail formatter is already defined for this type

JavaUISourceLocator_Select_Source_1=Duplicate Source Files Found
JavaUISourceLocator__Select_the_source_that_corresponds_to__0__2=&Select the source that corresponds to {0}
JavaUISourceLocator__Matching_files__3=&Matching files:
JavaUISourceLocator__Location__4=&Location:

ConditionalBreakpointErrorDialog_Conditional_Breakpoint_Error_1=Conditional Breakpoint Error
ConditionalBreakpointErrorDialog__Edit_Condition_2=&Edit Condition

JavaDebugOptionsManager_Conditional_breakpoint_encountered_runtime_exception__1=Conditional breakpoint encountered runtime exception.
JavaDebugOptionsManager_Conditional_breakpoint_has_compilation_error_s___2=Conditional breakpoint has compilation error(s).
JavaDetailFormattersManager_null=null
JavaDetailFormattersManager_no_suspended_threads=[toString() unavailable - no suspended threads]
JavaDetailFormattersManager__unknown_=<unknown>
JavaLogicalStructuresPreferencePage_0=Java Logical Structures
JavaLogicalStructuresPreferencePage_1=&Logical Structures:
JavaLogicalStructuresPreferencePage_10=Show As
JavaLogicalStructuresPreferencePage_11=Define 'logical structures' used when browsing variables.
JavaLogicalStructuresPreferencePage_12=Previe&w:
JavaLogicalStructuresPreferencePage_2=&Add...
JavaLogicalStructuresPreferencePage_3=Add a new logical structure
JavaLogicalStructuresPreferencePage_4=&Edit...
JavaLogicalStructuresPreferencePage_5=Edit the selected logical structure
JavaLogicalStructuresPreferencePage_6=&Remove
JavaLogicalStructuresPreferencePage_7=Remove the selected logical structure(s)
JavaLogicalStructuresPreferencePage_8=\ [contributed by {0}]
JavaLogicalStructuresPreferencePage_9=Type
JDIModelPresentation_no_suspended_threads=[toString() unavailable - no suspended threads]

JavaDebugOptionsManager_Breakpoint___1=Breakpoint:
JavaDebugOptionsManager_Method_breakpoint___2=Method breakpoint:
JavaDebugOptionsManager_Watchpoint___3=Watchpoint:
JavaDebugOptionsManager_0=Initialize Java Debug Options
JavaDebugOptionsManager_Line_breakpoint___4=Line breakpoint:
JavaBreakpointWorkbenchAdapterFactory_1=\ [line:

HotCodeReplaceErrorDialog_0=&Continue
HotCodeReplaceErrorDialog_1=&Terminate
HotCodeReplaceErrorDialog_2={0} Failed
HotCodeReplaceErrorDialog_3=Di&sconnect
HotCodeReplaceErrorDialog_5=Terminate
HotCodeReplaceErrorDialog_6=Disconnect
HotCodeReplaceErrorDialog_7=&Restart
HotCodeReplaceErrorDialog_8=Restart

CreateStepFilterDialog_2=Add Step Filter
CreateStepFilterDialog_3=&Pattern to filter:
CreateStepFilterDialog_4=Step Filter must be a valid Java identifier.
CreateStepFilterDialog_5=Step Filter already exists.
TypeNameResolver_0=The selected resource does not resolve to a Java element
JDIModelPresentation_116=\ (disabled)
JDIModelPresentation_117=\ [Include Subclasses]
JDIModelPresentation_118=(id={0})
JDIModelPresentation_0=owned by: {0}
JDIModelPresentation_1=waited by: {0}
JDIModelPresentation_2=waiting for: {0}
JDIModelPresentation_3=owns: {0}
JDIModelPresentation_4=An exception occurred. See log for details.
JDIModelPresentation_5=<VM does not provide monitor information>
JDIModelPresentation_6=<deleted breakpoint>
NoLineNumberAttributesStatusHandler_3=Don't &tell me again
JavaDebugPreferencePage_19=Wa&rn when unable to install breakpoint due to missing line number attributes
JavaDebugPreferencePage_20=Open popup when suspended on e&xception
JavaDebugPreferencePage_21=Default suspend policy for new brea&kpoints:
JavaDebugPreferencePage_22=Suspend Thread
JavaDebugPreferencePage_23=Suspend VM
JavaDebugPreferencePage_24=Default suspend policy for new &watchpoints:
JavaDebugPreferencePage_25=Access & Modification
JavaDebugPreferencePage_26=Access
JavaDebugPreferencePage_27=Modification
JavaDebugPreferencePage_promptWhenDeletingCondidtionalBreakpoint=&Prompt for confirmation when deleting a conditional breakpoint from editor
JavaDebugPreferencePage_0=See <a>''{0}''</a> for general debug settings.
JavaDebugPreferencePage_only_include_exported_entries=Onl&y include exported classpath entries when launching
JavaDebugPreferencePage_filterUnrelatedBreakpoints=Do &not install breakpoints from unrelated projects
JavaVariableLabelProvider_0=unavailable
EditLogicalStructureDialog_0=Qualified type &name:
EditLogicalStructureDialog_1=&Browse...
EditLogicalStructureDialog_2=D&escription:
EditLogicalStructureDialog_3=Applies to &subtypes
EditLogicalStructureDialog_4=Single val&ue
EditLogicalStructureDialog_5=List of va&riables
EditLogicalStructureDialog_7=Variable
EditLogicalStructureDialog_8=N&ame:
EditLogicalStructureDialog_9=&Code:
EditLogicalStructureDialog_10=A&dd
EditLogicalStructureDialog_11=Re&move
EditLogicalStructureDialog_12=U&p
EditLogicalStructureDialog_13=Do&wn
EditLogicalStructureDialog_14=name
EditLogicalStructureDialog_15=// code
EditLogicalStructureDialog_16=Qualified type name must not be empty.
EditLogicalStructureDialog_17=Description must not be empty.
EditLogicalStructureDialog_18=Associated code must not be empty.
EditLogicalStructureDialog_19=The logical structure must have at least one variable.
EditLogicalStructureDialog_20=Attribute name must not be empty.
EditLogicalStructureDialog_21=Associated code must not be empty.
EditLogicalStructureDialog_22=One variable has an empty name
EditLogicalStructureDialog_23=The code associated to the variable ''{0}'' must not be empty
EditLogicalStructureDialog_24=No type with the given name found in the workspace
EditLogicalStructureDialog_25=Browse the list of types defined in the workspace
EditLogicalStructureDialog_26=Indicates if this logical structure should be used for subtypes of this type too
EditLogicalStructureDialog_27=Add a new variable
EditLogicalStructureDialog_28=Remove the selected variables
EditLogicalStructureDialog_29=Move the selected variables up
EditLogicalStructureDialog_30=Move the selected variables down
EditLogicalStructureDialog_31=Edit Java Logical Structure
EditLogicalStructureDialog_32=Add Java Logical Structure
EditLogicalStructureDialog_33=Structure type
HeapWalkingPreferencePage_0=Specify default heap walking settings for VMs that support instance and reference information retrieval.
HeapWalkingPreferencePage_1=Maximum &instances to display:
HeapWalkingPreferencePage_2=Maximum &references to display:
HeapWalkingPreferencePage_3=Instance and Reference Display Settings
HeapWalkingPreferencePage_4=Setting a count to zero indicates all instances or references should be shown.
HeapWalkingPreferencePage_5=Display references as &variables
HeapWalkingPreferencePage_6=Value must be a positive Integer
