Merge branch 'feature/478976'
diff --git a/org.eclipse.virgo.ide.bundlor.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.bundlor.core/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..73ce483 100644
--- a/org.eclipse.virgo.ide.bundlor.core/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.bundlor.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,18 +162,17 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +220,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +239,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +270,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +298,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +327,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +337,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +353,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.bundlor.core/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.bundlor.core/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.bundlor.core/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.bundlor.core/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/BundlorCorePlugin.java b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/BundlorCorePlugin.java
index 570ef11..d37d09f 100644
--- a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/BundlorCorePlugin.java
+++ b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/BundlorCorePlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.internal.core;
 
 import org.eclipse.core.runtime.Plugin;
@@ -15,75 +16,75 @@
 
 /**
  * Bundle Activator of the bundlor.core plugin.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @since 1.1.2
  */
 public class BundlorCorePlugin extends Plugin {
 
-	/** The bundle symbolic name */
-	public static final String PLUGIN_ID = "org.eclipse.virgo.ide.bundlor.core";
+    /** The bundle symbolic name */
+    public static final String PLUGIN_ID = "org.eclipse.virgo.ide.bundlor.core";
 
-	/** The id of the bundlor builder */
-	public static final String BUILDER_ID = PLUGIN_ID + ".builder";
+    /** The id of the bundlor builder */
+    public static final String BUILDER_ID = PLUGIN_ID + ".builder";
 
-	/** The properties key for properties files */
-	public static final String TEMPLATE_PROPERTIES_FILE_KEY = "template.properties.files";
+    /** The properties key for properties files */
+    public static final String TEMPLATE_PROPERTIES_FILE_KEY = "template.properties.files";
 
-	/** Default property value for properties files */
-	public static final String TEMPLATE_PROPERTIES_FILE_DEFAULT = "template.properties;build.properties";
+    /** Default property value for properties files */
+    public static final String TEMPLATE_PROPERTIES_FILE_DEFAULT = "template.properties;build.properties";
 
-	/** The properties key for byte code vs source code scanning */
-	public static final String TEMPLATE_BYTE_CODE_SCANNING_KEY = "byte.code.scanning";
+    /** The properties key for byte code vs source code scanning */
+    public static final String TEMPLATE_BYTE_CODE_SCANNING_KEY = "byte.code.scanning";
 
-	/** Default property value for byte code vs source code scanning */
-	public static final boolean TEMPLATE_BYTE_CODE_SCANNING_DEFAULT = false;
+    /** Default property value for byte code vs source code scanning */
+    public static final boolean TEMPLATE_BYTE_CODE_SCANNING_DEFAULT = false;
 
-	/** The properties key for auto-formatting generated manifests */
-	public static final String FORMAT_GENERATED_MANIFESTS_KEY = "bundlor.generated.manifest.autoformatting";
+    /** The properties key for auto-formatting generated manifests */
+    public static final String FORMAT_GENERATED_MANIFESTS_KEY = "bundlor.generated.manifest.autoformatting";
 
-	/** Default property value for auto-formatting generated manifests */
-	public static final boolean FORMAT_GENERATED_MANIFESTS_DEFAULT = false;
+    /** Default property value for auto-formatting generated manifests */
+    public static final boolean FORMAT_GENERATED_MANIFESTS_DEFAULT = false;
 
-	/** The singleton instance */
-	private static BundlorCorePlugin plugin;
+    /** The singleton instance */
+    private static BundlorCorePlugin plugin;
 
-	/** Holds references to {@link IncrementalReadablePartialManifest} */
-	private IncrementalPartialManifestManager manifestManager;
+    /** Holds references to {@link IncrementalReadablePartialManifest} */
+    private IncrementalPartialManifestManager manifestManager;
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-		manifestManager = new IncrementalPartialManifestManager();
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void start(BundleContext context) throws Exception {
+        super.start(context);
+        plugin = this;
+        this.manifestManager = new IncrementalPartialManifestManager();
 
-	}
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void stop(BundleContext context) throws Exception {
+        plugin = null;
+        super.stop(context);
+    }
 
-	/**
-	 * Returns the singleton instance.
-	 */
-	public static BundlorCorePlugin getDefault() {
-		return plugin;
-	}
+    /**
+     * Returns the singleton instance.
+     */
+    public static BundlorCorePlugin getDefault() {
+        return plugin;
+    }
 
-	/**
-	 * Returns the {@link IncrementalPartialManifestManager}.
-	 */
-	public IncrementalPartialManifestManager getManifestManager() {
-		return manifestManager;
-	}
+    /**
+     * Returns the {@link IncrementalPartialManifestManager}.
+     */
+    public IncrementalPartialManifestManager getManifestManager() {
+        return this.manifestManager;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/BundlorProjectBuilder.java b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/BundlorProjectBuilder.java
index 0524e96..24769ea 100644
--- a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/BundlorProjectBuilder.java
+++ b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/BundlorProjectBuilder.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.internal.core;
 
 import java.io.ByteArrayInputStream;
@@ -93,7 +94,7 @@
 /**
  * {@link IncrementalProjectBuilder} that runs on a bundle project and generates the MANIFEST.MF based on actual
  * dependencies from the source code and the Bundlor template.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @author Miles Parker
@@ -102,804 +103,772 @@
 @SuppressWarnings("restriction")
 public class BundlorProjectBuilder extends IncrementalProjectBuilder {
 
-	private static final String WEB_XML_PATH = "WEB-INF/web.xml";
+    private static final String WEB_XML_PATH = "WEB-INF/web.xml";
 
-	private final static String CLASS_FILE_EXTENSION = ".class";
+    private final static String CLASS_FILE_EXTENSION = ".class";
 
-	/** Deleted sources from a source directory */
-	private final Set<IResource> deletedSourceResources = new HashSet<IResource>();
+    /** Deleted sources from a source directory */
+    private final Set<IResource> deletedSourceResources = new HashSet<IResource>();
 
-	/** Deleted sources from a test source directory */
-	private final Set<IResource> deletedTestResources = new HashSet<IResource>();
+    /** Deleted sources from a test source directory */
+    private final Set<IResource> deletedTestResources = new HashSet<IResource>();
 
-	/** Change or new sources from a source directory */
-	private final Set<IResource> sourceResources = new HashSet<IResource>();
+    /** Change or new sources from a source directory */
+    private final Set<IResource> sourceResources = new HashSet<IResource>();
 
-	/** Change or new sources from a test source directory */
-	private final Set<IResource> testResources = new HashSet<IResource>();
+    /** Change or new sources from a test source directory */
+    private final Set<IResource> testResources = new HashSet<IResource>();
 
-	/**
-	 * <code>true</code> if a MANIFEST.MF, TEST.MF or template.mf has been changed
-	 */
-	private boolean forceFullBuild = false;
+    /**
+     * <code>true</code> if a MANIFEST.MF, TEST.MF or template.mf has been changed
+     */
+    private boolean forceFullBuild = false;
 
-	/** <code>true</code> if Bundlor should scan byte code instead of source code */
-	private boolean scanByteCode = true;
+    /** <code>true</code> if Bundlor should scan byte code instead of source code */
+    private boolean scanByteCode = true;
 
-	private final List<ImportedPackage> templatePackageImports = new ArrayList<ImportedPackage>();
+    private final List<ImportedPackage> templatePackageImports = new ArrayList<ImportedPackage>();
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {
 
-		// Clean out old state
-		deletedSourceResources.clear();
-		sourceResources.clear();
-		deletedTestResources.clear();
-		testResources.clear();
-		templatePackageImports.clear();
-		forceFullBuild = false;
+        // Clean out old state
+        this.deletedSourceResources.clear();
+        this.sourceResources.clear();
+        this.deletedTestResources.clear();
+        this.testResources.clear();
+        this.templatePackageImports.clear();
+        this.forceFullBuild = false;
 
-		IProject project = getProject();
-		IResourceDelta delta = getDelta(project);
+        IProject project = getProject();
+        IResourceDelta delta = getDelta(project);
 
-		// Get the configuration setting
-		scanByteCode = getProjectPreferences(project).getBoolean(BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_KEY,
-				BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_DEFAULT);
+        // Get the configuration setting
+        this.scanByteCode = getProjectPreferences(project).getBoolean(BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_KEY,
+            BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_DEFAULT);
 
-		// Prepare the list of changed resources
-		visitResourceDelta(project, kind, delta);
+        // Prepare the list of changed resources
+        visitResourceDelta(project, kind, delta);
 
-		// Trigger build
-		build(kind, monitor);
+        // Trigger build
+        build(kind, monitor);
 
-		// Refresh PDE manifest in the root of the project
-		IFile file = project.getFile("META-INF/MANIFEST.MF");
-		if (file != null && file.exists()) {
-			file.refreshLocal(IResource.DEPTH_ZERO, new NullProgressMonitor());
-		}
+        // Refresh PDE manifest in the root of the project
+        IFile file = project.getFile("META-INF/MANIFEST.MF");
+        if (file != null && file.exists()) {
+            file.refreshLocal(IResource.DEPTH_ZERO, new NullProgressMonitor());
+        }
 
-		return null;
-	}
+        return null;
+    }
 
-	/**
-	 * Checks if the given {@link IResource} is either on source or test source folders.
-	 */
-	private void addResourceIfInSourceFolder(IResource resource, Set<IClasspathEntry> classpathEntries,
-			Set<IClasspathEntry> testClasspathEntries) {
-		for (IClasspathEntry entry : classpathEntries) {
-			if (entry.getPath().isPrefixOf(resource.getFullPath())) {
-				sourceResources.add(resource);
-				return;
-			}
-		}
-		for (IClasspathEntry entry : testClasspathEntries) {
-			if (entry.getPath().isPrefixOf(resource.getFullPath())) {
-				testResources.add(resource);
-				return;
-			}
-		}
-	}
+    /**
+     * Checks if the given {@link IResource} is either on source or test source folders.
+     */
+    private void addResourceIfInSourceFolder(IResource resource, Set<IClasspathEntry> classpathEntries, Set<IClasspathEntry> testClasspathEntries) {
+        for (IClasspathEntry entry : classpathEntries) {
+            if (entry.getPath().isPrefixOf(resource.getFullPath())) {
+                this.sourceResources.add(resource);
+                return;
+            }
+        }
+        for (IClasspathEntry entry : testClasspathEntries) {
+            if (entry.getPath().isPrefixOf(resource.getFullPath())) {
+                this.testResources.add(resource);
+                return;
+            }
+        }
+    }
 
-	private void build(int kind, final IProgressMonitor monitor) throws CoreException {
+    private void build(int kind, final IProgressMonitor monitor) throws CoreException {
 
-		monitor.beginTask("Scanning source code to generate MANIFEST.MF", sourceResources.size() + testResources.size());
+        monitor.beginTask("Scanning source code to generate MANIFEST.MF", this.sourceResources.size() + this.testResources.size());
 
-		// No resources selected -> on relevant change
-		if (sourceResources.size() == 0 && testResources.size() == 0 && deletedSourceResources.size() == 0
-				&& deletedTestResources.size() == 0 && !forceFullBuild) {
-			return;
-		}
+        // No resources selected -> on relevant change
+        if (this.sourceResources.size() == 0 && this.testResources.size() == 0 && this.deletedSourceResources.size() == 0
+            && this.deletedTestResources.size() == 0 && !this.forceFullBuild) {
+            return;
+        }
 
-		// Increase scope of build to FULL_BUILD if template.mf, MANIFEST.MF or
-		// TEST.MF has changed
-		if (forceFullBuild) {
-			kind = IncrementalProjectBuilder.FULL_BUILD;
-		}
+        // Increase scope of build to FULL_BUILD if template.mf, MANIFEST.MF or
+        // TEST.MF has changed
+        if (this.forceFullBuild) {
+            kind = IncrementalProjectBuilder.FULL_BUILD;
+        }
 
-		IncrementalPartialManifestManager manifestManager = BundlorCorePlugin.getDefault().getManifestManager();
+        IncrementalPartialManifestManager manifestManager = BundlorCorePlugin.getDefault().getManifestManager();
 
-		IJavaProject javaProject = JavaCore.create(getProject());
+        IJavaProject javaProject = JavaCore.create(getProject());
 
-		// No incremental manifest model has been recorded or the build is a
-		// full build
-		final boolean isFullBuild = !manifestManager.hasPartialManifest(javaProject)
-				|| kind == IncrementalProjectBuilder.FULL_BUILD;
+        // No incremental manifest model has been recorded or the build is a
+        // full build
+        final boolean isFullBuild = !manifestManager.hasPartialManifest(javaProject) || kind == IncrementalProjectBuilder.FULL_BUILD;
 
-		final ReadablePartialManifest model = manifestManager.getPartialManifest(javaProject, false, isFullBuild);
-		final ReadablePartialManifest testModel = manifestManager.getPartialManifest(javaProject, true, isFullBuild);
+        final ReadablePartialManifest model = manifestManager.getPartialManifest(javaProject, false, isFullBuild);
+        final ReadablePartialManifest testModel = manifestManager.getPartialManifest(javaProject, true, isFullBuild);
 
-		PropertiesSource[] propertiesSources = createPropertiesSource(javaProject);
+        PropertiesSource[] propertiesSources = createPropertiesSource(javaProject);
 
-		// Firstly create the MANFIEST.MF
-		ArtifactAnalyzer artefactAnalyser = (scanByteCode
-				? new ProgressReportingAsmTypeArtefactAnalyser(monitor)
-				: new ProgressReportingAstTypeArtefactAnalyser(javaProject, monitor));
+        // Firstly create the MANFIEST.MF
+        ArtifactAnalyzer artefactAnalyser = this.scanByteCode ? new ProgressReportingAsmTypeArtefactAnalyser(monitor)
+            : new ProgressReportingAstTypeArtefactAnalyser(javaProject, monitor);
 
-		try {
-			BundleManifest manifest = generateManifest(javaProject, model,
-					ManifestGeneratorFactory.create(model, artefactAnalyser, propertiesSources), sourceResources,
-					isFullBuild, false);
-			// Secondly create the TEST.MF
-			BundleManifest testManifest = generateManifest(javaProject, testModel,
-					ManifestGeneratorFactory.create(testModel, artefactAnalyser, propertiesSources), testResources,
-					isFullBuild, true);
+        try {
+            BundleManifest manifest = generateManifest(javaProject, model,
+                ManifestGeneratorFactory.create(model, artefactAnalyser, propertiesSources), this.sourceResources, isFullBuild, false);
+            // Secondly create the TEST.MF
+            BundleManifest testManifest = generateManifest(javaProject, testModel,
+                ManifestGeneratorFactory.create(testModel, artefactAnalyser, propertiesSources), this.testResources, isFullBuild, true);
 
-			// Lastly merge the manifests
-			mergeManifests(javaProject, manifest, testManifest);
+            // Lastly merge the manifests
+            mergeManifests(javaProject, manifest, testManifest);
 
-			monitor.done();
-		} catch (IOException e) {
-			throw new CoreException(new Status(IStatus.ERROR, BundlorCorePlugin.PLUGIN_ID,
-					"Exception while generating manifest.", e));
-		}
+            monitor.done();
+        } catch (IOException e) {
+            throw new CoreException(new Status(IStatus.ERROR, BundlorCorePlugin.PLUGIN_ID, "Exception while generating manifest.", e));
+        }
 
-	}
+    }
 
-	/**
-	 * Set up {@link PropertiesSource} instances for configured properties files.
-	 */
-	private PropertiesSource[] createPropertiesSource(final IJavaProject javaProject) throws CoreException {
+    /**
+     * Set up {@link PropertiesSource} instances for configured properties files.
+     */
+    private PropertiesSource[] createPropertiesSource(final IJavaProject javaProject) throws CoreException {
 
-		IProject project = javaProject.getProject();
-		IEclipsePreferences preferences = getProjectPreferences(project);
-		String propertiesFiles = preferences.get(BundlorCorePlugin.TEMPLATE_PROPERTIES_FILE_KEY,
-				BundlorCorePlugin.TEMPLATE_PROPERTIES_FILE_DEFAULT);
-		String[] properties = StringUtils.split(propertiesFiles, ";");
+        IProject project = javaProject.getProject();
+        IEclipsePreferences preferences = getProjectPreferences(project);
+        String propertiesFiles = preferences.get(BundlorCorePlugin.TEMPLATE_PROPERTIES_FILE_KEY, BundlorCorePlugin.TEMPLATE_PROPERTIES_FILE_DEFAULT);
+        String[] properties = StringUtils.split(propertiesFiles, ";");
 
-		List<IPath> paths = new ArrayList<IPath>();
-		if (properties != null && properties.length > 0) {
-			for (String propertiesFile : properties) {
-				IResource resource = null;
+        List<IPath> paths = new ArrayList<IPath>();
+        if (properties != null && properties.length > 0) {
+            for (String propertiesFile : properties) {
+                // Assume file is relative to the project but still in the
+                // workspace
+                IPath location = new Path(propertiesFile);
+                if (project.exists(location)) {
+                    IFile propertiesResource = project.getFile(location);
+                    if (propertiesResource.isLinked()) {
+                        paths.add(propertiesResource.getLocation());
+                    } else {
+                        paths.add(propertiesResource.getRawLocation());
+                    }
+                    continue;
+                }
 
-				// Assume file is relative to the project but still in the
-				// workspace
-				IPath location = new Path(propertiesFile);
-				if (project.exists(location)) {
-					IFile propertiesResource = project.getFile(location);
-					if (propertiesResource.isLinked()) {
-						paths.add(propertiesResource.getLocation());
-					} else {
-						paths.add(propertiesResource.getRawLocation());
-					}
-					continue;
-				}
+                // Assume file is relative to the project and can be outside of
+                // the project and workspace
+                IPath projectRelativeLocation = project.getLocation();
+                if (projectRelativeLocation == null) {
+                    projectRelativeLocation = project.getRawLocation();
+                }
+                projectRelativeLocation = projectRelativeLocation.append(propertiesFile);
+                if (projectRelativeLocation.toFile().exists()) {
+                    paths.add(projectRelativeLocation);
+                    continue;
+                }
 
-				// Assume file is relative to the project and can be outside of
-				// the project and workspace
-				IPath projectRelativeLocation = project.getLocation();
-				if (projectRelativeLocation == null) {
-					projectRelativeLocation = project.getRawLocation();
-				}
-				projectRelativeLocation = projectRelativeLocation.append(propertiesFile);
-				if (projectRelativeLocation.toFile().exists()) {
-					paths.add(projectRelativeLocation);
-					continue;
-				}
+                // Assume file is relative to the workspace
+                IPath workspaceRelativeLocation = project.getWorkspace().getRoot().getLocation().append(location);
+                if (workspaceRelativeLocation.toFile().exists()) {
+                    paths.add(workspaceRelativeLocation);
+                    continue;
+                }
 
-				// Assume file is relative to the workspace
-				IPath workspaceRelativeLocation = project.getWorkspace().getRoot().getLocation().append(location);
-				if (workspaceRelativeLocation.toFile().exists()) {
-					paths.add(workspaceRelativeLocation);
-					continue;
-				}
+                // Assume absolute path
+                if (location.toFile().exists()) {
+                    paths.add(location);
+                    continue;
+                }
+                // TODO CD we could add an error marker for those files that
+                // can't be resolved to a resource
+                StatusManager.getManager().handle(
+                    new Status(IStatus.INFO, BundlorCorePlugin.PLUGIN_ID, "Bundlor property substitution is skipping over file " + location.toString()
+                        + " for project " + project.getName() + " because it could not be found."));
+            }
+        }
 
-				// Assume absolute path
-				if (location.toFile().exists()) {
-					paths.add(location);
-					continue;
-				}
-				// TODO CD we could add an error marker for those files that
-				// can't be resolved to a resource
-				StatusManager.getManager().handle(
-						new Status(IStatus.INFO, BundlorCorePlugin.PLUGIN_ID,
-								"Bundlor property substitution is skipping over file " + location.toString()
-										+ " for project " + project.getName() + " because it could not be found."));
-			}
-		}
+        // Add in properties sources for the resolved properties files
+        Set<PropertiesSource> propertiesSources = new HashSet<PropertiesSource>();
+        for (IPath path : paths) {
+            propertiesSources.add(new FileSystemPropertiesSource(path.toFile()));
+        }
 
-		// Add in properties sources for the resolved properties files
-		Set<PropertiesSource> propertiesSources = new HashSet<PropertiesSource>();
-		for (IPath path : paths) {
-			propertiesSources.add(new FileSystemPropertiesSource(path.toFile()));
-		}
+        // Check if the project has a pom.xml in the root of the project file structure
+        if (MavenPropertiesSourceFactory.shouldCreate(getProject())) {
+            propertiesSources.add(MavenPropertiesSourceFactory.createPropertiesSource(getProject()));
+        }
+        return propertiesSources.toArray(new PropertiesSource[] {});
+    }
 
-		// Check if the project has a pom.xml in the root of the project file structure
-		if (MavenPropertiesSourceFactory.shouldCreate(getProject())) {
-			propertiesSources.add(MavenPropertiesSourceFactory.createPropertiesSource(getProject()));
-		}
-		return propertiesSources.toArray(new PropertiesSource[] {});
-	}
+    /**
+     * Create a {@link Manifest} instance from the file at the given path.
+     */
+    private ManifestContents createManifestFromPath(IResource templateResource) throws IOException {
+        if (templateResource != null) {
+            ManifestParser parser = new RecoveringManifestParser();
+            ManifestContents manifest = null;
+            manifest = parser.parse(new FileReader(templateResource.getRawLocation().toString()));
+            return manifest;
+        }
+        // Create new empty MANIFEST
+        else {
+            return new SimpleManifestContents();
+        }
+    }
 
-	/**
-	 * Create a {@link Manifest} instance from the file at the given path.
-	 */
-	private ManifestContents createManifestFromPath(IResource templateResource) throws IOException {
-		if (templateResource != null) {
-			ManifestParser parser = new RecoveringManifestParser();
-			ManifestContents manifest = null;
-			manifest = parser.parse(new FileReader(templateResource.getRawLocation().toString()));
-			return manifest;
-		}
-		// Create new empty MANIFEST
-		else {
-			return new SimpleManifestContents();
-		}
-	}
+    private void doGetAffectedResources(IResource resource, int kind, int deltaKind) throws CoreException {
 
-	private void doGetAffectedResources(IResource resource, int kind, int deltaKind) throws CoreException {
+        IJavaProject project = JavaCore.create(getProject());
+        if (project == null) {
+            return;
+        }
 
-		IJavaProject project = JavaCore.create(getProject());
-		if (project == null) {
-			return;
-		}
+        IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();
 
-		IWorkspaceRoot wsRoot = ResourcesPlugin.getWorkspace().getRoot();
+        // Get the source folders
+        Set<IClasspathEntry> classpathEntries = ServerModuleDelegate.getSourceClasspathEntries(resource.getProject(), false);
+        Set<IClasspathEntry> testClasspathEntries = ServerModuleDelegate.getSourceClasspathEntries(resource.getProject(), true);
 
-		// Get the source folders
-		Set<IClasspathEntry> classpathEntries = ServerModuleDelegate.getSourceClasspathEntries(resource.getProject(),
-				false);
-		Set<IClasspathEntry> testClasspathEntries = ServerModuleDelegate.getSourceClasspathEntries(
-				resource.getProject(), true);
+        // Java source files
+        if (!this.scanByteCode && resource.getName().endsWith("java")) { //$NON-NLS-1$
+            IJavaElement element = JavaCore.create(resource);
+            if (element != null && element.getJavaProject().isOnClasspath(element)) {
+                IPackageFragmentRoot root = (IPackageFragmentRoot) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
+                try {
+                    IClasspathEntry classpathEntry = root.getRawClasspathEntry();
+                    for (IClasspathEntry entry : classpathEntries) {
+                        if (classpathEntry.equals(entry)) {
+                            if (deltaKind == IResourceDelta.REMOVED) {
+                                this.deletedSourceResources.add(resource);
+                            } else {
+                                this.sourceResources.add(resource);
+                            }
+                            break;
+                        }
+                    }
+                    for (IClasspathEntry entry : testClasspathEntries) {
+                        if (classpathEntry.equals(entry)) {
+                            if (deltaKind == IResourceDelta.REMOVED) {
+                                this.deletedTestResources.add(resource);
+                            } else {
+                                this.testResources.add(resource);
+                            }
+                            break;
+                        }
+                    }
+                } catch (JavaModelException e) {
+                    // This can happen in case of .java resources not on the
+                    // classpath of the project
+                }
+            }
+        }
+        // Java byte code
+        else if (this.scanByteCode && resource.getName().endsWith(CLASS_FILE_EXTENSION)) {
+            IPath classFilePath = resource.getFullPath();
 
-		// Java source files
-		if (!scanByteCode && resource.getName().endsWith("java")) { //$NON-NLS-1$
-			IJavaElement element = JavaCore.create(resource);
-			if (element != null && element.getJavaProject().isOnClasspath(element)) {
-				IPackageFragmentRoot root = (IPackageFragmentRoot) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
-				try {
-					IClasspathEntry classpathEntry = root.getRawClasspathEntry();
-					for (IClasspathEntry entry : classpathEntries) {
-						if (classpathEntry.equals(entry)) {
-							if (deltaKind == IResourceDelta.REMOVED) {
-								deletedSourceResources.add(resource);
-							} else {
-								sourceResources.add(resource);
-							}
-							break;
-						}
-					}
-					for (IClasspathEntry entry : testClasspathEntries) {
-						if (classpathEntry.equals(entry)) {
-							if (deltaKind == IResourceDelta.REMOVED) {
-								deletedTestResources.add(resource);
-							} else {
-								testResources.add(resource);
-							}
-							break;
-						}
-					}
-				} catch (JavaModelException e) {
-					// This can happen in case of .java resources not on the
-					// classpath of the project
-				}
-			}
-		}
-		// Java byte code
-		else if (scanByteCode && resource.getName().endsWith(CLASS_FILE_EXTENSION)) {
-			IPath classFilePath = resource.getFullPath();
+            // Check default output folders
+            IPath defaultOutputLocation = project.getOutputLocation();
+            if (defaultOutputLocation.isPrefixOf(classFilePath)) {
+                // Ok we know that the file is a class in the default output
+                // location; let's get the class name
+                String className = classFilePath.removeFirstSegments(defaultOutputLocation.segmentCount()).toString();
+                className = className.substring(0, className.length() - CLASS_FILE_EXTENSION.length());
 
-			// Check default output folders
-			IPath defaultOutputLocation = project.getOutputLocation();
-			if (defaultOutputLocation.isPrefixOf(classFilePath)) {
-				// Ok we know that the file is a class in the default output
-				// location; let's get the class name
-				String className = classFilePath.removeFirstSegments(defaultOutputLocation.segmentCount()).toString();
-				className = className.substring(0, className.length() - CLASS_FILE_EXTENSION.length());
+                int ix = className.indexOf('$');
+                if (ix > 0) {
+                    className = className.substring(0, ix);
+                }
 
-				int ix = className.indexOf('$');
-				if (ix > 0) {
-					className = className.substring(0, ix);
-				}
+                className = className + ".java";
 
-				className = className + ".java";
+                if (deltaKind == IResourceDelta.REMOVED) {
+                    this.deletedSourceResources.add(resource);
+                    this.deletedTestResources.add(resource);
+                } else {
 
-				if (deltaKind == IResourceDelta.REMOVED) {
-					deletedSourceResources.add(resource);
-					deletedTestResources.add(resource);
-				} else {
+                    for (IClasspathEntry entry : classpathEntries) {
+                        IPath sourceLocation = entry.getPath();
+                        IResource sourceFolder = wsRoot.findMember(sourceLocation);
+                        if (sourceFolder instanceof IFolder) {
+                            if (((IFolder) sourceFolder).findMember(className) != null) {
+                                this.sourceResources.add(resource);
+                                break;
+                            }
+                        }
+                    }
+                    for (IClasspathEntry entry : testClasspathEntries) {
+                        IPath sourceLocation = entry.getPath();
+                        IResource sourceFolder = wsRoot.findMember(sourceLocation);
+                        if (sourceFolder instanceof IFolder) {
+                            if (((IFolder) sourceFolder).findMember(className) != null) {
+                                this.testResources.add(resource);
+                                break;
+                            }
+                        }
+                    }
+                }
+            }
 
-					for (IClasspathEntry entry : classpathEntries) {
-						IPath sourceLocation = entry.getPath();
-						IResource sourceFolder = wsRoot.findMember(sourceLocation);
-						if (sourceFolder instanceof IFolder) {
-							if (((IFolder) sourceFolder).findMember(className) != null) {
-								sourceResources.add(resource);
-								break;
-							}
-						}
-					}
-					for (IClasspathEntry entry : testClasspathEntries) {
-						IPath sourceLocation = entry.getPath();
-						IResource sourceFolder = wsRoot.findMember(sourceLocation);
-						if (sourceFolder instanceof IFolder) {
-							if (((IFolder) sourceFolder).findMember(className) != null) {
-								testResources.add(resource);
-								break;
-							}
-						}
-					}
-				}
-			}
+            // Check output folders of source folders
+            for (IClasspathEntry entry : classpathEntries) {
+                IPath outputLocation = entry.getOutputLocation();
+                if (outputLocation != null && outputLocation.isPrefixOf(classFilePath)) {
+                    if (deltaKind == IResourceDelta.REMOVED) {
+                        this.deletedSourceResources.add(resource);
+                    } else {
+                        this.sourceResources.add(resource);
+                    }
 
-			// Check output folders of source folders
-			for (IClasspathEntry entry : classpathEntries) {
-				IPath outputLocation = entry.getOutputLocation();
-				if (outputLocation != null && outputLocation.isPrefixOf(classFilePath)) {
-					if (deltaKind == IResourceDelta.REMOVED) {
-						deletedSourceResources.add(resource);
-					} else {
-						sourceResources.add(resource);
-					}
+                    break;
+                }
+            }
 
-					break;
-				}
-			}
+            // Check output folders for test source folders
+            for (IClasspathEntry entry : testClasspathEntries) {
+                IPath outputLocation = entry.getOutputLocation();
+                if (outputLocation != null && outputLocation.isPrefixOf(classFilePath)) {
+                    if (deltaKind == IResourceDelta.REMOVED) {
+                        this.deletedTestResources.add(resource);
+                    } else {
+                        this.testResources.add(resource);
+                    }
 
-			// Check output folders for test source folders
-			for (IClasspathEntry entry : testClasspathEntries) {
-				IPath outputLocation = entry.getOutputLocation();
-				if (outputLocation != null && outputLocation.isPrefixOf(classFilePath)) {
-					if (deltaKind == IResourceDelta.REMOVED) {
-						deletedTestResources.add(resource);
-					} else {
-						testResources.add(resource);
-					}
+                    break;
+                }
+            }
+        }
+        // Some template or actual manifest file (whether or not it actually
+        // affects packaged build) has changed. Note that this is different
+        // behavior than
+        // pre-Virgo server. Still, it seems reasonably conservative as worst
+        // case we'll be re-building the project when we really don't need to,
+        // and best case we'll catch an edge case that we would have otherwise
+        // missed.
+        else if (resource.getName().equals("template.mf") || resource.getName().equals("MANIFEST.MF")) {
+            this.forceFullBuild = true;
+        }
+        // Hibernate mapping files
+        else if (resource.getName().endsWith(".hbm")) {
+            addResourceIfInSourceFolder(resource, classpathEntries, testClasspathEntries);
+        }
+        // JPA persistence descriptor
+        else if (resource.getName().equals("persistence.xml") && resource.getParent() != null && resource.getParent().getName().equals("META-INF")) {
+            addResourceIfInSourceFolder(resource, classpathEntries, testClasspathEntries);
+        } else if (isWebXML(resource)) {
+            this.sourceResources.add(resource);
+        }
+        // Spring configuration file
+        else if (resource.getName().endsWith(".xml")) {
+            addResourceIfInSourceFolder(resource, classpathEntries, testClasspathEntries);
+        }
+    }
 
-					break;
-				}
-			}
-		}
-		// Some template or actual manifest file (whether or not it actually
-		// affects packaged build) has changed. Note that this is different
-		// behavior than
-		// pre-Virgo server. Still, it seems reasonably conservative as worst
-		// case we'll be re-building the project when we really don't need to,
-		// and best case we'll catch an edge case that we would have otherwise
-		// missed.
-		else if (resource.getName().equals("template.mf") || resource.getName().equals("MANIFEST.MF")) {
-			forceFullBuild = true;
-		}
-		// Hibernate mapping files
-		else if (resource.getName().endsWith(".hbm")) {
-			addResourceIfInSourceFolder(resource, classpathEntries, testClasspathEntries);
-		}
-		// JPA persistence descriptor
-		else if (resource.getName().equals("persistence.xml") && resource.getParent() != null
-				&& resource.getParent().getName().equals("META-INF")) {
-			addResourceIfInSourceFolder(resource, classpathEntries, testClasspathEntries);
-		} else if (isWebXML(resource)) {
-			sourceResources.add(resource);
-		}
-		// Spring configuration file
-		else if (resource.getName().endsWith(".xml")) {
-			addResourceIfInSourceFolder(resource, classpathEntries, testClasspathEntries);
-		}
-	}
+    private boolean isWebXML(IResource resource) {
+        return resource.getFullPath().toString().endsWith(WEB_XML_PATH) && FacetUtils.hasProjectFacet(resource, FacetCorePlugin.WEB_FACET_ID);
+    }
 
-	private boolean isWebXML(IResource resource) {
-		return resource.getFullPath().toString().endsWith(WEB_XML_PATH)
-				&& FacetUtils.hasProjectFacet(resource, FacetCorePlugin.WEB_FACET_ID);
-	}
+    /**
+     * Generate a new or update the existing manifest.
+     *
+     * @throws IOException
+     */
+    private BundleManifest generateManifest(IJavaProject javaProject, ReadablePartialManifest model, ManifestGenerator generator,
+        Set<IResource> resources, boolean isFullBuild, boolean isTestManifest) throws JavaModelException, CoreException, IOException {
 
-	/**
-	 * Generate a new or update the existing manifest.
-	 * 
-	 * @throws IOException
-	 */
-	private BundleManifest generateManifest(IJavaProject javaProject, ReadablePartialManifest model,
-			ManifestGenerator generator, Set<IResource> resources, boolean isFullBuild, boolean isTestManifest)
-			throws JavaModelException, CoreException, IOException {
+        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
 
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+        Set<String> folders = getSourceFolders(javaProject, root, isTestManifest);
 
-		Set<String> folders = getSourceFolders(javaProject, root, isTestManifest);
+        // Removed deleted resources
+        for (IResource deletedResource : isTestManifest ? this.deletedTestResources : this.deletedSourceResources) {
+            String path = deletedResource.getRawLocation().toString();
+            for (String folder : folders) {
+                if (path.startsWith(folder)) {
+                    path = path.substring(folder.length() + 1);
+                    if (model instanceof EntryScannerListener) {
+                        ((EntryScannerListener) model).onBeginEntry(path);
+                    }
+                    ((EntryScannerListener) model).onEndEntry();
+                }
+            }
+        }
 
-		// Removed deleted resources
-		for (IResource deletedResource : (isTestManifest ? deletedTestResources : deletedSourceResources)) {
-			String path = deletedResource.getRawLocation().toString();
-			for (String folder : folders) {
-				if (path.startsWith(folder)) {
-					path = path.substring(folder.length() + 1);
-					if (model instanceof EntryScannerListener) {
-						((EntryScannerListener) model).onBeginEntry(path);
-					}
-					((EntryScannerListener) model).onEndEntry();
-				}
-			}
-		}
-
-		IResource templateResource = getProject().findMember("template.mf");
+        IResource templateResource = getProject().findMember("template.mf");
 
-		ManifestContents templateManifest = createManifestFromPath(templateResource);
+        ManifestContents templateManifest = createManifestFromPath(templateResource);
 
-		// Test-Import-Package and Test-Import-Bundle -> Import-Package and
-		// Import-Bundle
-		if (isTestManifest) {
-			templateManifest.getMainAttributes().remove(Constants.IMPORT_PACKAGE);
-			templateManifest.getMainAttributes().remove(IHeaderConstants.IMPORT_BUNDLE);
-			templateManifest.getMainAttributes().remove(IHeaderConstants.IMPORT_LIBRARY);
+        // Test-Import-Package and Test-Import-Bundle -> Import-Package and
+        // Import-Bundle
+        if (isTestManifest) {
+            templateManifest.getMainAttributes().remove(Constants.IMPORT_PACKAGE);
+            templateManifest.getMainAttributes().remove(IHeaderConstants.IMPORT_BUNDLE);
+            templateManifest.getMainAttributes().remove(IHeaderConstants.IMPORT_LIBRARY);
 
-			if (templateManifest.getMainAttributes().containsKey(IHeaderConstants.TEST_IMPORT_BUNDLE)) {
-				templateManifest.getMainAttributes().put(IHeaderConstants.IMPORT_BUNDLE,
-						templateManifest.getMainAttributes().get(IHeaderConstants.TEST_IMPORT_BUNDLE));
-			}
-			if (templateManifest.getMainAttributes().containsKey(IHeaderConstants.TEST_IMPORT_PACKAGE)) {
-				templateManifest.getMainAttributes().put(Constants.IMPORT_PACKAGE,
-						templateManifest.getMainAttributes().get(IHeaderConstants.TEST_IMPORT_PACKAGE));
-			}
-			if (templateManifest.getMainAttributes().containsKey(IHeaderConstants.TEST_IMPORT_LIBRARY)) {
-				templateManifest.getMainAttributes().put(IHeaderConstants.IMPORT_LIBRARY,
-						templateManifest.getMainAttributes().get(IHeaderConstants.TEST_IMPORT_LIBRARY));
-			}
-		} else {
-			String importPackageHeader = templateManifest.getMainAttributes().get(Constants.IMPORT_PACKAGE);
-			Dictionary<String, String> contents = new Hashtable<String, String>();
-			if (importPackageHeader != null) {
-				contents.put(Constants.IMPORT_PACKAGE, importPackageHeader);
-			}
-			templatePackageImports.addAll(BundleManifestFactory.createBundleManifest(contents)
-					.getImportPackage()
-					.getImportedPackages());
-		}
+            if (templateManifest.getMainAttributes().containsKey(IHeaderConstants.TEST_IMPORT_BUNDLE)) {
+                templateManifest.getMainAttributes().put(IHeaderConstants.IMPORT_BUNDLE,
+                    templateManifest.getMainAttributes().get(IHeaderConstants.TEST_IMPORT_BUNDLE));
+            }
+            if (templateManifest.getMainAttributes().containsKey(IHeaderConstants.TEST_IMPORT_PACKAGE)) {
+                templateManifest.getMainAttributes().put(Constants.IMPORT_PACKAGE,
+                    templateManifest.getMainAttributes().get(IHeaderConstants.TEST_IMPORT_PACKAGE));
+            }
+            if (templateManifest.getMainAttributes().containsKey(IHeaderConstants.TEST_IMPORT_LIBRARY)) {
+                templateManifest.getMainAttributes().put(IHeaderConstants.IMPORT_LIBRARY,
+                    templateManifest.getMainAttributes().get(IHeaderConstants.TEST_IMPORT_LIBRARY));
+            }
+        } else {
+            String importPackageHeader = templateManifest.getMainAttributes().get(Constants.IMPORT_PACKAGE);
+            Dictionary<String, String> contents = new Hashtable<String, String>();
+            if (importPackageHeader != null) {
+                contents.put(Constants.IMPORT_PACKAGE, importPackageHeader);
+            }
+            this.templatePackageImports.addAll(BundleManifestFactory.createBundleManifest(contents).getImportPackage().getImportedPackages());
+        }
 
-		ManifestContents manifest = null;
-		List<ClassPath> classpathEntries = new ArrayList<ClassPath>();
-		StandardClassPathFactory factory = new StandardClassPathFactory();
-		if (isFullBuild) {
-			for (String folder : folders) {
-				classpathEntries.add(factory.create(folder));
-			}
-		} else {
-			for (String folder : folders) {
-				classpathEntries.add(new FilteringClassPath(resources, folder));
-			}
-		}
+        ManifestContents manifest = null;
+        List<ClassPath> classpathEntries = new ArrayList<ClassPath>();
+        StandardClassPathFactory factory = new StandardClassPathFactory();
+        if (isFullBuild) {
+            for (String folder : folders) {
+                classpathEntries.add(factory.create(folder));
+            }
+        } else {
+            for (String folder : folders) {
+                classpathEntries.add(new FilteringClassPath(resources, folder));
+            }
+        }
 
-		manifest = generator.generate(templateManifest,
-				classpathEntries.toArray(new ClassPath[classpathEntries.size()]));
-		return org.eclipse.virgo.bundlor.util.BundleManifestUtils.createBundleManifest(manifest);
-	}
+        manifest = generator.generate(templateManifest, classpathEntries.toArray(new ClassPath[classpathEntries.size()]));
+        return org.eclipse.virgo.bundlor.util.BundleManifestUtils.createBundleManifest(manifest);
+    }
 
-	/**
-	 * Returns the source folders of the given {@link IJavaProject}.
-	 */
-	private Set<String> getSourceFolders(IJavaProject javaProject, IWorkspaceRoot root, boolean testFolders)
-			throws JavaModelException {
-		Set<String> folders = new HashSet<String>();
-		for (IClasspathEntry entry : ServerModuleDelegate.getSourceClasspathEntries(getProject(), testFolders)) {
-			IResource sourceFolder = root.findMember(entry.getPath());
-			if (sourceFolder instanceof IFolder && !(sourceFolder instanceof IWorkspaceRoot)) {
-				folders.add(((IFolder) sourceFolder).getRawLocation().toString());
-			}
+    /**
+     * Returns the source folders of the given {@link IJavaProject}.
+     */
+    private Set<String> getSourceFolders(IJavaProject javaProject, IWorkspaceRoot root, boolean testFolders) throws JavaModelException {
+        Set<String> folders = new HashSet<String>();
+        for (IClasspathEntry entry : ServerModuleDelegate.getSourceClasspathEntries(getProject(), testFolders)) {
+            IResource sourceFolder = root.findMember(entry.getPath());
+            if (sourceFolder instanceof IFolder && !(sourceFolder instanceof IWorkspaceRoot)) {
+                folders.add(((IFolder) sourceFolder).getRawLocation().toString());
+            }
 
-			if (scanByteCode && entry.getOutputLocation() != null) {
-				IResource classFolder = root.findMember(entry.getOutputLocation());
-				if (classFolder instanceof IFolder && !(classFolder instanceof IWorkspaceRoot)) {
-					folders.add(((IFolder) classFolder).getRawLocation().toString());
-				}
-			}
-		}
+            if (this.scanByteCode && entry.getOutputLocation() != null) {
+                IResource classFolder = root.findMember(entry.getOutputLocation());
+                if (classFolder instanceof IFolder && !(classFolder instanceof IWorkspaceRoot)) {
+                    folders.add(((IFolder) classFolder).getRawLocation().toString());
+                }
+            }
+        }
 
-		if (scanByteCode) {
-			IResource sourceFolder = root.findMember(javaProject.getOutputLocation());
-			if (sourceFolder instanceof IFolder && !(sourceFolder instanceof IWorkspaceRoot)) {
-				folders.add(((IFolder) sourceFolder).getRawLocation().toString());
-			}
-		}
+        if (this.scanByteCode) {
+            IResource sourceFolder = root.findMember(javaProject.getOutputLocation());
+            if (sourceFolder instanceof IFolder && !(sourceFolder instanceof IWorkspaceRoot)) {
+                folders.add(((IFolder) sourceFolder).getRawLocation().toString());
+            }
+        }
 
-		// Add parent folder of web.xml
-		if (!testFolders && FacetUtils.hasProjectFacet(getProject(), FacetCorePlugin.WEB_FACET_ID)) {
-			// We're really cheating a bit here, as we aren't handling the case
-			// where the user has multiple WEB-INF dirs, but that seems like an
-			// edge case.
-			IResource resource = getProject().findMember(WEB_XML_PATH);
-			if (resource != null) {
-				folders.add(resource.getRawLocation().removeLastSegments(2).toString());
-			}
-		}
+        // Add parent folder of web.xml
+        if (!testFolders && FacetUtils.hasProjectFacet(getProject(), FacetCorePlugin.WEB_FACET_ID)) {
+            // We're really cheating a bit here, as we aren't handling the case
+            // where the user has multiple WEB-INF dirs, but that seems like an
+            // edge case.
+            IResource resource = getProject().findMember(WEB_XML_PATH);
+            if (resource != null) {
+                folders.add(resource.getRawLocation().removeLastSegments(2).toString());
+            }
+        }
 
-		return folders;
-	}
+        return folders;
+    }
 
-	/**
-	 * Merges the manifests.
-	 */
-	private void mergeManifests(final IJavaProject javaProject, BundleManifest manifest, BundleManifest testManifest)
-			throws CoreException {
+    /**
+     * Merges the manifests.
+     */
+    private void mergeManifests(final IJavaProject javaProject, BundleManifest manifest, BundleManifest testManifest) throws CoreException {
 
-		// Check if there is a manifest
-		if (manifest == null) {
-			return;
-		}
+        // Check if there is a manifest
+        if (manifest == null) {
+            return;
+        }
 
-		BundleManifest cleanTestManifest = null;
-		if (testManifest != null) {
+        BundleManifest cleanTestManifest = null;
+        if (testManifest != null) {
 
-			/*
-			 * As the test manifest should not contain imported packages,
-			 * bundles and libraries those need to be removed. Furthermore there
-			 * shouldn't be any bundlor related headers in the manifest.
-			 */
-			cleanTestManifest = BundleManifestFactory.createBundleManifest();
-			cleanTestManifest.setBundleManifestVersion(2);
-			if (testManifest.getImportBundle() != null && testManifest.getImportBundle().getImportedBundles() != null
-					&& testManifest.getImportBundle().getImportedBundles().size() > 0) {
-				cleanTestManifest.getImportBundle()
-						.getImportedBundles()
-						.addAll(testManifest.getImportBundle().getImportedBundles());
-			}
-			if (testManifest.getImportLibrary() != null
-					&& testManifest.getImportLibrary().getImportedLibraries() != null
-					&& testManifest.getImportLibrary().getImportedLibraries().size() > 0) {
-				cleanTestManifest.getImportLibrary()
-						.getImportedLibraries()
-						.addAll(testManifest.getImportLibrary().getImportedLibraries());
-			}
-			for (ImportedPackage packageImport : testManifest.getImportPackage().getImportedPackages()) {
-				boolean notImported = true;
-				for (ImportedPackage manifestPackageImport : manifest.getImportPackage().getImportedPackages()) {
-					if (manifestPackageImport.getPackageName().equals(packageImport.getPackageName())) {
-						notImported = false;
-						break;
-					}
-				}
+            /*
+             * As the test manifest should not contain imported packages, bundles and libraries those need to be
+             * removed. Furthermore there shouldn't be any bundlor related headers in the manifest.
+             */
+            cleanTestManifest = BundleManifestFactory.createBundleManifest();
+            cleanTestManifest.setBundleManifestVersion(2);
+            if (testManifest.getImportBundle() != null && testManifest.getImportBundle().getImportedBundles() != null
+                && testManifest.getImportBundle().getImportedBundles().size() > 0) {
+                cleanTestManifest.getImportBundle().getImportedBundles().addAll(testManifest.getImportBundle().getImportedBundles());
+            }
+            if (testManifest.getImportLibrary() != null && testManifest.getImportLibrary().getImportedLibraries() != null
+                && testManifest.getImportLibrary().getImportedLibraries().size() > 0) {
+                cleanTestManifest.getImportLibrary().getImportedLibraries().addAll(testManifest.getImportLibrary().getImportedLibraries());
+            }
+            for (ImportedPackage packageImport : testManifest.getImportPackage().getImportedPackages()) {
+                boolean notImported = true;
+                for (ImportedPackage manifestPackageImport : manifest.getImportPackage().getImportedPackages()) {
+                    if (manifestPackageImport.getPackageName().equals(packageImport.getPackageName())) {
+                        notImported = false;
+                        break;
+                    }
+                }
 
-				if (notImported) {
-					boolean skip = false;
-					for (ExportedPackage packageExport : manifest.getExportPackage().getExportedPackages()) {
-						String packageImportName = packageImport.getPackageName();
-						if (packageExport.getPackageName().equals(packageImportName)) {
-							skip = true;
-						}
-					}
-					if (!skip) {
-						cleanTestManifest.getImportPackage().getImportedPackages().add(packageImport);
-					}
-				}
-			}
-		}
+                if (notImported) {
+                    boolean skip = false;
+                    for (ExportedPackage packageExport : manifest.getExportPackage().getExportedPackages()) {
+                        String packageImportName = packageImport.getPackageName();
+                        if (packageExport.getPackageName().equals(packageImportName)) {
+                            skip = true;
+                        }
+                    }
+                    if (!skip) {
+                        cleanTestManifest.getImportPackage().getImportedPackages().add(packageImport);
+                    }
+                }
+            }
+        }
 
-		/*
-		 * Never ever import packages that are exported already; we need this as
-		 * the STS integrated support will sometimes try to import certain
-		 * packages that are usually exported already if the classpath is
-		 * incomplete.
-		 */
-		List<ImportedPackage> importedPackagesCopy = new ArrayList<ImportedPackage>(manifest.getImportPackage()
-				.getImportedPackages());
-		for (ExportedPackage packageExport : manifest.getExportPackage().getExportedPackages()) {
-			for (ImportedPackage packageImport : importedPackagesCopy) {
-				if (packageExport.getPackageName().equals(packageImport.getPackageName())) {
+        /*
+         * Never ever import packages that are exported already; we need this as the STS integrated support will
+         * sometimes try to import certain packages that are usually exported already if the classpath is incomplete.
+         */
+        List<ImportedPackage> importedPackagesCopy = new ArrayList<ImportedPackage>(manifest.getImportPackage().getImportedPackages());
+        for (ExportedPackage packageExport : manifest.getExportPackage().getExportedPackages()) {
+            for (ImportedPackage packageImport : importedPackagesCopy) {
+                if (packageExport.getPackageName().equals(packageImport.getPackageName())) {
 
-					boolean remove = true;
-					// It might still be that the user explicitly wants the
-					// package import in the template.mf
-					for (ImportedPackage templatePackageImport : templatePackageImports) {
-						if (packageExport.getPackageName().equals(templatePackageImport.getPackageName())) {
-							remove = false;
-							break;
-						}
-					}
-					if (remove) {
-						manifest.getImportPackage().getImportedPackages().remove(packageImport);
-						break;
-					}
-				}
-			}
-		}
+                    boolean remove = true;
+                    // It might still be that the user explicitly wants the
+                    // package import in the template.mf
+                    for (ImportedPackage templatePackageImport : this.templatePackageImports) {
+                        if (packageExport.getPackageName().equals(templatePackageImport.getPackageName())) {
+                            remove = false;
+                            break;
+                        }
+                    }
+                    if (remove) {
+                        manifest.getImportPackage().getImportedPackages().remove(packageImport);
+                        break;
+                    }
+                }
+            }
+        }
 
-		IResource manifestResource = BundleManifestUtils.locateManifest(javaProject, false);
-		if (manifestResource == null) {
-			manifestResource = BundleManifestUtils.getFirstPossibleManifestFile(getProject(), false);
-		}
-		IResource testManifestResource = BundleManifestUtils.locateManifest(javaProject, true);
-		if (testManifestResource == null) {
-			testManifestResource = BundleManifestUtils.getFirstPossibleManifestFile(getProject(), true);
-		}
+        IResource manifestResource = BundleManifestUtils.locateManifest(javaProject, false);
+        if (manifestResource == null) {
+            manifestResource = BundleManifestUtils.getFirstPossibleManifestFile(getProject(), false);
+        }
+        IResource testManifestResource = BundleManifestUtils.locateManifest(javaProject, true);
+        if (testManifestResource == null) {
+            testManifestResource = BundleManifestUtils.getFirstPossibleManifestFile(getProject(), true);
+        }
 
-		boolean formatPref = getProjectPreferences(javaProject.getProject()).getBoolean(
-				BundlorCorePlugin.FORMAT_GENERATED_MANIFESTS_KEY, BundlorCorePlugin.FORMAT_GENERATED_MANIFESTS_DEFAULT);
-		if (manifestResource != null && manifestResource instanceof IFile) {
-			try {
-				StringWriter writer = new StringWriter();
-				manifest.write(writer);
-				InputStream manifestStream = new ByteArrayInputStream(writer.toString().getBytes());
-				if (formatPref) {
-					manifestStream = formatManifest((IFile) manifestResource, manifestStream);
-				}
-				IStatus valid = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] { (IFile) manifestResource },
-						IWorkspace.VALIDATE_PROMPT);
-				if (valid.isOK()) {
-					((IFile) manifestResource).setContents(manifestStream, IResource.FORCE | IResource.KEEP_HISTORY,
-							new NullProgressMonitor());
-				}
-				writer.close();
-				manifestStream.close();
-			} catch (IOException e) {
-			}
+        boolean formatPref = getProjectPreferences(javaProject.getProject()).getBoolean(BundlorCorePlugin.FORMAT_GENERATED_MANIFESTS_KEY,
+            BundlorCorePlugin.FORMAT_GENERATED_MANIFESTS_DEFAULT);
+        if (manifestResource != null && manifestResource instanceof IFile) {
+            try {
+                StringWriter writer = new StringWriter();
+                manifest.write(writer);
+                InputStream manifestStream = new ByteArrayInputStream(writer.toString().getBytes());
+                if (formatPref) {
+                    manifestStream = formatManifest((IFile) manifestResource, manifestStream);
+                }
+                IStatus valid = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] { (IFile) manifestResource }, IWorkspace.VALIDATE_PROMPT);
+                if (valid.isOK()) {
+                    ((IFile) manifestResource).setContents(manifestStream, IResource.FORCE | IResource.KEEP_HISTORY, new NullProgressMonitor());
+                }
+                writer.close();
+                manifestStream.close();
+            } catch (IOException e) {
+            }
 
-		}
-		if (testManifestResource != null && testManifestResource instanceof IFile) {
-			try {
-				StringWriter writer = new StringWriter();
-				cleanTestManifest.write(writer);
-				InputStream testManifestStream = new ByteArrayInputStream(writer.toString().getBytes());
-				if (formatPref) {
-					testManifestStream = formatManifest((IFile) testManifestResource, testManifestStream);
-				}
-				IStatus valid = ResourcesPlugin.getWorkspace().validateEdit(
-						new IFile[] { (IFile) testManifestResource }, IWorkspace.VALIDATE_PROMPT);
-				if (valid.isOK()) {
-					((IFile) testManifestResource).setContents(testManifestStream, IResource.FORCE
-							| IResource.KEEP_HISTORY, new NullProgressMonitor());
-				}
-				writer.close();
-				testManifestStream.close();
-			} catch (IOException e) {
-			}
-		}
-	}
+        }
+        if (testManifestResource != null && testManifestResource instanceof IFile) {
+            try {
+                StringWriter writer = new StringWriter();
+                cleanTestManifest.write(writer);
+                InputStream testManifestStream = new ByteArrayInputStream(writer.toString().getBytes());
+                if (formatPref) {
+                    testManifestStream = formatManifest((IFile) testManifestResource, testManifestStream);
+                }
+                IStatus valid = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] { (IFile) testManifestResource }, IWorkspace.VALIDATE_PROMPT);
+                if (valid.isOK()) {
+                    ((IFile) testManifestResource).setContents(testManifestStream, IResource.FORCE | IResource.KEEP_HISTORY,
+                        new NullProgressMonitor());
+                }
+                writer.close();
+                testManifestStream.close();
+            } catch (IOException e) {
+            }
+        }
+    }
 
-	private InputStream formatManifest(IFile file, InputStream manifestInput) throws IOException {
-		StringWriter writer = new StringWriter();
-		SpringBundleModel model = new SpringBundleModel("", true);
-		SpringBundleModelFactory factory = new SpringBundleModelFactory(model);
-		try {
-			Map headers = ManifestElement.parseBundleManifest(manifestInput, null);
-			for (Object obj : headers.keySet()) {
-				String key = (String) obj;
-				String value = (String) headers.get(key);
-				ManifestHeader header = (ManifestHeader) factory.createHeader(key, value);
-				header.update(false);
-				String result = header.write();
-				writer.write(result);
-			}
-		} catch (BundleException e) {
-		}
-		String manifestOutput = writer.toString();
-		writer.close();
-		manifestInput.close();
-		model.dispose();
-		return new ByteArrayInputStream(manifestOutput.getBytes());
-	}
+    private InputStream formatManifest(IFile file, InputStream manifestInput) throws IOException {
+        StringWriter writer = new StringWriter();
+        SpringBundleModel model = new SpringBundleModel("", true);
+        SpringBundleModelFactory factory = new SpringBundleModelFactory(model);
+        try {
+            Map headers = ManifestElement.parseBundleManifest(manifestInput, null);
+            for (Object obj : headers.keySet()) {
+                String key = (String) obj;
+                String value = (String) headers.get(key);
+                ManifestHeader header = (ManifestHeader) factory.createHeader(key, value);
+                header.update(false);
+                String result = header.write();
+                writer.write(result);
+            }
+        } catch (BundleException e) {
+        }
+        String manifestOutput = writer.toString();
+        writer.close();
+        manifestInput.close();
+        model.dispose();
+        return new ByteArrayInputStream(manifestOutput.getBytes());
+    }
 
-	/**
-	 * Visit the {@link IResourceDelta} and prepare the internal structures of changed and removed resources.
-	 */
-	private void visitResourceDelta(IProject project, final int kind, IResourceDelta delta) throws CoreException {
-		if (delta == null || kind == IncrementalProjectBuilder.FULL_BUILD) {
-			IResourceVisitor visitor = new IResourceVisitor() {
+    /**
+     * Visit the {@link IResourceDelta} and prepare the internal structures of changed and removed resources.
+     */
+    private void visitResourceDelta(IProject project, final int kind, IResourceDelta delta) throws CoreException {
+        if (delta == null || kind == IncrementalProjectBuilder.FULL_BUILD) {
+            IResourceVisitor visitor = new IResourceVisitor() {
 
-				public boolean visit(IResource resource) throws CoreException {
-					doGetAffectedResources(resource, IncrementalProjectBuilder.FULL_BUILD, IResourceDelta.CHANGED);
-					return true;
-				}
-			};
-			project.accept(visitor);
-		} else {
-			IResourceDeltaVisitor visitor = new IResourceDeltaVisitor() {
+                public boolean visit(IResource resource) throws CoreException {
+                    doGetAffectedResources(resource, IncrementalProjectBuilder.FULL_BUILD, IResourceDelta.CHANGED);
+                    return true;
+                }
+            };
+            project.accept(visitor);
+        } else {
+            IResourceDeltaVisitor visitor = new IResourceDeltaVisitor() {
 
-				public boolean visit(IResourceDelta delta) throws CoreException {
-					doGetAffectedResources(delta.getResource(), kind, delta.getKind());
-					return true;
-				}
-			};
-			delta.accept(visitor);
-		}
-	}
+                public boolean visit(IResourceDelta delta) throws CoreException {
+                    doGetAffectedResources(delta.getResource(), kind, delta.getKind());
+                    return true;
+                }
+            };
+            delta.accept(visitor);
+        }
+    }
 
-	public IEclipsePreferences getProjectPreferences(IProject project) {
-		IScopeContext context = new ProjectScope(project);
-		IEclipsePreferences node = context.getNode(BundlorCorePlugin.PLUGIN_ID);
-		return node;
-	}
+    public IEclipsePreferences getProjectPreferences(IProject project) {
+        IScopeContext context = new ProjectScope(project);
+        IEclipsePreferences node = context.getNode(BundlorCorePlugin.PLUGIN_ID);
+        return node;
+    }
 
-	/**
-	 * Extension to {@link AstTypeArtifactAnalyser} that takes a {@link IProgressMonitor} to report monitor
-	 */
-	class ProgressReportingAstTypeArtefactAnalyser extends AstTypeArtifactAnalyser {
+    /**
+     * Extension to {@link AstTypeArtifactAnalyser} that takes a {@link IProgressMonitor} to report monitor
+     */
+    class ProgressReportingAstTypeArtefactAnalyser extends AstTypeArtifactAnalyser {
 
-		private final IProgressMonitor monitor;
+        private final IProgressMonitor monitor;
 
-		public ProgressReportingAstTypeArtefactAnalyser(IJavaProject javaProject, IProgressMonitor monitor) {
-			super(javaProject);
-			this.monitor = monitor;
-		}
+        public ProgressReportingAstTypeArtefactAnalyser(IJavaProject javaProject, IProgressMonitor monitor) {
+            super(javaProject);
+            this.monitor = monitor;
+        }
 
-		@Override
-		public void analyse(InputStream is, String name, PartialManifest model) throws Exception {
-			monitor.subTask("Scanning '" + name + "'");
-			super.analyse(is, name, model);
-			monitor.worked(1);
-		}
-	}
+        @Override
+        public void analyse(InputStream is, String name, PartialManifest model) throws Exception {
+            this.monitor.subTask("Scanning '" + name + "'");
+            super.analyse(is, name, model);
+            this.monitor.worked(1);
+        }
+    }
 
-	/**
-	 * @author Christian Dupuis
-	 * @since 2.1.1
-	 */
-	class ProgressReportingAsmTypeArtefactAnalyser extends ExtensibleAsmTypeArtefactAnalyser {
+    /**
+     * @author Christian Dupuis
+     * @since 2.1.1
+     */
+    class ProgressReportingAsmTypeArtefactAnalyser extends ExtensibleAsmTypeArtefactAnalyser {
 
-		private final IProgressMonitor monitor;
+        private final IProgressMonitor monitor;
 
-		public ProgressReportingAsmTypeArtefactAnalyser(IProgressMonitor monitor) {
-			this.monitor = monitor;
-		}
+        public ProgressReportingAsmTypeArtefactAnalyser(IProgressMonitor monitor) {
+            this.monitor = monitor;
+        }
 
-		@Override
-		public void analyse(InputStream is, String name, PartialManifest model) throws Exception {
-			monitor.subTask("Scanning '" + name + "'");
-			super.analyse(is, name, model);
-			monitor.worked(1);
-		}
-	}
+        @Override
+        public void analyse(InputStream is, String name, PartialManifest model) throws Exception {
+            this.monitor.subTask("Scanning '" + name + "'");
+            super.analyse(is, name, model);
+            this.monitor.worked(1);
+        }
+    }
 
-	class FilteringClassPath implements ClassPath {
+    class FilteringClassPath implements ClassPath {
 
-		private final Map<String, ClassPathEntry> entries;
+        private final Map<String, ClassPathEntry> entries;
 
-		public FilteringClassPath(Set<IResource> resources, String folder) {
-			this.entries = new HashMap<String, ClassPathEntry>();
+        public FilteringClassPath(Set<IResource> resources, String folder) {
+            this.entries = new HashMap<String, ClassPathEntry>();
 
-			for (IResource resource : resources) {
-				if (resource instanceof IFile) {
-					String path = resource.getRawLocation().toString();
-					if (path.startsWith(folder)) {
-						path = path.substring(folder.length() + 1);
-						entries.put(path, new FileClassPathEntry(path, (IFile) resource));
-					}
-				}
-			}
-		}
+            for (IResource resource : resources) {
+                if (resource instanceof IFile) {
+                    String path = resource.getRawLocation().toString();
+                    if (path.startsWith(folder)) {
+                        path = path.substring(folder.length() + 1);
+                        this.entries.put(path, new FileClassPathEntry(path, (IFile) resource));
+                    }
+                }
+            }
+        }
 
-		public void close() {
-			// Nothing to close
-		}
+        public void close() {
+            // Nothing to close
+        }
 
-		public ClassPathEntry getEntry(String name) {
-			return entries.get(name);
-		}
+        public ClassPathEntry getEntry(String name) {
+            return this.entries.get(name);
+        }
 
-		public Iterator<ClassPathEntry> iterator() {
-			return entries.values().iterator();
-		}
+        public Iterator<ClassPathEntry> iterator() {
+            return this.entries.values().iterator();
+        }
 
-	}
+    }
 
-	class FileClassPathEntry implements ClassPathEntry {
+    class FileClassPathEntry implements ClassPathEntry {
 
-		private final String name;
+        private final String name;
 
-		private final IFile file;
+        private final IFile file;
 
-		public FileClassPathEntry(String name, IFile file) {
-			this.name = name;
-			this.file = file;
-		}
+        public FileClassPathEntry(String name, IFile file) {
+            this.name = name;
+            this.file = file;
+        }
 
-		public InputStream getInputStream() {
-			try {
-				return file.getContents(true);
-			} catch (CoreException e) {
-				throw new RuntimeException(e);
-			}
-		}
+        public InputStream getInputStream() {
+            try {
+                return this.file.getContents(true);
+            } catch (CoreException e) {
+                throw new RuntimeException(e);
+            }
+        }
 
-		public String getName() {
-			return name;
-		}
+        public String getName() {
+            return this.name;
+        }
 
-		public Reader getReader() {
-			return new InputStreamReader(getInputStream());
-		}
+        public Reader getReader() {
+            return new InputStreamReader(getInputStream());
+        }
 
-		public boolean isDirectory() {
-			return false;
-		}
+        public boolean isDirectory() {
+            return false;
+        }
 
-	}
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/IncrementalPartialManifestManager.java b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/IncrementalPartialManifestManager.java
index 5444ce9..c243092 100644
--- a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/IncrementalPartialManifestManager.java
+++ b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/IncrementalPartialManifestManager.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.internal.core;
 
 import java.util.Map;
@@ -19,101 +20,95 @@
 import org.eclipse.virgo.bundlor.support.partialmanifest.ReadablePartialManifest;
 
 /**
- * Manages the {@link IncrementalReadablePartialManifest} instances by
- * {@link IJavaProject}.
- * 
+ * Manages the {@link IncrementalReadablePartialManifest} instances by {@link IJavaProject}.
+ *
  * @author Christian Dupuis
  * @since 1.1.2
  */
 public class IncrementalPartialManifestManager {
 
-	/**
-	 * Internal read write lock to protect the read and write operations of the
-	 * internal caches
-	 */
-	private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
+    /**
+     * Internal read write lock to protect the read and write operations of the internal caches
+     */
+    private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
 
-	/** Write lock to protect the model from concurrent write operations */
-	private final Lock w = rwl.writeLock();
+    /** Write lock to protect the model from concurrent write operations */
+    private final Lock w = this.rwl.writeLock();
 
-	/** Read lock to protect from reading while writing to the model resources */
-	private final Lock r = rwl.readLock();
+    /** Read lock to protect from reading while writing to the model resources */
+    private final Lock r = this.rwl.readLock();
 
-	/**
-	 * Internal structure to associate
-	 * {@link IncrementalReadablePartialManifest}s to {@link IJavaProject}s
-	 */
-	private Map<IJavaProject, ReadablePartialManifest> manifests = new ConcurrentHashMap<IJavaProject, ReadablePartialManifest>();
+    /**
+     * Internal structure to associate {@link IncrementalReadablePartialManifest}s to {@link IJavaProject}s
+     */
+    private final Map<IJavaProject, ReadablePartialManifest> manifests = new ConcurrentHashMap<IJavaProject, ReadablePartialManifest>();
 
-	/**
-	 * Internal structure to associate
-	 * {@link IncrementalReadablePartialManifest}s that represent the test
-	 * manifests to {@link IJavaProject}s
-	 */
-	private Map<IJavaProject, ReadablePartialManifest> testManifests = new ConcurrentHashMap<IJavaProject, ReadablePartialManifest>();
+    /**
+     * Internal structure to associate {@link IncrementalReadablePartialManifest}s that represent the test manifests to
+     * {@link IJavaProject}s
+     */
+    private final Map<IJavaProject, ReadablePartialManifest> testManifests = new ConcurrentHashMap<IJavaProject, ReadablePartialManifest>();
 
-	/**
-	 * Returns an instance of {@link IncrementalReadablePartialManifest} for the
-	 * given {@link IJavaProject}.
-	 */
-	public ReadablePartialManifest getPartialManifest(IJavaProject javaProject, boolean isTestManifest,
-			boolean createNew) {
-		if (!createNew) {
-			try {
-				r.lock();
-				if (!isTestManifest) {
-					if (manifests.containsKey(javaProject)) {
-						return manifests.get(javaProject);
-					}
-				} else {
-					if (testManifests.containsKey(javaProject)) {
-						return testManifests.get(javaProject);
-					}
-				}
-			} finally {
-				r.unlock();
-			}
-		}
-		try {
-			w.lock();
-			ReadablePartialManifest manifest = new IncrementalReadablePartialManifest();
-			if (!isTestManifest) {
-				manifests.put(javaProject, manifest);
-			} else {
-				testManifests.put(javaProject, manifest);
-			}
-			return manifest;
-		} finally {
-			w.unlock();
-		}
-	}
+    /**
+     * Returns an instance of {@link IncrementalReadablePartialManifest} for the given {@link IJavaProject}.
+     */
+    public ReadablePartialManifest getPartialManifest(IJavaProject javaProject, boolean isTestManifest, boolean createNew) {
+        if (!createNew) {
+            try {
+                this.r.lock();
+                if (!isTestManifest) {
+                    if (this.manifests.containsKey(javaProject)) {
+                        return this.manifests.get(javaProject);
+                    }
+                } else {
+                    if (this.testManifests.containsKey(javaProject)) {
+                        return this.testManifests.get(javaProject);
+                    }
+                }
+            } finally {
+                this.r.unlock();
+            }
+        }
+        try {
+            this.w.lock();
+            ReadablePartialManifest manifest = new IncrementalReadablePartialManifest();
+            if (!isTestManifest) {
+                this.manifests.put(javaProject, manifest);
+            } else {
+                this.testManifests.put(javaProject, manifest);
+            }
+            return manifest;
+        } finally {
+            this.w.unlock();
+        }
+    }
 
-	/**
-	 * Returns <code>true</code> if the given {@link IJavaProject} has
-	 * {@link IncrementalReadablePartialManifest} associated with it.
-	 */
-	public boolean hasPartialManifest(IJavaProject javaProject) {
-		try {
-			r.lock();
-			return manifests.containsKey(javaProject);
-		} finally {
-			r.unlock();
-		}
-	}
+    /**
+     * Returns <code>true</code> if the given {@link IJavaProject} has {@link IncrementalReadablePartialManifest}
+     * associated with it.
+     */
+    public boolean hasPartialManifest(IJavaProject javaProject) {
+        try {
+            this.r.lock();
+            return this.manifests.containsKey(javaProject);
+        } finally {
+            this.r.unlock();
+        }
+    }
 
-	/**
-	 * Clears out existing manifest models.
-	 * <p>
-	 * Used form the UI to trigger a clean model creation on the next run.
-	 */
-	public void clearPartialManifest(IJavaProject javaProject) {
-		try {
-			w.lock();
-			manifests.remove(javaProject);
-			testManifests.remove(javaProject);
-		} finally {
-			w.unlock();
-		}
-	}
+    /**
+     * Clears out existing manifest models.
+     * <p>
+     * Used form the UI to trigger a clean model creation on the next run.
+     */
+    public void clearPartialManifest(IJavaProject javaProject) {
+        try {
+            this.w.lock();
+            this.manifests.remove(javaProject);
+            this.testManifests.remove(javaProject);
+        } finally {
+            this.w.unlock();
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/IncrementalReadablePartialManifest.java b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/IncrementalReadablePartialManifest.java
index 4c8d4c1..498e7b1 100644
--- a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/IncrementalReadablePartialManifest.java
+++ b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/IncrementalReadablePartialManifest.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.internal.core;
 
 import java.util.HashMap;
@@ -21,232 +22,232 @@
 import org.eclipse.virgo.bundlor.support.partialmanifest.StandardReadablePartialManifest;
 
 /**
- * Extension to {@link StandardReadablePartialManifest} to allow for
- * re-recording of type dependencies in an incremental manner </p>.
- * 
+ * Extension to {@link StandardReadablePartialManifest} to allow for re-recording of type dependencies in an incremental
+ * manner
+ * </p>
+ * .
+ *
  * @author Christian Dupuis
  */
-public final class IncrementalReadablePartialManifest extends StandardReadablePartialManifest implements
-		EntryScannerListener {
+public final class IncrementalReadablePartialManifest extends StandardReadablePartialManifest implements EntryScannerListener {
 
-	/** Association of analyzed types and their dependencies */
-	private final Map<String, TypeDependencies> recordedTypeDependencies = new HashMap<String, TypeDependencies>();
+    /** Association of analyzed types and their dependencies */
+    private final Map<String, TypeDependencies> recordedTypeDependencies = new HashMap<String, TypeDependencies>();
 
-	private final Stack<String> currentlyAnalysedEntries = new Stack<String>();
+    private final Stack<String> currentlyAnalysedEntries = new Stack<String>();
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void recordReferencedType(String fullyQualifiedTypeName) {
-		TypeDependencies typeDependencies = createTypeDependencies(null);
-		if (typeDependencies != null) {
-			typeDependencies.addImportedType(fullyQualifiedTypeName);
-		}
-		super.recordReferencedType(fullyQualifiedTypeName);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void recordReferencedType(String fullyQualifiedTypeName) {
+        TypeDependencies typeDependencies = createTypeDependencies(null);
+        if (typeDependencies != null) {
+            typeDependencies.addImportedType(fullyQualifiedTypeName);
+        }
+        super.recordReferencedType(fullyQualifiedTypeName);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public void recordReferencedPackage(String fullyQualifiedPackageName) {
-		TypeDependencies typeDependencies = createTypeDependencies(null);
-		if (typeDependencies != null) {
-			typeDependencies.addImportedPackage(fullyQualifiedPackageName);
-		}
-		super.recordReferencedPackage(fullyQualifiedPackageName);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void recordReferencedPackage(String fullyQualifiedPackageName) {
+        TypeDependencies typeDependencies = createTypeDependencies(null);
+        if (typeDependencies != null) {
+            typeDependencies.addImportedPackage(fullyQualifiedPackageName);
+        }
+        super.recordReferencedPackage(fullyQualifiedPackageName);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void recordType(String fullyQualifiedTypeName) {
-		createTypeDependencies(fullyQualifiedTypeName);
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void recordType(String fullyQualifiedTypeName) {
+        createTypeDependencies(fullyQualifiedTypeName);
 
-		super.recordType(fullyQualifiedTypeName);
-	}
+        super.recordType(fullyQualifiedTypeName);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void recordUsesPackage(String usingPackage, String usedPackage) {
-		TypeDependencies typeDependencies = createTypeDependencies(null);
-		if (typeDependencies != null) {
-			typeDependencies.addUses(usingPackage, usedPackage);
-		}
-		super.recordUsesPackage(usingPackage, usedPackage);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void recordUsesPackage(String usingPackage, String usedPackage) {
+        TypeDependencies typeDependencies = createTypeDependencies(null);
+        if (typeDependencies != null) {
+            typeDependencies.addUses(usingPackage, usedPackage);
+        }
+        super.recordUsesPackage(usingPackage, usedPackage);
+    }
 
-	/**
-	 * Remove a recorded type from the partial manifest; also removes all
-	 * induced dependencies that this type created.
-	 * 
-	 * @param fullyQualifiedTypeName the type to remove
-	 */
-	private void unrecordType() {
-		String currentEntry = currentEntry();
-		if (recordedTypeDependencies.containsKey(currentEntry)) {
-			TypeDependencies existingTypeDependencies = recordedTypeDependencies.get(currentEntry);
-			String fullyQualifiedTypeName = existingTypeDependencies.getFullQualifiedTypeName();
+    /**
+     * Remove a recorded type from the partial manifest; also removes all induced dependencies that this type created.
+     *
+     * @param fullyQualifiedTypeName the type to remove
+     */
+    private void unrecordType() {
+        String currentEntry = currentEntry();
+        if (this.recordedTypeDependencies.containsKey(currentEntry)) {
+            TypeDependencies existingTypeDependencies = this.recordedTypeDependencies.get(currentEntry);
+            String fullyQualifiedTypeName = existingTypeDependencies.getFullQualifiedTypeName();
 
-			// Remove in order to iterate over the remaining
-			recordedTypeDependencies.remove(currentEntry);
+            // Remove in order to iterate over the remaining
+            this.recordedTypeDependencies.remove(currentEntry);
 
-			String oldPackageName = getPackageName(fullyQualifiedTypeName);
+            String oldPackageName = getPackageName(fullyQualifiedTypeName);
 
-			// Remove the actual type
-			unrecordType(fullyQualifiedTypeName);
+            // Remove the actual type
+            unrecordType(fullyQualifiedTypeName);
 
-			// Remove the actual package name from the export package set
-			boolean otherTypes = false;
-			for (TypeDependencies existingTypeDependency : recordedTypeDependencies.values()) {
-				String existingPackageName = getPackageName(existingTypeDependency.getFullQualifiedTypeName());
-				if (existingPackageName != null && existingPackageName.equals(oldPackageName)) {
-					otherTypes = true;
-					break;
-				}
-			}
-			if (!otherTypes && oldPackageName != null) {
-				unrecordExportPackage(oldPackageName);
-			}
+            // Remove the actual package name from the export package set
+            boolean otherTypes = false;
+            for (TypeDependencies existingTypeDependency : this.recordedTypeDependencies.values()) {
+                String existingPackageName = getPackageName(existingTypeDependency.getFullQualifiedTypeName());
+                if (existingPackageName != null && existingPackageName.equals(oldPackageName)) {
+                    otherTypes = true;
+                    break;
+                }
+            }
+            if (!otherTypes && oldPackageName != null) {
+                unrecordExportPackage(oldPackageName);
+            }
 
-			// Remove any imported types
-			for (String importedType : existingTypeDependencies.getImportedTypes()) {
-				boolean otherImports = false;
-				for (TypeDependencies existingTypePartialManifest : recordedTypeDependencies.values()) {
-					for (String existingImportedType : existingTypePartialManifest.getImportedTypes()) {
-						if (importedType.equals(existingImportedType)) {
-							otherImports = true;
-							break;
-						}
-					}
-				}
-				if (!otherImports) {
-					removeImportedType(importedType);
-				}
-			}
+            // Remove any imported types
+            for (String importedType : existingTypeDependencies.getImportedTypes()) {
+                boolean otherImports = false;
+                for (TypeDependencies existingTypePartialManifest : this.recordedTypeDependencies.values()) {
+                    for (String existingImportedType : existingTypePartialManifest.getImportedTypes()) {
+                        if (importedType.equals(existingImportedType)) {
+                            otherImports = true;
+                            break;
+                        }
+                    }
+                }
+                if (!otherImports) {
+                    removeImportedType(importedType);
+                }
+            }
 
-			// Remove any referenced package
-			for (String referencedPackage : existingTypeDependencies.getReferencedPackages()) {
-				boolean otherReferences = false;
-				for (TypeDependencies existingTypePartialManifest : recordedTypeDependencies.values()) {
-					for (String existingReferencedPackage : existingTypePartialManifest.getReferencedPackages()) {
-						if (referencedPackage.equals(existingReferencedPackage)) {
-							otherReferences = true;
-							break;
-						}
-					}
-				}
-				if (!otherReferences) {
-					removeReferencedPackage(referencedPackage);
-				}
-			}
+            // Remove any referenced package
+            for (String referencedPackage : existingTypeDependencies.getReferencedPackages()) {
+                boolean otherReferences = false;
+                for (TypeDependencies existingTypePartialManifest : this.recordedTypeDependencies.values()) {
+                    for (String existingReferencedPackage : existingTypePartialManifest.getReferencedPackages()) {
+                        if (referencedPackage.equals(existingReferencedPackage)) {
+                            otherReferences = true;
+                            break;
+                        }
+                    }
+                }
+                if (!otherReferences) {
+                    removeReferencedPackage(referencedPackage);
+                }
+            }
 
-			// Remove any uses constraints
-			for (Map.Entry<String, Set<String>> oldUses : existingTypeDependencies.getUses().entrySet()) {
-				for (TypeDependencies existingTypePartialManifest : recordedTypeDependencies.values()) {
-					for (Map.Entry<String, Set<String>> existingUses : existingTypePartialManifest.getUses().entrySet()) {
-						if (existingUses.getKey().equals(oldUses.getKey())) {
-							oldUses.getValue().removeAll(existingUses.getValue());
-						}
-					}
-				}
+            // Remove any uses constraints
+            for (Map.Entry<String, Set<String>> oldUses : existingTypeDependencies.getUses().entrySet()) {
+                for (TypeDependencies existingTypePartialManifest : this.recordedTypeDependencies.values()) {
+                    for (Map.Entry<String, Set<String>> existingUses : existingTypePartialManifest.getUses().entrySet()) {
+                        if (existingUses.getKey().equals(oldUses.getKey())) {
+                            oldUses.getValue().removeAll(existingUses.getValue());
+                        }
+                    }
+                }
 
-				removeUses(oldUses.getKey(), oldUses.getValue());
-			}
-		}
-	}
+                removeUses(oldUses.getKey(), oldUses.getValue());
+            }
+        }
+    }
 
-	private TypeDependencies createTypeDependencies(String fullyQualifiedClassName) {
-		String currentEntry = currentEntry();
-		if (recordedTypeDependencies.containsKey(currentEntry)) {
-			return recordedTypeDependencies.get(currentEntry);
-		}
-		TypeDependencies typeDependency = new TypeDependencies(fullyQualifiedClassName);
-		recordedTypeDependencies.put(currentEntry, typeDependency);
-		return typeDependency;
-	}
+    private TypeDependencies createTypeDependencies(String fullyQualifiedClassName) {
+        String currentEntry = currentEntry();
+        if (this.recordedTypeDependencies.containsKey(currentEntry)) {
+            return this.recordedTypeDependencies.get(currentEntry);
+        }
+        TypeDependencies typeDependency = new TypeDependencies(fullyQualifiedClassName);
+        this.recordedTypeDependencies.put(currentEntry, typeDependency);
+        return typeDependency;
+    }
 
-	public void onBeginEntry(String name) {
-		name = name.replace('\\', '/');
-		this.currentlyAnalysedEntries.push(name);
-		unrecordType();
-	}
+    public void onBeginEntry(String name) {
+        name = name.replace('\\', '/');
+        this.currentlyAnalysedEntries.push(name);
+        unrecordType();
+    }
 
-	public void onEndEntry() {
-		this.currentlyAnalysedEntries.pop();
-	}
+    public void onEndEntry() {
+        this.currentlyAnalysedEntries.pop();
+    }
 
-	public String currentEntry() {
-		if (!this.currentlyAnalysedEntries.isEmpty()) {
-			return this.currentlyAnalysedEntries.peek();
-		}
-		return "template.mf";
-	}
+    public String currentEntry() {
+        if (!this.currentlyAnalysedEntries.isEmpty()) {
+            return this.currentlyAnalysedEntries.peek();
+        }
+        return "template.mf";
+    }
 
-	/**
-	 * Structure that keeps associations between a type and its dependencies
-	 */
-	class TypeDependencies {
+    /**
+     * Structure that keeps associations between a type and its dependencies
+     */
+    class TypeDependencies {
 
-		private final String fullQualifiedTypeName;
+        private final String fullQualifiedTypeName;
 
-		private final Set<String> importedTypes = new HashSet<String>();
+        private final Set<String> importedTypes = new HashSet<String>();
 
-		private final Set<String> referencedPackages = new TreeSet<String>();
+        private final Set<String> referencedPackages = new TreeSet<String>();
 
-		private final Map<String, Set<String>> uses = new HashMap<String, Set<String>>();
+        private final Map<String, Set<String>> uses = new HashMap<String, Set<String>>();
 
-		public TypeDependencies(String fullQualifiedTypeName) {
-			this.fullQualifiedTypeName = fullQualifiedTypeName;
-		}
+        public TypeDependencies(String fullQualifiedTypeName) {
+            this.fullQualifiedTypeName = fullQualifiedTypeName;
+        }
 
-		void addImportedType(String fullyQualifiedTypeName) {
-			if (fullyQualifiedTypeName != null) {
-				this.importedTypes.add(fullyQualifiedTypeName);
-			}
-		}
+        void addImportedType(String fullyQualifiedTypeName) {
+            if (fullyQualifiedTypeName != null) {
+                this.importedTypes.add(fullyQualifiedTypeName);
+            }
+        }
 
-		void addUses(String usingPackage, String usedPackage) {
-			if (isRecordablePackage(usingPackage) && isRecordablePackage(usedPackage)
-				&& !usingPackage.equals(usedPackage)) {
-				Set<String> usesSet = getUsesSet(usingPackage);
-				usesSet.add(usedPackage);
-			}
-		}
+        void addUses(String usingPackage, String usedPackage) {
+            if (isRecordablePackage(usingPackage) && isRecordablePackage(usedPackage) && !usingPackage.equals(usedPackage)) {
+                Set<String> usesSet = getUsesSet(usingPackage);
+                usesSet.add(usedPackage);
+            }
+        }
 
-		void addImportedPackage(String importedPackage) {
-			if (importedPackage != null && isRecordablePackage(importedPackage)) {
-				referencedPackages.add(importedPackage);
-			}
-		}
+        void addImportedPackage(String importedPackage) {
+            if (importedPackage != null && isRecordablePackage(importedPackage)) {
+                this.referencedPackages.add(importedPackage);
+            }
+        }
 
-		private Set<String> getUsesSet(String exportingPackage) {
-			Set<String> usesSet = this.uses.get(exportingPackage);
-			if (usesSet == null) {
-				usesSet = new TreeSet<String>();
-				this.uses.put(exportingPackage, usesSet);
-			}
-			return usesSet;
-		}
+        private Set<String> getUsesSet(String exportingPackage) {
+            Set<String> usesSet = this.uses.get(exportingPackage);
+            if (usesSet == null) {
+                usesSet = new TreeSet<String>();
+                this.uses.put(exportingPackage, usesSet);
+            }
+            return usesSet;
+        }
 
-		String getFullQualifiedTypeName() {
-			return fullQualifiedTypeName;
-		}
+        String getFullQualifiedTypeName() {
+            return this.fullQualifiedTypeName;
+        }
 
-		Set<String> getImportedTypes() {
-			return importedTypes;
-		}
+        Set<String> getImportedTypes() {
+            return this.importedTypes;
+        }
 
-		Set<String> getReferencedPackages() {
-			return referencedPackages;
-		}
+        Set<String> getReferencedPackages() {
+            return this.referencedPackages;
+        }
 
-		Map<String, Set<String>> getUses() {
-			return uses;
-		}
-	}
+        Map<String, Set<String>> getUses() {
+            return this.uses;
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/ManifestGeneratorFactory.java b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/ManifestGeneratorFactory.java
index 7f6858a..5c97f77 100644
--- a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/ManifestGeneratorFactory.java
+++ b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/ManifestGeneratorFactory.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.internal.core;
 
 import java.util.ArrayList;
@@ -46,158 +47,156 @@
 
 /**
  * Factory to create {@link ManifestGenerator}.
- * 
+ *
  * @author Christian Dupuis
  * @since 2.3.0
  */
 class ManifestGeneratorFactory {
 
-	public static ManifestGenerator create(ReadablePartialManifest partialManifest, ArtifactAnalyzer artifactAnalyzer,
-			PropertiesSource... properties) {
-		ManifestGeneratorContributors contributors = create(artifactAnalyzer, properties);
+    public static ManifestGenerator create(ReadablePartialManifest partialManifest, ArtifactAnalyzer artifactAnalyzer,
+        PropertiesSource... properties) {
+        ManifestGeneratorContributors contributors = create(artifactAnalyzer, properties);
 
-		// Remove custom headers
-		contributors.addManifestModifier(new HeaderRemovingManifestModifier());
-		contributors.addManifestTemplateModifier(new HeaderRemovingTemplateManifestModifier());
+        // Remove custom headers
+        contributors.addManifestModifier(new HeaderRemovingManifestModifier());
+        contributors.addManifestTemplateModifier(new HeaderRemovingTemplateManifestModifier());
 
-		// Add partial manifest model
-		contributors.setReadablePartialManifest(partialManifest);
+        // Add partial manifest model
+        contributors.setReadablePartialManifest(partialManifest);
 
-		if (partialManifest instanceof EntryScannerListener) {
-			contributors.addEntryScannerListener((EntryScannerListener) partialManifest);
-		}
+        if (partialManifest instanceof EntryScannerListener) {
+            contributors.addEntryScannerListener((EntryScannerListener) partialManifest);
+        }
 
-		return new StandardManifestGenerator(contributors);
-	}
+        return new StandardManifestGenerator(contributors);
+    }
 
-	private static ManifestGeneratorContributors create(ArtifactAnalyzer artifactAnalyzer,
-			PropertiesSource... propertiesSources) {
-		ManifestGeneratorContributors contributors = new ManifestGeneratorContributors();
+    private static ManifestGeneratorContributors create(ArtifactAnalyzer artifactAnalyzer, PropertiesSource... propertiesSources) {
+        ManifestGeneratorContributors contributors = new ManifestGeneratorContributors();
 
-		Properties properties = combineProperties(propertiesSources);
+        Properties properties = combineProperties(propertiesSources);
 
-		BlueprintArtifactAnalyzer blueprintArtifactAnalyzer = new BlueprintArtifactAnalyzer();
-		IgnoredExistingHeadersManifestModifier ignoredExistingHeadersManifestModifier = new IgnoredExistingHeadersManifestModifier();
-		ExcludedImportAndExportPartialManifestModifier excludedImportAndExportPartialManifestModifier = new ExcludedImportAndExportPartialManifestModifier();
-		PlaceholderManifestAndTemplateModifier placeholderManifestAndTemplateModifier = new PlaceholderManifestAndTemplateModifier(
-			properties);
-		ManifestTemplateDirectiveMigrator manifestTemplateDirectiveMigrator = new ManifestTemplateDirectiveMigrator();
-		StandardPartialManifestResolver partialManifestResolver = new StandardPartialManifestResolver();
+        BlueprintArtifactAnalyzer blueprintArtifactAnalyzer = new BlueprintArtifactAnalyzer();
+        IgnoredExistingHeadersManifestModifier ignoredExistingHeadersManifestModifier = new IgnoredExistingHeadersManifestModifier();
+        ExcludedImportAndExportPartialManifestModifier excludedImportAndExportPartialManifestModifier = new ExcludedImportAndExportPartialManifestModifier();
+        PlaceholderManifestAndTemplateModifier placeholderManifestAndTemplateModifier = new PlaceholderManifestAndTemplateModifier(properties);
+        ManifestTemplateDirectiveMigrator manifestTemplateDirectiveMigrator = new ManifestTemplateDirectiveMigrator();
+        StandardPartialManifestResolver partialManifestResolver = new StandardPartialManifestResolver();
 
-		List<ArtifactAnalyzer> analyzers = new ArrayList<ArtifactAnalyzer>();
-		BundleClassPathArtifactAnalyzer bundleClassPathArtifactAnalyzer = new BundleClassPathArtifactAnalyzer(analyzers);
+        List<ArtifactAnalyzer> analyzers = new ArrayList<ArtifactAnalyzer>();
+        BundleClassPathArtifactAnalyzer bundleClassPathArtifactAnalyzer = new BundleClassPathArtifactAnalyzer(analyzers);
 
-		contributors //
-				.addArtifactAnalyzer(artifactAnalyzer)
-				// .addArtifactAnalyzer(new AsmTypeArtefactAnalyser()) //
-				.addArtifactAnalyzer(new StaticResourceArtifactAnalyzer()) //
-				.addArtifactAnalyzer(new HibernateMappingArtifactAnalyzer()) //
-				.addArtifactAnalyzer(new JpaPersistenceArtifactAnalyzer()) //
-				.addArtifactAnalyzer(new Log4JXmlArtifactAnalyzer()) //
-				.addArtifactAnalyzer(new SpringApplicationContextArtifactAnalyzer()) //
-				.addArtifactAnalyzer(blueprintArtifactAnalyzer) //
-				.addArtifactAnalyzer(new WebApplicationArtifactAnalyzer()) //
-				.addArtifactAnalyzer(bundleClassPathArtifactAnalyzer) //
-				.addArtifactAnalyzer(new JspArtifactAnalyzer());
+        contributors //
+        .addArtifactAnalyzer(artifactAnalyzer)
+        // .addArtifactAnalyzer(new AsmTypeArtefactAnalyser()) //
+        .addArtifactAnalyzer(new StaticResourceArtifactAnalyzer()) //
+        .addArtifactAnalyzer(new HibernateMappingArtifactAnalyzer()) //
+        .addArtifactAnalyzer(new JpaPersistenceArtifactAnalyzer()) //
+        .addArtifactAnalyzer(new Log4JXmlArtifactAnalyzer()) //
+        .addArtifactAnalyzer(new SpringApplicationContextArtifactAnalyzer()) //
+        .addArtifactAnalyzer(blueprintArtifactAnalyzer) //
+        .addArtifactAnalyzer(new WebApplicationArtifactAnalyzer()) //
+        .addArtifactAnalyzer(bundleClassPathArtifactAnalyzer) //
+        .addArtifactAnalyzer(new JspArtifactAnalyzer());
 
-		analyzers.add(artifactAnalyzer);
-		analyzers.add(new StaticResourceArtifactAnalyzer());
-		analyzers.add(new HibernateMappingArtifactAnalyzer());
-		analyzers.add(new JpaPersistenceArtifactAnalyzer());
-		analyzers.add(new Log4JXmlArtifactAnalyzer());
-		analyzers.add(new SpringApplicationContextArtifactAnalyzer());
-		analyzers.add(blueprintArtifactAnalyzer);
-		analyzers.add(new WebApplicationArtifactAnalyzer());
-		analyzers.add(bundleClassPathArtifactAnalyzer);
-		analyzers.add(new JspArtifactAnalyzer());
+        analyzers.add(artifactAnalyzer);
+        analyzers.add(new StaticResourceArtifactAnalyzer());
+        analyzers.add(new HibernateMappingArtifactAnalyzer());
+        analyzers.add(new JpaPersistenceArtifactAnalyzer());
+        analyzers.add(new Log4JXmlArtifactAnalyzer());
+        analyzers.add(new SpringApplicationContextArtifactAnalyzer());
+        analyzers.add(blueprintArtifactAnalyzer);
+        analyzers.add(new WebApplicationArtifactAnalyzer());
+        analyzers.add(bundleClassPathArtifactAnalyzer);
+        analyzers.add(new JspArtifactAnalyzer());
 
-		contributors //
-				.addManifestReader(excludedImportAndExportPartialManifestModifier) //
-				.addManifestReader(ignoredExistingHeadersManifestModifier) //
-				.addManifestReader(blueprintArtifactAnalyzer);
+        contributors //
+        .addManifestReader(excludedImportAndExportPartialManifestModifier) //
+        .addManifestReader(ignoredExistingHeadersManifestModifier) //
+        .addManifestReader(blueprintArtifactAnalyzer);
 
-		contributors //
-				.addManifestModifier(placeholderManifestAndTemplateModifier) //
-				.addManifestModifier(ignoredExistingHeadersManifestModifier) //
-				.addManifestModifier(new ToolStampManifestModifier());
+        contributors //
+        .addManifestModifier(placeholderManifestAndTemplateModifier) //
+        .addManifestModifier(ignoredExistingHeadersManifestModifier) //
+        .addManifestModifier(new ToolStampManifestModifier());
 
-		contributors //
-				.addManifestTemplateModifier(manifestTemplateDirectiveMigrator) //
-				.addManifestTemplateModifier(placeholderManifestAndTemplateModifier) //
-				.addManifestTemplateModifier(new OsgiProfileManifestTemplateModifier(properties));
+        contributors //
+        .addManifestTemplateModifier(manifestTemplateDirectiveMigrator) //
+        .addManifestTemplateModifier(placeholderManifestAndTemplateModifier) //
+        .addManifestTemplateModifier(new OsgiProfileManifestTemplateModifier(properties));
 
-		contributors //
-				.addManifestContributor(bundleClassPathArtifactAnalyzer);
+        contributors //
+        .addManifestContributor(bundleClassPathArtifactAnalyzer);
 
-		contributors //
-				.addPartialManifestModifier(manifestTemplateDirectiveMigrator) //
-				.addPartialManifestModifier(excludedImportAndExportPartialManifestModifier);
+        contributors //
+        .addPartialManifestModifier(manifestTemplateDirectiveMigrator) //
+        .addPartialManifestModifier(excludedImportAndExportPartialManifestModifier);
 
-		contributors //
-				.addTemplateHeaderReader(excludedImportAndExportPartialManifestModifier) //
-				.addTemplateHeaderReader(ignoredExistingHeadersManifestModifier) //
-				.addTemplateHeaderReader(placeholderManifestAndTemplateModifier) //
-				.addTemplateHeaderReader(partialManifestResolver);
+        contributors //
+        .addTemplateHeaderReader(excludedImportAndExportPartialManifestModifier) //
+        .addTemplateHeaderReader(ignoredExistingHeadersManifestModifier) //
+        .addTemplateHeaderReader(placeholderManifestAndTemplateModifier) //
+        .addTemplateHeaderReader(partialManifestResolver);
 
-		contributors //
-				.setReadablePartialManifest(new StandardReadablePartialManifest());
+        contributors //
+        .setReadablePartialManifest(new StandardReadablePartialManifest());
 
-		contributors //
-				.setPartialManifestResolver(partialManifestResolver);
+        contributors //
+        .setPartialManifestResolver(partialManifestResolver);
 
-		return contributors;
-	}
+        return contributors;
+    }
 
-	private static Properties combineProperties(PropertiesSource... propertiesSources) {
-		PropertiesSource[] sortedPropertiesSources = new PropertiesSource[propertiesSources.length];
-		System.arraycopy(propertiesSources, 0, sortedPropertiesSources, 0, propertiesSources.length);
-		// Sort by priority so that sources with lower priority are added first
-		// into the final
-		// Properties instance to allow for overriding by later instances
-		Arrays.sort(sortedPropertiesSources, new Comparator<PropertiesSource>() {
+    private static Properties combineProperties(PropertiesSource... propertiesSources) {
+        PropertiesSource[] sortedPropertiesSources = new PropertiesSource[propertiesSources.length];
+        System.arraycopy(propertiesSources, 0, sortedPropertiesSources, 0, propertiesSources.length);
+        // Sort by priority so that sources with lower priority are added first
+        // into the final
+        // Properties instance to allow for overriding by later instances
+        Arrays.sort(sortedPropertiesSources, new Comparator<PropertiesSource>() {
 
-			public int compare(PropertiesSource o1, PropertiesSource o2) {
-				if (o1.getPriority() == o2.getPriority()) {
-					return 0;
-				} else if (o1.getPriority() > o2.getPriority()) {
-					return 1;
-				}
-				return -1;
-			}
-		});
+            public int compare(PropertiesSource o1, PropertiesSource o2) {
+                if (o1.getPriority() == o2.getPriority()) {
+                    return 0;
+                } else if (o1.getPriority() > o2.getPriority()) {
+                    return 1;
+                }
+                return -1;
+            }
+        });
 
-		Properties properties = new Properties();
-		for (PropertiesSource source : propertiesSources) {
-			properties.putAll(source.getProperties());
-		}
-		return properties;
-	}
+        Properties properties = new Properties();
+        for (PropertiesSource source : propertiesSources) {
+            properties.putAll(source.getProperties());
+        }
+        return properties;
+    }
 
-	static class HeaderRemovingManifestModifier implements ManifestModifier {
+    static class HeaderRemovingManifestModifier implements ManifestModifier {
 
-		public void modify(ManifestContents manifest) {
-			manifest.getMainAttributes().remove("Import-Library");
-			manifest.getMainAttributes().remove("Import-Bundle");
-			manifest.getMainAttributes().remove("Export-Template");
-			manifest.getMainAttributes().remove("Import-Template");
-			manifest.getMainAttributes().remove("Excluded-Exports");
-			manifest.getMainAttributes().remove("Excluded-Imports");
-			manifest.getMainAttributes().remove("Ignored-Existing-Headers");
-			manifest.getMainAttributes().remove("Test-Import-Package");
-			manifest.getMainAttributes().remove("Test-Import-Library");
-			manifest.getMainAttributes().remove("Test-Import-Bundle");
-			manifest.getMainAttributes().remove("Import-Package");
-			manifest.getMainAttributes().remove("Export-Package");
-		}
+        public void modify(ManifestContents manifest) {
+            manifest.getMainAttributes().remove("Import-Library");
+            manifest.getMainAttributes().remove("Import-Bundle");
+            manifest.getMainAttributes().remove("Export-Template");
+            manifest.getMainAttributes().remove("Import-Template");
+            manifest.getMainAttributes().remove("Excluded-Exports");
+            manifest.getMainAttributes().remove("Excluded-Imports");
+            manifest.getMainAttributes().remove("Ignored-Existing-Headers");
+            manifest.getMainAttributes().remove("Test-Import-Package");
+            manifest.getMainAttributes().remove("Test-Import-Library");
+            manifest.getMainAttributes().remove("Test-Import-Bundle");
+            manifest.getMainAttributes().remove("Import-Package");
+            manifest.getMainAttributes().remove("Export-Package");
+        }
 
-	}
+    }
 
-	static class HeaderRemovingTemplateManifestModifier implements ManifestTemplateModifier {
+    static class HeaderRemovingTemplateManifestModifier implements ManifestTemplateModifier {
 
-		public void modify(ManifestContents manifest) {
-			manifest.getMainAttributes().remove("Test-Import-Package");
-			manifest.getMainAttributes().remove("Test-Import-Library");
-			manifest.getMainAttributes().remove("Test-Import-Bundle");
-		}
-	}
+        public void modify(ManifestContents manifest) {
+            manifest.getMainAttributes().remove("Test-Import-Package");
+            manifest.getMainAttributes().remove("Test-Import-Library");
+            manifest.getMainAttributes().remove("Test-Import-Bundle");
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ArtefactAnalyserClassVisitor.java b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ArtefactAnalyserClassVisitor.java
index dd2ab25..b502fe1 100644
--- a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ArtefactAnalyserClassVisitor.java
+++ b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ArtefactAnalyserClassVisitor.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.internal.core.asm;
 
 import org.eclipse.virgo.bundlor.support.partialmanifest.PartialManifest;
@@ -21,119 +22,118 @@
 
 /**
  * ASM {@link ClassVisitor} for scanning class files.
- * 
+ *
  * @author Christian Dupuis
  * @author Rob Harrop
  */
 class ArtefactAnalyserClassVisitor extends EmptyVisitor implements ClassVisitor {
 
-	private static final String CLASS_NAME_PREFIX = "class$";
+    private static final String CLASS_NAME_PREFIX = "class$";
 
-	/**
-	 * That <code>PartialManifest</code> being updated.
-	 */
-	private final PartialManifest partialManifest;
+    /**
+     * That <code>PartialManifest</code> being updated.
+     */
+    private final PartialManifest partialManifest;
 
-	/**
-	 * The type that is being scanned.
-	 */
-	private Type type;
+    /**
+     * The type that is being scanned.
+     */
+    private Type type;
 
-	/**
-	 * Creates a new <code>ArtefactAnalyserClassVisitor</code> to scan the
-	 * supplied {@link PartialManifest}.
-	 * 
-	 * @param partialManifest the <code>PartialManifest</code> to scan.
-	 */
-	public ArtefactAnalyserClassVisitor(PartialManifest partialManifest) {
-		this.partialManifest = partialManifest;
-	}
+    /**
+     * Creates a new <code>ArtefactAnalyserClassVisitor</code> to scan the supplied {@link PartialManifest}.
+     *
+     * @param partialManifest the <code>PartialManifest</code> to scan.
+     */
+    public ArtefactAnalyserClassVisitor(PartialManifest partialManifest) {
+        this.partialManifest = partialManifest;
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	@Override
-	public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
-		Type type = Type.getObjectType(name);
-		this.type = type;
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
+        Type type = Type.getObjectType(name);
+        this.type = type;
 
-		this.partialManifest.recordType(VisitorUtils.getFullyQualifiedTypeName(type));
+        this.partialManifest.recordType(VisitorUtils.getFullyQualifiedTypeName(type));
 
-		VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getObjectType(superName));
-		VisitorUtils.recordUses(this.partialManifest, type, Type.getObjectType(superName));
-		for (String interfaceName : interfaces) {
-			VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getObjectType(interfaceName));
-			VisitorUtils.recordUses(this.partialManifest, type, Type.getObjectType(interfaceName));
-		}
-	}
+        VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getObjectType(superName));
+        VisitorUtils.recordUses(this.partialManifest, type, Type.getObjectType(superName));
+        for (String interfaceName : interfaces) {
+            VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getObjectType(interfaceName));
+            VisitorUtils.recordUses(this.partialManifest, type, Type.getObjectType(interfaceName));
+        }
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	@Override
-	public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
-		Type t = Type.getType(desc);
-		VisitorUtils.recordReferencedTypes(this.partialManifest, t);
-		VisitorUtils.recordUses(this.partialManifest, this.type, t);
-		return null;
-	}
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
+        Type t = Type.getType(desc);
+        VisitorUtils.recordReferencedTypes(this.partialManifest, t);
+        VisitorUtils.recordUses(this.partialManifest, this.type, t);
+        return null;
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	@Override
-	public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {
-		Type t = Type.getType(desc);
-		if ((access & Opcodes.ACC_SYNTHETIC) == Opcodes.ACC_SYNTHETIC) {
-			if (Class.class.getName().equals(t.getClassName())) {
-				if (name != null && name.startsWith(CLASS_NAME_PREFIX)) {
-					name = name.substring(CLASS_NAME_PREFIX.length());
-					name = name.replace('$', '.');
-					int lastDotIndex = name.lastIndexOf('.');
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) {
+        Type t = Type.getType(desc);
+        if ((access & Opcodes.ACC_SYNTHETIC) == Opcodes.ACC_SYNTHETIC) {
+            if (Class.class.getName().equals(t.getClassName())) {
+                if (name != null && name.startsWith(CLASS_NAME_PREFIX)) {
+                    name = name.substring(CLASS_NAME_PREFIX.length());
+                    name = name.replace('$', '.');
+                    int lastDotIndex = name.lastIndexOf('.');
 
-					for (int i = 0; i < lastDotIndex; i++) {
-						if (Character.isUpperCase(name.charAt(i))) {
-							if (i == 0) {
-								return null;
-							}
-							if (name.charAt(i - 1) == '.') {
-								name = name.substring(0, i) + name.substring(i).replace('.', '$');
-								break;
-							}
-						}
-					}
-					if (Character.isJavaIdentifierStart(name.charAt(0))) {
-						this.partialManifest.recordReferencedType(name);
-					}
-				}
-			}
-		}
-		VisitorUtils.recordReferencedTypes(this.partialManifest, t);
-		return new ArtefactAnalyserFieldVisitor(this.partialManifest, this.type);
-	}
+                    for (int i = 0; i < lastDotIndex; i++) {
+                        if (Character.isUpperCase(name.charAt(i))) {
+                            if (i == 0) {
+                                return null;
+                            }
+                            if (name.charAt(i - 1) == '.') {
+                                name = name.substring(0, i) + name.substring(i).replace('.', '$');
+                                break;
+                            }
+                        }
+                    }
+                    if (Character.isJavaIdentifierStart(name.charAt(0))) {
+                        this.partialManifest.recordReferencedType(name);
+                    }
+                }
+            }
+        }
+        VisitorUtils.recordReferencedTypes(this.partialManifest, t);
+        return new ArtefactAnalyserFieldVisitor(this.partialManifest, this.type);
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	@Override
-	public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
-		VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getArgumentTypes(desc));
-		VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getReturnType(desc));
-		if (exceptions != null) {
-			for (String exception : exceptions) {
-				VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getObjectType(exception));
-			}
-		}
-		if (access != Opcodes.ACC_PRIVATE) {
-			VisitorUtils.recordUses(this.partialManifest, this.type, Type.getArgumentTypes(desc));
-			VisitorUtils.recordUses(this.partialManifest, this.type, Type.getReturnType(desc));
-			if (exceptions != null) {
-				for (String exception : exceptions) {
-					VisitorUtils.recordUses(this.partialManifest, this.type, Type.getObjectType(exception));
-				}
-			}
-		}
-		return new ArtefactAnalyserMethodVisitor(this.partialManifest, this.type);
-	}
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) {
+        VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getArgumentTypes(desc));
+        VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getReturnType(desc));
+        if (exceptions != null) {
+            for (String exception : exceptions) {
+                VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getObjectType(exception));
+            }
+        }
+        if (access != Opcodes.ACC_PRIVATE) {
+            VisitorUtils.recordUses(this.partialManifest, this.type, Type.getArgumentTypes(desc));
+            VisitorUtils.recordUses(this.partialManifest, this.type, Type.getReturnType(desc));
+            if (exceptions != null) {
+                for (String exception : exceptions) {
+                    VisitorUtils.recordUses(this.partialManifest, this.type, Type.getObjectType(exception));
+                }
+            }
+        }
+        return new ArtefactAnalyserMethodVisitor(this.partialManifest, this.type);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ArtefactAnalyserFieldVisitor.java b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ArtefactAnalyserFieldVisitor.java
index 4029f43..559fdee 100644
--- a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ArtefactAnalyserFieldVisitor.java
+++ b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ArtefactAnalyserFieldVisitor.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.internal.core.asm;
 
 import org.eclipse.virgo.bundlor.support.partialmanifest.PartialManifest;
@@ -18,41 +19,41 @@
 
 /**
  * ASM {@link FieldVisitor} for scanning class files.
- * 
+ *
  * @author Christian Dupuis
  * @author Glyn Normington
  */
 final class ArtefactAnalyserFieldVisitor extends EmptyVisitor implements FieldVisitor {
 
-	/**
-	 * That <code>PartialManifest</code> being updated.
-	 */
-	private final PartialManifest partialManifest;
+    /**
+     * That <code>PartialManifest</code> being updated.
+     */
+    private final PartialManifest partialManifest;
 
-	/**
-	 * The type that is being scanned.
-	 */
-	private final Type type;
+    /**
+     * The type that is being scanned.
+     */
+    private final Type type;
 
-	/**
-	 * Creates a new <code>ArtefactAnalyserClassVisitor</code> to scan the
-	 * supplied {@link PartialManifest}.
-	 * 
-	 * @param partialManifest the <code>PartialManifest</code> to scan.
-	 */
-	ArtefactAnalyserFieldVisitor(PartialManifest partialManifest, Type type) {
-		this.partialManifest = partialManifest;
-		this.type = type;
-	}
+    /**
+     * Creates a new <code>ArtefactAnalyserClassVisitor</code> to scan the supplied {@link PartialManifest}.
+     *
+     * @param partialManifest the <code>PartialManifest</code> to scan.
+     */
+    ArtefactAnalyserFieldVisitor(PartialManifest partialManifest, Type type) {
+        this.partialManifest = partialManifest;
+        this.type = type;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
-		Type t = Type.getType(desc);
-		VisitorUtils.recordReferencedTypes(partialManifest, t);
-		VisitorUtils.recordUses(partialManifest, this.type, t);
-		return null;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
+        Type t = Type.getType(desc);
+        VisitorUtils.recordReferencedTypes(this.partialManifest, t);
+        VisitorUtils.recordUses(this.partialManifest, this.type, t);
+        return null;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ArtefactAnalyserMethodVisitor.java b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ArtefactAnalyserMethodVisitor.java
index cab3361..9c08452 100644
--- a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ArtefactAnalyserMethodVisitor.java
+++ b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ArtefactAnalyserMethodVisitor.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.internal.core.asm;
 
 import org.eclipse.virgo.bundlor.support.partialmanifest.PartialManifest;
@@ -19,112 +20,120 @@
 
 /**
  * ASM {@link MethodVisitor} to scan method bodies for imports.
- * 
+ *
  * @author Christian Dupuis
  * @author Rob Harrop
  */
 final class ArtefactAnalyserMethodVisitor extends EmptyVisitor implements MethodVisitor {
 
-	/**
-	 * The <code>PartialManifest</code> being updated.
-	 */
-	private final PartialManifest partialManifest;
+    /**
+     * The <code>PartialManifest</code> being updated.
+     */
+    private final PartialManifest partialManifest;
 
-	/**
-	 * The type that is being scanned.
-	 */
-	private final Type type;
+    /**
+     * The type that is being scanned.
+     */
+    private final Type type;
 
-	/**
-	 * Creates a new <code>ArtefactAnalyserMethodVisitor</code> for the supplied
-	 * {@link PartialManifest}.
-	 * 
-	 * @param partialManifest the <code>PartialManifest</code>.
-	 */
-	public ArtefactAnalyserMethodVisitor(PartialManifest partialManifest, Type type) {
-		this.partialManifest = partialManifest;
-		this.type = type;
-	}
+    /**
+     * Creates a new <code>ArtefactAnalyserMethodVisitor</code> for the supplied {@link PartialManifest}.
+     *
+     * @param partialManifest the <code>PartialManifest</code>.
+     */
+    public ArtefactAnalyserMethodVisitor(PartialManifest partialManifest, Type type) {
+        this.partialManifest = partialManifest;
+        this.type = type;
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
-		Type t = Type.getType(desc);
-		VisitorUtils.recordReferencedTypes(partialManifest, t);
-		VisitorUtils.recordUses(partialManifest, this.type, t);
-		return null;
-	}
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public AnnotationVisitor visitAnnotation(String desc, boolean visible) {
+        Type t = Type.getType(desc);
+        VisitorUtils.recordReferencedTypes(this.partialManifest, t);
+        VisitorUtils.recordUses(this.partialManifest, this.type, t);
+        return null;
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	public void visitFieldInsn(int opcode, String owner, String name, String desc) {
-		VisitorUtils.recordReferencedTypes(partialManifest, Type.getType(desc));
-		VisitorUtils.recordReferencedTypes(partialManifest, Type.getObjectType(owner));
-	}
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public void visitFieldInsn(int opcode, String owner, String name, String desc) {
+        VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getType(desc));
+        VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getObjectType(owner));
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	public void visitLocalVariable(String name, String desc, String signature, Label start, Label end, int index) {
-		Type t = Type.getType(desc);
-		VisitorUtils.recordReferencedTypes(partialManifest, t);
-	}
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public void visitLocalVariable(String name, String desc, String signature, Label start, Label end, int index) {
+        Type t = Type.getType(desc);
+        VisitorUtils.recordReferencedTypes(this.partialManifest, t);
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	public void visitMethodInsn(int opcode, String owner, String name, String desc) {
-		Type t = Type.getObjectType(owner);
-		VisitorUtils.recordReferencedTypes(partialManifest, t);
-		VisitorUtils.recordReferencedTypes(partialManifest, Type.getReturnType(desc));
-		VisitorUtils.recordReferencedTypes(partialManifest, Type.getArgumentTypes(desc));
-	}
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public void visitMethodInsn(int opcode, String owner, String name, String desc) {
+        Type t = Type.getObjectType(owner);
+        VisitorUtils.recordReferencedTypes(this.partialManifest, t);
+        VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getReturnType(desc));
+        VisitorUtils.recordReferencedTypes(this.partialManifest, Type.getArgumentTypes(desc));
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	public void visitMultiANewArrayInsn(String desc, int dims) {
-		Type t = Type.getType(desc);
-		VisitorUtils.recordReferencedTypes(partialManifest, t);
-	}
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public void visitMultiANewArrayInsn(String desc, int dims) {
+        Type t = Type.getType(desc);
+        VisitorUtils.recordReferencedTypes(this.partialManifest, t);
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	public AnnotationVisitor visitParameterAnnotation(int parameter, String desc, boolean visible) {
-		Type t = Type.getType(desc);
-		VisitorUtils.recordReferencedTypes(partialManifest, t);
-		VisitorUtils.recordUses(partialManifest, this.type, t);
-		return null;
-	}
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public AnnotationVisitor visitParameterAnnotation(int parameter, String desc, boolean visible) {
+        Type t = Type.getType(desc);
+        VisitorUtils.recordReferencedTypes(this.partialManifest, t);
+        VisitorUtils.recordUses(this.partialManifest, this.type, t);
+        return null;
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	public void visitTryCatchBlock(Label start, Label end, Label handler, String type) {
-		if (type != null) {
-			Type t = Type.getObjectType(type);
-			VisitorUtils.recordReferencedTypes(partialManifest, t);
-		}
-	}
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public void visitTryCatchBlock(Label start, Label end, Label handler, String type) {
+        if (type != null) {
+            Type t = Type.getObjectType(type);
+            VisitorUtils.recordReferencedTypes(this.partialManifest, t);
+        }
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	public void visitTypeInsn(int opcode, String type) {
-		Type t = Type.getObjectType(type);
-		VisitorUtils.recordReferencedTypes(partialManifest, t);
-	}
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public void visitTypeInsn(int opcode, String type) {
+        Type t = Type.getObjectType(type);
+        VisitorUtils.recordReferencedTypes(this.partialManifest, t);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public void visitLdcInsn(Object cst) {
-		if (cst instanceof Type) {
-			VisitorUtils.recordReferencedTypes(partialManifest, (Type) cst);
-		}
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void visitLdcInsn(Object cst) {
+        if (cst instanceof Type) {
+            VisitorUtils.recordReferencedTypes(this.partialManifest, (Type) cst);
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ExtensibleAsmTypeArtefactAnalyser.java b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ExtensibleAsmTypeArtefactAnalyser.java
index 92cd64a..62e251c 100644
--- a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ExtensibleAsmTypeArtefactAnalyser.java
+++ b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/ExtensibleAsmTypeArtefactAnalyser.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.internal.core.asm;
 
 import java.io.InputStream;
@@ -17,35 +18,34 @@
 import org.objectweb.asm.ClassReader;
 
 /**
- * {@link ArtifactAnalyzer} implementation that uses ASM to scan
- * <code>.class</code> files for dependencies and exports.
+ * {@link ArtifactAnalyzer} implementation that uses ASM to scan <code>.class</code> files for dependencies and exports.
  * <p/>
- * 
+ *
  * @author Christian Dupuis
  */
 public class ExtensibleAsmTypeArtefactAnalyser implements ArtifactAnalyzer {
 
-	/**
-	 * @inheritDoc
-	 */
-	public void analyse(InputStream artefact, String artefactName, PartialManifest model) throws Exception {
-		ClassReader reader = new ClassReader(artefact);
-		reader.accept(new ArtefactAnalyserClassVisitor(model), 0);
-	}
+    /**
+     * @inheritDoc
+     */
+    public void analyse(InputStream artefact, String artefactName, PartialManifest model) throws Exception {
+        ClassReader reader = new ClassReader(artefact);
+        reader.accept(new ArtefactAnalyserClassVisitor(model), 0);
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	public boolean canAnalyse(String artefactName) {
-		return artefactName.endsWith(".class");
-	}
+    /**
+     * @inheritDoc
+     */
+    public boolean canAnalyse(String artefactName) {
+        return artefactName.endsWith(".class");
+    }
 
-	/**
-	 * @inheritDoc
-	 */
-	@Override
-	public String toString() {
-		return "ASM Type Scanner";
-	}
+    /**
+     * @inheritDoc
+     */
+    @Override
+    public String toString() {
+        return "ASM Type Scanner";
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/VisitorUtils.java b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/VisitorUtils.java
index d6a4964..61b8874 100644
--- a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/VisitorUtils.java
+++ b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/asm/VisitorUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.internal.core.asm;
 
 import org.eclipse.virgo.bundlor.support.partialmanifest.PartialManifest;
@@ -19,64 +20,63 @@
  */
 final class VisitorUtils {
 
-	/**
-	 * Gets the package name from the supplied {@link Type}.
-	 * 
-	 * @param type the <code>Type</code>.
-	 * @return the package name.
-	 */
-	public static String getPackageName(Type type) {
-		String name;
-		if (type.getSort() == Type.OBJECT) {
-			name = type.getClassName();
-		} else if (type.getSort() == Type.ARRAY) {
-			return getPackageName(type.getElementType());
-		} else {
-			return null;
-		}
-		int dotIndex = name.lastIndexOf('.');
-		if (dotIndex > -1) {
-			return name.substring(0, dotIndex);
-		} else {
-			return null;
-		}
-	}
+    /**
+     * Gets the package name from the supplied {@link Type}.
+     *
+     * @param type the <code>Type</code>.
+     * @return the package name.
+     */
+    public static String getPackageName(Type type) {
+        String name;
+        if (type.getSort() == Type.OBJECT) {
+            name = type.getClassName();
+        } else if (type.getSort() == Type.ARRAY) {
+            return getPackageName(type.getElementType());
+        } else {
+            return null;
+        }
+        int dotIndex = name.lastIndexOf('.');
+        if (dotIndex > -1) {
+            return name.substring(0, dotIndex);
+        } else {
+            return null;
+        }
+    }
 
-	public static String getFullyQualifiedTypeName(Type type) {
-		if (type.getSort() == Type.OBJECT) {
-			return type.getClassName();
-		} else if (type.getSort() == Type.ARRAY) {
-			return getFullyQualifiedTypeName(type.getElementType());
-		} else {
-			return null;
-		}
-	}
+    public static String getFullyQualifiedTypeName(Type type) {
+        if (type.getSort() == Type.OBJECT) {
+            return type.getClassName();
+        } else if (type.getSort() == Type.ARRAY) {
+            return getFullyQualifiedTypeName(type.getElementType());
+        } else {
+            return null;
+        }
+    }
 
-	/**
-	 * Records the supplied {@link Type Types} in the supplied
-	 * {@link PartialManifest}.
-	 * 
-	 * @param partialManifest the <code>PartialManifest</code>.
-	 * @param types the <code>Types</code>.
-	 */
-	public static void recordReferencedTypes(PartialManifest partialManifest, Type... types) {
-		for (Type t : types) {
-			partialManifest.recordReferencedType(getFullyQualifiedTypeName(t));
-		}
-	}
+    /**
+     * Records the supplied {@link Type Types} in the supplied {@link PartialManifest}.
+     *
+     * @param partialManifest the <code>PartialManifest</code>.
+     * @param types the <code>Types</code>.
+     */
+    public static void recordReferencedTypes(PartialManifest partialManifest, Type... types) {
+        for (Type t : types) {
+            partialManifest.recordReferencedType(getFullyQualifiedTypeName(t));
+        }
+    }
 
-	/**
-	 * Records a uses of the packages for the supplied {@link Type Types}
-	 * against the supplied <code>exportingPackage</code>.
-	 * 
-	 * @param partialManifest the <code>PartialManifest</code>.
-	 * @param exportingType the exporting type.
-	 * @param types the <code>Types</code>.
-	 */
-	public static void recordUses(PartialManifest partialManifest, Type exportingType, Type... types) {
-		for (Type t : types) {
-			String packageName = getPackageName(t);
-			partialManifest.recordUsesPackage(getPackageName(exportingType), packageName);
-		}
-	}
+    /**
+     * Records a uses of the packages for the supplied {@link Type Types} against the supplied
+     * <code>exportingPackage</code>.
+     *
+     * @param partialManifest the <code>PartialManifest</code>.
+     * @param exportingType the exporting type.
+     * @param types the <code>Types</code>.
+     */
+    public static void recordUses(PartialManifest partialManifest, Type exportingType, Type... types) {
+        for (Type t : types) {
+            String packageName = getPackageName(t);
+            partialManifest.recordUsesPackage(getPackageName(exportingType), packageName);
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/maven/MavenPropertiesSource.java b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/maven/MavenPropertiesSource.java
index d031e09..9890798 100644
--- a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/maven/MavenPropertiesSource.java
+++ b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/maven/MavenPropertiesSource.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.internal.core.maven;
 
 import java.util.Properties;
@@ -23,56 +24,56 @@
 
 /**
  * {@link PropertiesSource} implementation that reads properties from a Maven project pom.xml hierarchy.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  */
 public class MavenPropertiesSource implements PropertiesSource {
 
-	private static final Properties EMPTY_STANDARD = new Properties();
+    private static final Properties EMPTY_STANDARD = new Properties();
 
-	private final IProject project;
+    private final IProject project;
 
-	public MavenPropertiesSource(IProject project) {
-		this.project = project;
-	}
+    public MavenPropertiesSource(IProject project) {
+        this.project = project;
+    }
 
-	public int getPriority() {
-		return Integer.MAX_VALUE - 1;
-	}
+    public int getPriority() {
+        return Integer.MAX_VALUE - 1;
+    }
 
-	public Properties getProperties() {
-		try {
-			IMavenProjectRegistry registry = MavenPlugin.getMavenProjectRegistry();
-			IMavenProjectFacade facade = registry.create(project, new NullProgressMonitor());
-			if (facade != null) {
-				MavenProject mavenProj = facade.getMavenProject(new NullProgressMonitor());
-				Properties props = mavenProj.getProperties();
+    public Properties getProperties() {
+        try {
+            IMavenProjectRegistry registry = MavenPlugin.getMavenProjectRegistry();
+            IMavenProjectFacade facade = registry.create(this.project, new NullProgressMonitor());
+            if (facade != null) {
+                MavenProject mavenProj = facade.getMavenProject(new NullProgressMonitor());
+                Properties props = mavenProj.getProperties();
 
-				// add in some special maven properties
-				addPropertyIfNotNull(props, "project.artifactId", mavenProj.getArtifactId()); //$NON-NLS-1$
-				addPropertyIfNotNull(props, "project.groupId", mavenProj.getGroupId()); //$NON-NLS-1$
-				addPropertyIfNotNull(props, "project.description", mavenProj.getDescription()); //$NON-NLS-1$
-				addPropertyIfNotNull(props, "project.name", mavenProj.getName()); //$NON-NLS-1$
-				addPropertyIfNotNull(props, "project.version", mavenProj.getVersion()); //$NON-NLS-1$
-				addPropertyIfNotNull(props, "pom.artifactId", mavenProj.getArtifactId()); //$NON-NLS-1$
-				addPropertyIfNotNull(props, "pom.groupId", mavenProj.getGroupId()); //$NON-NLS-1$
-				addPropertyIfNotNull(props, "pom.description", mavenProj.getDescription()); //$NON-NLS-1$
-				addPropertyIfNotNull(props, "pom.name", mavenProj.getName()); //$NON-NLS-1$
-				addPropertyIfNotNull(props, "pom.version", mavenProj.getVersion()); //$NON-NLS-1$
+                // add in some special maven properties
+                addPropertyIfNotNull(props, "project.artifactId", mavenProj.getArtifactId()); //$NON-NLS-1$
+                addPropertyIfNotNull(props, "project.groupId", mavenProj.getGroupId()); //$NON-NLS-1$
+                addPropertyIfNotNull(props, "project.description", mavenProj.getDescription()); //$NON-NLS-1$
+                addPropertyIfNotNull(props, "project.name", mavenProj.getName()); //$NON-NLS-1$
+                addPropertyIfNotNull(props, "project.version", mavenProj.getVersion()); //$NON-NLS-1$
+                addPropertyIfNotNull(props, "pom.artifactId", mavenProj.getArtifactId()); //$NON-NLS-1$
+                addPropertyIfNotNull(props, "pom.groupId", mavenProj.getGroupId()); //$NON-NLS-1$
+                addPropertyIfNotNull(props, "pom.description", mavenProj.getDescription()); //$NON-NLS-1$
+                addPropertyIfNotNull(props, "pom.name", mavenProj.getName()); //$NON-NLS-1$
+                addPropertyIfNotNull(props, "pom.version", mavenProj.getVersion()); //$NON-NLS-1$
 
-				return props;
-			}
-		} catch (CoreException e) {
-			// this exception will be reported later on as the properties can't be reported.
-		}
-		return EMPTY_STANDARD;
-	}
+                return props;
+            }
+        } catch (CoreException e) {
+            // this exception will be reported later on as the properties can't be reported.
+        }
+        return EMPTY_STANDARD;
+    }
 
-	private void addPropertyIfNotNull(Properties props, String key, String value) {
-		if (value != null && key != null) {
-			props.put(key, value);
-		}
-	}
+    private void addPropertyIfNotNull(Properties props, String key, String value) {
+        if (value != null && key != null) {
+            props.put(key, value);
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/maven/MavenPropertiesSourceFactory.java b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/maven/MavenPropertiesSourceFactory.java
index 0a11f9c..9ee2224 100644
--- a/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/maven/MavenPropertiesSourceFactory.java
+++ b/org.eclipse.virgo.ide.bundlor.core/src/org/eclipse/virgo/ide/bundlor/internal/core/maven/MavenPropertiesSourceFactory.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.internal.core.maven;
 
 import java.util.Properties;
@@ -20,50 +21,50 @@
  * Factory implementation to create instances of {@link MavenPropertiesSource}.
  * <p>
  * This implementation will make sure not to depend on M2E until it is actually installed.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  */
 public class MavenPropertiesSourceFactory {
 
-	private static final String M2E_CLASS_NAME = "org.eclipse.m2e.core.project.IMavenProjectRegistry"; //$NON-NLS-1$
+    private static final String M2E_CLASS_NAME = "org.eclipse.m2e.core.project.IMavenProjectRegistry"; //$NON-NLS-1$
 
-	private static final String M2E_PROJECT_NATURE = "org.eclipse.m2e.core.maven2Nature"; //$NON-NLS-1$
+    private static final String M2E_PROJECT_NATURE = "org.eclipse.m2e.core.maven2Nature"; //$NON-NLS-1$
 
-	private static final boolean IS_M2E_PRESENT = isM2ePresent();
+    private static final boolean IS_M2E_PRESENT = isM2ePresent();
 
-	private static final PropertiesSource EMPTY_PROPERTIES_SOURCE = new NoOpPropertiesSource();
+    private static final PropertiesSource EMPTY_PROPERTIES_SOURCE = new NoOpPropertiesSource();
 
-	public static boolean shouldCreate(IProject project) {
-		return IS_M2E_PRESENT && FacetUtils.hasNature(project, M2E_PROJECT_NATURE);
-	}
+    public static boolean shouldCreate(IProject project) {
+        return IS_M2E_PRESENT && FacetUtils.hasNature(project, M2E_PROJECT_NATURE);
+    }
 
-	public static PropertiesSource createPropertiesSource(IProject project) {
-		if (shouldCreate(project)) {
-			return new MavenPropertiesSource(project);
-		}
-		return EMPTY_PROPERTIES_SOURCE;
-	}
+    public static PropertiesSource createPropertiesSource(IProject project) {
+        if (shouldCreate(project)) {
+            return new MavenPropertiesSource(project);
+        }
+        return EMPTY_PROPERTIES_SOURCE;
+    }
 
-	private static boolean isM2ePresent() {
-		try {
-			MavenPropertiesSourceFactory.class.getClassLoader().loadClass(M2E_CLASS_NAME);
-			return true;
-		} catch (ClassNotFoundException e) {
-			return false;
-		}
-	}
+    private static boolean isM2ePresent() {
+        try {
+            MavenPropertiesSourceFactory.class.getClassLoader().loadClass(M2E_CLASS_NAME);
+            return true;
+        } catch (ClassNotFoundException e) {
+            return false;
+        }
+    }
 
-	private static class NoOpPropertiesSource implements PropertiesSource {
+    private static class NoOpPropertiesSource implements PropertiesSource {
 
-		public int getPriority() {
-			return Integer.MIN_VALUE;
-		}
+        public int getPriority() {
+            return Integer.MIN_VALUE;
+        }
 
-		public Properties getProperties() {
-			return new Properties();
-		}
+        public Properties getProperties() {
+            return new Properties();
+        }
 
-	}
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.jdt.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.bundlor.jdt.core/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.bundlor.jdt.core/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.bundlor.jdt.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.bundlor.jdt.core/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.bundlor.jdt.core/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.bundlor.jdt.core/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.bundlor.jdt.core/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.bundlor.jdt.core/src/org/eclipse/virgo/ide/bundlor/jdt/core/ArtifactAnalyserTypeVisitor.java b/org.eclipse.virgo.ide.bundlor.jdt.core/src/org/eclipse/virgo/ide/bundlor/jdt/core/ArtifactAnalyserTypeVisitor.java
index beddb26..9de2ece 100644
--- a/org.eclipse.virgo.ide.bundlor.jdt.core/src/org/eclipse/virgo/ide/bundlor/jdt/core/ArtifactAnalyserTypeVisitor.java
+++ b/org.eclipse.virgo.ide.bundlor.jdt.core/src/org/eclipse/virgo/ide/bundlor/jdt/core/ArtifactAnalyserTypeVisitor.java
@@ -47,423 +47,422 @@
 import org.eclipse.virgo.bundlor.support.partialmanifest.PartialManifest;
 
 /**
- * {@link MethodVisitor} that is based on JDT's AST </p> <strong>Concurrent Semantics</strong><br />
+ * {@link MethodVisitor} that is based on JDT's AST
+ * </p>
+ * <strong>Concurrent Semantics</strong><br />
  * Not thread safe.
- * 
+ *
  * @author Christian Dupuis
  * @author Glyn Normington
  */
 public class ArtifactAnalyserTypeVisitor extends ASTVisitor {
 
-	private final PartialManifest partialManifest;
+    private final PartialManifest partialManifest;
 
-	private final Set<String> referencedTypes = new HashSet<String>();
+    private final Set<String> referencedTypes = new HashSet<String>();
 
-	private String typePackage;
+    private String typePackage;
 
-	public ArtifactAnalyserTypeVisitor(PartialManifest model) {
-		this.partialManifest = model;
-	}
+    public ArtifactAnalyserTypeVisitor(PartialManifest model) {
+        this.partialManifest = model;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(CastExpression node) {
-		recordTypeBinding(node.resolveTypeBinding());
-		return true;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(CastExpression node) {
+        recordTypeBinding(node.resolveTypeBinding());
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(CatchClause node) {
-		recordTypeBinding(node.getException().getType().resolveBinding());
-		return true;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(CatchClause node) {
+        recordTypeBinding(node.getException().getType().resolveBinding());
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(ClassInstanceCreation node) {
-		recordTypeBinding(node.resolveTypeBinding());
-		return true;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(ClassInstanceCreation node) {
+        recordTypeBinding(node.resolveTypeBinding());
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(FieldDeclaration node) {
-		recordTypeBinding(node.getType().resolveBinding());
-		return true;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(FieldDeclaration node) {
+        recordTypeBinding(node.getType().resolveBinding());
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(ImportDeclaration node) {
-		if (node.resolveBinding() != null && !node.resolveBinding().isRecovered()) {
-			IBinding binding = node.resolveBinding();
-			if (binding instanceof IPackageBinding) {
-				partialManifest.recordReferencedPackage(((IPackageBinding) binding).getName());
-			} else if (binding instanceof ITypeBinding) {
-				recordTypeBinding((ITypeBinding) binding);
-			}
-		} else {
-			if (!node.isOnDemand() && !node.isStatic()) {
-				Name importElementName = node.getName();
-				recordFullyQualifiedName(importElementName.getFullyQualifiedName());
-			} else if (node.isOnDemand() && !node.isStatic()) {
-				Name importElementName = node.getName();
-				partialManifest.recordReferencedPackage(importElementName.getFullyQualifiedName());
-			} else if (!node.isOnDemand() && node.isStatic()) {
-				Name importElementName = node.getName();
-				String fqn = importElementName.getFullyQualifiedName().substring(0,
-						importElementName.getFullyQualifiedName().lastIndexOf('.'));
-				recordFullyQualifiedName(fqn);
-			}
-		}
-		return false;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(ImportDeclaration node) {
+        if (node.resolveBinding() != null && !node.resolveBinding().isRecovered()) {
+            IBinding binding = node.resolveBinding();
+            if (binding instanceof IPackageBinding) {
+                this.partialManifest.recordReferencedPackage(((IPackageBinding) binding).getName());
+            } else if (binding instanceof ITypeBinding) {
+                recordTypeBinding((ITypeBinding) binding);
+            }
+        } else {
+            if (!node.isOnDemand() && !node.isStatic()) {
+                Name importElementName = node.getName();
+                recordFullyQualifiedName(importElementName.getFullyQualifiedName());
+            } else if (node.isOnDemand() && !node.isStatic()) {
+                Name importElementName = node.getName();
+                this.partialManifest.recordReferencedPackage(importElementName.getFullyQualifiedName());
+            } else if (!node.isOnDemand() && node.isStatic()) {
+                Name importElementName = node.getName();
+                String fqn = importElementName.getFullyQualifiedName().substring(0, importElementName.getFullyQualifiedName().lastIndexOf('.'));
+                recordFullyQualifiedName(fqn);
+            }
+        }
+        return false;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(InstanceofExpression node) {
-		recordTypeBinding(node.getRightOperand().resolveBinding());
-		return true;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(InstanceofExpression node) {
+        recordTypeBinding(node.getRightOperand().resolveBinding());
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(MarkerAnnotation node) {
-		ITypeBinding binding = node.resolveTypeBinding();
-		recordTypeBinding(binding);
-		this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(binding).getName());
-		return true;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(MarkerAnnotation node) {
+        ITypeBinding binding = node.resolveTypeBinding();
+        recordTypeBinding(binding);
+        this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(binding).getName());
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(MethodDeclaration node) {
-		IMethodBinding binding = node.resolveBinding();
-		if (binding == null) {
-			return true;
-		}
-		// return value
-		if (binding.getReturnType() != null) {
-			String fqn = binding.getReturnType().getQualifiedName();
-			if (!"void".equals(fqn)) {
-				recordTypeBinding(binding.getReturnType());
-				if (!Modifier.isPrivate(node.getModifiers())) {
-					IPackageBinding packageBinding = getPackageBinding(binding.getReturnType());
-					if (packageBinding != null) {
-						this.partialManifest.recordUsesPackage(this.typePackage, packageBinding.getName());
-					}
-				}
-			}
-		}
-		// throws clause
-		if (binding.getExceptionTypes() != null) {
-			for (ITypeBinding exceptionBinding : binding.getExceptionTypes()) {
-				recordTypeBinding(exceptionBinding);
-				if (!Modifier.isPrivate(node.getModifiers())) {
-					IPackageBinding packageBinding = getPackageBinding(exceptionBinding);
-					if (packageBinding != null) {
-						this.partialManifest.recordUsesPackage(this.typePackage, packageBinding.getName());
-					}
-				}
-			}
-		}
-		// parameter
-		if (binding.getParameterTypes() != null) {
-			for (ITypeBinding parameterBinding : binding.getParameterTypes()) {
-				recordTypeBinding(parameterBinding);
-				if (!Modifier.isPrivate(node.getModifiers())) {
-					IPackageBinding packageBinding = getPackageBinding(parameterBinding);
-					if (packageBinding != null) {
-						this.partialManifest.recordUsesPackage(this.typePackage, packageBinding.getName());
-					}
-				}
-			}
-		}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(MethodDeclaration node) {
+        IMethodBinding binding = node.resolveBinding();
+        if (binding == null) {
+            return true;
+        }
+        // return value
+        if (binding.getReturnType() != null) {
+            String fqn = binding.getReturnType().getQualifiedName();
+            if (!"void".equals(fqn)) {
+                recordTypeBinding(binding.getReturnType());
+                if (!Modifier.isPrivate(node.getModifiers())) {
+                    IPackageBinding packageBinding = getPackageBinding(binding.getReturnType());
+                    if (packageBinding != null) {
+                        this.partialManifest.recordUsesPackage(this.typePackage, packageBinding.getName());
+                    }
+                }
+            }
+        }
+        // throws clause
+        if (binding.getExceptionTypes() != null) {
+            for (ITypeBinding exceptionBinding : binding.getExceptionTypes()) {
+                recordTypeBinding(exceptionBinding);
+                if (!Modifier.isPrivate(node.getModifiers())) {
+                    IPackageBinding packageBinding = getPackageBinding(exceptionBinding);
+                    if (packageBinding != null) {
+                        this.partialManifest.recordUsesPackage(this.typePackage, packageBinding.getName());
+                    }
+                }
+            }
+        }
+        // parameter
+        if (binding.getParameterTypes() != null) {
+            for (ITypeBinding parameterBinding : binding.getParameterTypes()) {
+                recordTypeBinding(parameterBinding);
+                if (!Modifier.isPrivate(node.getModifiers())) {
+                    IPackageBinding packageBinding = getPackageBinding(parameterBinding);
+                    if (packageBinding != null) {
+                        this.partialManifest.recordUsesPackage(this.typePackage, packageBinding.getName());
+                    }
+                }
+            }
+        }
 
-		return true;
-	}
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(MethodInvocation node) {
-		IMethodBinding binding = node.resolveMethodBinding();
-		if (binding != null) {
-			recordTypeBinding(binding.getDeclaringClass());
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(MethodInvocation node) {
+        IMethodBinding binding = node.resolveMethodBinding();
+        if (binding != null) {
+            recordTypeBinding(binding.getDeclaringClass());
 
-			// return value
-			if (binding.getReturnType() != null) {
-				recordTypeBinding(binding.getReturnType());
-			}
-			// parameter
-			if (binding.getParameterTypes() != null) {
-				for (ITypeBinding parameterBinding : binding.getParameterTypes()) {
-					recordTypeBinding(parameterBinding);
-				}
-			}
-		} else {
+            // return value
+            if (binding.getReturnType() != null) {
+                recordTypeBinding(binding.getReturnType());
+            }
+            // parameter
+            if (binding.getParameterTypes() != null) {
+                for (ITypeBinding parameterBinding : binding.getParameterTypes()) {
+                    recordTypeBinding(parameterBinding);
+                }
+            }
+        } else {
 
-		}
-		return true;
-	}
+        }
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(NormalAnnotation node) {
-		ITypeBinding binding = node.resolveTypeBinding();
-		recordTypeBinding(binding);
-		this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(binding).getName());
-		return true;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(NormalAnnotation node) {
+        ITypeBinding binding = node.resolveTypeBinding();
+        recordTypeBinding(binding);
+        this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(binding).getName());
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(QualifiedName node) {
-		IBinding binding = node.resolveBinding();
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(QualifiedName node) {
+        IBinding binding = node.resolveBinding();
 
-		if (isValid(binding)) {
-			// Record the declared type.
-			recordTypeBinding(node.resolveTypeBinding());
+        if (isValid(binding)) {
+            // Record the declared type.
+            recordTypeBinding(node.resolveTypeBinding());
 
-			// Record the declaring type.
-			if (binding.getKind() == IBinding.VARIABLE) {
-				recordTypeBinding(((IVariableBinding) binding).getDeclaringClass());
-			}
-		}
-		return true;
-	}
+            // Record the declaring type.
+            if (binding.getKind() == IBinding.VARIABLE) {
+                recordTypeBinding(((IVariableBinding) binding).getDeclaringClass());
+            }
+        }
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(SimpleName node) {
-		String fqn = node.getFullyQualifiedName();
-		recordFullyQualifiedName(fqn);
-		return true;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(SimpleName node) {
+        String fqn = node.getFullyQualifiedName();
+        recordFullyQualifiedName(fqn);
+        return true;
+    }
 
-	/**
-	 * It is important to record the type binding only if it is not recovered. Recovered bindings occur for invalid
-	 * source code and incomplete class paths.
-	 * 
-	 * @param binding
-	 *            the binding which may be recorded
-	 * @return <code>true</code> if and only if the binding should be recorded
-	 */
-	private boolean isValid(IBinding binding) {
-		return binding != null && !binding.isRecovered();
-	}
+    /**
+     * It is important to record the type binding only if it is not recovered. Recovered bindings occur for invalid
+     * source code and incomplete class paths.
+     *
+     * @param binding the binding which may be recorded
+     * @return <code>true</code> if and only if the binding should be recorded
+     */
+    private boolean isValid(IBinding binding) {
+        return binding != null && !binding.isRecovered();
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(SimpleType node) {
-		if (isValid(node.resolveBinding())) {
-			recordTypeBinding(node.resolveBinding());
-		} else {
-			Name simpleName = node.getName();
-			String fqn = simpleName.getFullyQualifiedName();
-			recordFullyQualifiedName(fqn);
-		}
-		return true;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(SimpleType node) {
+        if (isValid(node.resolveBinding())) {
+            recordTypeBinding(node.resolveBinding());
+        } else {
+            Name simpleName = node.getName();
+            String fqn = simpleName.getFullyQualifiedName();
+            recordFullyQualifiedName(fqn);
+        }
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(SingleMemberAnnotation node) {
-		ITypeBinding binding = node.resolveTypeBinding();
-		recordTypeBinding(binding);
-		this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(binding).getName());
-		return true;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(SingleMemberAnnotation node) {
+        ITypeBinding binding = node.resolveTypeBinding();
+        recordTypeBinding(binding);
+        this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(binding).getName());
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(TypeDeclaration node) {
-		ITypeBinding binding = node.resolveBinding();
-		if (binding == null) {
-			return false;
-		}
-		String name = binding.getBinaryName();
-		this.typePackage = getPackageBinding(binding).getName();
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(TypeDeclaration node) {
+        ITypeBinding binding = node.resolveBinding();
+        if (binding == null) {
+            return false;
+        }
+        String name = binding.getBinaryName();
+        this.typePackage = getPackageBinding(binding).getName();
 
-		if (!node.isLocalTypeDeclaration()) {
-			this.partialManifest.recordType(name);
-		}
+        if (!node.isLocalTypeDeclaration()) {
+            this.partialManifest.recordType(name);
+        }
 
-		for (String referencedType : this.referencedTypes) {
-			recordFullyQualifiedName(referencedType);
-		}
+        for (String referencedType : this.referencedTypes) {
+            recordFullyQualifiedName(referencedType);
+        }
 
-		if (node.getSuperclassType() != null) {
-			ITypeBinding superClassBinding = node.getSuperclassType().resolveBinding();
-			recordTypeBinding(superClassBinding);
-			this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(superClassBinding).getName());
-		}
+        if (node.getSuperclassType() != null) {
+            ITypeBinding superClassBinding = node.getSuperclassType().resolveBinding();
+            recordTypeBinding(superClassBinding);
+            this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(superClassBinding).getName());
+        }
 
-		for (int i = 0; i < node.superInterfaceTypes().size(); i++) {
-			org.eclipse.jdt.core.dom.Type interfaceType = (org.eclipse.jdt.core.dom.Type) node.superInterfaceTypes()
-					.get(i);
-			ITypeBinding interfaceBinding = interfaceType.resolveBinding();
-			recordTypeBinding(interfaceBinding);
-			this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(interfaceBinding).getName());
-		}
+        for (int i = 0; i < node.superInterfaceTypes().size(); i++) {
+            org.eclipse.jdt.core.dom.Type interfaceType = (org.eclipse.jdt.core.dom.Type) node.superInterfaceTypes().get(i);
+            ITypeBinding interfaceBinding = interfaceType.resolveBinding();
+            recordTypeBinding(interfaceBinding);
+            this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(interfaceBinding).getName());
+        }
 
-		return true;
-	}
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(AnonymousClassDeclaration node) {
-		ITypeBinding binding = node.resolveBinding();
-		if (binding == null) {
-			return false;
-		}
-		this.partialManifest.recordType(binding.getBinaryName());
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(AnonymousClassDeclaration node) {
+        ITypeBinding binding = node.resolveBinding();
+        if (binding == null) {
+            return false;
+        }
+        this.partialManifest.recordType(binding.getBinaryName());
 
-		ITypeBinding superClassBinding = binding.getSuperclass();
-		if (superClassBinding != null) {
-			recordTypeBinding(superClassBinding);
-			this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(superClassBinding).getName());
-		}
+        ITypeBinding superClassBinding = binding.getSuperclass();
+        if (superClassBinding != null) {
+            recordTypeBinding(superClassBinding);
+            this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(superClassBinding).getName());
+        }
 
-		ITypeBinding[] interfaceBindings = binding.getInterfaces();
-		if (interfaceBindings != null) {
-			for (ITypeBinding interfaceBinding : interfaceBindings) {
-				recordTypeBinding(interfaceBinding);
-				this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(interfaceBinding).getName());
-			}
-		}
+        ITypeBinding[] interfaceBindings = binding.getInterfaces();
+        if (interfaceBindings != null) {
+            for (ITypeBinding interfaceBinding : interfaceBindings) {
+                recordTypeBinding(interfaceBinding);
+                this.partialManifest.recordUsesPackage(this.typePackage, getPackageBinding(interfaceBinding).getName());
+            }
+        }
 
-		return true;
-	}
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(AnnotationTypeDeclaration node) {
-		ITypeBinding binding = node.resolveBinding();
-		if (binding == null) {
-			return false;
-		}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(AnnotationTypeDeclaration node) {
+        ITypeBinding binding = node.resolveBinding();
+        if (binding == null) {
+            return false;
+        }
 
-		String name = binding.getBinaryName();
-		this.typePackage = getPackageBinding(binding).getName();
+        String name = binding.getBinaryName();
+        this.typePackage = getPackageBinding(binding).getName();
 
-		this.partialManifest.recordType(name);
-		return true;
-	}
+        this.partialManifest.recordType(name);
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean visit(EnumDeclaration node) {
-		ITypeBinding binding = node.resolveBinding();
-		if (binding == null) {
-			return false;
-		}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean visit(EnumDeclaration node) {
+        ITypeBinding binding = node.resolveBinding();
+        if (binding == null) {
+            return false;
+        }
 
-		String name = binding.getBinaryName();
-		this.typePackage = getPackageBinding(binding).getName();
+        String name = binding.getBinaryName();
+        this.typePackage = getPackageBinding(binding).getName();
 
-		this.partialManifest.recordType(name);
-		return true;
-	}
+        this.partialManifest.recordType(name);
+        return true;
+    }
 
-	private IPackageBinding getPackageBinding(ITypeBinding binding) {
-		if (binding != null) {
-			if (binding.isArray()) {
-				return getPackageBinding(binding.getComponentType());
-			} else {
-				return binding.getPackage();
-			}
-		}
-		return null;
-	}
+    private IPackageBinding getPackageBinding(ITypeBinding binding) {
+        if (binding != null) {
+            if (binding.isArray()) {
+                return getPackageBinding(binding.getComponentType());
+            } else {
+                return binding.getPackage();
+            }
+        }
+        return null;
+    }
 
-	private String recordFullyQualifiedName(String fqn) {
-		if (!"void".equals(fqn)) {
-			if (this.typePackage == null) {
-				this.referencedTypes.add(fqn);
-				return fqn;
-			} else if (fqn != null && !this.typePackage.equals(getPackageName(fqn))) {
-				// This is required to get FQCNs of the form
-				// org.springframework.util.ReflectionUtils.MethodCallback correctly detected
-				StringTokenizer segments = new StringTokenizer(fqn, ".");
-				if (segments.countTokens() > 1) {
-					List<String> newSegments = new ArrayList<String>();
-					while (segments.hasMoreTokens()) {
-						String segment = segments.nextToken();
-						newSegments.add(segment);
-						if (!Character.isLowerCase(segment.charAt(0))) {
-							break;
-						}
-					}
-					fqn = StringUtils.join(newSegments, ".");
-				}
+    private String recordFullyQualifiedName(String fqn) {
+        if (!"void".equals(fqn)) {
+            if (this.typePackage == null) {
+                this.referencedTypes.add(fqn);
+                return fqn;
+            } else if (fqn != null && !this.typePackage.equals(getPackageName(fqn))) {
+                // This is required to get FQCNs of the form
+                // org.springframework.util.ReflectionUtils.MethodCallback correctly detected
+                StringTokenizer segments = new StringTokenizer(fqn, ".");
+                if (segments.countTokens() > 1) {
+                    List<String> newSegments = new ArrayList<String>();
+                    while (segments.hasMoreTokens()) {
+                        String segment = segments.nextToken();
+                        newSegments.add(segment);
+                        if (!Character.isLowerCase(segment.charAt(0))) {
+                            break;
+                        }
+                    }
+                    fqn = StringUtils.join(newSegments, ".");
+                }
 
-				this.partialManifest.recordReferencedType(fqn);
-				return fqn;
-			}
-		}
-		return "";
-	}
+                this.partialManifest.recordReferencedType(fqn);
+                return fqn;
+            }
+        }
+        return "";
+    }
 
-	private String getPackageName(String fullyQualifiedTypeName) {
-		if (fullyQualifiedTypeName == null) {
-			return "";
-		}
-		int index = fullyQualifiedTypeName.lastIndexOf('.');
+    private String getPackageName(String fullyQualifiedTypeName) {
+        if (fullyQualifiedTypeName == null) {
+            return "";
+        }
+        int index = fullyQualifiedTypeName.lastIndexOf('.');
 
-		if (index > -1) {
-			return fullyQualifiedTypeName.substring(0, index);
-		}
+        if (index > -1) {
+            return fullyQualifiedTypeName.substring(0, index);
+        }
 
-		return "";
-	}
+        return "";
+    }
 
-	private String recordTypeBinding(ITypeBinding binding) {
-		if (binding != null) {
-			if (binding.isArray()) {
-				return recordTypeBinding(binding.getComponentType());
-			} else {
-				String fqn = binding.getBinaryName();
-				return recordFullyQualifiedName(fqn);
-			}
-		}
-		return "";
-	}
+    private String recordTypeBinding(ITypeBinding binding) {
+        if (binding != null) {
+            if (binding.isArray()) {
+                return recordTypeBinding(binding.getComponentType());
+            } else {
+                String fqn = binding.getBinaryName();
+                return recordFullyQualifiedName(fqn);
+            }
+        }
+        return "";
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.jdt.core/src/org/eclipse/virgo/ide/bundlor/jdt/core/AstTypeArtifactAnalyser.java b/org.eclipse.virgo.ide.bundlor.jdt.core/src/org/eclipse/virgo/ide/bundlor/jdt/core/AstTypeArtifactAnalyser.java
index aa72635..c24853c 100644
--- a/org.eclipse.virgo.ide.bundlor.jdt.core/src/org/eclipse/virgo/ide/bundlor/jdt/core/AstTypeArtifactAnalyser.java
+++ b/org.eclipse.virgo.ide.bundlor.jdt.core/src/org/eclipse/virgo/ide/bundlor/jdt/core/AstTypeArtifactAnalyser.java
@@ -25,66 +25,68 @@
 import org.eclipse.virgo.bundlor.support.partialmanifest.PartialManifest;
 
 /**
- * {@link ArtefactAnalyser} that is delegates to JDT AST scanning </p> <strong>Concurrent Semantics</strong><br />
+ * {@link ArtefactAnalyser} that is delegates to JDT AST scanning
+ * </p>
+ * <strong>Concurrent Semantics</strong><br />
  * Not threadsafe.
- * 
+ *
  * @author Christian Dupuis
  */
 public class AstTypeArtifactAnalyser implements ArtifactAnalyzer {
 
-	private static final String JAVA_EXT = ".java"; //$NON-NLS-1$
+    private static final String JAVA_EXT = ".java"; //$NON-NLS-1$
 
-	private final IJavaProject javaProject;
+    private final IJavaProject javaProject;
 
-	public AstTypeArtifactAnalyser(IJavaProject javaProject) {
-		this.javaProject = javaProject;
-	}
+    public AstTypeArtifactAnalyser(IJavaProject javaProject) {
+        this.javaProject = javaProject;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public void analyse(InputStream is, String name, PartialManifest model) throws Exception {
-		ASTParser parser = ASTParser.newParser(AST.JLS3);
-		parser.setProject(javaProject);
-		parser.setSource(convertStreamToString(is).toCharArray());
-		parser.setUnitName(name);
-		parser.setResolveBindings(true);
-		parser.setBindingsRecovery(true);
-		parser.setStatementsRecovery(true);
-		ASTNode node = parser.createAST(new NullProgressMonitor());
-		node.accept(new ArtifactAnalyserTypeVisitor(model));
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public void analyse(InputStream is, String name, PartialManifest model) throws Exception {
+        ASTParser parser = ASTParser.newParser(AST.JLS3);
+        parser.setProject(this.javaProject);
+        parser.setSource(convertStreamToString(is).toCharArray());
+        parser.setUnitName(name);
+        parser.setResolveBindings(true);
+        parser.setBindingsRecovery(true);
+        parser.setStatementsRecovery(true);
+        ASTNode node = parser.createAST(new NullProgressMonitor());
+        node.accept(new ArtifactAnalyserTypeVisitor(model));
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public boolean canAnalyse(String name) {
-		// For now only accept source files
-		// TODO does it work with .class files as well?
-		return name.endsWith(JAVA_EXT);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public boolean canAnalyse(String name) {
+        // For now only accept source files
+        // TODO does it work with .class files as well?
+        return name.endsWith(JAVA_EXT);
+    }
 
-	/**
-	 * Converts an {@link InputStream} into a {@link String} instance.
-	 */
-	public String convertStreamToString(InputStream is) {
-		BufferedReader reader = new BufferedReader(new InputStreamReader(is));
-		StringBuilder sb = new StringBuilder();
+    /**
+     * Converts an {@link InputStream} into a {@link String} instance.
+     */
+    public String convertStreamToString(InputStream is) {
+        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+        StringBuilder sb = new StringBuilder();
 
-		String line = null;
-		try {
-			while ((line = reader.readLine()) != null) {
-				sb.append(line).append("\n");
-			}
-		} catch (IOException e) {
-		} finally {
-			try {
-				is.close();
-			} catch (IOException e) {
-			}
-		}
+        String line = null;
+        try {
+            while ((line = reader.readLine()) != null) {
+                sb.append(line).append("\n");
+            }
+        } catch (IOException e) {
+        } finally {
+            try {
+                is.close();
+            } catch (IOException e) {
+            }
+        }
 
-		return sb.toString();
-	}
+        return sb.toString();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.bundlor.ui/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.bundlor.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.bundlor.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.bundlor.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.bundlor.ui/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.bundlor.ui/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.bundlor.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/BundlorUiPlugin.java b/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/BundlorUiPlugin.java
index d32c253..f92d496 100644
--- a/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/BundlorUiPlugin.java
+++ b/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/BundlorUiPlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.ui;
 
 import java.util.Collections;
@@ -31,104 +32,105 @@
 
 /**
  * UI Plugin for Bundlor UI.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.1.2
  */
 public class BundlorUiPlugin extends AbstractUIPlugin {
 
-	public static final String PLUGIN_ID = "org.eclipse.virgo.ide.bundlor.ui";
+    public static final String PLUGIN_ID = "org.eclipse.virgo.ide.bundlor.ui";
 
-	public static final String JOB_FAMILY = "org.eclipse.virgo.ide.bundlor.ui.job.family";
+    public static final String JOB_FAMILY = "org.eclipse.virgo.ide.bundlor.ui.job.family";
 
-	private static BundlorUiPlugin plugin;
+    private static BundlorUiPlugin plugin;
 
-	public static BundlorUiPlugin getDefault() {
-		return plugin;
-	}
+    public static BundlorUiPlugin getDefault() {
+        return plugin;
+    }
 
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
+    @Override
+    public void start(BundleContext context) throws Exception {
+        super.start(context);
+        plugin = this;
+    }
 
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
+    @Override
+    public void stop(BundleContext context) throws Exception {
+        plugin = null;
+        super.stop(context);
+    }
 
-	public static Image getImage(String path) {
-		ImageRegistry imageRegistry = getDefault().getImageRegistry();
-		Image image = imageRegistry.get(path);
-		if (image == null) {
-			ImageDescriptor imageDescriptor = getImageDescriptor(path);
-			if (imageDescriptor == null) {
-				imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-			}
-			image = imageDescriptor.createImage(true);
-			imageRegistry.put(path, image);
-		}
-		return image;
-	}
+    public static Image getImage(String path) {
+        ImageRegistry imageRegistry = getDefault().getImageRegistry();
+        Image image = imageRegistry.get(path);
+        if (image == null) {
+            ImageDescriptor imageDescriptor = getImageDescriptor(path);
+            if (imageDescriptor == null) {
+                imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
+            }
+            image = imageDescriptor.createImage(true);
+            imageRegistry.put(path, image);
+        }
+        return image;
+    }
 
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, "icons/" + path);
-	}
+    public static ImageDescriptor getImageDescriptor(String path) {
+        return imageDescriptorFromPlugin(PLUGIN_ID, "icons/" + path);
+    }
 
-	public static void runBundlorOnProject(IJavaProject javaProject) {
-		RunBundlorJob job = new RunBundlorJob(javaProject);
-		job.schedule();
-	}
+    public static void runBundlorOnProject(IJavaProject javaProject) {
+        RunBundlorJob job = new RunBundlorJob(javaProject);
+        job.schedule();
+    }
 
-	static class RunBundlorJob extends Job {
+    static class RunBundlorJob extends Job {
 
-		private final IJavaProject javaProject;
+        private final IJavaProject javaProject;
 
-		public RunBundlorJob(IJavaProject javaProject) {
-			super("Generating MANIFEST.MF file for project '" + javaProject.getElementName() + "'");
-			this.javaProject = javaProject;
-			setPriority(Job.BUILD);
-			setProperty(IProgressConstants.ICON_PROPERTY, BundlorUiPlugin.getImageDescriptor("full/obj16/osgi_obj.gif"));
-			setProperty(IProgressConstants.KEEPONE_PROPERTY, true);
-		}
+        public RunBundlorJob(IJavaProject javaProject) {
+            super("Generating MANIFEST.MF file for project '" + javaProject.getElementName() + "'");
+            this.javaProject = javaProject;
+            setPriority(Job.BUILD);
+            setProperty(IProgressConstants.ICON_PROPERTY, BundlorUiPlugin.getImageDescriptor("full/obj16/osgi_obj.gif"));
+            setProperty(IProgressConstants.KEEPONE_PROPERTY, true);
+        }
 
-		protected IStatus run(IProgressMonitor monitor) {
-			try {
-				javaProject.getProject().build(IncrementalProjectBuilder.FULL_BUILD, BundlorCorePlugin.BUILDER_ID,
-						Collections.<String, String> emptyMap(), monitor);
-			} catch (CoreException e) {
-			}
-			return Status.OK_STATUS;
-		}
+        @Override
+        protected IStatus run(IProgressMonitor monitor) {
+            try {
+                this.javaProject.getProject().build(IncrementalProjectBuilder.FULL_BUILD, BundlorCorePlugin.BUILDER_ID,
+                    Collections.<String, String> emptyMap(), monitor);
+            } catch (CoreException e) {
+            }
+            return Status.OK_STATUS;
+        }
 
-		@Override
-		public boolean belongsTo(Object family) {
-			return family instanceof RunBundlorJob;
-		}
-	}
+        @Override
+        public boolean belongsTo(Object family) {
+            return family instanceof RunBundlorJob;
+        }
+    }
 
-	public static ICommand getBundlorBuilderCommand(IResource resource) {
-		if (resource != null) {
-			try {
-				ICommand[] commands = resource.getProject().getDescription().getBuildSpec();
-				for (ICommand command : commands) {
-					if (command.getBuilderName().equals(BundlorCorePlugin.BUILDER_ID)) {
-						return command;
-					}
-				}
-			} catch (CoreException e) {
-			}
-		}
-		return null;
-	}
+    public static ICommand getBundlorBuilderCommand(IResource resource) {
+        if (resource != null) {
+            try {
+                ICommand[] commands = resource.getProject().getDescription().getBuildSpec();
+                for (ICommand command : commands) {
+                    if (command.getBuilderName().equals(BundlorCorePlugin.BUILDER_ID)) {
+                        return command;
+                    }
+                }
+            } catch (CoreException e) {
+            }
+        }
+        return null;
+    }
 
-	public static boolean isBundlorBuilding(IResource resource) {
-		if (resource != null) {
-			ICommand command = getBundlorBuilderCommand(resource);
-			return command != null && command.isBuilding(IncrementalProjectBuilder.FULL_BUILD);
-		}
-		return false;
-	}
+    public static boolean isBundlorBuilding(IResource resource) {
+        if (resource != null) {
+            ICommand command = getBundlorBuilderCommand(resource);
+            return command != null && command.isBuilding(IncrementalProjectBuilder.FULL_BUILD);
+        }
+        return false;
+    }
 }
diff --git a/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/actions/AutomaticRunBundlorActionDelegate.java b/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/actions/AutomaticRunBundlorActionDelegate.java
index b41378e..2ac423f 100644
--- a/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/actions/AutomaticRunBundlorActionDelegate.java
+++ b/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/actions/AutomaticRunBundlorActionDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.ui.internal.actions;
 
 import java.lang.reflect.InvocationTargetException;
@@ -41,71 +42,68 @@
 
 /**
  * {@link IObjectActionDelegate} to enables/disables the incremental Bundlor project builder.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.1.3
  */
 public class AutomaticRunBundlorActionDelegate extends RunBundlorActionDelegate {
 
-	@Override
-	public void run(IAction action) {
-		final Set<IJavaProject> projects = new LinkedHashSet<IJavaProject>();
-		Iterator<IProject> iter = getSelected().iterator();
-		while (iter.hasNext()) {
-			IProject project = iter.next();
-			if (FacetUtils.isBundleProject(project)) {
-				projects.add(JavaCore.create(project));
-			}
-		}
-		IRunnableWithProgress op = new WorkspaceModifyOperation() {
-			@Override
-			protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException {
-				for (final IJavaProject javaProject : projects) {
-					IProject project = javaProject.getProject();
-					IProjectDescription description = project.getDescription();
-					try {
-						List<ICommand> cmds = Arrays.asList(description.getBuildSpec());
-						List<ICommand> newCmds = new ArrayList<ICommand>(cmds);
-						if (BundlorUiPlugin.isBundlorBuilding(project)) {
-							for (ICommand config : cmds) {
-								if (config.getBuilderName().equals(BundlorCorePlugin.BUILDER_ID)) {
-									newCmds.remove(config);
-								}
-							}
-						} else {
-							ICommand command = project.getDescription().newCommand();
-							command.setBuilderName(BundlorCorePlugin.BUILDER_ID);
-							newCmds.add(command);
-						}
-						if (!cmds.equals(newCmds)) {
-							description.setBuildSpec(newCmds.toArray(new ICommand[] {}));
-							project.setDescription(description, monitor);
-						}
-					} catch (CoreException e) {
-						StatusManager.getManager().handle(
-								new Status(IStatus.ERROR, BundlorUiPlugin.PLUGIN_ID,
-										"An exception occurred while running bundlor.", e));
-					}
-				}
-			}
-		};
+    @Override
+    public void run(IAction action) {
+        final Set<IJavaProject> projects = new LinkedHashSet<IJavaProject>();
+        Iterator<IProject> iter = getSelected().iterator();
+        while (iter.hasNext()) {
+            IProject project = iter.next();
+            if (FacetUtils.isBundleProject(project)) {
+                projects.add(JavaCore.create(project));
+            }
+        }
+        IRunnableWithProgress op = new WorkspaceModifyOperation() {
 
-		try {
-			PlatformUI.getWorkbench()
-					.getProgressService()
-					.runInUI(PlatformUI.getWorkbench().getActiveWorkbenchWindow(), op,
-							ResourcesPlugin.getWorkspace().getRoot());
-		} catch (InvocationTargetException e) {
-			StatusManager.getManager().handle(
-					new Status(IStatus.ERROR, BundlorUiPlugin.PLUGIN_ID,
-							"An exception occurred while running bundlor.", e));
-		} catch (InterruptedException e) {
-		}
+            @Override
+            protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException {
+                for (final IJavaProject javaProject : projects) {
+                    IProject project = javaProject.getProject();
+                    IProjectDescription description = project.getDescription();
+                    try {
+                        List<ICommand> cmds = Arrays.asList(description.getBuildSpec());
+                        List<ICommand> newCmds = new ArrayList<ICommand>(cmds);
+                        if (BundlorUiPlugin.isBundlorBuilding(project)) {
+                            for (ICommand config : cmds) {
+                                if (config.getBuilderName().equals(BundlorCorePlugin.BUILDER_ID)) {
+                                    newCmds.remove(config);
+                                }
+                            }
+                        } else {
+                            ICommand command = project.getDescription().newCommand();
+                            command.setBuilderName(BundlorCorePlugin.BUILDER_ID);
+                            newCmds.add(command);
+                        }
+                        if (!cmds.equals(newCmds)) {
+                            description.setBuildSpec(newCmds.toArray(new ICommand[] {}));
+                            project.setDescription(description, monitor);
+                        }
+                    } catch (CoreException e) {
+                        StatusManager.getManager().handle(
+                            new Status(IStatus.ERROR, BundlorUiPlugin.PLUGIN_ID, "An exception occurred while running bundlor.", e));
+                    }
+                }
+            }
+        };
 
-	}
+        try {
+            PlatformUI.getWorkbench().getProgressService().runInUI(PlatformUI.getWorkbench().getActiveWorkbenchWindow(), op,
+                ResourcesPlugin.getWorkspace().getRoot());
+        } catch (InvocationTargetException e) {
+            StatusManager.getManager().handle(
+                new Status(IStatus.ERROR, BundlorUiPlugin.PLUGIN_ID, "An exception occurred while running bundlor.", e));
+        } catch (InterruptedException e) {
+        }
 
-	@Override
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
+    }
+
+    @Override
+    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/actions/BundlorStatePropertyTester.java b/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/actions/BundlorStatePropertyTester.java
index acbc8b9..d30c87f 100644
--- a/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/actions/BundlorStatePropertyTester.java
+++ b/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/actions/BundlorStatePropertyTester.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.ui.internal.actions;
 
 import org.eclipse.core.expressions.PropertyTester;
@@ -16,16 +17,16 @@
 
 /**
  * {@link PropertyTester} that can be used to check if the incremental Bundlor project builder is enable on a project.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.1.3
  */
 public class BundlorStatePropertyTester extends PropertyTester {
 
-	public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-		if (receiver instanceof IResource && "isBundlorEnabled".equals(property)) {
-			return BundlorUiPlugin.isBundlorBuilding((IResource) receiver);
-		}
-		return false;
-	}
+    public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
+        if (receiver instanceof IResource && "isBundlorEnabled".equals(property)) {
+            return BundlorUiPlugin.isBundlorBuilding((IResource) receiver);
+        }
+        return false;
+    }
 }
diff --git a/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/actions/RunBundlorActionDelegate.java b/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/actions/RunBundlorActionDelegate.java
index a3b43e7..4707ed7 100644
--- a/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/actions/RunBundlorActionDelegate.java
+++ b/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/actions/RunBundlorActionDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.ui.internal.actions;
 
 import java.util.ArrayList;
@@ -35,73 +36,73 @@
 
 /**
  * Action delegate that runs Bundlor on the selected projects.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.1.3
  */
 public class RunBundlorActionDelegate implements IObjectActionDelegate {
 
-	private final List<IProject> selected = new ArrayList<IProject>();
+    private final List<IProject> selected = new ArrayList<IProject>();
 
-	public void run(IAction action) {
-		Set<IJavaProject> projects = new LinkedHashSet<IJavaProject>();
-		Iterator<IProject> iter = selected.iterator();
-		while (iter.hasNext()) {
-			IProject project = iter.next();
-			if (FacetUtils.isBundleProject(project)) {
-				projects.add(JavaCore.create(project));
-			}
-		}
+    public void run(IAction action) {
+        Set<IJavaProject> projects = new LinkedHashSet<IJavaProject>();
+        Iterator<IProject> iter = this.selected.iterator();
+        while (iter.hasNext()) {
+            IProject project = iter.next();
+            if (FacetUtils.isBundleProject(project)) {
+                projects.add(JavaCore.create(project));
+            }
+        }
 
-		for (final IJavaProject javaProject : projects) {
-			BundlorUiPlugin.runBundlorOnProject(javaProject);
-		}
+        for (final IJavaProject javaProject : projects) {
+            BundlorUiPlugin.runBundlorOnProject(javaProject);
+        }
 
-	}
+    }
 
-	public void selectionChanged(IAction action, ISelection selection) {
-		selected.clear();
-		boolean enabled = true;
-		if (selection instanceof IStructuredSelection) {
-			Iterator<?> iter = ((IStructuredSelection) selection).iterator();
-			while (iter.hasNext()) {
-				Object obj = iter.next();
-				if (obj instanceof IJavaProject) {
-					obj = ((IJavaProject) obj).getProject();
-				}
-				if (obj instanceof IResource) {
-					IResource project = (IResource) obj;
-					if (!project.getProject().isOpen()) {
-						enabled = false;
-						break;
-					} else {
-						selected.add(project.getProject());
-					}
-				} else {
-					enabled = false;
-					break;
-				}
-			}
-		} else {
-			IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-			if (activePage != null) {
-				IEditorPart editor = activePage.getActiveEditor();
-				if (editor != null) {
-					IEditorInput editorInput = editor.getEditorInput();
-					if (editorInput instanceof IFileEditorInput) {
-						selected.add(((IFileEditorInput) editorInput).getFile().getProject());
-						enabled = true;
-					}
-				}
-			}
-		}
-		action.setEnabled(enabled);
-	}
+    public void selectionChanged(IAction action, ISelection selection) {
+        this.selected.clear();
+        boolean enabled = true;
+        if (selection instanceof IStructuredSelection) {
+            Iterator<?> iter = ((IStructuredSelection) selection).iterator();
+            while (iter.hasNext()) {
+                Object obj = iter.next();
+                if (obj instanceof IJavaProject) {
+                    obj = ((IJavaProject) obj).getProject();
+                }
+                if (obj instanceof IResource) {
+                    IResource project = (IResource) obj;
+                    if (!project.getProject().isOpen()) {
+                        enabled = false;
+                        break;
+                    } else {
+                        this.selected.add(project.getProject());
+                    }
+                } else {
+                    enabled = false;
+                    break;
+                }
+            }
+        } else {
+            IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+            if (activePage != null) {
+                IEditorPart editor = activePage.getActiveEditor();
+                if (editor != null) {
+                    IEditorInput editorInput = editor.getEditorInput();
+                    if (editorInput instanceof IFileEditorInput) {
+                        this.selected.add(((IFileEditorInput) editorInput).getFile().getProject());
+                        enabled = true;
+                    }
+                }
+            }
+        }
+        action.setEnabled(enabled);
+    }
 
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
+    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+    }
 
-	public List<IProject> getSelected() {
-		return selected;
-	}
+    public List<IProject> getSelected() {
+        return this.selected;
+    }
 }
diff --git a/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/properties/BundlorPreferencePage.java b/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/properties/BundlorPreferencePage.java
index 3607923..a075c5d 100644
--- a/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/properties/BundlorPreferencePage.java
+++ b/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/properties/BundlorPreferencePage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.ui.internal.properties;
 
 import java.util.ArrayList;
@@ -63,7 +64,7 @@
 
 /**
  * {@link PropertyPage} to configure properties files for Bundlor variable substitution
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @author Miles Parker
@@ -72,316 +73,320 @@
 @SuppressWarnings("deprecation")
 public class BundlorPreferencePage extends PropertyPage {
 
-	private IProject project;
+    private IProject project;
 
-	private boolean modified = false;
+    private boolean modified = false;
 
-	private Table filenameTable;
+    private Table filenameTable;
 
-	private TableViewer filenamesTableViewer;
+    private TableViewer filenamesTableViewer;
 
-	private Button addButton;
+    private Button addButton;
 
-	private Button pathButton;
+    private Button pathButton;
 
-	private Button deleteButton;
+    private Button deleteButton;
 
-	private List<String> filenames;
+    private List<String> filenames;
 
-	private Button scanByteCode;
+    private Button scanByteCode;
 
-	private Button formatManifests;
+    private Button formatManifests;
 
-	private boolean checkScanByteCodeButton;
+    private boolean checkScanByteCodeButton;
 
-	private boolean checkFormatManifestsButton;
+    private boolean checkFormatManifestsButton;
 
-	@Override
-	protected Control createContents(Composite parent) {
+    @Override
+    protected Control createContents(Composite parent) {
 
-		Font font = parent.getFont();
+        Font font = parent.getFont();
 
-		Composite parentComposite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		parentComposite.setLayout(layout);
-		parentComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		parentComposite.setFont(font);
+        Composite parentComposite = new Composite(parent, SWT.NONE);
+        GridLayout layout = new GridLayout();
+        parentComposite.setLayout(layout);
+        parentComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        parentComposite.setFont(font);
 
-		initialize();
+        initialize();
 
-		scanByteCode = new Button(parentComposite, SWT.CHECK);
-		scanByteCode.setText("Scan output folders instead of source folders to generate MANIFEST.MF");
-		scanByteCode.setSelection(checkScanByteCodeButton);
-		scanByteCode.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				modified = true;
-			}
-		});
+        this.scanByteCode = new Button(parentComposite, SWT.CHECK);
+        this.scanByteCode.setText("Scan output folders instead of source folders to generate MANIFEST.MF");
+        this.scanByteCode.setSelection(this.checkScanByteCodeButton);
+        this.scanByteCode.addSelectionListener(new SelectionAdapter() {
 
-		formatManifests = new Button(parentComposite, SWT.CHECK);
-		formatManifests.setText("Auto-format generated MANIFEST.MF and TEST.MF files");
-		formatManifests.setSelection(checkFormatManifestsButton);
-		formatManifests.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				modified = true;
-			}
-		});
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                BundlorPreferencePage.this.modified = true;
+            }
+        });
 
-		Label description = createDescriptionLabel(parentComposite);
-		description.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
+        this.formatManifests = new Button(parentComposite, SWT.CHECK);
+        this.formatManifests.setText("Auto-format generated MANIFEST.MF and TEST.MF files");
+        this.formatManifests.setSelection(this.checkFormatManifestsButton);
+        this.formatManifests.addSelectionListener(new SelectionAdapter() {
 
-		Composite composite = new Composite(parentComposite, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 5;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 0;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.VERTICAL_ALIGN_FILL));
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                BundlorPreferencePage.this.modified = true;
+            }
+        });
 
-		filenameTable = new Table(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		filenameTable.setLayoutData(data);
-		filenamesTableViewer = new TableViewer(filenameTable);
+        Label description = createDescriptionLabel(parentComposite);
+        description.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
 
-		filenamesTableViewer.setContentProvider(new PropertiesFileContentProvider());
-		filenamesTableViewer.setLabelProvider(new FilenameLabelProvider());
+        Composite composite = new Composite(parentComposite, SWT.NONE);
+        layout = new GridLayout();
+        layout.numColumns = 2;
+        layout.marginHeight = 5;
+        layout.marginWidth = 0;
+        layout.verticalSpacing = 5;
+        layout.horizontalSpacing = 0;
+        composite.setLayout(layout);
+        composite.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.VERTICAL_ALIGN_FILL));
 
-		filenamesTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement();
-				if (obj != null) {
-					deleteButton.setEnabled(true);
-				} else {
-					deleteButton.setEnabled(false);
-				}
-			}
+        this.filenameTable = new Table(composite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
+        GridData data = new GridData(GridData.FILL_BOTH);
+        this.filenameTable.setLayoutData(data);
+        this.filenamesTableViewer = new TableViewer(this.filenameTable);
 
-		});
+        this.filenamesTableViewer.setContentProvider(new PropertiesFileContentProvider());
+        this.filenamesTableViewer.setLabelProvider(new FilenameLabelProvider());
 
-		Composite buttonComposite = new Composite(composite, SWT.NONE);
-		buttonComposite.setLayout(new GridLayout(1, true));
-		data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		buttonComposite.setLayoutData(data);
+        this.filenamesTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
 
-		addButton = new Button(buttonComposite, SWT.PUSH);
-		addButton.setText("Add...");
-		data = new GridData();
-		data.widthHint = 100;
-		addButton.setLayoutData(data);
-		addButton.addSelectionListener(new SelectionAdapter() {
+            public void selectionChanged(SelectionChangedEvent event) {
+                Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement();
+                if (obj != null) {
+                    BundlorPreferencePage.this.deleteButton.setEnabled(true);
+                } else {
+                    BundlorPreferencePage.this.deleteButton.setEnabled(false);
+                }
+            }
 
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				FilteredElementTreeSelectionDialog selDialog = new FilteredElementTreeSelectionDialog(
-						Display.getCurrent().getActiveShell(), new JavaElementLabelProvider(),
-						new WorkspaceResourceContentProvider());
-				selDialog.setTitle("Select properties files");
-				selDialog.setMessage("Select properties files in the workspace that should be\nused for variable substitution:");
-				selDialog.setValidator(new ISelectionStatusValidator() {
-					public IStatus validate(Object[] selection) {
-						for (Object object : selection) {
-							if (object instanceof IStorage) {
-								return new Status(IStatus.OK, BundlorUiPlugin.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$;
-							}
-						}
-						return new Status(IStatus.ERROR, BundlorUiPlugin.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$;
-					}
-				});
-				selDialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
-				selDialog.setSorter(new JavaElementSorter());
-				if (selDialog.open() == Window.OK) {
-					IResource resource = (IResource) selDialog.getFirstResult();
-					if (resource instanceof IFile) {
-						if (resource.getProject().equals(project)) {
-							IPath projectRelativePath = resource.getProjectRelativePath();
-							String string = projectRelativePath.toString();
-							filenames.add(string);
-						} else {
-							filenames.add(resource.getFullPath().toString());
-						}
-					}
-					modified = true;
-					filenamesTableViewer.setInput(project);
-				}
-			}
-		});
+        });
 
-		pathButton = new Button(buttonComposite, SWT.PUSH);
-		pathButton.setText("Enter Path...");
-		data = new GridData();
-		data.widthHint = 100;
-		pathButton.setLayoutData(data);
-		pathButton.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				BundlorPropertiesPathDialog pathDialog = new BundlorPropertiesPathDialog(getShell());
-				if (pathDialog.open() == IDialogConstants.OK_ID) {
-					String path = pathDialog.getPropertiesPath();
-					filenames.add(path);
-					modified = true;
-					filenamesTableViewer.setInput(project);
-				}
-			}
-		});
+        Composite buttonComposite = new Composite(composite, SWT.NONE);
+        buttonComposite.setLayout(new GridLayout(1, true));
+        data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
+        buttonComposite.setLayoutData(data);
 
-		deleteButton = new Button(buttonComposite, SWT.PUSH);
-		deleteButton.setText("Delete");
-		deleteButton.setLayoutData(data);
-		deleteButton.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				Object selected = ((IStructuredSelection) filenamesTableViewer.getSelection()).getFirstElement();
-				filenames.remove(selected);
-				filenamesTableViewer.setInput(project);
-				modified = true;
-			}
-		});
+        this.addButton = new Button(buttonComposite, SWT.PUSH);
+        this.addButton.setText("Add...");
+        data = new GridData();
+        data.widthHint = 100;
+        this.addButton.setLayoutData(data);
+        this.addButton.addSelectionListener(new SelectionAdapter() {
 
-		filenamesTableViewer.setInput(project);
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                FilteredElementTreeSelectionDialog selDialog = new FilteredElementTreeSelectionDialog(Display.getCurrent().getActiveShell(),
+                    new JavaElementLabelProvider(), new WorkspaceResourceContentProvider());
+                selDialog.setTitle("Select properties files");
+                selDialog.setMessage("Select properties files in the workspace that should be\nused for variable substitution:");
+                selDialog.setValidator(new ISelectionStatusValidator() {
 
-		return parentComposite;
-	}
+                    public IStatus validate(Object[] selection) {
+                        for (Object object : selection) {
+                            if (object instanceof IStorage) {
+                                return new Status(IStatus.OK, BundlorUiPlugin.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$ ;
+                            }
+                        }
+                        return new Status(IStatus.ERROR, BundlorUiPlugin.PLUGIN_ID, IStatus.OK, "", null); //$NON-NLS-1$ ;
+                    }
+                });
+                selDialog.setInput(ResourcesPlugin.getWorkspace().getRoot());
+                selDialog.setSorter(new JavaElementSorter());
+                if (selDialog.open() == Window.OK) {
+                    IResource resource = (IResource) selDialog.getFirstResult();
+                    if (resource instanceof IFile) {
+                        if (resource.getProject().equals(BundlorPreferencePage.this.project)) {
+                            IPath projectRelativePath = resource.getProjectRelativePath();
+                            String string = projectRelativePath.toString();
+                            BundlorPreferencePage.this.filenames.add(string);
+                        } else {
+                            BundlorPreferencePage.this.filenames.add(resource.getFullPath().toString());
+                        }
+                    }
+                    BundlorPreferencePage.this.modified = true;
+                    BundlorPreferencePage.this.filenamesTableViewer.setInput(BundlorPreferencePage.this.project);
+                }
+            }
+        });
 
-	private void initialize() {
-		project = (IProject) getElement().getAdapter(IResource.class);
-		noDefaultAndApplyButton();
-		setDescription("Define properties files that should be used for variable substitution during\ngeneration of MANIFEST.MF file:");
+        this.pathButton = new Button(buttonComposite, SWT.PUSH);
+        this.pathButton.setText("Enter Path...");
+        data = new GridData();
+        data.widthHint = 100;
+        this.pathButton.setLayoutData(data);
+        this.pathButton.addSelectionListener(new SelectionAdapter() {
 
-		if (project != null) {
-			IEclipsePreferences node = getProjectPreferences(project);
-			String properties = node.get(BundlorCorePlugin.TEMPLATE_PROPERTIES_FILE_KEY,
-					BundlorCorePlugin.TEMPLATE_PROPERTIES_FILE_DEFAULT);
-			filenames = new ArrayList<String>(Arrays.asList(StringUtils.split(properties, ";")));
-			checkScanByteCodeButton = node.getBoolean(BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_KEY,
-					BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_DEFAULT);
-			checkFormatManifestsButton = node.getBoolean(BundlorCorePlugin.FORMAT_GENERATED_MANIFESTS_KEY,
-					BundlorCorePlugin.FORMAT_GENERATED_MANIFESTS_DEFAULT);
-		} else {
-			filenames = new ArrayList<String>();
-			checkScanByteCodeButton = BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_DEFAULT;
-			checkFormatManifestsButton = BundlorCorePlugin.FORMAT_GENERATED_MANIFESTS_DEFAULT;
-		}
-	}
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                BundlorPropertiesPathDialog pathDialog = new BundlorPropertiesPathDialog(getShell());
+                if (pathDialog.open() == IDialogConstants.OK_ID) {
+                    String path = pathDialog.getPropertiesPath();
+                    BundlorPreferencePage.this.filenames.add(path);
+                    BundlorPreferencePage.this.modified = true;
+                    BundlorPreferencePage.this.filenamesTableViewer.setInput(BundlorPreferencePage.this.project);
+                }
+            }
+        });
 
-	public IEclipsePreferences getProjectPreferences(IProject project) {
-		IScopeContext context = new ProjectScope(project);
-		IEclipsePreferences node = context.getNode(BundlorCorePlugin.PLUGIN_ID);
-		return node;
-	}
+        this.deleteButton = new Button(buttonComposite, SWT.PUSH);
+        this.deleteButton.setText("Delete");
+        this.deleteButton.setLayoutData(data);
+        this.deleteButton.addSelectionListener(new SelectionAdapter() {
 
-	@Override
-	public boolean performOk() {
-		if (!modified) {
-			return true;
-		}
-		IEclipsePreferences node = getProjectPreferences(project);
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                Object selected = ((IStructuredSelection) BundlorPreferencePage.this.filenamesTableViewer.getSelection()).getFirstElement();
+                BundlorPreferencePage.this.filenames.remove(selected);
+                BundlorPreferencePage.this.filenamesTableViewer.setInput(BundlorPreferencePage.this.project);
+                BundlorPreferencePage.this.modified = true;
+            }
+        });
 
-		node.put(BundlorCorePlugin.TEMPLATE_PROPERTIES_FILE_KEY, StringUtils.join(filenames, ";"));
-		boolean oldScanByteCode = node.getBoolean(BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_KEY,
-				BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_DEFAULT);
-		node.putBoolean(BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_KEY, scanByteCode.getSelection());
-		node.putBoolean(BundlorCorePlugin.FORMAT_GENERATED_MANIFESTS_KEY, formatManifests.getSelection());
-		try {
-			node.flush();
-		} catch (BackingStoreException e) {
-			throw new RuntimeException(e);
-		}
-		if (oldScanByteCode != scanByteCode.getSelection()) {
-			BundlorCorePlugin.getDefault().getManifestManager().clearPartialManifest(JavaCore.create(project));
-		}
+        this.filenamesTableViewer.setInput(this.project);
 
-		return true;
-	}
+        return parentComposite;
+    }
 
-	class PropertiesFileContentProvider implements ITreeContentProvider {
+    private void initialize() {
+        this.project = (IProject) getElement().getAdapter(IResource.class);
+        noDefaultAndApplyButton();
+        setDescription("Define properties files that should be used for variable substitution during\ngeneration of MANIFEST.MF file:");
 
-		public void dispose() {
-		}
+        if (this.project != null) {
+            IEclipsePreferences node = getProjectPreferences(this.project);
+            String properties = node.get(BundlorCorePlugin.TEMPLATE_PROPERTIES_FILE_KEY, BundlorCorePlugin.TEMPLATE_PROPERTIES_FILE_DEFAULT);
+            this.filenames = new ArrayList<String>(Arrays.asList(StringUtils.split(properties, ";")));
+            this.checkScanByteCodeButton = node.getBoolean(BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_KEY,
+                BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_DEFAULT);
+            this.checkFormatManifestsButton = node.getBoolean(BundlorCorePlugin.FORMAT_GENERATED_MANIFESTS_KEY,
+                BundlorCorePlugin.FORMAT_GENERATED_MANIFESTS_DEFAULT);
+        } else {
+            this.filenames = new ArrayList<String>();
+            this.checkScanByteCodeButton = BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_DEFAULT;
+            this.checkFormatManifestsButton = BundlorCorePlugin.FORMAT_GENERATED_MANIFESTS_DEFAULT;
+        }
+    }
 
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+    public IEclipsePreferences getProjectPreferences(IProject project) {
+        IScopeContext context = new ProjectScope(project);
+        IEclipsePreferences node = context.getNode(BundlorCorePlugin.PLUGIN_ID);
+        return node;
+    }
 
-		}
+    @Override
+    public boolean performOk() {
+        if (!this.modified) {
+            return true;
+        }
+        IEclipsePreferences node = getProjectPreferences(this.project);
 
-		public Object[] getElements(Object inputElement) {
-			if (inputElement instanceof IProject) {
-				return filenames.toArray();
-			}
-			return new Object[0];
-		}
+        node.put(BundlorCorePlugin.TEMPLATE_PROPERTIES_FILE_KEY, StringUtils.join(this.filenames, ";"));
+        boolean oldScanByteCode = node.getBoolean(BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_KEY,
+            BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_DEFAULT);
+        node.putBoolean(BundlorCorePlugin.TEMPLATE_BYTE_CODE_SCANNING_KEY, this.scanByteCode.getSelection());
+        node.putBoolean(BundlorCorePlugin.FORMAT_GENERATED_MANIFESTS_KEY, this.formatManifests.getSelection());
+        try {
+            node.flush();
+        } catch (BackingStoreException e) {
+            throw new RuntimeException(e);
+        }
+        if (oldScanByteCode != this.scanByteCode.getSelection()) {
+            BundlorCorePlugin.getDefault().getManifestManager().clearPartialManifest(JavaCore.create(this.project));
+        }
 
-		public Object[] getChildren(Object parentElement) {
-			return getElements(parentElement);
-		}
+        return true;
+    }
 
-		public Object getParent(Object element) {
-			return null;
-		}
+    class PropertiesFileContentProvider implements ITreeContentProvider {
 
-		public boolean hasChildren(Object element) {
-			return getChildren(element).length > 0;
-		}
+        public void dispose() {
+        }
 
-	}
+        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 
-	class FilenameLabelProvider extends LabelProvider {
+        }
 
-		@Override
-		public Image getImage(Object element) {
-			return BundlorUiPlugin.getImage("full/obj16/file_obj.gif");
-		}
+        public Object[] getElements(Object inputElement) {
+            if (inputElement instanceof IProject) {
+                return BundlorPreferencePage.this.filenames.toArray();
+            }
+            return new Object[0];
+        }
 
-		@Override
-		public String getText(Object element) {
-			return element.toString();
-		}
+        public Object[] getChildren(Object parentElement) {
+            return getElements(parentElement);
+        }
 
-	}
+        public Object getParent(Object element) {
+            return null;
+        }
 
-	class WorkspaceResourceContentProvider implements ITreeContentProvider {
+        public boolean hasChildren(Object element) {
+            return getChildren(element).length > 0;
+        }
 
-		public Object[] getChildren(Object parentElement) {
-			if (parentElement instanceof IContainer) {
-				try {
-					return ((IContainer) parentElement).members();
-				} catch (CoreException e) {
-				}
-			}
-			return new Object[0];
-		}
+    }
 
-		public Object getParent(Object element) {
-			if (element instanceof IResource) {
-				return ((IResource) element).getParent();
-			}
-			return null;
-		}
+    class FilenameLabelProvider extends LabelProvider {
 
-		public boolean hasChildren(Object element) {
-			return getChildren(element).length > 0;
-		}
+        @Override
+        public Image getImage(Object element) {
+            return BundlorUiPlugin.getImage("full/obj16/file_obj.gif");
+        }
 
-		public Object[] getElements(Object inputElement) {
-			if (inputElement instanceof IWorkspaceRoot) {
-				List<IProject> projects = new ArrayList<IProject>();
-				for (IProject project : ((IWorkspaceRoot) inputElement).getProjects()) {
-					if (project.isOpen() && project.isAccessible()) {
-						projects.add(project);
-					}
-				}
-				return projects.toArray();
-			}
-			return new Object[0];
-		}
+        @Override
+        public String getText(Object element) {
+            return element.toString();
+        }
 
-		public void dispose() {
-		}
+    }
 
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		}
-	}
+    class WorkspaceResourceContentProvider implements ITreeContentProvider {
+
+        public Object[] getChildren(Object parentElement) {
+            if (parentElement instanceof IContainer) {
+                try {
+                    return ((IContainer) parentElement).members();
+                } catch (CoreException e) {
+                }
+            }
+            return new Object[0];
+        }
+
+        public Object getParent(Object element) {
+            if (element instanceof IResource) {
+                return ((IResource) element).getParent();
+            }
+            return null;
+        }
+
+        public boolean hasChildren(Object element) {
+            return getChildren(element).length > 0;
+        }
+
+        public Object[] getElements(Object inputElement) {
+            if (inputElement instanceof IWorkspaceRoot) {
+                List<IProject> projects = new ArrayList<IProject>();
+                for (IProject project : ((IWorkspaceRoot) inputElement).getProjects()) {
+                    if (project.isOpen() && project.isAccessible()) {
+                        projects.add(project);
+                    }
+                }
+                return projects.toArray();
+            }
+            return new Object[0];
+        }
+
+        public void dispose() {
+        }
+
+        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/properties/BundlorPropertiesPathDialog.java b/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/properties/BundlorPropertiesPathDialog.java
index 71b8de0..7e0456b 100644
--- a/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/properties/BundlorPropertiesPathDialog.java
+++ b/org.eclipse.virgo.ide.bundlor.ui/src/org/eclipse/virgo/ide/bundlor/ui/internal/properties/BundlorPropertiesPathDialog.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     Tasktop Technologies - initial implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlor.ui.internal.properties;
 
 import org.eclipse.jface.dialogs.Dialog;
@@ -27,62 +28,59 @@
  */
 public class BundlorPropertiesPathDialog extends Dialog {
 
-	private String propertiesPath;
+    private String propertiesPath;
 
-	public BundlorPropertiesPathDialog(Shell parentShell) {
-		super(parentShell);
-	}
+    public BundlorPropertiesPathDialog(Shell parentShell) {
+        super(parentShell);
+    }
 
-	@Override
-	protected Control createButtonBar(Composite parent) {
-		Control buttonBar = super.createButtonBar(parent);
-		getButton(OK).setEnabled(false);
-		return buttonBar;
-	}
+    @Override
+    protected Control createButtonBar(Composite parent) {
+        Control buttonBar = super.createButtonBar(parent);
+        getButton(OK).setEnabled(false);
+        return buttonBar;
+    }
 
-	@Override
-	protected Control createDialogArea(Composite parent) {
-		getShell().setText("Add properties file");
-		Composite control = (Composite) super.createDialogArea(parent);
+    @Override
+    protected Control createDialogArea(Composite parent) {
+        getShell().setText("Add properties file");
+        Composite control = (Composite) super.createDialogArea(parent);
 
-		Composite composite = new Composite(control, SWT.NONE);
-		GridDataFactory.fillDefaults().applyTo(composite);
-		GridLayoutFactory.fillDefaults().numColumns(2).applyTo(composite);
+        Composite composite = new Composite(control, SWT.NONE);
+        GridDataFactory.fillDefaults().applyTo(composite);
+        GridLayoutFactory.fillDefaults().numColumns(2).applyTo(composite);
 
-		Label description = new Label(composite, SWT.NONE);
-		description.setText("Enter the path to a properties file that should be used for variable substitution.");
-		GridDataFactory.fillDefaults().span(2, 1).applyTo(description);
+        Label description = new Label(composite, SWT.NONE);
+        description.setText("Enter the path to a properties file that should be used for variable substitution.");
+        GridDataFactory.fillDefaults().span(2, 1).applyTo(description);
 
-		Label pathLabel = new Label(composite, SWT.NONE);
-		pathLabel.setText("Path:");
-		GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).applyTo(pathLabel);
+        Label pathLabel = new Label(composite, SWT.NONE);
+        pathLabel.setText("Path:");
+        GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).applyTo(pathLabel);
 
-		final Text pathText = new Text(composite, SWT.BORDER);
-		GridDataFactory.fillDefaults()
-				.align(SWT.FILL, SWT.CENTER)
-				.grab(true, false)
-				.hint(350, SWT.DEFAULT)
-				.applyTo(pathText);
-		pathText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				propertiesPath = pathText.getText();
-				update();
-			}
-		});
+        final Text pathText = new Text(composite, SWT.BORDER);
+        GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).hint(350, SWT.DEFAULT).applyTo(pathText);
+        pathText.addModifyListener(new ModifyListener() {
 
-		return control;
-	}
+            public void modifyText(ModifyEvent e) {
+                BundlorPropertiesPathDialog.this.propertiesPath = pathText.getText();
+                update();
+            }
+        });
 
-	public String getPropertiesPath() {
-		return propertiesPath;
-	}
+        return control;
+    }
 
-	private void update() {
-		if (propertiesPath == null || propertiesPath.length() == 0) {
-			getButton(OK).setEnabled(false);
-		} else {
-			getButton(OK).setEnabled(true);
-		}
-	}
+    public String getPropertiesPath() {
+        return this.propertiesPath;
+    }
+
+    private void update() {
+        if (this.propertiesPath == null || this.propertiesPath.length() == 0) {
+            getButton(OK).setEnabled(false);
+        } else {
+            getButton(OK).setEnabled(true);
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.eclipse/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.eclipse/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.eclipse/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.eclipse/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.eclipse/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.eclipse/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.eclipse/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.eclipse/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/EclipseUiPlugin.java b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/EclipseUiPlugin.java
index af6c9f2..63392bc 100644
--- a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/EclipseUiPlugin.java
+++ b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/EclipseUiPlugin.java
@@ -1,3 +1,4 @@
+
 package org.eclipse.virgo.ide.eclipse;
 
 import org.eclipse.core.runtime.IStatus;
@@ -10,55 +11,51 @@
  */
 public class EclipseUiPlugin extends AbstractUIPlugin {
 
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.virgo.ide.eclipse";
+    // The plug-in ID
+    public static final String PLUGIN_ID = "org.eclipse.virgo.ide.eclipse";
 
-	// The shared instance
-	private static EclipseUiPlugin plugin;
+    // The shared instance
+    private static EclipseUiPlugin plugin;
 
-	/**
-	 * Returns the shared instance
-	 * 
-	 * @return the shared instance
-	 */
-	public static EclipseUiPlugin getDefault() {
-		return plugin;
-	}
+    /**
+     * Returns the shared instance
+     *
+     * @return the shared instance
+     */
+    public static EclipseUiPlugin getDefault() {
+        return plugin;
+    }
 
-	/**
-	 * The constructor
-	 */
-	public EclipseUiPlugin() {
-	}
+    /**
+     * The constructor
+     */
+    public EclipseUiPlugin() {
+    }
 
-	public void log(Exception e) {
-		getLog().log(new Status(IStatus.ERROR, EclipseUiPlugin.PLUGIN_ID, "Unexpected error", e));
-	}
+    public void log(Exception e) {
+        getLog().log(new Status(IStatus.ERROR, EclipseUiPlugin.PLUGIN_ID, "Unexpected error", e));
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
-	 * )
-	 */
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext )
+     */
+    @Override
+    public void start(BundleContext context) throws Exception {
+        super.start(context);
+        plugin = this;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext
-	 * )
-	 */
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext )
+     */
+    @Override
+    public void stop(BundleContext context) throws Exception {
+        plugin = null;
+        super.stop(context);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/editors/AbstractParXmlEditorPage.java b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/editors/AbstractParXmlEditorPage.java
index 549ddd7..4430790 100644
--- a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/editors/AbstractParXmlEditorPage.java
+++ b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/editors/AbstractParXmlEditorPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.eclipse.editors;
 
 import java.util.ArrayList;
@@ -36,54 +37,54 @@
 @SuppressWarnings("restriction")
 public abstract class AbstractParXmlEditorPage extends AbstractPdeFormPage {
 
-	public AbstractParXmlEditorPage(FormEditor editor, String id, String title) {
-		super(editor, id, title);
-	}
+    public AbstractParXmlEditorPage(FormEditor editor, String id, String title) {
+        super(editor, id, title);
+    }
 
-	/**
-	 * @see DependenciesPage
-	 */
-	@Override
-	protected void createFormContent(IManagedForm managedForm) {
-		ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		toolkit.decorateFormHeading(form.getForm());
+    /**
+     * @see DependenciesPage
+     */
+    @Override
+    protected void createFormContent(IManagedForm managedForm) {
+        ScrolledForm form = managedForm.getForm();
+        FormToolkit toolkit = managedForm.getToolkit();
+        toolkit.decorateFormHeading(form.getForm());
 
-		// From PDE's DependenciesPage
-		form.setImage(PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_REQ_PLUGINS_OBJ));
-		form.setText(PDEUIMessages.DependenciesPage_title);
-		Composite body = form.getBody();
-		body.setLayout(FormLayoutFactory.createFormGridLayout(true, 3));
-		Composite left, right;
+        // From PDE's DependenciesPage
+        form.setImage(PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_REQ_PLUGINS_OBJ));
+        form.setText(PDEUIMessages.DependenciesPage_title);
+        Composite body = form.getBody();
+        body.setLayout(FormLayoutFactory.createFormGridLayout(true, 3));
+        Composite left, right;
 
-		left = toolkit.createComposite(body, SWT.NONE);
-		left.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
-		GridDataFactory.createFrom(new GridData(GridData.FILL_BOTH)).span(2, 1).applyTo(left);
-		right = toolkit.createComposite(body, SWT.NONE);
-		right.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
-		right.setLayoutData(new GridData(GridData.FILL_BOTH));
+        left = toolkit.createComposite(body, SWT.NONE);
+        left.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
+        GridDataFactory.createFrom(new GridData(GridData.FILL_BOTH)).span(2, 1).applyTo(left);
+        right = toolkit.createComposite(body, SWT.NONE);
+        right.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
+        right.setLayoutData(new GridData(GridData.FILL_BOTH));
 
-		managedForm.addPart(getFormPart(left, getRequiredSectionLabels()));
+        managedForm.addPart(getFormPart(left, getRequiredSectionLabels()));
 
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(form.getBody(), IHelpContextIds.MANIFEST_PLUGIN_DEPENDENCIES);
-	}
+        PlatformUI.getWorkbench().getHelpSystem().setHelp(form.getBody(), IHelpContextIds.MANIFEST_PLUGIN_DEPENDENCIES);
+    }
 
-	protected abstract IFormPart getFormPart(Composite parent, String[] labels);
+    protected abstract IFormPart getFormPart(Composite parent, String[] labels);
 
-	/**
-	 * @see DependenciesPage
-	 */
-	@SuppressWarnings("unchecked")
-	private String[] getRequiredSectionLabels() {
-		ArrayList labels = new ArrayList();
-		labels.add(PDEUIMessages.RequiresSection_add);
-		labels.add(PDEUIMessages.RequiresSection_delete);
-		// labels.add(PDEUIMessages.RequiresSection_up);
-		// labels.add(PDEUIMessages.RequiresSection_down);
-		// if (isBundle()) {
-		// labels.add(PDEUIMessages.DependenciesPage_properties);
-		// }
-		return (String[]) labels.toArray(new String[labels.size()]);
-	}
+    /**
+     * @see DependenciesPage
+     */
+    @SuppressWarnings("unchecked")
+    private String[] getRequiredSectionLabels() {
+        ArrayList labels = new ArrayList();
+        labels.add(PDEUIMessages.RequiresSection_add);
+        labels.add(PDEUIMessages.RequiresSection_delete);
+        // labels.add(PDEUIMessages.RequiresSection_up);
+        // labels.add(PDEUIMessages.RequiresSection_down);
+        // if (isBundle()) {
+        // labels.add(PDEUIMessages.DependenciesPage_properties);
+        // }
+        return (String[]) labels.toArray(new String[labels.size()]);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/editors/AbstractPdeFormPage.java b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/editors/AbstractPdeFormPage.java
index cd4683f..18f9d61 100644
--- a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/editors/AbstractPdeFormPage.java
+++ b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/editors/AbstractPdeFormPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.eclipse.editors;
 
 import org.eclipse.pde.internal.ui.editor.PDEDetails;
@@ -30,108 +31,108 @@
 @SuppressWarnings("restriction")
 public abstract class AbstractPdeFormPage extends FormPage {
 
-	public AbstractPdeFormPage(FormEditor editor, String id, String title) {
-		super(editor, id, title);
-	}
+    public AbstractPdeFormPage(FormEditor editor, String id, String title) {
+        super(editor, id, title);
+    }
 
-	protected boolean canPerformDirectly(String id, Control control) {
-		if (control instanceof Text) {
-			Text text = (Text) control;
-			if (id.equals(ActionFactory.CUT.getId())) {
-				text.cut();
-				return true;
-			}
-			if (id.equals(ActionFactory.COPY.getId())) {
-				text.copy();
-				return true;
-			}
-			if (id.equals(ActionFactory.PASTE.getId())) {
-				text.paste();
-				return true;
-			}
-			if (id.equals(ActionFactory.SELECT_ALL.getId())) {
-				text.selectAll();
-				return true;
-			}
-			if (id.equals(ActionFactory.DELETE.getId())) {
-				int count = text.getSelectionCount();
-				if (count == 0) {
-					int caretPos = text.getCaretPosition();
-					text.setSelection(caretPos, caretPos + 1);
-				}
-				text.insert(""); //$NON-NLS-1$
-				return true;
-			}
-		} else if (control instanceof Table) {
-			Table table = (Table) control;
-			if (id.equals(ActionFactory.SELECT_ALL.getId())) {
-				table.selectAll();
-				return true;
-			}
-		} else if (control instanceof Tree) {
-			Tree tree = (Tree) control;
-			if (id.equals(ActionFactory.SELECT_ALL.getId())) {
-				tree.selectAll();
-				return true;
-			}
-		}
-		return false;
-	}
+    protected boolean canPerformDirectly(String id, Control control) {
+        if (control instanceof Text) {
+            Text text = (Text) control;
+            if (id.equals(ActionFactory.CUT.getId())) {
+                text.cut();
+                return true;
+            }
+            if (id.equals(ActionFactory.COPY.getId())) {
+                text.copy();
+                return true;
+            }
+            if (id.equals(ActionFactory.PASTE.getId())) {
+                text.paste();
+                return true;
+            }
+            if (id.equals(ActionFactory.SELECT_ALL.getId())) {
+                text.selectAll();
+                return true;
+            }
+            if (id.equals(ActionFactory.DELETE.getId())) {
+                int count = text.getSelectionCount();
+                if (count == 0) {
+                    int caretPos = text.getCaretPosition();
+                    text.setSelection(caretPos, caretPos + 1);
+                }
+                text.insert(""); //$NON-NLS-1$
+                return true;
+            }
+        } else if (control instanceof Table) {
+            Table table = (Table) control;
+            if (id.equals(ActionFactory.SELECT_ALL.getId())) {
+                table.selectAll();
+                return true;
+            }
+        } else if (control instanceof Tree) {
+            Tree tree = (Tree) control;
+            if (id.equals(ActionFactory.SELECT_ALL.getId())) {
+                tree.selectAll();
+                return true;
+            }
+        }
+        return false;
+    }
 
-	protected Control getFocusControl() {
-		IManagedForm form = getManagedForm();
-		if (form == null) {
-			return null;
-		}
-		Control control = form.getForm();
-		if (control == null || control.isDisposed()) {
-			return null;
-		}
-		Display display = control.getDisplay();
-		Control focusControl = display.getFocusControl();
-		if (focusControl == null || focusControl.isDisposed()) {
-			return null;
-		}
-		return focusControl;
-	}
+    protected Control getFocusControl() {
+        IManagedForm form = getManagedForm();
+        if (form == null) {
+            return null;
+        }
+        Control control = form.getForm();
+        if (control == null || control.isDisposed()) {
+            return null;
+        }
+        Display display = control.getDisplay();
+        Control focusControl = display.getFocusControl();
+        if (focusControl == null || focusControl.isDisposed()) {
+            return null;
+        }
+        return focusControl;
+    }
 
-	private AbstractFormPart getFocusSection() {
-		Control focusControl = getFocusControl();
-		if (focusControl == null) {
-			return null;
-		}
-		Composite parent = focusControl.getParent();
-		AbstractFormPart targetPart = null;
-		while (parent != null) {
-			Object data = parent.getData("part"); //$NON-NLS-1$
-			if (data != null && data instanceof AbstractFormPart) {
-				targetPart = (AbstractFormPart) data;
-				break;
-			}
-			parent = parent.getParent();
-		}
-		return targetPart;
-	}
+    private AbstractFormPart getFocusSection() {
+        Control focusControl = getFocusControl();
+        if (focusControl == null) {
+            return null;
+        }
+        Composite parent = focusControl.getParent();
+        AbstractFormPart targetPart = null;
+        while (parent != null) {
+            Object data = parent.getData("part"); //$NON-NLS-1$
+            if (data != null && data instanceof AbstractFormPart) {
+                targetPart = (AbstractFormPart) data;
+                break;
+            }
+            parent = parent.getParent();
+        }
+        return targetPart;
+    }
 
-	public boolean performGlobalAction(String actionId) {
-		Control focusControl = getFocusControl();
-		if (focusControl == null) {
-			return false;
-		}
+    public boolean performGlobalAction(String actionId) {
+        Control focusControl = getFocusControl();
+        if (focusControl == null) {
+            return false;
+        }
 
-		if (canPerformDirectly(actionId, focusControl)) {
-			return true;
-		}
-		AbstractFormPart focusPart = getFocusSection();
-		if (focusPart != null) {
-			if (focusPart instanceof PDESection) {
-				return ((PDESection) focusPart).doGlobalAction(actionId);
-			}
-			if (focusPart instanceof PDEDetails) {
-				return ((PDEDetails) focusPart).doGlobalAction(actionId);
-			}
-		}
-		return false;
-	}
+        if (canPerformDirectly(actionId, focusControl)) {
+            return true;
+        }
+        AbstractFormPart focusPart = getFocusSection();
+        if (focusPart != null) {
+            if (focusPart instanceof PDESection) {
+                return ((PDESection) focusPart).doGlobalAction(actionId);
+            }
+            if (focusPart instanceof PDEDetails) {
+                return ((PDEDetails) focusPart).doGlobalAction(actionId);
+            }
+        }
+        return false;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/editors/DependenciesSection.java b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/editors/DependenciesSection.java
index 2f40547..f494ca5 100644
--- a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/editors/DependenciesSection.java
+++ b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/editors/DependenciesSection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.eclipse.editors;
 
 import org.eclipse.jface.action.IMenuListener;
@@ -54,295 +55,298 @@
 @SuppressWarnings("restriction")
 public abstract class DependenciesSection extends SectionPart {
 
-	/**
-	 * @see TableSection
-	 */
-	class PartAdapter extends EditableTablePart {
-		private Label fCount;
+    /**
+     * @see TableSection
+     */
+    class PartAdapter extends EditableTablePart {
 
-		public PartAdapter(String[] buttonLabels) {
-			super(buttonLabels);
-		}
+        private Label fCount;
 
-		@Override
-		public void buttonSelected(Button button, int index) {
-			DependenciesSection.this.buttonSelected(index);
-			if (fHandleDefaultButton) {
-				button.getShell().setDefaultButton(null);
-			}
-		}
+        public PartAdapter(String[] buttonLabels) {
+            super(buttonLabels);
+        }
 
-		@Override
-		protected void createButtons(Composite parent, FormToolkit toolkit) {
-			super.createButtons(parent, toolkit);
-			enableButtons();
-			if (createCount()) {
-				Composite comp = toolkit.createComposite(fButtonContainer);
-				comp.setLayout(createButtonsLayout());
-				comp.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_END | GridData.FILL_BOTH));
-				fCount = toolkit.createLabel(comp, ""); //$NON-NLS-1$
-				fCount.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
-				fCount.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-				getTablePart().getTableViewer().getTable().addPaintListener(new PaintListener() {
-					public void paintControl(PaintEvent e) {
-						updateLabel();
-					}
-				});
-			}
-		}
+        @Override
+        public void buttonSelected(Button button, int index) {
+            DependenciesSection.this.buttonSelected(index);
+            if (DependenciesSection.this.fHandleDefaultButton) {
+                button.getShell().setDefaultButton(null);
+            }
+        }
 
-		@Override
-		public void entryModified(Object entry, String value) {
-			DependenciesSection.this.entryModified(entry, value);
-		}
+        @Override
+        protected void createButtons(Composite parent, FormToolkit toolkit) {
+            super.createButtons(parent, toolkit);
+            enableButtons();
+            if (createCount()) {
+                Composite comp = toolkit.createComposite(this.fButtonContainer);
+                comp.setLayout(createButtonsLayout());
+                comp.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_END | GridData.FILL_BOTH));
+                this.fCount = toolkit.createLabel(comp, ""); //$NON-NLS-1$
+                this.fCount.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+                this.fCount.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+                getTablePart().getTableViewer().getTable().addPaintListener(new PaintListener() {
 
-		@Override
-		public void handleDoubleClick(IStructuredSelection selection) {
-			DependenciesSection.this.handleDoubleClick(selection);
-		}
+                    public void paintControl(PaintEvent e) {
+                        updateLabel();
+                    }
+                });
+            }
+        }
 
-		@Override
-		public void selectionChanged(IStructuredSelection selection) {
-			getManagedForm().fireSelectionChanged(DependenciesSection.this, selection);
-			DependenciesSection.this.selectionChanged(selection);
-		}
+        @Override
+        public void entryModified(Object entry, String value) {
+            DependenciesSection.this.entryModified(entry, value);
+        }
 
-		protected void updateLabel() {
-			if (fCount != null && !fCount.isDisposed()) {
-				fCount.setText(NLS.bind(PDEUIMessages.TableSection_itemCount,
-						Integer.toString(getTableViewer().getTable().getItemCount())));
-			}
-		}
-	}
+        @Override
+        public void handleDoubleClick(IStructuredSelection selection) {
+            DependenciesSection.this.handleDoubleClick(selection);
+        }
 
-	// RequiresSection
-	private static final int ADD_INDEX = 0;
+        @Override
+        public void selectionChanged(IStructuredSelection selection) {
+            getManagedForm().fireSelectionChanged(DependenciesSection.this, selection);
+            DependenciesSection.this.selectionChanged(selection);
+        }
 
-	private static final int REMOVE_INDEX = 1;
+        protected void updateLabel() {
+            if (this.fCount != null && !this.fCount.isDisposed()) {
+                this.fCount.setText(NLS.bind(PDEUIMessages.TableSection_itemCount, Integer.toString(getTableViewer().getTable().getItemCount())));
+            }
+        }
+    }
 
-	private static final int UP_INDEX = 2;
+    // RequiresSection
+    private static final int ADD_INDEX = 0;
 
-	private static final int DOWN_INDEX = 3;
+    private static final int REMOVE_INDEX = 1;
 
-	private static final int PROPERTIES_INDEX = 4;
+    private static final int UP_INDEX = 2;
 
-	private TableViewer fImportViewer;
+    private static final int DOWN_INDEX = 3;
 
-	// TableSection
-	protected boolean fHandleDefaultButton = true;
+    private static final int PROPERTIES_INDEX = 4;
 
-	// StructuredViewerSection
-	private final StructuredViewerPart fViewerPart;
+    private TableViewer fImportViewer;
 
-	public DependenciesSection(FormPage page, Composite parent, String[] buttonLabels) {
-		super(parent, page.getManagedForm().getToolkit(), Section.DESCRIPTION | ExpandableComposite.TITLE_BAR);
+    // TableSection
+    protected boolean fHandleDefaultButton = true;
 
-		// PDESection
-		initialize(page.getManagedForm());
-		getSection().clientVerticalSpacing = FormLayoutFactory.SECTION_HEADER_VERTICAL_SPACING;
-		getSection().setData("part", this); //$NON-NLS-1$
+    // StructuredViewerSection
+    private final StructuredViewerPart fViewerPart;
 
-		// StructuredViewerSection
-		fViewerPart = createViewerPart(buttonLabels);
-		fViewerPart.setMinimumSize(50, 50);
-		createClient(getSection(), page.getManagedForm().getToolkit());
+    public DependenciesSection(FormPage page, Composite parent, String[] buttonLabels) {
+        super(parent, page.getManagedForm().getToolkit(), Section.DESCRIPTION | ExpandableComposite.TITLE_BAR);
 
-		// RequiresSection
-		getSection().setText(PDEUIMessages.RequiresSection_title);
-		getTablePart().setEditable(false);
-	}
+        // PDESection
+        initialize(page.getManagedForm());
+        getSection().clientVerticalSpacing = FormLayoutFactory.SECTION_HEADER_VERTICAL_SPACING;
+        getSection().setData("part", this); //$NON-NLS-1$
 
-	/**
-	 * @see RequiresSection
-	 */
-	private void buttonSelected(int index) {
-		switch (index) {
-		case ADD_INDEX:
-			handleAdd();
-			break;
-		case REMOVE_INDEX:
-			handleRemove();
-			break;
-		case UP_INDEX:
-			handleUp();
-			break;
-		case DOWN_INDEX:
-			handleDown();
-			break;
-		case PROPERTIES_INDEX:
-			handleOpenProperties();
-			break;
-		}
-	}
+        // StructuredViewerSection
+        this.fViewerPart = createViewerPart(buttonLabels);
+        this.fViewerPart.setMinimumSize(50, 50);
+        createClient(getSection(), page.getManagedForm().getToolkit());
 
-	/**
-	 * @see RequiresSection
-	 */
-	private void createClient(Section section, FormToolkit toolkit) {
-		Composite container = createClientContainer(section, 2, toolkit);
-		createViewerPartControl(container, SWT.MULTI, 2, toolkit);
-		TablePart tablePart = getTablePart();
-		fImportViewer = tablePart.getTableViewer();
+        // RequiresSection
+        getSection().setText(PDEUIMessages.RequiresSection_title);
+        getTablePart().setEditable(false);
+    }
 
-		toolkit.paintBordersFor(container);
-		// makeActions();
-		section.setClient(container);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.minimumWidth = 250;
-		gd.grabExcessVerticalSpace = true;
-		section.setLayout(FormLayoutFactory.createClearGridLayout(false, 1));
-		section.setLayoutData(gd);
-		section.setText(PDEUIMessages.RequiresSection_title);
-		createSectionToolbar(section, toolkit);
-		enableButtons();
-	}
+    /**
+     * @see RequiresSection
+     */
+    private void buttonSelected(int index) {
+        switch (index) {
+            case ADD_INDEX:
+                handleAdd();
+                break;
+            case REMOVE_INDEX:
+                handleRemove();
+                break;
+            case UP_INDEX:
+                handleUp();
+                break;
+            case DOWN_INDEX:
+                handleDown();
+                break;
+            case PROPERTIES_INDEX:
+                handleOpenProperties();
+                break;
+        }
+    }
 
-	/**
-	 * @see StructuredViewerSection
-	 */
-	private Composite createClientContainer(Composite parent, int span, FormToolkit toolkit) {
-		Composite container = toolkit.createComposite(parent);
-		container.setLayout(FormLayoutFactory.createSectionClientGridLayout(false, span));
-		return container;
-	}
+    /**
+     * @see RequiresSection
+     */
+    private void createClient(Section section, FormToolkit toolkit) {
+        Composite container = createClientContainer(section, 2, toolkit);
+        createViewerPartControl(container, SWT.MULTI, 2, toolkit);
+        TablePart tablePart = getTablePart();
+        this.fImportViewer = tablePart.getTableViewer();
 
-	/**
-	 * @see RequiresSection
-	 */
-	private boolean createCount() {
-		return true;
-	}
+        toolkit.paintBordersFor(container);
+        // makeActions();
+        section.setClient(container);
+        GridData gd = new GridData(GridData.FILL_BOTH);
+        gd.minimumWidth = 250;
+        gd.grabExcessVerticalSpace = true;
+        section.setLayout(FormLayoutFactory.createClearGridLayout(false, 1));
+        section.setLayoutData(gd);
+        section.setText(PDEUIMessages.RequiresSection_title);
+        createSectionToolbar(section, toolkit);
+        enableButtons();
+    }
 
-	/**
-	 * @see RequiresSection
-	 */
-	private void createSectionToolbar(Section section, FormToolkit toolkit) {
-		ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
-		ToolBar toolbar = toolBarManager.createControl(section);
-		final Cursor handCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_HAND);
-		toolbar.setCursor(handCursor);
-		// Cursor needs to be explicitly disposed
-		toolbar.addDisposeListener(new DisposeListener() {
-			public void widgetDisposed(DisposeEvent e) {
-				if ((handCursor != null) && (handCursor.isDisposed() == false)) {
-					handCursor.dispose();
-				}
-			}
-		});
+    /**
+     * @see StructuredViewerSection
+     */
+    private Composite createClientContainer(Composite parent, int span, FormToolkit toolkit) {
+        Composite container = toolkit.createComposite(parent);
+        container.setLayout(FormLayoutFactory.createSectionClientGridLayout(false, span));
+        return container;
+    }
 
-		// Add sort action to the tool bar
-		// fSortAction = new SortAction(fImportViewer,
-		// PDEUIMessages.RequiresSection_sortAlpha, null, null, this);
-		// toolBarManager.add(fSortAction);
+    /**
+     * @see RequiresSection
+     */
+    private boolean createCount() {
+        return true;
+    }
 
-		toolBarManager.update(true);
-		section.setTextClient(toolbar);
-	}
+    /**
+     * @see RequiresSection
+     */
+    private void createSectionToolbar(Section section, FormToolkit toolkit) {
+        ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
+        ToolBar toolbar = toolBarManager.createControl(section);
+        final Cursor handCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_HAND);
+        toolbar.setCursor(handCursor);
+        // Cursor needs to be explicitly disposed
+        toolbar.addDisposeListener(new DisposeListener() {
 
-	/**
-	 * @see TableSection
-	 */
-	private StructuredViewerPart createViewerPart(String[] buttonLabels) {
-		return new PartAdapter(buttonLabels);
-	}
+            public void widgetDisposed(DisposeEvent e) {
+                if (handCursor != null && handCursor.isDisposed() == false) {
+                    handCursor.dispose();
+                }
+            }
+        });
 
-	/**
-	 * @see StructuredViewerSection
-	 */
-	private void createViewerPartControl(Composite parent, int style, int span, FormToolkit toolkit) {
-		fViewerPart.createControl(parent, style, span, toolkit);
-		MenuManager popupMenuManager = new MenuManager();
-		IMenuListener listener = new IMenuListener() {
-			public void menuAboutToShow(IMenuManager mng) {
-				// fillContextMenu(mng);
-			}
-		};
-		popupMenuManager.addMenuListener(listener);
-		popupMenuManager.setRemoveAllWhenShown(true);
-		Control control = fViewerPart.getControl();
-		Menu menu = popupMenuManager.createContextMenu(control);
-		control.setMenu(menu);
-	}
+        // Add sort action to the tool bar
+        // fSortAction = new SortAction(fImportViewer,
+        // PDEUIMessages.RequiresSection_sortAlpha, null, null, this);
+        // toolBarManager.add(fSortAction);
 
-	/**
-	 * @see TableSection
-	 */
-	protected abstract void enableButtons();
+        toolBarManager.update(true);
+        section.setTextClient(toolbar);
+    }
 
-	/**
-	 * @see TableSection
-	 */
-	protected abstract void entryModified(Object entry, String value);
+    /**
+     * @see TableSection
+     */
+    private StructuredViewerPart createViewerPart(String[] buttonLabels) {
+        return new PartAdapter(buttonLabels);
+    }
 
-	protected int getAddIndex() {
-		return ADD_INDEX;
-	}
+    /**
+     * @see StructuredViewerSection
+     */
+    private void createViewerPartControl(Composite parent, int style, int span, FormToolkit toolkit) {
+        this.fViewerPart.createControl(parent, style, span, toolkit);
+        MenuManager popupMenuManager = new MenuManager();
+        IMenuListener listener = new IMenuListener() {
 
-	protected int getDownIndex() {
-		return DOWN_INDEX;
-	}
+            public void menuAboutToShow(IMenuManager mng) {
+                // fillContextMenu(mng);
+            }
+        };
+        popupMenuManager.addMenuListener(listener);
+        popupMenuManager.setRemoveAllWhenShown(true);
+        Control control = this.fViewerPart.getControl();
+        Menu menu = popupMenuManager.createContextMenu(control);
+        control.setMenu(menu);
+    }
 
-	protected int getPropertiesIndex() {
-		return PROPERTIES_INDEX;
-	}
+    /**
+     * @see TableSection
+     */
+    protected abstract void enableButtons();
 
-	protected int getRemoveIndex() {
-		return REMOVE_INDEX;
-	}
+    /**
+     * @see TableSection
+     */
+    protected abstract void entryModified(Object entry, String value);
 
-	/**
-	 * @see TableSection
-	 */
-	protected EditableTablePart getTablePart() {
-		return (EditableTablePart) fViewerPart;
-	}
+    protected int getAddIndex() {
+        return ADD_INDEX;
+    }
 
-	protected TableViewer getTableViewer() {
-		return fImportViewer;
-	}
+    protected int getDownIndex() {
+        return DOWN_INDEX;
+    }
 
-	protected int getUpIndex() {
-		return UP_INDEX;
-	}
+    protected int getPropertiesIndex() {
+        return PROPERTIES_INDEX;
+    }
 
-	/**
-	 * @see RequiresSection
-	 */
-	protected abstract void handleAdd();
+    protected int getRemoveIndex() {
+        return REMOVE_INDEX;
+    }
 
-	/**
-	 * @see TableSection
-	 */
-	protected abstract void handleDoubleClick(IStructuredSelection selection);
+    /**
+     * @see TableSection
+     */
+    protected EditableTablePart getTablePart() {
+        return (EditableTablePart) this.fViewerPart;
+    }
 
-	/**
-	 * @see RequiresSection
-	 */
-	protected abstract void handleDown();
+    protected TableViewer getTableViewer() {
+        return this.fImportViewer;
+    }
 
-	/**
-	 * @see RequiresSection
-	 */
-	protected abstract void handleOpenProperties();
+    protected int getUpIndex() {
+        return UP_INDEX;
+    }
 
-	/**
-	 * @see RequiresSection
-	 */
-	protected abstract void handleRemove();
+    /**
+     * @see RequiresSection
+     */
+    protected abstract void handleAdd();
 
-	/**
-	 * @see RequiresSection
-	 */
-	protected abstract void handleUp();
+    /**
+     * @see TableSection
+     */
+    protected abstract void handleDoubleClick(IStructuredSelection selection);
 
-	/**
-	 * @see RequiresSection
-	 */
-	protected abstract void initialize();
+    /**
+     * @see RequiresSection
+     */
+    protected abstract void handleDown();
 
-	/**
-	 * @see TableSection
-	 */
-	protected abstract void selectionChanged(IStructuredSelection selection);
+    /**
+     * @see RequiresSection
+     */
+    protected abstract void handleOpenProperties();
+
+    /**
+     * @see RequiresSection
+     */
+    protected abstract void handleRemove();
+
+    /**
+     * @see RequiresSection
+     */
+    protected abstract void handleUp();
+
+    /**
+     * @see RequiresSection
+     */
+    protected abstract void initialize();
+
+    /**
+     * @see TableSection
+     */
+    protected abstract void selectionChanged(IStructuredSelection selection);
 
 }
diff --git a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/AbstractNewParProjectWizard.java b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/AbstractNewParProjectWizard.java
index fb8c851..6abb92a 100644
--- a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/AbstractNewParProjectWizard.java
+++ b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/AbstractNewParProjectWizard.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.eclipse.wizards;
 
 import java.lang.reflect.InvocationTargetException;
@@ -44,103 +45,102 @@
 @SuppressWarnings("restriction")
 public abstract class AbstractNewParProjectWizard extends BasicNewResourceWizard {
 
-	private WizardNewProjectCreationPage mainPage;
+    private WizardNewProjectCreationPage mainPage;
 
-	private IProject newProject;
+    private IProject newProject;
 
-	/**
-	 * @see BasicNewProjectResourceWizard
-	 */
-	protected IProject createNewProject() {
-		if (newProject != null) {
-			return newProject;
-		}
+    /**
+     * @see BasicNewProjectResourceWizard
+     */
+    protected IProject createNewProject() {
+        if (this.newProject != null) {
+            return this.newProject;
+        }
 
-		// get a project handle
-		final IProject newProjectHandle = mainPage.getProjectHandle();
+        // get a project handle
+        final IProject newProjectHandle = this.mainPage.getProjectHandle();
 
-		// get a project descriptor
-		URI location = null;
-		if (!mainPage.useDefaults()) {
-			location = mainPage.getLocationURI();
-		}
+        // get a project descriptor
+        URI location = null;
+        if (!this.mainPage.useDefaults()) {
+            location = this.mainPage.getLocationURI();
+        }
 
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		final IProjectDescription description = workspace.newProjectDescription(newProjectHandle.getName());
-		description.setLocationURI(location);
+        IWorkspace workspace = ResourcesPlugin.getWorkspace();
+        final IProjectDescription description = workspace.newProjectDescription(newProjectHandle.getName());
+        description.setLocationURI(location);
 
-		// STS - replaced with associateProjectsToPar()
+        // STS - replaced with associateProjectsToPar()
 
-		// update the referenced project if provided
-		// if (referencePage != null) {
-		// IProject[] refProjects = referencePage.getReferencedProjects();
-		// if (refProjects.length > 0) {
-		// description.setReferencedProjects(refProjects);
-		// }
-		// }
+        // update the referenced project if provided
+        // if (referencePage != null) {
+        // IProject[] refProjects = referencePage.getReferencedProjects();
+        // if (refProjects.length > 0) {
+        // description.setReferencedProjects(refProjects);
+        // }
+        // }
 
-		// create the new project operation
-		IRunnableWithProgress op = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException {
-				CreateProjectOperation op = new CreateProjectOperation(description,
-						ResourceMessages.NewProject_windowTitle);
-				try {
-					// see bug
-					// https://bugs.eclipse.org/bugs/show_bug.cgi?id=219901
-					// directly execute the operation so that the undo state is
-					// not preserved. Making this undoable resulted in too many
-					// accidental file deletions.
-					op.execute(monitor, WorkspaceUndoUtil.getUIInfoAdapter(getShell()));
-				} catch (ExecutionException e) {
-					throw new InvocationTargetException(e);
-				}
-			}
-		};
+        // create the new project operation
+        IRunnableWithProgress op = new IRunnableWithProgress() {
 
-		// run the new project creation operation
-		try {
-			getContainer().run(true, true, op);
-		} catch (InterruptedException e) {
-			return null;
-		} catch (InvocationTargetException e) {
-			Throwable t = e.getTargetException();
-			if (t instanceof ExecutionException && t.getCause() instanceof CoreException) {
-				CoreException cause = (CoreException) t.getCause();
-				StatusAdapter status;
-				if (cause.getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
-					status = new StatusAdapter(StatusUtil.newStatus(IStatus.WARNING,
-							NLS.bind(ResourceMessages.NewProject_caseVariantExistsError, newProjectHandle.getName()),
-							cause));
-				} else {
-					status = new StatusAdapter(StatusUtil.newStatus(cause.getStatus().getSeverity(),
-							ResourceMessages.NewProject_errorMessage, cause));
-				}
-				status.setProperty(StatusAdapter.TITLE_PROPERTY, ResourceMessages.NewProject_errorMessage);
-				StatusManager.getManager().handle(status, StatusManager.BLOCK);
-			} else {
-				StatusAdapter status = new StatusAdapter(new Status(IStatus.WARNING, IDEWorkbenchPlugin.IDE_WORKBENCH,
-						0, NLS.bind(ResourceMessages.NewProject_internalError, t.getMessage()), t));
-				status.setProperty(StatusAdapter.TITLE_PROPERTY, ResourceMessages.NewProject_errorMessage);
-				StatusManager.getManager().handle(status, StatusManager.LOG | StatusManager.BLOCK);
-			}
-			return null;
-		}
+            public void run(IProgressMonitor monitor) throws InvocationTargetException {
+                CreateProjectOperation op = new CreateProjectOperation(description, ResourceMessages.NewProject_windowTitle);
+                try {
+                    // see bug
+                    // https://bugs.eclipse.org/bugs/show_bug.cgi?id=219901
+                    // directly execute the operation so that the undo state is
+                    // not preserved. Making this undoable resulted in too many
+                    // accidental file deletions.
+                    op.execute(monitor, WorkspaceUndoUtil.getUIInfoAdapter(getShell()));
+                } catch (ExecutionException e) {
+                    throw new InvocationTargetException(e);
+                }
+            }
+        };
 
-		newProject = newProjectHandle;
+        // run the new project creation operation
+        try {
+            getContainer().run(true, true, op);
+        } catch (InterruptedException e) {
+            return null;
+        } catch (InvocationTargetException e) {
+            Throwable t = e.getTargetException();
+            if (t instanceof ExecutionException && t.getCause() instanceof CoreException) {
+                CoreException cause = (CoreException) t.getCause();
+                StatusAdapter status;
+                if (cause.getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
+                    status = new StatusAdapter(StatusUtil.newStatus(IStatus.WARNING,
+                        NLS.bind(ResourceMessages.NewProject_caseVariantExistsError, newProjectHandle.getName()), cause));
+                } else {
+                    status = new StatusAdapter(
+                        StatusUtil.newStatus(cause.getStatus().getSeverity(), ResourceMessages.NewProject_errorMessage, cause));
+                }
+                status.setProperty(StatusAdapter.TITLE_PROPERTY, ResourceMessages.NewProject_errorMessage);
+                StatusManager.getManager().handle(status, StatusManager.BLOCK);
+            } else {
+                StatusAdapter status = new StatusAdapter(new Status(IStatus.WARNING, IDEWorkbenchPlugin.IDE_WORKBENCH, 0,
+                    NLS.bind(ResourceMessages.NewProject_internalError, t.getMessage()), t));
+                status.setProperty(StatusAdapter.TITLE_PROPERTY, ResourceMessages.NewProject_errorMessage);
+                StatusManager.getManager().handle(status, StatusManager.LOG | StatusManager.BLOCK);
+            }
+            return null;
+        }
 
-		return newProject;
-	}
+        this.newProject = newProjectHandle;
 
-	protected WizardNewProjectCreationPage getMainPage() {
-		return mainPage;
-	}
+        return this.newProject;
+    }
 
-	protected IProject getNewProject() {
-		return newProject;
-	}
+    protected WizardNewProjectCreationPage getMainPage() {
+        return this.mainPage;
+    }
 
-	protected void setMainPage(WizardNewProjectCreationPage page) {
-		mainPage = page;
-	}
+    protected IProject getNewProject() {
+        return this.newProject;
+    }
+
+    protected void setMainPage(WizardNewProjectCreationPage page) {
+        this.mainPage = page;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/NewJavaProjectWizardConstants.java b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/NewJavaProjectWizardConstants.java
index 2a2a1c9..84753ab 100644
--- a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/NewJavaProjectWizardConstants.java
+++ b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/NewJavaProjectWizardConstants.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.eclipse.wizards;
 
 /**
@@ -16,102 +17,102 @@
  */
 public class NewJavaProjectWizardConstants {
 
-	// Originally from NewWizardMessages in 3.4
-	public static String NewJavaProjectWizardPage_title = "Java Settings";
+    // Originally from NewWizardMessages in 3.4
+    public static String NewJavaProjectWizardPage_title = "Java Settings";
 
-	public static String NewJavaProjectWizardPage_description = "Define the Java build settings.";
+    public static String NewJavaProjectWizardPage_description = "Define the Java build settings.";
 
-	public static String NewJavaProjectWizardPageTwo_error_message = "An error occurred while creating project. Check log for details.";
+    public static String NewJavaProjectWizardPageTwo_error_message = "An error occurred while creating project. Check log for details.";
 
-	public static String NewJavaProjectWizardPageOne_directory_message = "Choose a directory for the project contents:";
+    public static String NewJavaProjectWizardPageOne_directory_message = "Choose a directory for the project contents:";
 
-	public static String NewJavaProjectWizardPageOne_JREGroup_link_description = "<a>C&onfigure JREs...</a>";
+    public static String NewJavaProjectWizardPageOne_JREGroup_link_description = "<a>C&onfigure JREs...</a>";
 
-	public static String NewJavaProjectWizardPageOne_JREGroup_default_compliance = "Use def&ault JRE (Currently ''{0}'')";
+    public static String NewJavaProjectWizardPageOne_JREGroup_default_compliance = "Use def&ault JRE (Currently ''{0}'')";
 
-	public static String NewJavaProjectWizardPageOne_JREGroup_specific_compliance = "U&se a project specific JRE:";
+    public static String NewJavaProjectWizardPageOne_JREGroup_specific_compliance = "U&se a project specific JRE:";
 
-	public static String NewJavaProjectWizardPageOne_JREGroup_specific_EE = "Use an execution en&vironment JRE:";
+    public static String NewJavaProjectWizardPageOne_JREGroup_specific_EE = "Use an execution en&vironment JRE:";
 
-	public static String NewJavaProjectWizardPageOne_JREGroup_title = "JRE";
+    public static String NewJavaProjectWizardPageOne_JREGroup_title = "JRE";
 
-	public static String NewJavaProjectWizardPageOne_page_description = "Create a Java project in the workspace or in an external location.";
+    public static String NewJavaProjectWizardPageOne_page_description = "Create a Java project in the workspace or in an external location.";
 
-	public static String NewJavaProjectWizardPageOne_page_title = "Create a Java project";
+    public static String NewJavaProjectWizardPageOne_page_title = "Create a Java project";
 
-	public static String NewJavaProjectWizardPageOne_NoJREFound_link = "The default JRE could be detected. To add a JRE manually go to the <a href=\"JRE\">JREs preference page</a>.";
+    public static String NewJavaProjectWizardPageOne_NoJREFound_link = "The default JRE could be detected. To add a JRE manually go to the <a href=\"JRE\">JREs preference page</a>.";
 
-	public static String NewJavaProjectWizardPageOne_LayoutGroup_link_description = "<a>Configure d&efault...</a>";
+    public static String NewJavaProjectWizardPageOne_LayoutGroup_link_description = "<a>Configure d&efault...</a>";
 
-	public static String NewJavaProjectWizardPageOne_LayoutGroup_option_oneFolder = "&Use project folder as root for sources and class files";
+    public static String NewJavaProjectWizardPageOne_LayoutGroup_option_oneFolder = "&Use project folder as root for sources and class files";
 
-	public static String NewJavaProjectWizardPageOne_DetectGroup_differendWorkspaceCC_message = "The default compiler compliance level for the current workspace is {0}. The new project will use a project specific compiler compliance level of {1}.<a></a>";
+    public static String NewJavaProjectWizardPageOne_DetectGroup_differendWorkspaceCC_message = "The default compiler compliance level for the current workspace is {0}. The new project will use a project specific compiler compliance level of {1}.<a></a>";
 
-	public static String NewJavaProjectWizardPageOne_Message_invalidProjectNameForWorkspaceRoot = "The name of the new project must be ''{0}''";
+    public static String NewJavaProjectWizardPageOne_Message_invalidProjectNameForWorkspaceRoot = "The name of the new project must be ''{0}''";
 
-	public static String NewJavaProjectWizardPageOne_Message_cannotCreateAtExternalLocation = "Cannot create project content at the given external location";
+    public static String NewJavaProjectWizardPageOne_Message_cannotCreateAtExternalLocation = "Cannot create project content at the given external location";
 
-	public static String NewJavaProjectWizardPageOne_Message_notExisingProjectOnWorkspaceRoot = "The selected existing source location in the workspace root does not exist";
+    public static String NewJavaProjectWizardPageOne_Message_notExisingProjectOnWorkspaceRoot = "The selected existing source location in the workspace root does not exist";
 
-	public static String NewJavaProjectWizardPageOne_LayoutGroup_option_separateFolders = "&Create separate folders for sources and class files";
+    public static String NewJavaProjectWizardPageOne_LayoutGroup_option_separateFolders = "&Create separate folders for sources and class files";
 
-	public static String NewJavaProjectWizardPageOne_LayoutGroup_title = "Project layout";
+    public static String NewJavaProjectWizardPageOne_LayoutGroup_title = "Project layout";
 
-	public static String NewJavaProjectWizardPageOne_WorkingSets_group = "Working sets";
+    public static String NewJavaProjectWizardPageOne_WorkingSets_group = "Working sets";
 
-	public static String NewJavaProjectWizardPageOne_LocationGroup_title = "Contents";
+    public static String NewJavaProjectWizardPageOne_LocationGroup_title = "Contents";
 
-	public static String NewJavaProjectWizardPageOne_LocationGroup_external_desc = "Create project from e&xisting source";
+    public static String NewJavaProjectWizardPageOne_LocationGroup_external_desc = "Create project from e&xisting source";
 
-	public static String NewJavaProjectWizardPageOne_LocationGroup_browseButton_desc = "B&rowse...";
+    public static String NewJavaProjectWizardPageOne_LocationGroup_browseButton_desc = "B&rowse...";
 
-	public static String NewJavaProjectWizardPageOne_LocationGroup_locationLabel_desc = "&Directory:";
+    public static String NewJavaProjectWizardPageOne_LocationGroup_locationLabel_desc = "&Directory:";
 
-	public static String NewJavaProjectWizardPageOne_LocationGroup_workspace_desc = "Create new project in &workspace";
+    public static String NewJavaProjectWizardPageOne_LocationGroup_workspace_desc = "Create new project in &workspace";
 
-	public static String NewJavaProjectWizardPageOne_NameGroup_label_text = "&Project name:";
+    public static String NewJavaProjectWizardPageOne_NameGroup_label_text = "&Project name:";
 
-	public static String NewJavaProjectWizardPageOne_DetectGroup_jre_message = "The current workspace uses a {1} JRE with compiler compliance level {0}. This is not recommended and either the JRE or the compiler compliance level should be changed. <a>Configure...</a>";
+    public static String NewJavaProjectWizardPageOne_DetectGroup_jre_message = "The current workspace uses a {1} JRE with compiler compliance level {0}. This is not recommended and either the JRE or the compiler compliance level should be changed. <a>Configure...</a>";
 
-	public static String NewJavaProjectWizardPageOne_DetectGroup_message = "The wizard will automatically configure the JRE and the project layout based on the existing source.<a></a>";
+    public static String NewJavaProjectWizardPageOne_DetectGroup_message = "The wizard will automatically configure the JRE and the project layout based on the existing source.<a></a>";
 
-	public static String NewJavaProjectWizardPageOne_Message_enterLocation = "Enter a location for the project.";
+    public static String NewJavaProjectWizardPageOne_Message_enterLocation = "Enter a location for the project.";
 
-	public static String NewJavaProjectWizardPageOne_Message_enterProjectName = "Enter a project name.";
+    public static String NewJavaProjectWizardPageOne_Message_enterProjectName = "Enter a project name.";
 
-	public static String NewJavaProjectWizardPageOne_Message_invalidDirectory = "Invalid project contents directory";
+    public static String NewJavaProjectWizardPageOne_Message_invalidDirectory = "Invalid project contents directory";
 
-	public static String NewJavaProjectWizardPageOne_Message_notOnWorkspaceRoot = "Projects located in the workspace folder must be direct sub folders of the workspace folder";
+    public static String NewJavaProjectWizardPageOne_Message_notOnWorkspaceRoot = "Projects located in the workspace folder must be direct sub folders of the workspace folder";
 
-	public static String NewJavaProjectWizardPageOne_Message_projectAlreadyExists = "A project with this name already exists.";
+    public static String NewJavaProjectWizardPageOne_Message_projectAlreadyExists = "A project with this name already exists.";
 
-	public static String NewJavaProjectWizardPageOne_UnknownDefaultJRE_name = "Unknown";
+    public static String NewJavaProjectWizardPageOne_UnknownDefaultJRE_name = "Unknown";
 
-	public static String NewJavaProjectWizardPageTwo_error_remove_message = "An error occurred while removing a temporary project.";
+    public static String NewJavaProjectWizardPageTwo_error_remove_message = "An error occurred while removing a temporary project.";
 
-	public static String NewJavaProjectWizardPageTwo_error_remove_title = "Error Creating Java Project";
+    public static String NewJavaProjectWizardPageTwo_error_remove_title = "Error Creating Java Project";
 
-	public static String NewJavaProjectWizardPageTwo_problem_backup = "Problem while creating backup for ''{0}''";
+    public static String NewJavaProjectWizardPageTwo_problem_backup = "Problem while creating backup for ''{0}''";
 
-	public static String NewJavaProjectWizardPageTwo_DeleteCorruptProjectFile_message = "A problem occurred while creating the project from existing source:\n\n''{0}''\n\nThe corrupt project file will be replaced by a valid one.";
+    public static String NewJavaProjectWizardPageTwo_DeleteCorruptProjectFile_message = "A problem occurred while creating the project from existing source:\n\n''{0}''\n\nThe corrupt project file will be replaced by a valid one.";
 
-	public static String NewJavaProjectWizardPageTwo_monitor_init_build_path = "Initializing build path";
+    public static String NewJavaProjectWizardPageTwo_monitor_init_build_path = "Initializing build path";
 
-	public static String NewJavaProjectWizardPageTwo_problem_restore_classpath = "Problem while restoring backup for .classpath";
+    public static String NewJavaProjectWizardPageTwo_problem_restore_classpath = "Problem while restoring backup for .classpath";
 
-	public static String NewJavaProjectWizardPageTwo_problem_restore_project = "Problem while restoring backup for .project";
+    public static String NewJavaProjectWizardPageTwo_problem_restore_project = "Problem while restoring backup for .project";
 
-	public static String NewJavaProjectWizardPageTwo_operation_create = "Creating project...";
+    public static String NewJavaProjectWizardPageTwo_operation_create = "Creating project...";
 
-	public static String NewJavaProjectWizardPageTwo_operation_remove = "Removing project...";
+    public static String NewJavaProjectWizardPageTwo_operation_remove = "Removing project...";
 
-	public static String NewJavaProjectWizardPageTwo_operation_initialize = "Initializing project...";
+    public static String NewJavaProjectWizardPageTwo_operation_initialize = "Initializing project...";
 
-	public static String NewJavaProjectWizardPageTwo_error_title = "New Java Project";
+    public static String NewJavaProjectWizardPageTwo_error_title = "New Java Project";
 
-	public static String NewJavaProjectWizardPage_op_desc = "Creating Java project...";
+    public static String NewJavaProjectWizardPage_op_desc = "Creating Java project...";
 
-	// Originally from PackageExplorerPart in 3.4
-	public static final int PROJECTS_AS_ROOTS = 1;
+    // Originally from PackageExplorerPart in 3.4
+    public static final int PROJECTS_AS_ROOTS = 1;
 
 }
diff --git a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/NewJavaProjectWizardPageOneCOPY.java b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/NewJavaProjectWizardPageOneCOPY.java
index 538e8b5..e756c62 100644
--- a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/NewJavaProjectWizardPageOneCOPY.java
+++ b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/NewJavaProjectWizardPageOneCOPY.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.eclipse.wizards;
 
 import java.io.File;
@@ -85,7 +86,7 @@
  * changes included porting all the NewJavaProjectWizard messages from the NewWizardMessages utility class to
  * NewJavaProjectWizardConstants. All working set functionality has been commented out in order to retain compatibility
  * between 3.3 and 3.4
- * 
+ *
  * @deprecated As of release 2.0.0, STS only supports Eclipse 3.4 and above. Use {@link NewJavaProjectWizardPageOne}
  *             instead. ----------------------------------------------------------------------------- The first page of
  *             the New Java Project wizard. This page is typically used in combination with
@@ -104,1546 +105,1499 @@
 @Deprecated
 public class NewJavaProjectWizardPageOneCOPY extends WizardPage {
 
-	/**
-	 * Show a warning when the project location contains files.
-	 */
-	private final class DetectGroup extends Observable implements Observer, SelectionListener {
+    /**
+     * Show a warning when the project location contains files.
+     */
+    private final class DetectGroup extends Observable implements Observer, SelectionListener {
 
-		private Link fHintText;
+        private Link fHintText;
 
-		private Label fIcon;
+        private Label fIcon;
 
-		private boolean fDetect;
+        private boolean fDetect;
 
-		public DetectGroup() {
-			fDetect = false;
-		}
+        public DetectGroup() {
+            this.fDetect = false;
+        }
 
-		private boolean computeDetectState() {
-			if (fLocationGroup.isWorkspaceRadioSelected()) {
-				String name = fNameGroup.getName();
-				if (name.length() == 0 || JavaPlugin.getWorkspace().getRoot().findMember(name) != null) {
-					return false;
-				} else {
-					final File directory = fLocationGroup.getLocation().append(name).toFile();
-					return directory.isDirectory();
-				}
-			} else {
-				final File directory = fLocationGroup.getLocation().toFile();
-				return directory.isDirectory();
-			}
-		}
+        private boolean computeDetectState() {
+            if (NewJavaProjectWizardPageOneCOPY.this.fLocationGroup.isWorkspaceRadioSelected()) {
+                String name = NewJavaProjectWizardPageOneCOPY.this.fNameGroup.getName();
+                if (name.length() == 0 || JavaPlugin.getWorkspace().getRoot().findMember(name) != null) {
+                    return false;
+                } else {
+                    final File directory = NewJavaProjectWizardPageOneCOPY.this.fLocationGroup.getLocation().append(name).toFile();
+                    return directory.isDirectory();
+                }
+            } else {
+                final File directory = NewJavaProjectWizardPageOneCOPY.this.fLocationGroup.getLocation().toFile();
+                return directory.isDirectory();
+            }
+        }
 
-		public Control createControl(Composite parent) {
+        public Control createControl(Composite parent) {
 
-			Composite composite = new Composite(parent, SWT.NONE);
-			composite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
-			GridLayout layout = new GridLayout(2, false);
-			layout.horizontalSpacing = 10;
-			composite.setLayout(layout);
+            Composite composite = new Composite(parent, SWT.NONE);
+            composite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
+            GridLayout layout = new GridLayout(2, false);
+            layout.horizontalSpacing = 10;
+            composite.setLayout(layout);
 
-			fIcon = new Label(composite, SWT.LEFT);
-			fIcon.setImage(Dialog.getImage(Dialog.DLG_IMG_MESSAGE_WARNING));
-			GridData gridData = new GridData(SWT.LEFT, SWT.CENTER, false, false);
-			fIcon.setLayoutData(gridData);
+            this.fIcon = new Label(composite, SWT.LEFT);
+            this.fIcon.setImage(Dialog.getImage(Dialog.DLG_IMG_MESSAGE_WARNING));
+            GridData gridData = new GridData(SWT.LEFT, SWT.CENTER, false, false);
+            this.fIcon.setLayoutData(gridData);
 
-			fHintText = new Link(composite, SWT.WRAP);
-			fHintText.setFont(composite.getFont());
-			fHintText.addSelectionListener(this);
-			gridData = new GridData(GridData.FILL, SWT.FILL, true, true);
-			gridData.widthHint = convertWidthInCharsToPixels(50);
-			gridData.heightHint = convertHeightInCharsToPixels(3);
-			fHintText.setLayoutData(gridData);
+            this.fHintText = new Link(composite, SWT.WRAP);
+            this.fHintText.setFont(composite.getFont());
+            this.fHintText.addSelectionListener(this);
+            gridData = new GridData(GridData.FILL, SWT.FILL, true, true);
+            gridData.widthHint = convertWidthInCharsToPixels(50);
+            gridData.heightHint = convertHeightInCharsToPixels(3);
+            this.fHintText.setLayoutData(gridData);
 
-			handlePossibleJVMChange();
-			return composite;
-		}
+            handlePossibleJVMChange();
+            return composite;
+        }
 
-		public void handlePossibleJVMChange() {
+        public void handlePossibleJVMChange() {
 
-			if (JavaRuntime.getDefaultVMInstall() == null) {
-				fHintText.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_NoJREFound_link);
-				fHintText.setVisible(true);
-				fIcon.setImage(Dialog.getImage(Dialog.DLG_IMG_MESSAGE_WARNING));
-				fIcon.setVisible(true);
-				return;
-			}
+            if (JavaRuntime.getDefaultVMInstall() == null) {
+                this.fHintText.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_NoJREFound_link);
+                this.fHintText.setVisible(true);
+                this.fIcon.setImage(Dialog.getImage(Dialog.DLG_IMG_MESSAGE_WARNING));
+                this.fIcon.setVisible(true);
+                return;
+            }
 
-			String selectedCompliance = fJREGroup.getSelectedCompilerCompliance();
-			if (selectedCompliance != null) {
-				String defaultCompliance = JavaCore.getOption(JavaCore.COMPILER_COMPLIANCE);
-				if (selectedCompliance.equals(defaultCompliance)) {
-					fHintText.setVisible(false);
-					fIcon.setVisible(false);
-				} else {
-					fHintText.setText(Messages.format(
-							NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_DetectGroup_differendWorkspaceCC_message,
-							new String[] { defaultCompliance, selectedCompliance }));
-					fHintText.setVisible(true);
-					fIcon.setImage(Dialog.getImage(Dialog.DLG_IMG_MESSAGE_INFO));
-					fIcon.setVisible(true);
-				}
-				return;
-			}
+            String selectedCompliance = NewJavaProjectWizardPageOneCOPY.this.fJREGroup.getSelectedCompilerCompliance();
+            if (selectedCompliance != null) {
+                String defaultCompliance = JavaCore.getOption(JavaCore.COMPILER_COMPLIANCE);
+                if (selectedCompliance.equals(defaultCompliance)) {
+                    this.fHintText.setVisible(false);
+                    this.fIcon.setVisible(false);
+                } else {
+                    this.fHintText.setText(
+                        Messages.format(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_DetectGroup_differendWorkspaceCC_message,
+                            new String[] { defaultCompliance, selectedCompliance }));
+                    this.fHintText.setVisible(true);
+                    this.fIcon.setImage(Dialog.getImage(Dialog.DLG_IMG_MESSAGE_INFO));
+                    this.fIcon.setVisible(true);
+                }
+                return;
+            }
 
-			selectedCompliance = JavaCore.getOption(JavaCore.COMPILER_COMPLIANCE);
-			IVMInstall selectedJVM = fJREGroup.getSelectedJVM();
-			if (selectedJVM == null) {
-				selectedJVM = JavaRuntime.getDefaultVMInstall();
-			}
-			String jvmCompliance = JavaCore.VERSION_1_4;
-			if (selectedJVM instanceof IVMInstall2) {
-				jvmCompliance = JavaModelUtil.getCompilerCompliance((IVMInstall2) selectedJVM, JavaCore.VERSION_1_4);
-			}
-			if (!selectedCompliance.equals(jvmCompliance)
-					&& (JavaModelUtil.is50OrHigher(selectedCompliance) || JavaModelUtil.is50OrHigher(jvmCompliance))) {
-				if (selectedCompliance.equals(JavaCore.VERSION_1_5)) {
-					selectedCompliance = "5.0"; //$NON-NLS-1$
-				} else if (selectedCompliance.equals(JavaCore.VERSION_1_6)) {
-					selectedCompliance = "6.0"; //$NON-NLS-1$
-				}
+            selectedCompliance = JavaCore.getOption(JavaCore.COMPILER_COMPLIANCE);
+            IVMInstall selectedJVM = NewJavaProjectWizardPageOneCOPY.this.fJREGroup.getSelectedJVM();
+            if (selectedJVM == null) {
+                selectedJVM = JavaRuntime.getDefaultVMInstall();
+            }
+            String jvmCompliance = JavaCore.VERSION_1_4;
+            if (selectedJVM instanceof IVMInstall2) {
+                jvmCompliance = JavaModelUtil.getCompilerCompliance((IVMInstall2) selectedJVM, JavaCore.VERSION_1_4);
+            }
+            if (!selectedCompliance.equals(jvmCompliance)
+                && (JavaModelUtil.is50OrHigher(selectedCompliance) || JavaModelUtil.is50OrHigher(jvmCompliance))) {
+                if (selectedCompliance.equals(JavaCore.VERSION_1_5)) {
+                    selectedCompliance = "5.0"; //$NON-NLS-1$
+                } else if (selectedCompliance.equals(JavaCore.VERSION_1_6)) {
+                    selectedCompliance = "6.0"; //$NON-NLS-1$
+                }
 
-				fHintText.setText(Messages.format(
-						NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_DetectGroup_jre_message,
-						new String[] { selectedCompliance, jvmCompliance }));
-				fHintText.setVisible(true);
-				fIcon.setImage(Dialog.getImage(Dialog.DLG_IMG_MESSAGE_WARNING));
-				fIcon.setVisible(true);
-			} else {
-				fHintText.setVisible(false);
-				fIcon.setVisible(false);
-			}
-		}
+                this.fHintText.setText(Messages.format(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_DetectGroup_jre_message,
+                    new String[] { selectedCompliance, jvmCompliance }));
+                this.fHintText.setVisible(true);
+                this.fIcon.setImage(Dialog.getImage(Dialog.DLG_IMG_MESSAGE_WARNING));
+                this.fIcon.setVisible(true);
+            } else {
+                this.fHintText.setVisible(false);
+                this.fIcon.setVisible(false);
+            }
+        }
 
-		public boolean mustDetect() {
-			return fDetect;
-		}
+        public boolean mustDetect() {
+            return this.fDetect;
+        }
 
-		public void update(Observable o, Object arg) {
-			if (o instanceof LocationGroup) {
-				boolean oldDetectState = fDetect;
-				fDetect = computeDetectState();
+        public void update(Observable o, Object arg) {
+            if (o instanceof LocationGroup) {
+                boolean oldDetectState = this.fDetect;
+                this.fDetect = computeDetectState();
 
-				if (oldDetectState != fDetect) {
-					setChanged();
-					notifyObservers();
+                if (oldDetectState != this.fDetect) {
+                    setChanged();
+                    notifyObservers();
 
-					if (fDetect) {
-						fHintText.setVisible(true);
-						fHintText.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_DetectGroup_message);
-						fIcon.setImage(Dialog.getImage(Dialog.DLG_IMG_MESSAGE_INFO));
-						fIcon.setVisible(true);
-					} else {
-						handlePossibleJVMChange();
-					}
-				}
-			}
-		}
+                    if (this.fDetect) {
+                        this.fHintText.setVisible(true);
+                        this.fHintText.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_DetectGroup_message);
+                        this.fIcon.setImage(Dialog.getImage(Dialog.DLG_IMG_MESSAGE_INFO));
+                        this.fIcon.setVisible(true);
+                    } else {
+                        handlePossibleJVMChange();
+                    }
+                }
+            }
+        }
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see
-		 * org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org
-		 * .eclipse.swt.events.SelectionEvent)
-		 */
-		@SuppressWarnings("unchecked")
-		public void widgetDefaultSelected(SelectionEvent e) {
-			String jreID = BuildPathSupport.JRE_PREF_PAGE_ID;
-			String complianceId = CompliancePreferencePage.PREF_ID;
-			Map data = new HashMap();
-			data.put(PropertyAndPreferencePage.DATA_NO_LINK, Boolean.TRUE);
-			String id = "JRE".equals(e.text) ? jreID : complianceId; //$NON-NLS-1$
-			PreferencesUtil.createPreferenceDialogOn(getShell(), id, new String[] { jreID, complianceId }, data).open();
+        /*
+         * (non-Javadoc)
+         *
+         * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org .eclipse.swt.events.SelectionEvent)
+         */
+        @SuppressWarnings("unchecked")
+        public void widgetDefaultSelected(SelectionEvent e) {
+            String jreID = BuildPathSupport.JRE_PREF_PAGE_ID;
+            String complianceId = CompliancePreferencePage.PREF_ID;
+            Map data = new HashMap();
+            data.put(PropertyAndPreferencePage.DATA_NO_LINK, Boolean.TRUE);
+            String id = "JRE".equals(e.text) ? jreID : complianceId; //$NON-NLS-1$
+            PreferencesUtil.createPreferenceDialogOn(getShell(), id, new String[] { jreID, complianceId }, data).open();
 
-			fJREGroup.handlePossibleJVMChange();
-			handlePossibleJVMChange();
-		}
+            NewJavaProjectWizardPageOneCOPY.this.fJREGroup.handlePossibleJVMChange();
+            handlePossibleJVMChange();
+        }
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see
-		 * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse
-		 * .swt.events.SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-			widgetDefaultSelected(e);
-		}
-	}
+        /*
+         * (non-Javadoc)
+         *
+         * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse .swt.events.SelectionEvent)
+         */
+        public void widgetSelected(SelectionEvent e) {
+            widgetDefaultSelected(e);
+        }
+    }
 
-	private final class JREGroup implements Observer, SelectionListener, IDialogFieldListener {
+    private final class JREGroup implements Observer, SelectionListener, IDialogFieldListener {
 
-		private static final String LAST_SELECTED_EE_SETTINGS_KEY = JavaUI.ID_PLUGIN
-				+ ".last.selected.execution.enviroment"; //$NON-NLS-1$
+        private static final String LAST_SELECTED_EE_SETTINGS_KEY = JavaUI.ID_PLUGIN + ".last.selected.execution.enviroment"; //$NON-NLS-1$
 
-		private static final String LAST_SELECTED_JRE_SETTINGS_KEY = JavaUI.ID_PLUGIN + ".last.selected.project.jre"; //$NON-NLS-1$
+        private static final String LAST_SELECTED_JRE_SETTINGS_KEY = JavaUI.ID_PLUGIN + ".last.selected.project.jre"; //$NON-NLS-1$
 
-		private static final String LAST_SELECTED_JRE_KIND = JavaUI.ID_PLUGIN + ".last.selected.jre.kind"; //$NON-NLS-1$
+        private static final String LAST_SELECTED_JRE_KIND = JavaUI.ID_PLUGIN + ".last.selected.jre.kind"; //$NON-NLS-1$
 
-		private static final int DEFAULT_JRE = 0;
+        private static final int DEFAULT_JRE = 0;
 
-		private static final int PROJECT_JRE = 1;
+        private static final int PROJECT_JRE = 1;
 
-		private static final int EE_JRE = 2;
+        private static final int EE_JRE = 2;
 
-		private final SelectionButtonDialogField fUseDefaultJRE, fUseProjectJRE, fUseEEJRE;
+        private final SelectionButtonDialogField fUseDefaultJRE, fUseProjectJRE, fUseEEJRE;
 
-		private final ComboDialogField fJRECombo;
+        private final ComboDialogField fJRECombo;
 
-		private final ComboDialogField fEECombo;
+        private final ComboDialogField fEECombo;
 
-		private Group fGroup;
+        private Group fGroup;
 
-		private Link fPreferenceLink;
+        private Link fPreferenceLink;
 
-		private IVMInstall[] fInstalledJVMs;
+        private IVMInstall[] fInstalledJVMs;
 
-		private String[] fJRECompliance;
+        private String[] fJRECompliance;
 
-		private IExecutionEnvironment[] fInstalledEEs;
+        private IExecutionEnvironment[] fInstalledEEs;
 
-		private String[] fEECompliance;
+        private String[] fEECompliance;
 
-		public JREGroup() {
-			fUseDefaultJRE = new SelectionButtonDialogField(SWT.RADIO);
-			fUseDefaultJRE.setLabelText(getDefaultJVMLabel());
+        public JREGroup() {
+            this.fUseDefaultJRE = new SelectionButtonDialogField(SWT.RADIO);
+            this.fUseDefaultJRE.setLabelText(getDefaultJVMLabel());
 
-			fUseProjectJRE = new SelectionButtonDialogField(SWT.RADIO);
-			fUseProjectJRE.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_JREGroup_specific_compliance);
+            this.fUseProjectJRE = new SelectionButtonDialogField(SWT.RADIO);
+            this.fUseProjectJRE.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_JREGroup_specific_compliance);
 
-			fJRECombo = new ComboDialogField(SWT.READ_ONLY);
-			fillInstalledJREs(fJRECombo);
-			fJRECombo.setDialogFieldListener(this);
+            this.fJRECombo = new ComboDialogField(SWT.READ_ONLY);
+            fillInstalledJREs(this.fJRECombo);
+            this.fJRECombo.setDialogFieldListener(this);
 
-			fUseEEJRE = new SelectionButtonDialogField(SWT.RADIO);
-			fUseEEJRE.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_JREGroup_specific_EE);
+            this.fUseEEJRE = new SelectionButtonDialogField(SWT.RADIO);
+            this.fUseEEJRE.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_JREGroup_specific_EE);
 
-			fEECombo = new ComboDialogField(SWT.READ_ONLY);
-			fillExecutionEnvironments(fEECombo);
-			fEECombo.setDialogFieldListener(this);
+            this.fEECombo = new ComboDialogField(SWT.READ_ONLY);
+            fillExecutionEnvironments(this.fEECombo);
+            this.fEECombo.setDialogFieldListener(this);
 
-			switch (getLastSelectedJREKind()) {
-			case DEFAULT_JRE:
-				fUseDefaultJRE.setSelection(true);
-				break;
-			case PROJECT_JRE:
-				fUseProjectJRE.setSelection(true);
-				break;
-			case EE_JRE:
-				fUseEEJRE.setSelection(true);
-				break;
-			}
+            switch (getLastSelectedJREKind()) {
+                case DEFAULT_JRE:
+                    this.fUseDefaultJRE.setSelection(true);
+                    break;
+                case PROJECT_JRE:
+                    this.fUseProjectJRE.setSelection(true);
+                    break;
+                case EE_JRE:
+                    this.fUseEEJRE.setSelection(true);
+                    break;
+            }
 
-			fJRECombo.setEnabled(fUseProjectJRE.isSelected());
-			fEECombo.setEnabled(fUseEEJRE.isSelected());
+            this.fJRECombo.setEnabled(this.fUseProjectJRE.isSelected());
+            this.fEECombo.setEnabled(this.fUseEEJRE.isSelected());
 
-			fUseDefaultJRE.setDialogFieldListener(this);
-			fUseProjectJRE.setDialogFieldListener(this);
-			fUseEEJRE.setDialogFieldListener(this);
-		}
+            this.fUseDefaultJRE.setDialogFieldListener(this);
+            this.fUseProjectJRE.setDialogFieldListener(this);
+            this.fUseEEJRE.setDialogFieldListener(this);
+        }
 
-		public Control createControl(Composite composite) {
-			fGroup = new Group(composite, SWT.NONE);
-			fGroup.setFont(composite.getFont());
-			fGroup.setLayout(initGridLayout(new GridLayout(2, false), true));
-			fGroup.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_JREGroup_title);
+        public Control createControl(Composite composite) {
+            this.fGroup = new Group(composite, SWT.NONE);
+            this.fGroup.setFont(composite.getFont());
+            this.fGroup.setLayout(initGridLayout(new GridLayout(2, false), true));
+            this.fGroup.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_JREGroup_title);
 
-			fUseDefaultJRE.doFillIntoGrid(fGroup, 1);
+            this.fUseDefaultJRE.doFillIntoGrid(this.fGroup, 1);
 
-			fPreferenceLink = new Link(fGroup, SWT.NONE);
-			fPreferenceLink.setFont(fGroup.getFont());
-			fPreferenceLink.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_JREGroup_link_description);
-			fPreferenceLink.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false));
-			fPreferenceLink.addSelectionListener(this);
+            this.fPreferenceLink = new Link(this.fGroup, SWT.NONE);
+            this.fPreferenceLink.setFont(this.fGroup.getFont());
+            this.fPreferenceLink.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_JREGroup_link_description);
+            this.fPreferenceLink.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false));
+            this.fPreferenceLink.addSelectionListener(this);
 
-			Composite nonDefaultJREComposite = new Composite(fGroup, SWT.NONE);
-			nonDefaultJREComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-			GridLayout layout = new GridLayout(2, false);
-			layout.marginHeight = 0;
-			layout.marginWidth = 0;
-			nonDefaultJREComposite.setLayout(layout);
+            Composite nonDefaultJREComposite = new Composite(this.fGroup, SWT.NONE);
+            nonDefaultJREComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
+            GridLayout layout = new GridLayout(2, false);
+            layout.marginHeight = 0;
+            layout.marginWidth = 0;
+            nonDefaultJREComposite.setLayout(layout);
 
-			fUseProjectJRE.doFillIntoGrid(nonDefaultJREComposite, 1);
+            this.fUseProjectJRE.doFillIntoGrid(nonDefaultJREComposite, 1);
 
-			Combo comboControl = fJRECombo.getComboControl(nonDefaultJREComposite);
-			comboControl.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-			comboControl.setVisibleItemCount(30);
+            Combo comboControl = this.fJRECombo.getComboControl(nonDefaultJREComposite);
+            comboControl.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
+            comboControl.setVisibleItemCount(30);
 
-			fUseEEJRE.doFillIntoGrid(nonDefaultJREComposite, 1);
+            this.fUseEEJRE.doFillIntoGrid(nonDefaultJREComposite, 1);
 
-			Combo eeComboControl = fEECombo.getComboControl(nonDefaultJREComposite);
-			eeComboControl.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-			eeComboControl.setVisibleItemCount(30);
+            Combo eeComboControl = this.fEECombo.getComboControl(nonDefaultJREComposite);
+            eeComboControl.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
+            eeComboControl.setVisibleItemCount(30);
 
-			updateEnableState();
-			return fGroup;
-		}
+            updateEnableState();
+            return this.fGroup;
+        }
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see
-		 * org.eclipse.jdt.internal.ui.wizards.dialogfields.IDialogFieldListener
-		 * #dialogFieldChanged(org.eclipse.jdt.internal.ui.wizards.dialogfields.
-		 * DialogField)
-		 */
-		public void dialogFieldChanged(DialogField field) {
-			updateEnableState();
-			fDetectGroup.handlePossibleJVMChange();
-			if (field == fJRECombo) {
-				if (fUseProjectJRE.isSelected()) {
-					storeSelectionValue(fJRECombo, LAST_SELECTED_JRE_SETTINGS_KEY);
-				}
-			} else if (field == fEECombo) {
-				if (fUseEEJRE.isSelected()) {
-					storeSelectionValue(fEECombo, LAST_SELECTED_EE_SETTINGS_KEY);
-				}
-			} else if (field == fUseDefaultJRE) {
-				if (fUseDefaultJRE.isSelected()) {
-					JavaPlugin.getDefault().getDialogSettings().put(LAST_SELECTED_JRE_KIND, DEFAULT_JRE);
-					fUseProjectJRE.setSelection(false);
-					fUseEEJRE.setSelection(false);
-				}
-			} else if (field == fUseProjectJRE) {
-				if (fUseProjectJRE.isSelected()) {
-					JavaPlugin.getDefault().getDialogSettings().put(LAST_SELECTED_JRE_KIND, PROJECT_JRE);
-					fUseDefaultJRE.setSelection(false);
-					fUseEEJRE.setSelection(false);
-				}
-			} else if (field == fUseEEJRE) {
-				if (fUseEEJRE.isSelected()) {
-					JavaPlugin.getDefault().getDialogSettings().put(LAST_SELECTED_JRE_KIND, EE_JRE);
-					fUseDefaultJRE.setSelection(false);
-					fUseProjectJRE.setSelection(false);
-				}
-			}
-		}
+        /*
+         * (non-Javadoc)
+         *
+         * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IDialogFieldListener
+         * #dialogFieldChanged(org.eclipse.jdt.internal.ui.wizards.dialogfields. DialogField)
+         */
+        public void dialogFieldChanged(DialogField field) {
+            updateEnableState();
+            NewJavaProjectWizardPageOneCOPY.this.fDetectGroup.handlePossibleJVMChange();
+            if (field == this.fJRECombo) {
+                if (this.fUseProjectJRE.isSelected()) {
+                    storeSelectionValue(this.fJRECombo, LAST_SELECTED_JRE_SETTINGS_KEY);
+                }
+            } else if (field == this.fEECombo) {
+                if (this.fUseEEJRE.isSelected()) {
+                    storeSelectionValue(this.fEECombo, LAST_SELECTED_EE_SETTINGS_KEY);
+                }
+            } else if (field == this.fUseDefaultJRE) {
+                if (this.fUseDefaultJRE.isSelected()) {
+                    JavaPlugin.getDefault().getDialogSettings().put(LAST_SELECTED_JRE_KIND, DEFAULT_JRE);
+                    this.fUseProjectJRE.setSelection(false);
+                    this.fUseEEJRE.setSelection(false);
+                }
+            } else if (field == this.fUseProjectJRE) {
+                if (this.fUseProjectJRE.isSelected()) {
+                    JavaPlugin.getDefault().getDialogSettings().put(LAST_SELECTED_JRE_KIND, PROJECT_JRE);
+                    this.fUseDefaultJRE.setSelection(false);
+                    this.fUseEEJRE.setSelection(false);
+                }
+            } else if (field == this.fUseEEJRE) {
+                if (this.fUseEEJRE.isSelected()) {
+                    JavaPlugin.getDefault().getDialogSettings().put(LAST_SELECTED_JRE_KIND, EE_JRE);
+                    this.fUseDefaultJRE.setSelection(false);
+                    this.fUseProjectJRE.setSelection(false);
+                }
+            }
+        }
 
-		@SuppressWarnings("unchecked")
-		private void fillExecutionEnvironments(ComboDialogField comboField) {
-			String selectedItem = getLastSelectedEE();
-			int selectionIndex = -1;
-			if (fUseEEJRE.isSelected()) {
-				selectionIndex = comboField.getSelectionIndex();
-				if (selectionIndex != -1) {// paranoia
-					selectedItem = comboField.getItems()[selectionIndex];
-				}
-			}
+        @SuppressWarnings("unchecked")
+        private void fillExecutionEnvironments(ComboDialogField comboField) {
+            String selectedItem = getLastSelectedEE();
+            int selectionIndex = -1;
+            if (this.fUseEEJRE.isSelected()) {
+                selectionIndex = comboField.getSelectionIndex();
+                if (selectionIndex != -1) {// paranoia
+                    selectedItem = comboField.getItems()[selectionIndex];
+                }
+            }
 
-			fInstalledEEs = JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments();
-			Arrays.sort(fInstalledEEs, new Comparator() {
-				public int compare(Object arg0, Object arg1) {
-					return Policy.getComparator().compare(((IExecutionEnvironment) arg0).getId(),
-							((IExecutionEnvironment) arg1).getId());
-				}
-			});
-			selectionIndex = -1;// find new index
-			String[] eeLabels = new String[fInstalledEEs.length];
-			fEECompliance = new String[fInstalledEEs.length];
-			for (int i = 0; i < fInstalledEEs.length; i++) {
-				eeLabels[i] = fInstalledEEs[i].getId();
-				if (selectedItem != null && eeLabels[i].equals(selectedItem)) {
-					selectionIndex = i;
-				}
-				fEECompliance[i] = JavaModelUtil.getExecutionEnvironmentCompliance(fInstalledEEs[i]);
-			}
-			comboField.setItems(eeLabels);
-			if (selectionIndex == -1) {
-				comboField.selectItem(getDefaultEEName());
-			} else {
-				comboField.selectItem(selectedItem);
-			}
-		}
+            this.fInstalledEEs = JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments();
+            Arrays.sort(this.fInstalledEEs, new Comparator() {
 
-		@SuppressWarnings("unchecked")
-		private void fillInstalledJREs(ComboDialogField comboField) {
-			String selectedItem = getLastSelectedJRE();
-			int selectionIndex = -1;
-			if (fUseProjectJRE.isSelected()) {
-				selectionIndex = comboField.getSelectionIndex();
-				if (selectionIndex != -1) {// paranoia
-					selectedItem = comboField.getItems()[selectionIndex];
-				}
-			}
+                public int compare(Object arg0, Object arg1) {
+                    return Policy.getComparator().compare(((IExecutionEnvironment) arg0).getId(), ((IExecutionEnvironment) arg1).getId());
+                }
+            });
+            selectionIndex = -1;// find new index
+            String[] eeLabels = new String[this.fInstalledEEs.length];
+            this.fEECompliance = new String[this.fInstalledEEs.length];
+            for (int i = 0; i < this.fInstalledEEs.length; i++) {
+                eeLabels[i] = this.fInstalledEEs[i].getId();
+                if (selectedItem != null && eeLabels[i].equals(selectedItem)) {
+                    selectionIndex = i;
+                }
+                this.fEECompliance[i] = JavaModelUtil.getExecutionEnvironmentCompliance(this.fInstalledEEs[i]);
+            }
+            comboField.setItems(eeLabels);
+            if (selectionIndex == -1) {
+                comboField.selectItem(getDefaultEEName());
+            } else {
+                comboField.selectItem(selectedItem);
+            }
+        }
 
-			fInstalledJVMs = getWorkspaceJREs();
-			Arrays.sort(fInstalledJVMs, new Comparator() {
+        @SuppressWarnings("unchecked")
+        private void fillInstalledJREs(ComboDialogField comboField) {
+            String selectedItem = getLastSelectedJRE();
+            int selectionIndex = -1;
+            if (this.fUseProjectJRE.isSelected()) {
+                selectionIndex = comboField.getSelectionIndex();
+                if (selectionIndex != -1) {// paranoia
+                    selectedItem = comboField.getItems()[selectionIndex];
+                }
+            }
 
-				public int compare(Object arg0, Object arg1) {
-					IVMInstall i0 = (IVMInstall) arg0;
-					IVMInstall i1 = (IVMInstall) arg1;
-					if (i1 instanceof IVMInstall2 && i0 instanceof IVMInstall2) {
-						String cc0 = JavaModelUtil.getCompilerCompliance((IVMInstall2) i0, JavaCore.VERSION_1_4);
-						String cc1 = JavaModelUtil.getCompilerCompliance((IVMInstall2) i1, JavaCore.VERSION_1_4);
-						int result = cc1.compareTo(cc0);
-						if (result != 0) {
-							return result;
-						}
-					}
-					return Policy.getComparator().compare(i0.getName(), i1.getName());
-				}
+            this.fInstalledJVMs = getWorkspaceJREs();
+            Arrays.sort(this.fInstalledJVMs, new Comparator() {
 
-			});
-			selectionIndex = -1;// find new index
-			String[] jreLabels = new String[fInstalledJVMs.length];
-			fJRECompliance = new String[fInstalledJVMs.length];
-			for (int i = 0; i < fInstalledJVMs.length; i++) {
-				jreLabels[i] = fInstalledJVMs[i].getName();
-				if (selectedItem != null && jreLabels[i].equals(selectedItem)) {
-					selectionIndex = i;
-				}
-				if (fInstalledJVMs[i] instanceof IVMInstall2) {
-					fJRECompliance[i] = JavaModelUtil.getCompilerCompliance((IVMInstall2) fInstalledJVMs[i],
-							JavaCore.VERSION_1_4);
-				} else {
-					fJRECompliance[i] = JavaCore.VERSION_1_4;
-				}
-			}
-			comboField.setItems(jreLabels);
-			if (selectionIndex == -1) {
-				comboField.selectItem(getDefaultJVMName());
-			} else {
-				comboField.selectItem(selectedItem);
-			}
-		}
+                public int compare(Object arg0, Object arg1) {
+                    IVMInstall i0 = (IVMInstall) arg0;
+                    IVMInstall i1 = (IVMInstall) arg1;
+                    if (i1 instanceof IVMInstall2 && i0 instanceof IVMInstall2) {
+                        String cc0 = JavaModelUtil.getCompilerCompliance((IVMInstall2) i0, JavaCore.VERSION_1_4);
+                        String cc1 = JavaModelUtil.getCompilerCompliance((IVMInstall2) i1, JavaCore.VERSION_1_4);
+                        int result = cc1.compareTo(cc0);
+                        if (result != 0) {
+                            return result;
+                        }
+                    }
+                    return Policy.getComparator().compare(i0.getName(), i1.getName());
+                }
 
-		private String getDefaultEEName() {
-			IVMInstall defaultVM = JavaRuntime.getDefaultVMInstall();
+            });
+            selectionIndex = -1;// find new index
+            String[] jreLabels = new String[this.fInstalledJVMs.length];
+            this.fJRECompliance = new String[this.fInstalledJVMs.length];
+            for (int i = 0; i < this.fInstalledJVMs.length; i++) {
+                jreLabels[i] = this.fInstalledJVMs[i].getName();
+                if (selectedItem != null && jreLabels[i].equals(selectedItem)) {
+                    selectionIndex = i;
+                }
+                if (this.fInstalledJVMs[i] instanceof IVMInstall2) {
+                    this.fJRECompliance[i] = JavaModelUtil.getCompilerCompliance((IVMInstall2) this.fInstalledJVMs[i], JavaCore.VERSION_1_4);
+                } else {
+                    this.fJRECompliance[i] = JavaCore.VERSION_1_4;
+                }
+            }
+            comboField.setItems(jreLabels);
+            if (selectionIndex == -1) {
+                comboField.selectItem(getDefaultJVMName());
+            } else {
+                comboField.selectItem(selectedItem);
+            }
+        }
 
-			IExecutionEnvironment[] environments = JavaRuntime.getExecutionEnvironmentsManager()
-					.getExecutionEnvironments();
-			if (defaultVM != null) {
-				for (IExecutionEnvironment environment : environments) {
-					IVMInstall eeDefaultVM = environment.getDefaultVM();
-					if (eeDefaultVM != null && defaultVM.getId().equals(eeDefaultVM.getId())) {
-						return environment.getId();
-					}
-				}
-			}
+        private String getDefaultEEName() {
+            IVMInstall defaultVM = JavaRuntime.getDefaultVMInstall();
 
-			String defaultCC;
-			if (defaultVM instanceof IVMInstall2) {
-				defaultCC = JavaModelUtil.getCompilerCompliance((IVMInstall2) defaultVM, JavaCore.VERSION_1_4);
-			} else {
-				defaultCC = JavaCore.VERSION_1_4;
-			}
+            IExecutionEnvironment[] environments = JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments();
+            if (defaultVM != null) {
+                for (IExecutionEnvironment environment : environments) {
+                    IVMInstall eeDefaultVM = environment.getDefaultVM();
+                    if (eeDefaultVM != null && defaultVM.getId().equals(eeDefaultVM.getId())) {
+                        return environment.getId();
+                    }
+                }
+            }
 
-			for (IExecutionEnvironment environment : environments) {
-				String eeCompliance = JavaModelUtil.getExecutionEnvironmentCompliance(environment);
-				if (defaultCC.endsWith(eeCompliance)) {
-					return environment.getId();
-				}
-			}
+            String defaultCC;
+            if (defaultVM instanceof IVMInstall2) {
+                defaultCC = JavaModelUtil.getCompilerCompliance((IVMInstall2) defaultVM, JavaCore.VERSION_1_4);
+            } else {
+                defaultCC = JavaCore.VERSION_1_4;
+            }
 
-			return "J2SE-1.5"; //$NON-NLS-1$
-		}
+            for (IExecutionEnvironment environment : environments) {
+                String eeCompliance = JavaModelUtil.getExecutionEnvironmentCompliance(environment);
+                if (defaultCC.endsWith(eeCompliance)) {
+                    return environment.getId();
+                }
+            }
 
-		private String getDefaultJVMLabel() {
-			return Messages.format(
-					NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_JREGroup_default_compliance,
-					getDefaultJVMName());
-		}
+            return "J2SE-1.5"; //$NON-NLS-1$
+        }
 
-		private String getDefaultJVMName() {
-			IVMInstall install = JavaRuntime.getDefaultVMInstall();
-			if (install != null) {
-				return install.getName();
-			} else {
-				return NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_UnknownDefaultJRE_name;
-			}
-		}
+        private String getDefaultJVMLabel() {
+            return Messages.format(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_JREGroup_default_compliance, getDefaultJVMName());
+        }
 
-		public IPath getJREContainerPath() {
-			if (fUseProjectJRE.isSelected()) {
-				int index = fJRECombo.getSelectionIndex();
-				if (index >= 0 && index < fInstalledJVMs.length) { // paranoia
-					return JavaRuntime.newJREContainerPath(fInstalledJVMs[index]);
-				}
-			} else if (fUseEEJRE.isSelected()) {
-				int index = fEECombo.getSelectionIndex();
-				if (index >= 0 && index < fInstalledEEs.length) { // paranoia
-					return JavaRuntime.newJREContainerPath(fInstalledEEs[index]);
-				}
-			}
-			return null;
-		}
+        private String getDefaultJVMName() {
+            IVMInstall install = JavaRuntime.getDefaultVMInstall();
+            if (install != null) {
+                return install.getName();
+            } else {
+                return NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_UnknownDefaultJRE_name;
+            }
+        }
 
-		private String getLastSelectedEE() {
-			IDialogSettings settings = JavaPlugin.getDefault().getDialogSettings();
-			return settings.get(LAST_SELECTED_EE_SETTINGS_KEY);
-		}
+        public IPath getJREContainerPath() {
+            if (this.fUseProjectJRE.isSelected()) {
+                int index = this.fJRECombo.getSelectionIndex();
+                if (index >= 0 && index < this.fInstalledJVMs.length) { // paranoia
+                    return JavaRuntime.newJREContainerPath(this.fInstalledJVMs[index]);
+                }
+            } else if (this.fUseEEJRE.isSelected()) {
+                int index = this.fEECombo.getSelectionIndex();
+                if (index >= 0 && index < this.fInstalledEEs.length) { // paranoia
+                    return JavaRuntime.newJREContainerPath(this.fInstalledEEs[index]);
+                }
+            }
+            return null;
+        }
 
-		private String getLastSelectedJRE() {
-			IDialogSettings settings = JavaPlugin.getDefault().getDialogSettings();
-			return settings.get(LAST_SELECTED_JRE_SETTINGS_KEY);
-		}
+        private String getLastSelectedEE() {
+            IDialogSettings settings = JavaPlugin.getDefault().getDialogSettings();
+            return settings.get(LAST_SELECTED_EE_SETTINGS_KEY);
+        }
 
-		private int getLastSelectedJREKind() {
-			IDialogSettings settings = JavaPlugin.getDefault().getDialogSettings();
-			if (settings.get(LAST_SELECTED_JRE_KIND) == null) {
-				return DEFAULT_JRE;
-			}
+        private String getLastSelectedJRE() {
+            IDialogSettings settings = JavaPlugin.getDefault().getDialogSettings();
+            return settings.get(LAST_SELECTED_JRE_SETTINGS_KEY);
+        }
 
-			return settings.getInt(LAST_SELECTED_JRE_KIND);
-		}
+        private int getLastSelectedJREKind() {
+            IDialogSettings settings = JavaPlugin.getDefault().getDialogSettings();
+            if (settings.get(LAST_SELECTED_JRE_KIND) == null) {
+                return DEFAULT_JRE;
+            }
 
-		public String getSelectedCompilerCompliance() {
-			if (fUseProjectJRE.isSelected()) {
-				int index = fJRECombo.getSelectionIndex();
-				if (index >= 0 && index < fJRECompliance.length) { // paranoia
-					return fJRECompliance[index];
-				}
-			} else if (fUseEEJRE.isSelected()) {
-				int index = fEECombo.getSelectionIndex();
-				if (index >= 0 && index < fEECompliance.length) { // paranoia
-					return fEECompliance[index];
-				}
-			}
-			return null;
-		}
+            return settings.getInt(LAST_SELECTED_JRE_KIND);
+        }
 
-		public IVMInstall getSelectedJVM() {
-			if (fUseProjectJRE.isSelected()) {
-				int index = fJRECombo.getSelectionIndex();
-				if (index >= 0 && index < fInstalledJVMs.length) { // paranoia
-					return fInstalledJVMs[index];
-				}
-			} else if (fUseEEJRE.isSelected()) {
+        public String getSelectedCompilerCompliance() {
+            if (this.fUseProjectJRE.isSelected()) {
+                int index = this.fJRECombo.getSelectionIndex();
+                if (index >= 0 && index < this.fJRECompliance.length) { // paranoia
+                    return this.fJRECompliance[index];
+                }
+            } else if (this.fUseEEJRE.isSelected()) {
+                int index = this.fEECombo.getSelectionIndex();
+                if (index >= 0 && index < this.fEECompliance.length) { // paranoia
+                    return this.fEECompliance[index];
+                }
+            }
+            return null;
+        }
 
-			}
-			return null;
-		}
+        public IVMInstall getSelectedJVM() {
+            if (this.fUseProjectJRE.isSelected()) {
+                int index = this.fJRECombo.getSelectionIndex();
+                if (index >= 0 && index < this.fInstalledJVMs.length) { // paranoia
+                    return this.fInstalledJVMs[index];
+                }
+            } else if (this.fUseEEJRE.isSelected()) {
 
-		@SuppressWarnings("unchecked")
-		private IVMInstall[] getWorkspaceJREs() {
-			List standins = new ArrayList();
-			IVMInstallType[] types = JavaRuntime.getVMInstallTypes();
-			for (IVMInstallType type : types) {
-				IVMInstall[] installs = type.getVMInstalls();
-				for (IVMInstall install : installs) {
-					standins.add(new VMStandin(install));
-				}
-			}
-			return ((IVMInstall[]) standins.toArray(new IVMInstall[standins.size()]));
-		}
+            }
+            return null;
+        }
 
-		public void handlePossibleJVMChange() {
-			fUseDefaultJRE.setLabelText(getDefaultJVMLabel());
-			fillInstalledJREs(fJRECombo);
-			fillExecutionEnvironments(fEECombo);
-		}
+        @SuppressWarnings("unchecked")
+        private IVMInstall[] getWorkspaceJREs() {
+            List standins = new ArrayList();
+            IVMInstallType[] types = JavaRuntime.getVMInstallTypes();
+            for (IVMInstallType type : types) {
+                IVMInstall[] installs = type.getVMInstalls();
+                for (IVMInstall install : installs) {
+                    standins.add(new VMStandin(install));
+                }
+            }
+            return (IVMInstall[]) standins.toArray(new IVMInstall[standins.size()]);
+        }
 
-		private void storeSelectionValue(ComboDialogField combo, String preferenceKey) {
-			int index = combo.getSelectionIndex();
-			if (index == -1) {
-				return;
-			}
+        public void handlePossibleJVMChange() {
+            this.fUseDefaultJRE.setLabelText(getDefaultJVMLabel());
+            fillInstalledJREs(this.fJRECombo);
+            fillExecutionEnvironments(this.fEECombo);
+        }
 
-			String item = combo.getItems()[index];
-			JavaPlugin.getDefault().getDialogSettings().put(preferenceKey, item);
-		}
+        private void storeSelectionValue(ComboDialogField combo, String preferenceKey) {
+            int index = combo.getSelectionIndex();
+            if (index == -1) {
+                return;
+            }
 
-		public void update(Observable o, Object arg) {
-			updateEnableState();
-		}
+            String item = combo.getItems()[index];
+            JavaPlugin.getDefault().getDialogSettings().put(preferenceKey, item);
+        }
 
-		private void updateEnableState() {
-			final boolean detect = fDetectGroup.mustDetect();
-			fUseDefaultJRE.setEnabled(!detect);
-			fUseProjectJRE.setEnabled(!detect);
-			fUseEEJRE.setEnabled(!detect);
-			fJRECombo.setEnabled(!detect && fUseProjectJRE.isSelected());
-			fEECombo.setEnabled(!detect && fUseEEJRE.isSelected());
-			if (fPreferenceLink != null) {
-				fPreferenceLink.setEnabled(!detect);
-			}
-			if (fGroup != null) {
-				fGroup.setEnabled(!detect);
-			}
-		}
+        public void update(Observable o, Object arg) {
+            updateEnableState();
+        }
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see
-		 * org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org
-		 * .eclipse.swt.events.SelectionEvent)
-		 */
-		@SuppressWarnings("unchecked")
-		public void widgetDefaultSelected(SelectionEvent e) {
-			String jreID = BuildPathSupport.JRE_PREF_PAGE_ID;
-			String complianceId = CompliancePreferencePage.PREF_ID;
-			Map data = new HashMap();
-			data.put(PropertyAndPreferencePage.DATA_NO_LINK, Boolean.TRUE);
-			PreferencesUtil.createPreferenceDialogOn(getShell(), jreID, new String[] { jreID, complianceId }, data)
-					.open();
+        private void updateEnableState() {
+            final boolean detect = NewJavaProjectWizardPageOneCOPY.this.fDetectGroup.mustDetect();
+            this.fUseDefaultJRE.setEnabled(!detect);
+            this.fUseProjectJRE.setEnabled(!detect);
+            this.fUseEEJRE.setEnabled(!detect);
+            this.fJRECombo.setEnabled(!detect && this.fUseProjectJRE.isSelected());
+            this.fEECombo.setEnabled(!detect && this.fUseEEJRE.isSelected());
+            if (this.fPreferenceLink != null) {
+                this.fPreferenceLink.setEnabled(!detect);
+            }
+            if (this.fGroup != null) {
+                this.fGroup.setEnabled(!detect);
+            }
+        }
 
-			handlePossibleJVMChange();
-			fDetectGroup.handlePossibleJVMChange();
-		}
+        /*
+         * (non-Javadoc)
+         *
+         * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org .eclipse.swt.events.SelectionEvent)
+         */
+        @SuppressWarnings("unchecked")
+        public void widgetDefaultSelected(SelectionEvent e) {
+            String jreID = BuildPathSupport.JRE_PREF_PAGE_ID;
+            String complianceId = CompliancePreferencePage.PREF_ID;
+            Map data = new HashMap();
+            data.put(PropertyAndPreferencePage.DATA_NO_LINK, Boolean.TRUE);
+            PreferencesUtil.createPreferenceDialogOn(getShell(), jreID, new String[] { jreID, complianceId }, data).open();
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see
-		 * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse
-		 * .swt.events.SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-			widgetDefaultSelected(e);
-		}
-	}
+            handlePossibleJVMChange();
+            NewJavaProjectWizardPageOneCOPY.this.fDetectGroup.handlePossibleJVMChange();
+        }
 
-	/**
-	 * Request a project layout.
-	 */
-	private final class LayoutGroup implements Observer, SelectionListener {
+        /*
+         * (non-Javadoc)
+         *
+         * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse .swt.events.SelectionEvent)
+         */
+        public void widgetSelected(SelectionEvent e) {
+            widgetDefaultSelected(e);
+        }
+    }
 
-		private final SelectionButtonDialogField fStdRadio, fSrcBinRadio;
+    /**
+     * Request a project layout.
+     */
+    private final class LayoutGroup implements Observer, SelectionListener {
 
-		private Group fGroup;
+        private final SelectionButtonDialogField fStdRadio, fSrcBinRadio;
 
-		private Link fPreferenceLink;
+        private Group fGroup;
 
-		public LayoutGroup() {
-			fStdRadio = new SelectionButtonDialogField(SWT.RADIO);
-			fStdRadio.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LayoutGroup_option_oneFolder);
+        private Link fPreferenceLink;
 
-			fSrcBinRadio = new SelectionButtonDialogField(SWT.RADIO);
-			fSrcBinRadio.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LayoutGroup_option_separateFolders);
+        public LayoutGroup() {
+            this.fStdRadio = new SelectionButtonDialogField(SWT.RADIO);
+            this.fStdRadio.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LayoutGroup_option_oneFolder);
 
-			boolean useSrcBin = PreferenceConstants.getPreferenceStore().getBoolean(
-					PreferenceConstants.SRCBIN_FOLDERS_IN_NEWPROJ);
-			fSrcBinRadio.setSelection(useSrcBin);
-			fStdRadio.setSelection(!useSrcBin);
-		}
+            this.fSrcBinRadio = new SelectionButtonDialogField(SWT.RADIO);
+            this.fSrcBinRadio.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LayoutGroup_option_separateFolders);
 
-		public Control createContent(Composite composite) {
-			fGroup = new Group(composite, SWT.NONE);
-			fGroup.setFont(composite.getFont());
-			fGroup.setLayout(initGridLayout(new GridLayout(3, false), true));
-			fGroup.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LayoutGroup_title);
+            boolean useSrcBin = PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.SRCBIN_FOLDERS_IN_NEWPROJ);
+            this.fSrcBinRadio.setSelection(useSrcBin);
+            this.fStdRadio.setSelection(!useSrcBin);
+        }
 
-			fStdRadio.doFillIntoGrid(fGroup, 3);
-			LayoutUtil.setHorizontalGrabbing(fStdRadio.getSelectionButton(null));
+        public Control createContent(Composite composite) {
+            this.fGroup = new Group(composite, SWT.NONE);
+            this.fGroup.setFont(composite.getFont());
+            this.fGroup.setLayout(initGridLayout(new GridLayout(3, false), true));
+            this.fGroup.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LayoutGroup_title);
 
-			fSrcBinRadio.doFillIntoGrid(fGroup, 2);
+            this.fStdRadio.doFillIntoGrid(this.fGroup, 3);
+            LayoutUtil.setHorizontalGrabbing(this.fStdRadio.getSelectionButton(null));
 
-			fPreferenceLink = new Link(fGroup, SWT.NONE);
-			fPreferenceLink.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LayoutGroup_link_description);
-			fPreferenceLink.setLayoutData(new GridData(GridData.END, GridData.END, false, false));
-			fPreferenceLink.addSelectionListener(this);
+            this.fSrcBinRadio.doFillIntoGrid(this.fGroup, 2);
 
-			updateEnableState();
-			return fGroup;
-		}
+            this.fPreferenceLink = new Link(this.fGroup, SWT.NONE);
+            this.fPreferenceLink.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LayoutGroup_link_description);
+            this.fPreferenceLink.setLayoutData(new GridData(GridData.END, GridData.END, false, false));
+            this.fPreferenceLink.addSelectionListener(this);
 
-		/**
-		 * Return <code>true</code> if the user specified to create 'source' and 'bin' folders.
-		 * 
-		 * @return returns <code>true</code> if the user specified to create 'source' and 'bin' folders.
-		 */
-		public boolean isSrcBin() {
-			return fSrcBinRadio.isSelected();
-		}
+            updateEnableState();
+            return this.fGroup;
+        }
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see java.util.Observer#update(java.util.Observable,
-		 * java.lang.Object)
-		 */
-		public void update(Observable o, Object arg) {
-			updateEnableState();
-		}
+        /**
+         * Return <code>true</code> if the user specified to create 'source' and 'bin' folders.
+         *
+         * @return returns <code>true</code> if the user specified to create 'source' and 'bin' folders.
+         */
+        public boolean isSrcBin() {
+            return this.fSrcBinRadio.isSelected();
+        }
 
-		private void updateEnableState() {
-			final boolean detect = fDetectGroup.mustDetect();
-			fStdRadio.setEnabled(!detect);
-			fSrcBinRadio.setEnabled(!detect);
-			if (fPreferenceLink != null) {
-				fPreferenceLink.setEnabled(!detect);
-			}
-			if (fGroup != null) {
-				fGroup.setEnabled(!detect);
-			}
-		}
+        /*
+         * (non-Javadoc)
+         *
+         * @see java.util.Observer#update(java.util.Observable, java.lang.Object)
+         */
+        public void update(Observable o, Object arg) {
+            updateEnableState();
+        }
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see
-		 * org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org
-		 * .eclipse.swt.events.SelectionEvent)
-		 */
-		public void widgetDefaultSelected(SelectionEvent e) {
-			String id = NewJavaProjectPreferencePage.ID;
-			PreferencesUtil.createPreferenceDialogOn(getShell(), id, new String[] { id }, null).open();
-			fDetectGroup.handlePossibleJVMChange();
-			fJREGroup.handlePossibleJVMChange();
-		}
+        private void updateEnableState() {
+            final boolean detect = NewJavaProjectWizardPageOneCOPY.this.fDetectGroup.mustDetect();
+            this.fStdRadio.setEnabled(!detect);
+            this.fSrcBinRadio.setEnabled(!detect);
+            if (this.fPreferenceLink != null) {
+                this.fPreferenceLink.setEnabled(!detect);
+            }
+            if (this.fGroup != null) {
+                this.fGroup.setEnabled(!detect);
+            }
+        }
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see
-		 * org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse
-		 * .swt.events.SelectionEvent)
-		 */
-		public void widgetSelected(SelectionEvent e) {
-			widgetDefaultSelected(e);
-		}
-	}
+        /*
+         * (non-Javadoc)
+         *
+         * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org .eclipse.swt.events.SelectionEvent)
+         */
+        public void widgetDefaultSelected(SelectionEvent e) {
+            String id = NewJavaProjectPreferencePage.ID;
+            PreferencesUtil.createPreferenceDialogOn(getShell(), id, new String[] { id }, null).open();
+            NewJavaProjectWizardPageOneCOPY.this.fDetectGroup.handlePossibleJVMChange();
+            NewJavaProjectWizardPageOneCOPY.this.fJREGroup.handlePossibleJVMChange();
+        }
 
-	/**
-	 * Request a location. Fires an event whenever the checkbox or the location field is changed, regardless of whether
-	 * the change originates from the user or has been invoked programmatically.
-	 */
-	private final class LocationGroup extends Observable implements Observer, IStringButtonAdapter,
-			IDialogFieldListener {
+        /*
+         * (non-Javadoc)
+         *
+         * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse .swt.events.SelectionEvent)
+         */
+        public void widgetSelected(SelectionEvent e) {
+            widgetDefaultSelected(e);
+        }
+    }
 
-		private static final String DIALOGSTORE_LAST_EXTERNAL_LOC = JavaUI.ID_PLUGIN + ".last.external.project"; //$NON-NLS-1$
+    /**
+     * Request a location. Fires an event whenever the checkbox or the location field is changed, regardless of whether
+     * the change originates from the user or has been invoked programmatically.
+     */
+    private final class LocationGroup extends Observable implements Observer, IStringButtonAdapter, IDialogFieldListener {
 
-		protected final SelectionButtonDialogField fWorkspaceRadio;
+        private static final String DIALOGSTORE_LAST_EXTERNAL_LOC = JavaUI.ID_PLUGIN + ".last.external.project"; //$NON-NLS-1$
 
-		protected final SelectionButtonDialogField fExternalRadio;
+        protected final SelectionButtonDialogField fWorkspaceRadio;
 
-		protected final StringButtonDialogField fLocation;
+        protected final SelectionButtonDialogField fExternalRadio;
 
-		private String fPreviousExternalLocation;
+        protected final StringButtonDialogField fLocation;
 
-		public LocationGroup() {
-			fWorkspaceRadio = new SelectionButtonDialogField(SWT.RADIO);
-			fWorkspaceRadio.setDialogFieldListener(this);
-			fWorkspaceRadio.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LocationGroup_workspace_desc);
+        private String fPreviousExternalLocation;
 
-			fExternalRadio = new SelectionButtonDialogField(SWT.RADIO);
-			fExternalRadio.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LocationGroup_external_desc);
+        public LocationGroup() {
+            this.fWorkspaceRadio = new SelectionButtonDialogField(SWT.RADIO);
+            this.fWorkspaceRadio.setDialogFieldListener(this);
+            this.fWorkspaceRadio.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LocationGroup_workspace_desc);
 
-			fLocation = new StringButtonDialogField(this);
-			fLocation.setDialogFieldListener(this);
-			fLocation.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LocationGroup_locationLabel_desc);
-			fLocation.setButtonLabel(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LocationGroup_browseButton_desc);
+            this.fExternalRadio = new SelectionButtonDialogField(SWT.RADIO);
+            this.fExternalRadio.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LocationGroup_external_desc);
 
-			fExternalRadio.attachDialogField(fLocation);
+            this.fLocation = new StringButtonDialogField(this);
+            this.fLocation.setDialogFieldListener(this);
+            this.fLocation.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LocationGroup_locationLabel_desc);
+            this.fLocation.setButtonLabel(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LocationGroup_browseButton_desc);
 
-			fWorkspaceRadio.setSelection(true);
-			fExternalRadio.setSelection(false);
+            this.fExternalRadio.attachDialogField(this.fLocation);
 
-			fPreviousExternalLocation = ""; //$NON-NLS-1$
-		}
+            this.fWorkspaceRadio.setSelection(true);
+            this.fExternalRadio.setSelection(false);
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see
-		 * org.eclipse.jdt.internal.ui.wizards.dialogfields.IStringButtonAdapter
-		 * #
-		 * changeControlPressed(org.eclipse.jdt.internal.ui.wizards.dialogfields
-		 * .DialogField)
-		 */
-		public void changeControlPressed(DialogField field) {
-			final DirectoryDialog dialog = new DirectoryDialog(getShell());
-			dialog.setMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_directory_message);
-			String directoryName = fLocation.getText().trim();
-			if (directoryName.length() == 0) {
-				String prevLocation = JavaPlugin.getDefault().getDialogSettings().get(DIALOGSTORE_LAST_EXTERNAL_LOC);
-				if (prevLocation != null) {
-					directoryName = prevLocation;
-				}
-			}
+            this.fPreviousExternalLocation = ""; //$NON-NLS-1$
+        }
 
-			if (directoryName.length() > 0) {
-				final File path = new File(directoryName);
-				if (path.exists()) {
-					dialog.setFilterPath(directoryName);
-				}
-			}
-			final String selectedDirectory = dialog.open();
-			if (selectedDirectory != null) {
-				fLocation.setText(selectedDirectory);
-				JavaPlugin.getDefault().getDialogSettings().put(DIALOGSTORE_LAST_EXTERNAL_LOC, selectedDirectory);
-			}
-		}
+        /*
+         * (non-Javadoc)
+         *
+         * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IStringButtonAdapter #
+         * changeControlPressed(org.eclipse.jdt.internal.ui.wizards.dialogfields .DialogField)
+         */
+        public void changeControlPressed(DialogField field) {
+            final DirectoryDialog dialog = new DirectoryDialog(getShell());
+            dialog.setMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_directory_message);
+            String directoryName = this.fLocation.getText().trim();
+            if (directoryName.length() == 0) {
+                String prevLocation = JavaPlugin.getDefault().getDialogSettings().get(DIALOGSTORE_LAST_EXTERNAL_LOC);
+                if (prevLocation != null) {
+                    directoryName = prevLocation;
+                }
+            }
 
-		public Control createControl(Composite composite) {
-			final int numColumns = 3;
+            if (directoryName.length() > 0) {
+                final File path = new File(directoryName);
+                if (path.exists()) {
+                    dialog.setFilterPath(directoryName);
+                }
+            }
+            final String selectedDirectory = dialog.open();
+            if (selectedDirectory != null) {
+                this.fLocation.setText(selectedDirectory);
+                JavaPlugin.getDefault().getDialogSettings().put(DIALOGSTORE_LAST_EXTERNAL_LOC, selectedDirectory);
+            }
+        }
 
-			final Group group = new Group(composite, SWT.NONE);
-			group.setLayout(initGridLayout(new GridLayout(numColumns, false), true));
-			group.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LocationGroup_title);
+        public Control createControl(Composite composite) {
+            final int numColumns = 3;
 
-			fWorkspaceRadio.doFillIntoGrid(group, numColumns);
-			fExternalRadio.doFillIntoGrid(group, numColumns);
-			fLocation.doFillIntoGrid(group, numColumns);
-			LayoutUtil.setHorizontalGrabbing(fLocation.getTextControl(null));
+            final Group group = new Group(composite, SWT.NONE);
+            group.setLayout(initGridLayout(new GridLayout(numColumns, false), true));
+            group.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_LocationGroup_title);
 
-			return group;
-		}
+            this.fWorkspaceRadio.doFillIntoGrid(group, numColumns);
+            this.fExternalRadio.doFillIntoGrid(group, numColumns);
+            this.fLocation.doFillIntoGrid(group, numColumns);
+            LayoutUtil.setHorizontalGrabbing(this.fLocation.getTextControl(null));
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see
-		 * org.eclipse.jdt.internal.ui.wizards.dialogfields.IDialogFieldListener
-		 * #dialogFieldChanged(org.eclipse.jdt.internal.ui.wizards.dialogfields.
-		 * DialogField)
-		 */
-		public void dialogFieldChanged(DialogField field) {
-			if (field == fWorkspaceRadio) {
-				final boolean checked = fWorkspaceRadio.isSelected();
-				if (checked) {
-					fPreviousExternalLocation = fLocation.getText();
-					fLocation.setText(getDefaultPath(fNameGroup.getName()));
-				} else {
-					fLocation.setText(fPreviousExternalLocation);
-				}
-			}
-			fireEvent();
-		}
+            return group;
+        }
+
+        /*
+         * (non-Javadoc)
+         *
+         * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IDialogFieldListener
+         * #dialogFieldChanged(org.eclipse.jdt.internal.ui.wizards.dialogfields. DialogField)
+         */
+        public void dialogFieldChanged(DialogField field) {
+            if (field == this.fWorkspaceRadio) {
+                final boolean checked = this.fWorkspaceRadio.isSelected();
+                if (checked) {
+                    this.fPreviousExternalLocation = this.fLocation.getText();
+                    this.fLocation.setText(getDefaultPath(NewJavaProjectWizardPageOneCOPY.this.fNameGroup.getName()));
+                } else {
+                    this.fLocation.setText(this.fPreviousExternalLocation);
+                }
+            }
+            fireEvent();
+        }
 
-		protected void fireEvent() {
-			setChanged();
-			notifyObservers();
-		}
+        protected void fireEvent() {
+            setChanged();
+            notifyObservers();
+        }
 
-		protected String getDefaultPath(String name) {
-			final IPath path = Platform.getLocation().append(name);
-			return path.toOSString();
-		}
+        protected String getDefaultPath(String name) {
+            final IPath path = Platform.getLocation().append(name);
+            return path.toOSString();
+        }
 
-		public IPath getLocation() {
-			if (isWorkspaceRadioSelected()) {
-				return Platform.getLocation();
-			}
-			return Path.fromOSString(fLocation.getText().trim());
-		}
+        public IPath getLocation() {
+            if (isWorkspaceRadioSelected()) {
+                return Platform.getLocation();
+            }
+            return Path.fromOSString(this.fLocation.getText().trim());
+        }
 
-		/**
-		 * Returns <code>true</code> if the location is in the workspace
-		 * 
-		 * @return <code>true</code> if the location is in the workspace
-		 */
-		public boolean isLocationInWorkspace() {
-			final String location = fLocationGroup.getLocation().toOSString();
-			IPath projectPath = Path.fromOSString(location);
-			return Platform.getLocation().isPrefixOf(projectPath);
-		}
+        /**
+         * Returns <code>true</code> if the location is in the workspace
+         *
+         * @return <code>true</code> if the location is in the workspace
+         */
+        public boolean isLocationInWorkspace() {
+            final String location = NewJavaProjectWizardPageOneCOPY.this.fLocationGroup.getLocation().toOSString();
+            IPath projectPath = Path.fromOSString(location);
+            return Platform.getLocation().isPrefixOf(projectPath);
+        }
 
-		public boolean isWorkspaceRadioSelected() {
-			return fWorkspaceRadio.isSelected();
-		}
+        public boolean isWorkspaceRadioSelected() {
+            return this.fWorkspaceRadio.isSelected();
+        }
 
-		public void setLocation(IPath path) {
-			fWorkspaceRadio.setSelection(path == null);
-			if (path != null) {
-				fLocation.setText(path.toOSString());
-			} else {
-				fLocation.setText(getDefaultPath(fNameGroup.getName()));
-			}
-			fireEvent();
-		}
+        public void setLocation(IPath path) {
+            this.fWorkspaceRadio.setSelection(path == null);
+            if (path != null) {
+                this.fLocation.setText(path.toOSString());
+            } else {
+                this.fLocation.setText(getDefaultPath(NewJavaProjectWizardPageOneCOPY.this.fNameGroup.getName()));
+            }
+            fireEvent();
+        }
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see java.util.Observer#update(java.util.Observable,
-		 * java.lang.Object)
-		 */
-		public void update(Observable o, Object arg) {
-			if (isWorkspaceRadioSelected()) {
-				fLocation.setText(getDefaultPath(fNameGroup.getName()));
-			}
-			fireEvent();
-		}
-	}
+        /*
+         * (non-Javadoc)
+         *
+         * @see java.util.Observer#update(java.util.Observable, java.lang.Object)
+         */
+        public void update(Observable o, Object arg) {
+            if (isWorkspaceRadioSelected()) {
+                this.fLocation.setText(getDefaultPath(NewJavaProjectWizardPageOneCOPY.this.fNameGroup.getName()));
+            }
+            fireEvent();
+        }
+    }
 
-	/**
-	 * Request a project name. Fires an event whenever the text field is changed, regardless of its content.
-	 */
-	private final class NameGroup extends Observable implements IDialogFieldListener {
+    /**
+     * Request a project name. Fires an event whenever the text field is changed, regardless of its content.
+     */
+    private final class NameGroup extends Observable implements IDialogFieldListener {
 
-		protected final StringDialogField fNameField;
+        protected final StringDialogField fNameField;
 
-		public NameGroup() {
-			// text field for project name
-			fNameField = new StringDialogField();
-			fNameField.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_NameGroup_label_text);
-			fNameField.setDialogFieldListener(this);
-		}
+        public NameGroup() {
+            // text field for project name
+            this.fNameField = new StringDialogField();
+            this.fNameField.setLabelText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_NameGroup_label_text);
+            this.fNameField.setDialogFieldListener(this);
+        }
 
-		public Control createControl(Composite composite) {
-			Composite nameComposite = new Composite(composite, SWT.NONE);
-			nameComposite.setFont(composite.getFont());
-			nameComposite.setLayout(initGridLayout(new GridLayout(2, false), false));
+        public Control createControl(Composite composite) {
+            Composite nameComposite = new Composite(composite, SWT.NONE);
+            nameComposite.setFont(composite.getFont());
+            nameComposite.setLayout(initGridLayout(new GridLayout(2, false), false));
 
-			fNameField.doFillIntoGrid(nameComposite, 2);
-			LayoutUtil.setHorizontalGrabbing(fNameField.getTextControl(null));
+            this.fNameField.doFillIntoGrid(nameComposite, 2);
+            LayoutUtil.setHorizontalGrabbing(this.fNameField.getTextControl(null));
 
-			return nameComposite;
-		}
+            return nameComposite;
+        }
 
-		/*
-		 * (non-Javadoc)
-		 * 
-		 * @see
-		 * org.eclipse.jdt.internal.ui.wizards.dialogfields.IDialogFieldListener
-		 * #dialogFieldChanged(org.eclipse.jdt.internal.ui.wizards.dialogfields.
-		 * DialogField)
-		 */
-		public void dialogFieldChanged(DialogField field) {
-			fireEvent();
-		}
+        /*
+         * (non-Javadoc)
+         *
+         * @see org.eclipse.jdt.internal.ui.wizards.dialogfields.IDialogFieldListener
+         * #dialogFieldChanged(org.eclipse.jdt.internal.ui.wizards.dialogfields. DialogField)
+         */
+        public void dialogFieldChanged(DialogField field) {
+            fireEvent();
+        }
 
-		protected void fireEvent() {
-			setChanged();
-			notifyObservers();
-		}
+        protected void fireEvent() {
+            setChanged();
+            notifyObservers();
+        }
 
-		public String getName() {
-			return fNameField.getText().trim();
-		}
+        public String getName() {
+            return this.fNameField.getText().trim();
+        }
 
-		public void postSetFocus() {
-			fNameField.postSetFocusOnDialogField(getShell().getDisplay());
-		}
+        public void postSetFocus() {
+            this.fNameField.postSetFocusOnDialogField(getShell().getDisplay());
+        }
 
-		public void setName(String name) {
-			fNameField.setText(name);
-		}
-	}
+        public void setName(String name) {
+            this.fNameField.setText(name);
+        }
+    }
 
-	/**
-	 * Validate this page and show appropriate warnings and error NewWizardMessages.
-	 */
-	private final class Validator implements Observer {
+    /**
+     * Validate this page and show appropriate warnings and error NewWizardMessages.
+     */
+    private final class Validator implements Observer {
 
-		private boolean canCreate(File file) {
-			while (!file.exists()) {
-				file = file.getParentFile();
-				if (file == null) {
-					return false;
-				}
-			}
+        private boolean canCreate(File file) {
+            while (!file.exists()) {
+                file = file.getParentFile();
+                if (file == null) {
+                    return false;
+                }
+            }
 
-			return file.canWrite();
-		}
+            return file.canWrite();
+        }
 
-		public void update(Observable o, Object arg) {
+        public void update(Observable o, Object arg) {
 
-			final IWorkspace workspace = JavaPlugin.getWorkspace();
+            final IWorkspace workspace = JavaPlugin.getWorkspace();
 
-			final String name = fNameGroup.getName();
+            final String name = NewJavaProjectWizardPageOneCOPY.this.fNameGroup.getName();
 
-			// check whether the project name field is empty
-			if (name.length() == 0) {
-				setErrorMessage(null);
-				setMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_enterProjectName);
-				setPageComplete(false);
-				return;
-			}
+            // check whether the project name field is empty
+            if (name.length() == 0) {
+                setErrorMessage(null);
+                setMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_enterProjectName);
+                setPageComplete(false);
+                return;
+            }
 
-			// check whether the project name is valid
-			final IStatus nameStatus = workspace.validateName(name, IResource.PROJECT);
-			if (!nameStatus.isOK()) {
-				setErrorMessage(nameStatus.getMessage());
-				setPageComplete(false);
-				return;
-			}
+            // check whether the project name is valid
+            final IStatus nameStatus = workspace.validateName(name, IResource.PROJECT);
+            if (!nameStatus.isOK()) {
+                setErrorMessage(nameStatus.getMessage());
+                setPageComplete(false);
+                return;
+            }
 
-			// check whether project already exists
-			final IProject handle = workspace.getRoot().getProject(name);
-			if (handle.exists()) {
-				setErrorMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_projectAlreadyExists);
-				setPageComplete(false);
-				return;
-			}
+            // check whether project already exists
+            final IProject handle = workspace.getRoot().getProject(name);
+            if (handle.exists()) {
+                setErrorMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_projectAlreadyExists);
+                setPageComplete(false);
+                return;
+            }
 
-			IPath projectLocation = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(name);
-			if (projectLocation.toFile().exists()) {
-				try {
-					// correct casing
-					String canonicalPath = projectLocation.toFile().getCanonicalPath();
-					projectLocation = new Path(canonicalPath);
-				} catch (IOException e) {
-					JavaPlugin.log(e);
-				}
+            IPath projectLocation = ResourcesPlugin.getWorkspace().getRoot().getLocation().append(name);
+            if (projectLocation.toFile().exists()) {
+                try {
+                    // correct casing
+                    String canonicalPath = projectLocation.toFile().getCanonicalPath();
+                    projectLocation = new Path(canonicalPath);
+                } catch (IOException e) {
+                    JavaPlugin.log(e);
+                }
 
-				String existingName = projectLocation.lastSegment();
-				if (!existingName.equals(fNameGroup.getName())) {
-					setErrorMessage(Messages.format(
-							NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_invalidProjectNameForWorkspaceRoot,
-							existingName));
-					setPageComplete(false);
-					return;
-				}
+                String existingName = projectLocation.lastSegment();
+                if (!existingName.equals(NewJavaProjectWizardPageOneCOPY.this.fNameGroup.getName())) {
+                    setErrorMessage(Messages.format(
+                        NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_invalidProjectNameForWorkspaceRoot, existingName));
+                    setPageComplete(false);
+                    return;
+                }
 
-			}
+            }
 
-			final String location = fLocationGroup.getLocation().toOSString();
+            final String location = NewJavaProjectWizardPageOneCOPY.this.fLocationGroup.getLocation().toOSString();
 
-			// check whether location is empty
-			if (location.length() == 0) {
-				setErrorMessage(null);
-				setMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_enterLocation);
-				setPageComplete(false);
-				return;
-			}
+            // check whether location is empty
+            if (location.length() == 0) {
+                setErrorMessage(null);
+                setMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_enterLocation);
+                setPageComplete(false);
+                return;
+            }
 
-			// check whether the location is a syntactically correct path
-			if (!Path.EMPTY.isValidPath(location)) {
-				setErrorMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_invalidDirectory);
-				setPageComplete(false);
-				return;
-			}
+            // check whether the location is a syntactically correct path
+            if (!Path.EMPTY.isValidPath(location)) {
+                setErrorMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_invalidDirectory);
+                setPageComplete(false);
+                return;
+            }
 
-			IPath projectPath = Path.fromOSString(location);
+            IPath projectPath = Path.fromOSString(location);
 
-			if (fLocationGroup.isWorkspaceRadioSelected()) {
-				projectPath = projectPath.append(fNameGroup.getName());
-			}
+            if (NewJavaProjectWizardPageOneCOPY.this.fLocationGroup.isWorkspaceRadioSelected()) {
+                projectPath = projectPath.append(NewJavaProjectWizardPageOneCOPY.this.fNameGroup.getName());
+            }
 
-			if (projectPath.toFile().exists()) {// create from existing source
-				if (Platform.getLocation().isPrefixOf(projectPath)) { // create
-					// from
-					// existing
-					// source
-					// in
-					// workspace
-					if (!Platform.getLocation().equals(projectPath.removeLastSegments(1))) {
-						setErrorMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_notOnWorkspaceRoot);
-						setPageComplete(false);
-						return;
-					}
+            if (projectPath.toFile().exists()) {// create from existing source
+                if (Platform.getLocation().isPrefixOf(projectPath)) { // create
+                    // from
+                    // existing
+                    // source
+                    // in
+                    // workspace
+                    if (!Platform.getLocation().equals(projectPath.removeLastSegments(1))) {
+                        setErrorMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_notOnWorkspaceRoot);
+                        setPageComplete(false);
+                        return;
+                    }
 
-					if (!projectPath.toFile().exists()) {
-						setErrorMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_notExisingProjectOnWorkspaceRoot);
-						setPageComplete(false);
-						return;
-					}
-				}
-			} else if (!fLocationGroup.isWorkspaceRadioSelected()) {// create at
-				// non
-				// existing
-				// external
-				// location
-				if (!canCreate(projectPath.toFile())) {
-					setErrorMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_cannotCreateAtExternalLocation);
-					setPageComplete(false);
-					return;
-				}
+                    if (!projectPath.toFile().exists()) {
+                        setErrorMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_notExisingProjectOnWorkspaceRoot);
+                        setPageComplete(false);
+                        return;
+                    }
+                }
+            } else if (!NewJavaProjectWizardPageOneCOPY.this.fLocationGroup.isWorkspaceRadioSelected()) {// create at
+                // non
+                // existing
+                // external
+                // location
+                if (!canCreate(projectPath.toFile())) {
+                    setErrorMessage(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_Message_cannotCreateAtExternalLocation);
+                    setPageComplete(false);
+                    return;
+                }
 
-				// If we do not place the contents in the workspace validate the
-				// location.
-				final IStatus locationStatus = workspace.validateProjectLocation(handle, projectPath);
-				if (!locationStatus.isOK()) {
-					setErrorMessage(locationStatus.getMessage());
-					setPageComplete(false);
-					return;
-				}
-			}
+                // If we do not place the contents in the workspace validate the
+                // location.
+                final IStatus locationStatus = workspace.validateProjectLocation(handle, projectPath);
+                if (!locationStatus.isOK()) {
+                    setErrorMessage(locationStatus.getMessage());
+                    setPageComplete(false);
+                    return;
+                }
+            }
 
-			setPageComplete(true);
+            setPageComplete(true);
 
-			setErrorMessage(null);
-			setMessage(null);
-		}
-	}
+            setErrorMessage(null);
+            setMessage(null);
+        }
+    }
 
-	// private final class WorkingSetGroup {
-	//
-	// private final WorkingSetConfigurationBlock fWorkingSetBlock;
-	//
-	// public WorkingSetGroup() {
-	// String[] workingSetIds = new String[] { JavaWorkingSetUpdater.ID,
-	// "org.eclipse.ui.resourceWorkingSetPage" }; //$NON-NLS-1$
-	// // String label = "Add project to working sets";
-	// fWorkingSetBlock = new WorkingSetConfigurationBlock(workingSetIds,
-	// JavaPlugin.getDefault()
-	// .getDialogSettings());
-	// //
-	// fWorkingSetBlock.setDialogMessage(NewWizardMessages.NewJavaProjectWizardPageOne_WorkingSetSelection_message);
-	// }
-	//
-	// public Control createControl(Composite composite) {
-	// Group workingSetGroup = new Group(composite, SWT.NONE);
-	// workingSetGroup.setFont(composite.getFont());
-	// workingSetGroup.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_WorkingSets_group);
-	// workingSetGroup.setLayout(new GridLayout(1, false));
-	//
-	// fWorkingSetBlock.createContent(workingSetGroup);
-	//
-	// return workingSetGroup;
-	// }
-	//
-	// public IWorkingSet[] getSelectedWorkingSets() {
-	// return fWorkingSetBlock.getSelectedWorkingSets();
-	// }
-	//
-	// public void setWorkingSets(IWorkingSet[] workingSets) {
-	// fWorkingSetBlock.setWorkingSets(workingSets);
-	// }
-	// }
+    // private final class WorkingSetGroup {
+    //
+    // private final WorkingSetConfigurationBlock fWorkingSetBlock;
+    //
+    // public WorkingSetGroup() {
+    // String[] workingSetIds = new String[] { JavaWorkingSetUpdater.ID,
+    // "org.eclipse.ui.resourceWorkingSetPage" }; //$NON-NLS-1$
+    // // String label = "Add project to working sets";
+    // fWorkingSetBlock = new WorkingSetConfigurationBlock(workingSetIds,
+    // JavaPlugin.getDefault()
+    // .getDialogSettings());
+    // //
+    // fWorkingSetBlock.setDialogMessage(NewWizardMessages.NewJavaProjectWizardPageOne_WorkingSetSelection_message);
+    // }
+    //
+    // public Control createControl(Composite composite) {
+    // Group workingSetGroup = new Group(composite, SWT.NONE);
+    // workingSetGroup.setFont(composite.getFont());
+    // workingSetGroup.setText(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_WorkingSets_group);
+    // workingSetGroup.setLayout(new GridLayout(1, false));
+    //
+    // fWorkingSetBlock.createContent(workingSetGroup);
+    //
+    // return workingSetGroup;
+    // }
+    //
+    // public IWorkingSet[] getSelectedWorkingSets() {
+    // return fWorkingSetBlock.getSelectedWorkingSets();
+    // }
+    //
+    // public void setWorkingSets(IWorkingSet[] workingSets) {
+    // fWorkingSetBlock.setWorkingSets(workingSets);
+    // }
+    // }
 
-	private static final String PAGE_NAME = "NewJavaProjectWizardPageOne"; //$NON-NLS-1$
+    private static final String PAGE_NAME = "NewJavaProjectWizardPageOne"; //$NON-NLS-1$
 
-	// private static final IWorkingSet[] EMPTY_WORKING_SET_ARRAY = new
-	// IWorkingSet[0];
-	//
-	// private static boolean isValidWorkingSet(IWorkingSet workingSet) {
-	// String id = workingSet.getId();
-	// if (!JavaWorkingSetUpdater.ID.equals(id) &&
-	// !"org.eclipse.ui.resourceWorkingSetPage".equals(id)) {
-	// return false;
-	// }
-	//
-	// if (workingSet.isAggregateWorkingSet()) {
-	// return false;
-	// }
-	//
-	// return true;
-	// }
+    // private static final IWorkingSet[] EMPTY_WORKING_SET_ARRAY = new
+    // IWorkingSet[0];
+    //
+    // private static boolean isValidWorkingSet(IWorkingSet workingSet) {
+    // String id = workingSet.getId();
+    // if (!JavaWorkingSetUpdater.ID.equals(id) &&
+    // !"org.eclipse.ui.resourceWorkingSetPage".equals(id)) {
+    // return false;
+    // }
+    //
+    // if (workingSet.isAggregateWorkingSet()) {
+    // return false;
+    // }
+    //
+    // return true;
+    // }
 
-	private final NameGroup fNameGroup;
+    private final NameGroup fNameGroup;
 
-	private final LocationGroup fLocationGroup;
+    private final LocationGroup fLocationGroup;
 
-	private final LayoutGroup fLayoutGroup;
+    private final LayoutGroup fLayoutGroup;
 
-	private final JREGroup fJREGroup;
+    private final JREGroup fJREGroup;
 
-	private final DetectGroup fDetectGroup;
+    private final DetectGroup fDetectGroup;
 
-	private final Validator fValidator;
+    private final Validator fValidator;
 
-	// private final WorkingSetGroup fWorkingSetGroup;
+    // private final WorkingSetGroup fWorkingSetGroup;
 
-	/**
-	 * Creates a new {@link NewJavaProjectWizardPageOneCOPY}.
-	 */
-	public NewJavaProjectWizardPageOneCOPY() {
-		super(PAGE_NAME);
-		setPageComplete(false);
-		setTitle(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_page_title);
-		setDescription(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_page_description);
+    /**
+     * Creates a new {@link NewJavaProjectWizardPageOneCOPY}.
+     */
+    public NewJavaProjectWizardPageOneCOPY() {
+        super(PAGE_NAME);
+        setPageComplete(false);
+        setTitle(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_page_title);
+        setDescription(NewJavaProjectWizardConstants.NewJavaProjectWizardPageOne_page_description);
 
-		fNameGroup = new NameGroup();
-		fLocationGroup = new LocationGroup();
-		fJREGroup = new JREGroup();
-		fLayoutGroup = new LayoutGroup();
-		// fWorkingSetGroup = new WorkingSetGroup();
-		fDetectGroup = new DetectGroup();
+        this.fNameGroup = new NameGroup();
+        this.fLocationGroup = new LocationGroup();
+        this.fJREGroup = new JREGroup();
+        this.fLayoutGroup = new LayoutGroup();
+        // fWorkingSetGroup = new WorkingSetGroup();
+        this.fDetectGroup = new DetectGroup();
 
-		// establish connections
-		fNameGroup.addObserver(fLocationGroup);
-		fDetectGroup.addObserver(fLayoutGroup);
-		fDetectGroup.addObserver(fJREGroup);
-		fLocationGroup.addObserver(fDetectGroup);
+        // establish connections
+        this.fNameGroup.addObserver(this.fLocationGroup);
+        this.fDetectGroup.addObserver(this.fLayoutGroup);
+        this.fDetectGroup.addObserver(this.fJREGroup);
+        this.fLocationGroup.addObserver(this.fDetectGroup);
 
-		// initialize all elements
-		fNameGroup.notifyObservers();
+        // initialize all elements
+        this.fNameGroup.notifyObservers();
 
-		// create and connect validator
-		fValidator = new Validator();
-		fNameGroup.addObserver(fValidator);
-		fLocationGroup.addObserver(fValidator);
+        // create and connect validator
+        this.fValidator = new Validator();
+        this.fNameGroup.addObserver(this.fValidator);
+        this.fLocationGroup.addObserver(this.fValidator);
 
-		// initialize defaults
-		setProjectName(""); //$NON-NLS-1$
-		setProjectLocationURI(null);
-		// setWorkingSets(new IWorkingSet[0]);
+        // initialize defaults
+        setProjectName(""); //$NON-NLS-1$
+        setProjectLocationURI(null);
+        // setWorkingSets(new IWorkingSet[0]);
 
-		initializeDefaultVM();
-	}
+        initializeDefaultVM();
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets
-	 * .Composite)
-	 */
-	public void createControl(Composite parent) {
-		initializeDialogUnits(parent);
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.dialogs.IDialogPage#createControl(org.eclipse.swt.widgets .Composite)
+     */
+    public void createControl(Composite parent) {
+        initializeDialogUnits(parent);
 
-		final Composite composite = new Composite(parent, SWT.NULL);
-		composite.setFont(parent.getFont());
-		composite.setLayout(initGridLayout(new GridLayout(1, false), true));
-		composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
+        final Composite composite = new Composite(parent, SWT.NULL);
+        composite.setFont(parent.getFont());
+        composite.setLayout(initGridLayout(new GridLayout(1, false), true));
+        composite.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 
-		// create UI elements
-		Control nameControl = createNameControl(composite);
-		nameControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        // create UI elements
+        Control nameControl = createNameControl(composite);
+        nameControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
-		Control locationControl = createLocationControl(composite);
-		locationControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        Control locationControl = createLocationControl(composite);
+        locationControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
-		Control jreControl = createJRESelectionControl(composite);
-		jreControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        Control jreControl = createJRESelectionControl(composite);
+        jreControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
-		Control layoutControl = createProjectLayoutControl(composite);
-		layoutControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        Control layoutControl = createProjectLayoutControl(composite);
+        layoutControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
-		// Control workingSetControl = createWorkingSetControl(composite);
-		// workingSetControl.setLayoutData(new
-		// GridData(GridData.FILL_HORIZONTAL));
+        // Control workingSetControl = createWorkingSetControl(composite);
+        // workingSetControl.setLayoutData(new
+        // GridData(GridData.FILL_HORIZONTAL));
 
-		Control infoControl = createInfoControl(composite);
-		infoControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        Control infoControl = createInfoControl(composite);
+        infoControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
-		setControl(composite);
-	}
+        setControl(composite);
+    }
 
-	/**
-	 * Creates the controls for the info section.
-	 * 
-	 * @param composite
-	 *            the parent composite
-	 * @return the created control
-	 */
-	protected Control createInfoControl(Composite composite) {
-		return fDetectGroup.createControl(composite);
-	}
+    /**
+     * Creates the controls for the info section.
+     *
+     * @param composite the parent composite
+     * @return the created control
+     */
+    protected Control createInfoControl(Composite composite) {
+        return this.fDetectGroup.createControl(composite);
+    }
 
-	/**
-	 * Creates the controls for the JRE selection
-	 * 
-	 * @param composite
-	 *            the parent composite
-	 * @return the created control
-	 */
-	protected Control createJRESelectionControl(Composite composite) {
-		return fJREGroup.createControl(composite);
-	}
+    /**
+     * Creates the controls for the JRE selection
+     *
+     * @param composite the parent composite
+     * @return the created control
+     */
+    protected Control createJRESelectionControl(Composite composite) {
+        return this.fJREGroup.createControl(composite);
+    }
 
-	/**
-	 * Creates the controls for the location field.
-	 * 
-	 * @param composite
-	 *            the parent composite
-	 * @return the created control
-	 */
-	protected Control createLocationControl(Composite composite) {
-		return fLocationGroup.createControl(composite);
-	}
+    /**
+     * Creates the controls for the location field.
+     *
+     * @param composite the parent composite
+     * @return the created control
+     */
+    protected Control createLocationControl(Composite composite) {
+        return this.fLocationGroup.createControl(composite);
+    }
 
-	/**
-	 * Creates the controls for the name field.
-	 * 
-	 * @param composite
-	 *            the parent composite
-	 * @return the created control
-	 */
-	protected Control createNameControl(Composite composite) {
-		return fNameGroup.createControl(composite);
-	}
+    /**
+     * Creates the controls for the name field.
+     *
+     * @param composite the parent composite
+     * @return the created control
+     */
+    protected Control createNameControl(Composite composite) {
+        return this.fNameGroup.createControl(composite);
+    }
 
-	/**
-	 * Creates the controls for the project layout selection.
-	 * 
-	 * @param composite
-	 *            the parent composite
-	 * @return the created control
-	 */
-	protected Control createProjectLayoutControl(Composite composite) {
-		return fLayoutGroup.createContent(composite);
-	}
+    /**
+     * Creates the controls for the project layout selection.
+     *
+     * @param composite the parent composite
+     * @return the created control
+     */
+    protected Control createProjectLayoutControl(Composite composite) {
+        return this.fLayoutGroup.createContent(composite);
+    }
 
-	// /**
-	// * Creates the controls for the working set selection.
-	// *
-	// * @param composite the parent composite
-	// * @return the created control
-	// */
-	// protected Control createWorkingSetControl(Composite composite) {
-	// return fWorkingSetGroup.createControl(composite);
-	// }
+    // /**
+    // * Creates the controls for the working set selection.
+    // *
+    // * @param composite the parent composite
+    // * @return the created control
+    // */
+    // protected Control createWorkingSetControl(Composite composite) {
+    // return fWorkingSetGroup.createControl(composite);
+    // }
 
-	/**
-	 * Returns the compiler compliance to be used for the project, or <code>null</code> to use the workspace compiler
-	 * compliance.
-	 * 
-	 * @return compiler compliance to be used for the project or <code>null</code>
-	 */
-	public String getCompilerCompliance() {
-		return fJREGroup.getSelectedCompilerCompliance();
-	}
+    /**
+     * Returns the compiler compliance to be used for the project, or <code>null</code> to use the workspace compiler
+     * compliance.
+     *
+     * @return compiler compliance to be used for the project or <code>null</code>
+     */
+    public String getCompilerCompliance() {
+        return this.fJREGroup.getSelectedCompilerCompliance();
+    }
 
-	/**
-	 * Returns the default class path entries to be added on new projects. By default this is the JRE container as
-	 * selected by the user.
-	 * 
-	 * @return returns the default class path entries
-	 */
-	public IClasspathEntry[] getDefaultClasspathEntries() {
-		IClasspathEntry[] defaultJRELibrary = PreferenceConstants.getDefaultJRELibrary();
-		String compliance = getCompilerCompliance();
-		IPath jreContainerPath = new Path(JavaRuntime.JRE_CONTAINER);
-		if (compliance == null || defaultJRELibrary.length > 1
-				|| !jreContainerPath.isPrefixOf(defaultJRELibrary[0].getPath())) {
-			// use default
-			return defaultJRELibrary;
-		}
-		IPath newPath = fJREGroup.getJREContainerPath();
-		if (newPath != null) {
-			return new IClasspathEntry[] { JavaCore.newContainerEntry(newPath) };
-		}
-		return defaultJRELibrary;
-	}
+    /**
+     * Returns the default class path entries to be added on new projects. By default this is the JRE container as
+     * selected by the user.
+     *
+     * @return returns the default class path entries
+     */
+    public IClasspathEntry[] getDefaultClasspathEntries() {
+        IClasspathEntry[] defaultJRELibrary = PreferenceConstants.getDefaultJRELibrary();
+        String compliance = getCompilerCompliance();
+        IPath jreContainerPath = new Path(JavaRuntime.JRE_CONTAINER);
+        if (compliance == null || defaultJRELibrary.length > 1 || !jreContainerPath.isPrefixOf(defaultJRELibrary[0].getPath())) {
+            // use default
+            return defaultJRELibrary;
+        }
+        IPath newPath = this.fJREGroup.getJREContainerPath();
+        if (newPath != null) {
+            return new IClasspathEntry[] { JavaCore.newContainerEntry(newPath) };
+        }
+        return defaultJRELibrary;
+    }
 
-	/**
-	 * Returns the source class path entries to be added on new projects. The underlying resource may not exist.
-	 * 
-	 * @return returns the default class path entries
-	 */
-	public IPath getOutputLocation() {
-		IPath outputLocationPath = new Path(getProjectName()).makeAbsolute();
-		if (fLayoutGroup.isSrcBin()) {
-			IPath binPath = new Path(PreferenceConstants.getPreferenceStore().getString(
-					PreferenceConstants.SRCBIN_BINNAME));
-			if (binPath.segmentCount() > 0) {
-				outputLocationPath = outputLocationPath.append(binPath);
-			}
-		}
-		return outputLocationPath;
-	}
+    /**
+     * Returns the source class path entries to be added on new projects. The underlying resource may not exist.
+     *
+     * @return returns the default class path entries
+     */
+    public IPath getOutputLocation() {
+        IPath outputLocationPath = new Path(getProjectName()).makeAbsolute();
+        if (this.fLayoutGroup.isSrcBin()) {
+            IPath binPath = new Path(PreferenceConstants.getPreferenceStore().getString(PreferenceConstants.SRCBIN_BINNAME));
+            if (binPath.segmentCount() > 0) {
+                outputLocationPath = outputLocationPath.append(binPath);
+            }
+        }
+        return outputLocationPath;
+    }
 
-	/**
-	 * Returns the current project location path as entered by the user, or <code>null</code> if the project should be
-	 * created in the workspace.
-	 * 
-	 * @return the project location path or its anticipated initial value.
-	 */
-	public URI getProjectLocationURI() {
-		if (fLocationGroup.isLocationInWorkspace()) {
-			return null;
-		}
-		return URIUtil.toURI(fLocationGroup.getLocation());
-	}
+    /**
+     * Returns the current project location path as entered by the user, or <code>null</code> if the project should be
+     * created in the workspace.
+     *
+     * @return the project location path or its anticipated initial value.
+     */
+    public URI getProjectLocationURI() {
+        if (this.fLocationGroup.isLocationInWorkspace()) {
+            return null;
+        }
+        return URIUtil.toURI(this.fLocationGroup.getLocation());
+    }
 
-	/**
-	 * Gets a project name for the new project.
-	 * 
-	 * @return the new project resource handle
-	 */
-	public String getProjectName() {
-		return fNameGroup.getName();
-	}
+    /**
+     * Gets a project name for the new project.
+     *
+     * @return the new project resource handle
+     */
+    public String getProjectName() {
+        return this.fNameGroup.getName();
+    }
 
-	// @SuppressWarnings("unchecked")
-	// private IWorkingSet[] getSelectedWorkingSet(IStructuredSelection
-	// selection) {
-	// if (!(selection instanceof ITreeSelection)) {
-	// return EMPTY_WORKING_SET_ARRAY;
-	// }
-	//
-	// ITreeSelection treeSelection = (ITreeSelection) selection;
-	// if (treeSelection.isEmpty()) {
-	// return EMPTY_WORKING_SET_ARRAY;
-	// }
-	//
-	// List elements = treeSelection.toList();
-	// if (elements.size() == 1) {
-	// Object element = elements.get(0);
-	// TreePath[] paths = treeSelection.getPathsFor(element);
-	// if (paths.length != 1) {
-	// return EMPTY_WORKING_SET_ARRAY;
-	// }
-	//
-	// TreePath path = paths[0];
-	// if (path.getSegmentCount() == 0) {
-	// return EMPTY_WORKING_SET_ARRAY;
-	// }
-	//
-	// Object candidate = path.getSegment(0);
-	// if (!(candidate instanceof IWorkingSet)) {
-	// return EMPTY_WORKING_SET_ARRAY;
-	// }
-	//
-	// IWorkingSet workingSetCandidate = (IWorkingSet) candidate;
-	// if (isValidWorkingSet(workingSetCandidate)) {
-	// return new IWorkingSet[] { workingSetCandidate };
-	// }
-	//
-	// return EMPTY_WORKING_SET_ARRAY;
-	// }
-	//
-	// ArrayList result = new ArrayList();
-	// for (Iterator iterator = elements.iterator(); iterator.hasNext();) {
-	// Object element = iterator.next();
-	// if (element instanceof IWorkingSet && isValidWorkingSet((IWorkingSet)
-	// element)) {
-	// result.add(element);
-	// }
-	// }
-	// return (IWorkingSet[]) result.toArray(new IWorkingSet[result.size()]);
-	// }
+    // @SuppressWarnings("unchecked")
+    // private IWorkingSet[] getSelectedWorkingSet(IStructuredSelection
+    // selection) {
+    // if (!(selection instanceof ITreeSelection)) {
+    // return EMPTY_WORKING_SET_ARRAY;
+    // }
+    //
+    // ITreeSelection treeSelection = (ITreeSelection) selection;
+    // if (treeSelection.isEmpty()) {
+    // return EMPTY_WORKING_SET_ARRAY;
+    // }
+    //
+    // List elements = treeSelection.toList();
+    // if (elements.size() == 1) {
+    // Object element = elements.get(0);
+    // TreePath[] paths = treeSelection.getPathsFor(element);
+    // if (paths.length != 1) {
+    // return EMPTY_WORKING_SET_ARRAY;
+    // }
+    //
+    // TreePath path = paths[0];
+    // if (path.getSegmentCount() == 0) {
+    // return EMPTY_WORKING_SET_ARRAY;
+    // }
+    //
+    // Object candidate = path.getSegment(0);
+    // if (!(candidate instanceof IWorkingSet)) {
+    // return EMPTY_WORKING_SET_ARRAY;
+    // }
+    //
+    // IWorkingSet workingSetCandidate = (IWorkingSet) candidate;
+    // if (isValidWorkingSet(workingSetCandidate)) {
+    // return new IWorkingSet[] { workingSetCandidate };
+    // }
+    //
+    // return EMPTY_WORKING_SET_ARRAY;
+    // }
+    //
+    // ArrayList result = new ArrayList();
+    // for (Iterator iterator = elements.iterator(); iterator.hasNext();) {
+    // Object element = iterator.next();
+    // if (element instanceof IWorkingSet && isValidWorkingSet((IWorkingSet)
+    // element)) {
+    // result.add(element);
+    // }
+    // }
+    // return (IWorkingSet[]) result.toArray(new IWorkingSet[result.size()]);
+    // }
 
-	// private IWorkingSet[] getSelectedWorkingSet(IStructuredSelection
-	// selection, IWorkbenchPart activePart) {
-	// IWorkingSet[] selected = getSelectedWorkingSet(selection);
-	// if (selected != null && selected.length > 0) {
-	// for (int i = 0; i < selected.length; i++) {
-	// if (!isValidWorkingSet(selected[i])) {
-	// return EMPTY_WORKING_SET_ARRAY;
-	// }
-	// }
-	// return selected;
-	// }
-	//
-	// if (!(activePart instanceof PackageExplorerPart)) {
-	// return EMPTY_WORKING_SET_ARRAY;
-	// }
-	//
-	// PackageExplorerPart explorerPart = (PackageExplorerPart) activePart;
-	// if (explorerPart.getRootMode() ==
-	// NewJavaProjectWizardConstants.PROJECTS_AS_ROOTS) {
-	// // Get active filter
-	// IWorkingSet filterWorkingSet = explorerPart.getFilterWorkingSet();
-	// if (filterWorkingSet == null) {
-	// return EMPTY_WORKING_SET_ARRAY;
-	// }
-	//
-	// if (!isValidWorkingSet(filterWorkingSet)) {
-	// return EMPTY_WORKING_SET_ARRAY;
-	// }
-	//
-	// return new IWorkingSet[] { filterWorkingSet };
-	// }
-	// else {
-	// // If we have been gone into a working set return the working set
-	// Object input = explorerPart.getViewPartInput();
-	// if (!(input instanceof IWorkingSet)) {
-	// return EMPTY_WORKING_SET_ARRAY;
-	// }
-	//
-	// IWorkingSet workingSet = (IWorkingSet) input;
-	// if (!isValidWorkingSet(workingSet)) {
-	// return EMPTY_WORKING_SET_ARRAY;
-	// }
-	//
-	// return new IWorkingSet[] { workingSet };
-	// }
-	// }
+    // private IWorkingSet[] getSelectedWorkingSet(IStructuredSelection
+    // selection, IWorkbenchPart activePart) {
+    // IWorkingSet[] selected = getSelectedWorkingSet(selection);
+    // if (selected != null && selected.length > 0) {
+    // for (int i = 0; i < selected.length; i++) {
+    // if (!isValidWorkingSet(selected[i])) {
+    // return EMPTY_WORKING_SET_ARRAY;
+    // }
+    // }
+    // return selected;
+    // }
+    //
+    // if (!(activePart instanceof PackageExplorerPart)) {
+    // return EMPTY_WORKING_SET_ARRAY;
+    // }
+    //
+    // PackageExplorerPart explorerPart = (PackageExplorerPart) activePart;
+    // if (explorerPart.getRootMode() ==
+    // NewJavaProjectWizardConstants.PROJECTS_AS_ROOTS) {
+    // // Get active filter
+    // IWorkingSet filterWorkingSet = explorerPart.getFilterWorkingSet();
+    // if (filterWorkingSet == null) {
+    // return EMPTY_WORKING_SET_ARRAY;
+    // }
+    //
+    // if (!isValidWorkingSet(filterWorkingSet)) {
+    // return EMPTY_WORKING_SET_ARRAY;
+    // }
+    //
+    // return new IWorkingSet[] { filterWorkingSet };
+    // }
+    // else {
+    // // If we have been gone into a working set return the working set
+    // Object input = explorerPart.getViewPartInput();
+    // if (!(input instanceof IWorkingSet)) {
+    // return EMPTY_WORKING_SET_ARRAY;
+    // }
+    //
+    // IWorkingSet workingSet = (IWorkingSet) input;
+    // if (!isValidWorkingSet(workingSet)) {
+    // return EMPTY_WORKING_SET_ARRAY;
+    // }
+    //
+    // return new IWorkingSet[] { workingSet };
+    // }
+    // }
 
-	/**
-	 * Returns the source class path entries to be added on new projects. The underlying resources may not exist. All
-	 * entries that are returned must be of kind {@link IClasspathEntry#CPE_SOURCE}.
-	 * 
-	 * @return returns the source class path entries for the new project
-	 */
-	public IClasspathEntry[] getSourceClasspathEntries() {
-		IPath sourceFolderPath = new Path(getProjectName()).makeAbsolute();
+    /**
+     * Returns the source class path entries to be added on new projects. The underlying resources may not exist. All
+     * entries that are returned must be of kind {@link IClasspathEntry#CPE_SOURCE}.
+     *
+     * @return returns the source class path entries for the new project
+     */
+    public IClasspathEntry[] getSourceClasspathEntries() {
+        IPath sourceFolderPath = new Path(getProjectName()).makeAbsolute();
 
-		if (fLayoutGroup.isSrcBin()) {
-			IPath srcPath = new Path(PreferenceConstants.getPreferenceStore().getString(
-					PreferenceConstants.SRCBIN_SRCNAME));
-			if (srcPath.segmentCount() > 0) {
-				sourceFolderPath = sourceFolderPath.append(srcPath);
-			}
-		}
-		return new IClasspathEntry[] { JavaCore.newSourceEntry(sourceFolderPath) };
-	}
+        if (this.fLayoutGroup.isSrcBin()) {
+            IPath srcPath = new Path(PreferenceConstants.getPreferenceStore().getString(PreferenceConstants.SRCBIN_SRCNAME));
+            if (srcPath.segmentCount() > 0) {
+                sourceFolderPath = sourceFolderPath.append(srcPath);
+            }
+        }
+        return new IClasspathEntry[] { JavaCore.newSourceEntry(sourceFolderPath) };
+    }
 
-	// /**
-	// * Returns the working sets to which the new project should be added.
-	// *
-	// * @return the selected working sets to which the new project should be
-	// * added
-	// */
-	// public IWorkingSet[] getWorkingSets() {
-	// return fWorkingSetGroup.getSelectedWorkingSets();
-	// }
+    // /**
+    // * Returns the working sets to which the new project should be added.
+    // *
+    // * @return the selected working sets to which the new project should be
+    // * added
+    // */
+    // public IWorkingSet[] getWorkingSets() {
+    // return fWorkingSetGroup.getSelectedWorkingSets();
+    // }
 
-	/**
-	 * The wizard owning this page can call this method to initialize the fields from the current selection and active
-	 * part.
-	 * 
-	 * @param selection
-	 *            used to initialize the fields
-	 * @param activePart
-	 *            the (typically active) part to initialize the fields or <code>null</code>
-	 */
-	public void init(IStructuredSelection selection, IWorkbenchPart activePart) {
-		// setWorkingSets(getSelectedWorkingSet(selection, activePart));
-	}
+    /**
+     * The wizard owning this page can call this method to initialize the fields from the current selection and active
+     * part.
+     *
+     * @param selection used to initialize the fields
+     * @param activePart the (typically active) part to initialize the fields or <code>null</code>
+     */
+    public void init(IStructuredSelection selection, IWorkbenchPart activePart) {
+        // setWorkingSets(getSelectedWorkingSet(selection, activePart));
+    }
 
-	private GridLayout initGridLayout(GridLayout layout, boolean margins) {
-		layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
-		layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
-		if (margins) {
-			layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
-			layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
-		} else {
-			layout.marginWidth = 0;
-			layout.marginHeight = 0;
-		}
-		return layout;
-	}
+    private GridLayout initGridLayout(GridLayout layout, boolean margins) {
+        layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
+        layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
+        if (margins) {
+            layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
+            layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
+        } else {
+            layout.marginWidth = 0;
+            layout.marginHeight = 0;
+        }
+        return layout;
+    }
 
-	private void initializeDefaultVM() {
-		JavaRuntime.getDefaultVMInstall();
-	}
+    private void initializeDefaultVM() {
+        JavaRuntime.getDefaultVMInstall();
+    }
 
-	@Override
-	protected void setControl(Control newControl) {
-		Dialog.applyDialogFont(newControl);
+    @Override
+    protected void setControl(Control newControl) {
+        Dialog.applyDialogFont(newControl);
 
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(newControl, IJavaHelpContextIds.NEW_JAVAPROJECT_WIZARD_PAGE);
+        PlatformUI.getWorkbench().getHelpSystem().setHelp(newControl, IJavaHelpContextIds.NEW_JAVAPROJECT_WIZARD_PAGE);
 
-		super.setControl(newControl);
-	}
+        super.setControl(newControl);
+    }
 
-	/**
-	 * Sets the project location of the new project or <code>null</code> if the project should be created in the
-	 * workspace
-	 * 
-	 * @param uri
-	 *            the new project location
-	 */
-	public void setProjectLocationURI(URI uri) {
-		IPath path = uri != null ? URIUtil.toPath(uri) : null;
-		fLocationGroup.setLocation(path);
-	}
+    /**
+     * Sets the project location of the new project or <code>null</code> if the project should be created in the
+     * workspace
+     *
+     * @param uri the new project location
+     */
+    public void setProjectLocationURI(URI uri) {
+        IPath path = uri != null ? URIUtil.toPath(uri) : null;
+        this.fLocationGroup.setLocation(path);
+    }
 
-	/**
-	 * Sets the name of the new project
-	 * 
-	 * @param name
-	 *            the new name
-	 */
-	public void setProjectName(String name) {
-		if (name == null) {
-			throw new IllegalArgumentException();
-		}
+    /**
+     * Sets the name of the new project
+     *
+     * @param name the new name
+     */
+    public void setProjectName(String name) {
+        if (name == null) {
+            throw new IllegalArgumentException();
+        }
 
-		fNameGroup.setName(name);
-	}
+        this.fNameGroup.setName(name);
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.DialogPage#setVisible(boolean)
-	 */
-	@Override
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible) {
-			fNameGroup.postSetFocus();
-		}
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.dialogs.DialogPage#setVisible(boolean)
+     */
+    @Override
+    public void setVisible(boolean visible) {
+        super.setVisible(visible);
+        if (visible) {
+            this.fNameGroup.postSetFocus();
+        }
+    }
 
-	// /**
-	// * Sets the working sets to which the new project should be added.
-	// *
-	// * @param workingSets the initial selected working sets
-	// */
-	// public void setWorkingSets(IWorkingSet[] workingSets) {
-	// if (workingSets == null) {
-	// throw new IllegalArgumentException();
-	// }
-	// fWorkingSetGroup.setWorkingSets(workingSets);
-	// }
+    // /**
+    // * Sets the working sets to which the new project should be added.
+    // *
+    // * @param workingSets the initial selected working sets
+    // */
+    // public void setWorkingSets(IWorkingSet[] workingSets) {
+    // if (workingSets == null) {
+    // throw new IllegalArgumentException();
+    // }
+    // fWorkingSetGroup.setWorkingSets(workingSets);
+    // }
 
 }
diff --git a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/NewJavaProjectWizardPageTwoCOPY.java b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/NewJavaProjectWizardPageTwoCOPY.java
index bc87aef..2cb5eb8 100644
--- a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/NewJavaProjectWizardPageTwoCOPY.java
+++ b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/NewJavaProjectWizardPageTwoCOPY.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.eclipse.wizards;
 
 import java.io.File;
@@ -68,7 +69,7 @@
  * SpringSource Tool Suite Team - This class was copied from Eclipse 3.4 for use in 3.3-based distributions. Necessary
  * changes included porting all the NewJavaProjectWizard messages from the NewWizardMessages utility class to
  * NewJavaProjectWizardConstants.
- * 
+ *
  * @deprecated As of release 2.0.0, STS only supports Eclipse 3.4 and above. Use {@link NewJavaProjectWizardPageTwo}
  *             instead. ----------------------------------------------------------------------------- The second page of
  *             the New Java project wizard. It allows to configure the build path and output location. As addition to
@@ -88,559 +89,546 @@
 @Deprecated
 public class NewJavaProjectWizardPageTwoCOPY extends JavaCapabilityConfigurationPage {
 
-	private static final String FILENAME_PROJECT = ".project"; //$NON-NLS-1$
+    private static final String FILENAME_PROJECT = ".project"; //$NON-NLS-1$
 
-	private static final String FILENAME_CLASSPATH = ".classpath"; //$NON-NLS-1$
+    private static final String FILENAME_CLASSPATH = ".classpath"; //$NON-NLS-1$
 
-	private static URI getRealLocation(String projectName, URI location) {
-		if (location == null) { // inside workspace
-			try {
-				URI rootLocation = ResourcesPlugin.getWorkspace().getRoot().getLocationURI();
+    private static URI getRealLocation(String projectName, URI location) {
+        if (location == null) { // inside workspace
+            try {
+                URI rootLocation = ResourcesPlugin.getWorkspace().getRoot().getLocationURI();
 
-				location = new URI(rootLocation.getScheme(), null, Path.fromPortableString(rootLocation.getPath())
-						.append(projectName)
-						.toString(), null);
-			} catch (URISyntaxException e) {
-				Assert.isTrue(false, "Can't happen"); //$NON-NLS-1$
-			}
-		}
-		return location;
-	}
+                location = new URI(rootLocation.getScheme(), null, Path.fromPortableString(rootLocation.getPath()).append(projectName).toString(),
+                    null);
+            } catch (URISyntaxException e) {
+                Assert.isTrue(false, "Can't happen"); //$NON-NLS-1$
+            }
+        }
+        return location;
+    }
 
-	/**
-	 * Sets whether building automatically is enabled in the workspace or not and returns the old value.
-	 * 
-	 * @param state
-	 *            <code>true</code> if automatically building is enabled, <code>false</code> otherwise
-	 * @return the old state
-	 * @throws CoreException
-	 *             thrown if the operation failed
-	 */
-	public static boolean setAutoBuilding(boolean state) throws CoreException {
-		IWorkspace workspace = ResourcesPlugin.getWorkspace();
-		IWorkspaceDescription desc = workspace.getDescription();
-		boolean isAutoBuilding = desc.isAutoBuilding();
-		if (isAutoBuilding != state) {
-			desc.setAutoBuilding(state);
-			workspace.setDescription(desc);
-		}
-		return isAutoBuilding;
-	}
+    /**
+     * Sets whether building automatically is enabled in the workspace or not and returns the old value.
+     *
+     * @param state <code>true</code> if automatically building is enabled, <code>false</code> otherwise
+     * @return the old state
+     * @throws CoreException thrown if the operation failed
+     */
+    public static boolean setAutoBuilding(boolean state) throws CoreException {
+        IWorkspace workspace = ResourcesPlugin.getWorkspace();
+        IWorkspaceDescription desc = workspace.getDescription();
+        boolean isAutoBuilding = desc.isAutoBuilding();
+        if (isAutoBuilding != state) {
+            desc.setAutoBuilding(state);
+            workspace.setDescription(desc);
+        }
+        return isAutoBuilding;
+    }
 
-	private final NewJavaProjectWizardPageOneCOPY fFirstPage;
+    private final NewJavaProjectWizardPageOneCOPY fFirstPage;
 
-	private URI fCurrProjectLocation; // null if location is platform location
+    private URI fCurrProjectLocation; // null if location is platform location
 
-	private IProject fCurrProject;
+    private IProject fCurrProject;
 
-	private boolean fKeepContent;
+    private boolean fKeepContent;
 
-	private File fDotProjectBackup;
+    private File fDotProjectBackup;
 
-	private File fDotClasspathBackup;
+    private File fDotClasspathBackup;
 
-	private Boolean fIsAutobuild;
+    private Boolean fIsAutobuild;
 
-	private HashSet fOrginalFolders;
+    private HashSet fOrginalFolders;
 
-	/**
-	 * Constructor for the {@link NewJavaProjectWizardPageTwoCOPY}.
-	 * 
-	 * @param mainPage
-	 *            the first page of the wizard
-	 */
-	public NewJavaProjectWizardPageTwoCOPY(NewJavaProjectWizardPageOneCOPY mainPage) {
-		fFirstPage = mainPage;
-		fCurrProjectLocation = null;
-		fCurrProject = null;
-		fKeepContent = false;
+    /**
+     * Constructor for the {@link NewJavaProjectWizardPageTwoCOPY}.
+     *
+     * @param mainPage the first page of the wizard
+     */
+    public NewJavaProjectWizardPageTwoCOPY(NewJavaProjectWizardPageOneCOPY mainPage) {
+        this.fFirstPage = mainPage;
+        this.fCurrProjectLocation = null;
+        this.fCurrProject = null;
+        this.fKeepContent = false;
 
-		fDotProjectBackup = null;
-		fDotClasspathBackup = null;
-		fIsAutobuild = null;
-	}
+        this.fDotProjectBackup = null;
+        this.fDotClasspathBackup = null;
+        this.fIsAutobuild = null;
+    }
 
-	private IStatus changeToNewProject() {
-		class UpdateRunnable implements IRunnableWithProgress {
-			public IStatus infoStatus = Status.OK_STATUS;
+    private IStatus changeToNewProject() {
+        class UpdateRunnable implements IRunnableWithProgress {
 
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-				try {
-					if (fIsAutobuild == null) {
-						fIsAutobuild = Boolean.valueOf(setAutoBuilding(false));
-					}
-					infoStatus = updateProject(monitor);
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				} catch (OperationCanceledException e) {
-					throw new InterruptedException();
-				} finally {
-					monitor.done();
-				}
-			}
-		}
-		UpdateRunnable op = new UpdateRunnable();
-		try {
-			getContainer().run(true, false, new WorkspaceModifyDelegatingOperation(op));
-			return op.infoStatus;
-		} catch (InvocationTargetException e) {
-			final String title = NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_error_title;
-			final String message = NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_error_message;
-			ExceptionHandler.handle(e, getShell(), title, message);
-		} catch (InterruptedException e) {
-			// cancel pressed
-		}
-		return null;
-	}
+            public IStatus infoStatus = Status.OK_STATUS;
 
-	private void copyFile(File source, IFileStore target, IProgressMonitor monitor) throws IOException, CoreException {
-		FileInputStream is = new FileInputStream(source);
-		OutputStream os = target.openOutputStream(EFS.NONE, monitor);
-		copyFile(is, os);
-	}
+            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+                try {
+                    if (NewJavaProjectWizardPageTwoCOPY.this.fIsAutobuild == null) {
+                        NewJavaProjectWizardPageTwoCOPY.this.fIsAutobuild = Boolean.valueOf(setAutoBuilding(false));
+                    }
+                    this.infoStatus = updateProject(monitor);
+                } catch (CoreException e) {
+                    throw new InvocationTargetException(e);
+                } catch (OperationCanceledException e) {
+                    throw new InterruptedException();
+                } finally {
+                    monitor.done();
+                }
+            }
+        }
+        UpdateRunnable op = new UpdateRunnable();
+        try {
+            getContainer().run(true, false, new WorkspaceModifyDelegatingOperation(op));
+            return op.infoStatus;
+        } catch (InvocationTargetException e) {
+            final String title = NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_error_title;
+            final String message = NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_error_message;
+            ExceptionHandler.handle(e, getShell(), title, message);
+        } catch (InterruptedException e) {
+            // cancel pressed
+        }
+        return null;
+    }
 
-	private void copyFile(IFileStore source, File target) throws IOException, CoreException {
-		InputStream is = source.openInputStream(EFS.NONE, null);
-		FileOutputStream os = new FileOutputStream(target);
-		copyFile(is, os);
-	}
+    private void copyFile(File source, IFileStore target, IProgressMonitor monitor) throws IOException, CoreException {
+        FileInputStream is = new FileInputStream(source);
+        OutputStream os = target.openOutputStream(EFS.NONE, monitor);
+        copyFile(is, os);
+    }
 
-	private void copyFile(InputStream is, OutputStream os) throws IOException {
-		try {
-			byte[] buffer = new byte[8192];
-			while (true) {
-				int bytesRead = is.read(buffer);
-				if (bytesRead == -1) {
-					break;
-				}
+    private void copyFile(IFileStore source, File target) throws IOException, CoreException {
+        InputStream is = source.openInputStream(EFS.NONE, null);
+        FileOutputStream os = new FileOutputStream(target);
+        copyFile(is, os);
+    }
 
-				os.write(buffer, 0, bytesRead);
-			}
-		} finally {
-			try {
-				is.close();
-			} finally {
-				os.close();
-			}
-		}
-	}
+    private void copyFile(InputStream is, OutputStream os) throws IOException {
+        try {
+            byte[] buffer = new byte[8192];
+            while (true) {
+                int bytesRead = is.read(buffer);
+                if (bytesRead == -1) {
+                    break;
+                }
 
-	private File createBackup(IFileStore source, String name) throws CoreException {
-		try {
-			File bak = File.createTempFile("eclipse-" + name, ".bak"); //$NON-NLS-1$//$NON-NLS-2$
-			copyFile(source, bak);
-			return bak;
-		} catch (IOException e) {
-			IStatus status = new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR, Messages.format(
-					NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_problem_backup, name), e);
-			throw new CoreException(status);
-		}
-	}
+                os.write(buffer, 0, bytesRead);
+            }
+        } finally {
+            try {
+                is.close();
+            } finally {
+                os.close();
+            }
+        }
+    }
 
-	/**
-	 * Creates the provisional project on which the wizard is working on. The provisional project is typically created
-	 * when the page is entered the first time. The early project creation is required to configure linked folders.
-	 * 
-	 * @return the provisional project
-	 */
-	protected IProject createProvisonalProject() {
-		IStatus status = changeToNewProject();
-		if (status != null && !status.isOK()) {
-			ErrorDialog.openError(getShell(), NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_error_title,
-					null, status);
-		}
-		return fCurrProject;
-	}
+    private File createBackup(IFileStore source, String name) throws CoreException {
+        try {
+            File bak = File.createTempFile("eclipse-" + name, ".bak"); //$NON-NLS-1$//$NON-NLS-2$
+            copyFile(source, bak);
+            return bak;
+        } catch (IOException e) {
+            IStatus status = new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR,
+                Messages.format(NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_problem_backup, name), e);
+            throw new CoreException(status);
+        }
+    }
 
-	private void deleteProjectFile(URI projectLocation) throws CoreException {
-		IFileStore file = EFS.getStore(projectLocation);
-		if (file.fetchInfo().exists()) {
-			IFileStore projectFile = file.getChild(FILENAME_PROJECT);
-			if (projectFile.fetchInfo().exists()) {
-				projectFile.delete(EFS.NONE, null);
-			}
-		}
-	}
+    /**
+     * Creates the provisional project on which the wizard is working on. The provisional project is typically created
+     * when the page is entered the first time. The early project creation is required to configure linked folders.
+     *
+     * @return the provisional project
+     */
+    protected IProject createProvisonalProject() {
+        IStatus status = changeToNewProject();
+        if (status != null && !status.isOK()) {
+            ErrorDialog.openError(getShell(), NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_error_title, null, status);
+        }
+        return this.fCurrProject;
+    }
 
-	private final void doRemoveProject(IProgressMonitor monitor) throws InvocationTargetException {
-		final boolean noProgressMonitor = (fCurrProjectLocation == null); // inside
-		// workspace
-		if (monitor == null || noProgressMonitor) {
-			monitor = new NullProgressMonitor();
-		}
-		monitor.beginTask(NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_operation_remove, 3);
-		try {
-			try {
-				URI projLoc = fCurrProject.getLocationURI();
+    private void deleteProjectFile(URI projectLocation) throws CoreException {
+        IFileStore file = EFS.getStore(projectLocation);
+        if (file.fetchInfo().exists()) {
+            IFileStore projectFile = file.getChild(FILENAME_PROJECT);
+            if (projectFile.fetchInfo().exists()) {
+                projectFile.delete(EFS.NONE, null);
+            }
+        }
+    }
 
-				boolean removeContent = !fKeepContent && fCurrProject.isSynchronized(IResource.DEPTH_INFINITE);
-				if (!removeContent) {
-					restoreExistingFolders(projLoc);
-				}
-				fCurrProject.delete(removeContent, false, new SubProgressMonitor(monitor, 2));
+    private final void doRemoveProject(IProgressMonitor monitor) throws InvocationTargetException {
+        final boolean noProgressMonitor = this.fCurrProjectLocation == null; // inside
+        // workspace
+        if (monitor == null || noProgressMonitor) {
+            monitor = new NullProgressMonitor();
+        }
+        monitor.beginTask(NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_operation_remove, 3);
+        try {
+            try {
+                URI projLoc = this.fCurrProject.getLocationURI();
 
-				restoreExistingFiles(projLoc, new SubProgressMonitor(monitor, 1));
-			} finally {
-				setAutoBuilding(fIsAutobuild.booleanValue()); // fIsAutobuild
-				// must
-				// be
-				// set
-				fIsAutobuild = null;
-			}
-		} catch (CoreException e) {
-			throw new InvocationTargetException(e);
-		} finally {
-			monitor.done();
-			fCurrProject = null;
-			fKeepContent = false;
-		}
-	}
+                boolean removeContent = !this.fKeepContent && this.fCurrProject.isSynchronized(IResource.DEPTH_INFINITE);
+                if (!removeContent) {
+                    restoreExistingFolders(projLoc);
+                }
+                this.fCurrProject.delete(removeContent, false, new SubProgressMonitor(monitor, 2));
 
-	private boolean hasExistingContent(URI realLocation) throws CoreException {
-		IFileStore file = EFS.getStore(realLocation);
-		return file.fetchInfo().exists();
-	}
+                restoreExistingFiles(projLoc, new SubProgressMonitor(monitor, 1));
+            } finally {
+                setAutoBuilding(this.fIsAutobuild.booleanValue()); // fIsAutobuild
+                // must
+                // be
+                // set
+                this.fIsAutobuild = null;
+            }
+        } catch (CoreException e) {
+            throw new InvocationTargetException(e);
+        } finally {
+            monitor.done();
+            this.fCurrProject = null;
+            this.fKeepContent = false;
+        }
+    }
 
-	/**
-	 * Evaluates the new build path and output folder according to the settings on the first page. The resulting build
-	 * path is set by calling {@link #init(IJavaProject, IPath, IClasspathEntry[], boolean)}. Clients can override this
-	 * method.
-	 * 
-	 * @param javaProject
-	 *            the new project which is already created when this method is called.
-	 * @param monitor
-	 *            the progress monitor
-	 * @throws CoreException
-	 *             thrown when initializing the build path failed
-	 */
-	@SuppressWarnings("unchecked")
-	protected void initializeBuildPath(IJavaProject javaProject, IProgressMonitor monitor) throws CoreException {
-		if (monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-		monitor.beginTask(NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_monitor_init_build_path, 2);
+    private boolean hasExistingContent(URI realLocation) throws CoreException {
+        IFileStore file = EFS.getStore(realLocation);
+        return file.fetchInfo().exists();
+    }
 
-		try {
-			IClasspathEntry[] entries = null;
-			IPath outputLocation = null;
-			IProject project = javaProject.getProject();
+    /**
+     * Evaluates the new build path and output folder according to the settings on the first page. The resulting build
+     * path is set by calling {@link #init(IJavaProject, IPath, IClasspathEntry[], boolean)}. Clients can override this
+     * method.
+     *
+     * @param javaProject the new project which is already created when this method is called.
+     * @param monitor the progress monitor
+     * @throws CoreException thrown when initializing the build path failed
+     */
+    @SuppressWarnings("unchecked")
+    protected void initializeBuildPath(IJavaProject javaProject, IProgressMonitor monitor) throws CoreException {
+        if (monitor == null) {
+            monitor = new NullProgressMonitor();
+        }
+        monitor.beginTask(NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_monitor_init_build_path, 2);
 
-			if (fKeepContent) {
-				if (!project.getFile(FILENAME_CLASSPATH).exists()) {
-					final ClassPathDetector detector = new ClassPathDetector(fCurrProject, new SubProgressMonitor(
-							monitor, 2));
-					entries = detector.getClasspath();
-					outputLocation = detector.getOutputLocation();
-					if (entries.length == 0) {
-						entries = null;
-					}
-				} else {
-					monitor.worked(2);
-				}
-			} else {
-				List cpEntries = new ArrayList();
-				IWorkspaceRoot root = project.getWorkspace().getRoot();
+        try {
+            IClasspathEntry[] entries = null;
+            IPath outputLocation = null;
+            IProject project = javaProject.getProject();
 
-				IClasspathEntry[] sourceClasspathEntries = fFirstPage.getSourceClasspathEntries();
-				for (IClasspathEntry sourceClasspathEntrie : sourceClasspathEntries) {
-					IPath path = sourceClasspathEntrie.getPath();
-					if (path.segmentCount() > 1) {
-						IFolder folder = root.getFolder(path);
-						CoreUtility.createFolder(folder, true, true, new SubProgressMonitor(monitor, 1));
-					}
-					cpEntries.add(sourceClasspathEntrie);
-				}
+            if (this.fKeepContent) {
+                if (!project.getFile(FILENAME_CLASSPATH).exists()) {
+                    final ClassPathDetector detector = new ClassPathDetector(this.fCurrProject, new SubProgressMonitor(monitor, 2));
+                    entries = detector.getClasspath();
+                    outputLocation = detector.getOutputLocation();
+                    if (entries.length == 0) {
+                        entries = null;
+                    }
+                } else {
+                    monitor.worked(2);
+                }
+            } else {
+                List cpEntries = new ArrayList();
+                IWorkspaceRoot root = project.getWorkspace().getRoot();
 
-				cpEntries.addAll(Arrays.asList(fFirstPage.getDefaultClasspathEntries()));
+                IClasspathEntry[] sourceClasspathEntries = this.fFirstPage.getSourceClasspathEntries();
+                for (IClasspathEntry sourceClasspathEntrie : sourceClasspathEntries) {
+                    IPath path = sourceClasspathEntrie.getPath();
+                    if (path.segmentCount() > 1) {
+                        IFolder folder = root.getFolder(path);
+                        CoreUtility.createFolder(folder, true, true, new SubProgressMonitor(monitor, 1));
+                    }
+                    cpEntries.add(sourceClasspathEntrie);
+                }
 
-				entries = (IClasspathEntry[]) cpEntries.toArray(new IClasspathEntry[cpEntries.size()]);
+                cpEntries.addAll(Arrays.asList(this.fFirstPage.getDefaultClasspathEntries()));
 
-				outputLocation = fFirstPage.getOutputLocation();
-				if (outputLocation.segmentCount() > 1) {
-					IFolder folder = root.getFolder(outputLocation);
-					CoreUtility.createDerivedFolder(folder, true, true, new SubProgressMonitor(monitor, 1));
-				}
-			}
-			if (monitor.isCanceled()) {
-				throw new OperationCanceledException();
-			}
+                entries = (IClasspathEntry[]) cpEntries.toArray(new IClasspathEntry[cpEntries.size()]);
 
-			init(javaProject, outputLocation, entries, false);
-		} finally {
-			monitor.done();
-		}
-	}
+                outputLocation = this.fFirstPage.getOutputLocation();
+                if (outputLocation.segmentCount() > 1) {
+                    IFolder folder = root.getFolder(outputLocation);
+                    CoreUtility.createDerivedFolder(folder, true, true, new SubProgressMonitor(monitor, 1));
+                }
+            }
+            if (monitor.isCanceled()) {
+                throw new OperationCanceledException();
+            }
 
-	/**
-	 * Called from the wizard on cancel.
-	 */
-	public void performCancel() {
-		if (fCurrProject != null) {
-			removeProvisonalProject();
-		}
-	}
+            init(javaProject, outputLocation, entries, false);
+        } finally {
+            monitor.done();
+        }
+    }
 
-	/**
-	 * Called from the wizard on finish.
-	 * 
-	 * @param monitor
-	 *            the progress monitor
-	 * @throws CoreException
-	 *             thrown when the project creation or configuration failed
-	 * @throws InterruptedException
-	 *             thrown when the user cancelled the project creation
-	 */
-	@SuppressWarnings("unchecked")
-	public void performFinish(IProgressMonitor monitor) throws CoreException, InterruptedException {
-		try {
-			monitor.beginTask(NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_operation_create, 3);
-			if (fCurrProject == null) {
-				updateProject(new SubProgressMonitor(monitor, 1));
-			}
-			configureJavaProject(new SubProgressMonitor(monitor, 2));
+    /**
+     * Called from the wizard on cancel.
+     */
+    public void performCancel() {
+        if (this.fCurrProject != null) {
+            removeProvisonalProject();
+        }
+    }
 
-			if (!fKeepContent) {
-				String compliance = fFirstPage.getCompilerCompliance();
-				if (compliance != null) {
-					IJavaProject project = JavaCore.create(fCurrProject);
-					Map options = project.getOptions(false);
-					// JavaModelUtil.setCompilanceOptions(options, compliance);
-					JavaCore.setComplianceOptions(compliance, options);
-					JavaModelUtil.setDefaultClassfileOptions(options, compliance); // complete
-					// compliance
-					// options
-					project.setOptions(options);
-				}
-			}
-		} finally {
-			monitor.done();
-			fCurrProject = null;
-			if (fIsAutobuild != null) {
-				setAutoBuilding(fIsAutobuild.booleanValue());
-				fIsAutobuild = null;
-			}
-		}
-	}
+    /**
+     * Called from the wizard on finish.
+     *
+     * @param monitor the progress monitor
+     * @throws CoreException thrown when the project creation or configuration failed
+     * @throws InterruptedException thrown when the user cancelled the project creation
+     */
+    @SuppressWarnings("unchecked")
+    public void performFinish(IProgressMonitor monitor) throws CoreException, InterruptedException {
+        try {
+            monitor.beginTask(NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_operation_create, 3);
+            if (this.fCurrProject == null) {
+                updateProject(new SubProgressMonitor(monitor, 1));
+            }
+            configureJavaProject(new SubProgressMonitor(monitor, 2));
 
-	@SuppressWarnings("unchecked")
-	private void rememberExisitingFolders(URI projectLocation) {
-		fOrginalFolders = new HashSet();
+            if (!this.fKeepContent) {
+                String compliance = this.fFirstPage.getCompilerCompliance();
+                if (compliance != null) {
+                    IJavaProject project = JavaCore.create(this.fCurrProject);
+                    Map options = project.getOptions(false);
+                    // JavaModelUtil.setCompilanceOptions(options, compliance);
+                    JavaCore.setComplianceOptions(compliance, options);
+                    JavaModelUtil.setDefaultClassfileOptions(options, compliance); // complete
+                    // compliance
+                    // options
+                    project.setOptions(options);
+                }
+            }
+        } finally {
+            monitor.done();
+            this.fCurrProject = null;
+            if (this.fIsAutobuild != null) {
+                setAutoBuilding(this.fIsAutobuild.booleanValue());
+                this.fIsAutobuild = null;
+            }
+        }
+    }
 
-		try {
-			IFileStore[] children = EFS.getStore(projectLocation).childStores(EFS.NONE, null);
-			for (IFileStore child : children) {
-				IFileInfo info = child.fetchInfo();
-				if (info.isDirectory() && info.exists() && !fOrginalFolders.contains(child.getName())) {
-					fOrginalFolders.add(child);
-				}
-			}
-		} catch (CoreException e) {
-			JavaPlugin.log(e);
-		}
-	}
+    @SuppressWarnings("unchecked")
+    private void rememberExisitingFolders(URI projectLocation) {
+        this.fOrginalFolders = new HashSet();
 
-	private void rememberExistingFiles(URI projectLocation) throws CoreException {
-		fDotProjectBackup = null;
-		fDotClasspathBackup = null;
+        try {
+            IFileStore[] children = EFS.getStore(projectLocation).childStores(EFS.NONE, null);
+            for (IFileStore child : children) {
+                IFileInfo info = child.fetchInfo();
+                if (info.isDirectory() && info.exists() && !this.fOrginalFolders.contains(child.getName())) {
+                    this.fOrginalFolders.add(child);
+                }
+            }
+        } catch (CoreException e) {
+            JavaPlugin.log(e);
+        }
+    }
 
-		IFileStore file = EFS.getStore(projectLocation);
-		if (file.fetchInfo().exists()) {
-			IFileStore projectFile = file.getChild(FILENAME_PROJECT);
-			if (projectFile.fetchInfo().exists()) {
-				fDotProjectBackup = createBackup(projectFile, "project-desc"); //$NON-NLS-1$ 
-			}
-			IFileStore classpathFile = file.getChild(FILENAME_CLASSPATH);
-			if (classpathFile.fetchInfo().exists()) {
-				fDotClasspathBackup = createBackup(classpathFile, "classpath-desc"); //$NON-NLS-1$ 
-			}
-		}
-	}
+    private void rememberExistingFiles(URI projectLocation) throws CoreException {
+        this.fDotProjectBackup = null;
+        this.fDotClasspathBackup = null;
 
-	/**
-	 * Removes the provisional project. The provisional project is typically removed when the user cancels the wizard or
-	 * goes back to the first page.
-	 */
-	protected void removeProvisonalProject() {
-		if (!fCurrProject.exists()) {
-			fCurrProject = null;
-			return;
-		}
+        IFileStore file = EFS.getStore(projectLocation);
+        if (file.fetchInfo().exists()) {
+            IFileStore projectFile = file.getChild(FILENAME_PROJECT);
+            if (projectFile.fetchInfo().exists()) {
+                this.fDotProjectBackup = createBackup(projectFile, "project-desc"); //$NON-NLS-1$
+            }
+            IFileStore classpathFile = file.getChild(FILENAME_CLASSPATH);
+            if (classpathFile.fetchInfo().exists()) {
+                this.fDotClasspathBackup = createBackup(classpathFile, "classpath-desc"); //$NON-NLS-1$
+            }
+        }
+    }
 
-		IRunnableWithProgress op = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-				doRemoveProject(monitor);
-			}
-		};
+    /**
+     * Removes the provisional project. The provisional project is typically removed when the user cancels the wizard or
+     * goes back to the first page.
+     */
+    protected void removeProvisonalProject() {
+        if (!this.fCurrProject.exists()) {
+            this.fCurrProject = null;
+            return;
+        }
 
-		try {
-			getContainer().run(true, true, new WorkspaceModifyDelegatingOperation(op));
-		} catch (InvocationTargetException e) {
-			final String title = NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_error_remove_title;
-			final String message = NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_error_remove_message;
-			ExceptionHandler.handle(e, getShell(), title, message);
-		} catch (InterruptedException e) {
-			// cancel pressed
-		}
-	}
+        IRunnableWithProgress op = new IRunnableWithProgress() {
 
-	private void restoreExistingFiles(URI projectLocation, IProgressMonitor monitor) throws CoreException {
-		int ticks = ((fDotProjectBackup != null ? 1 : 0) + (fDotClasspathBackup != null ? 1 : 0)) * 2;
-		monitor.beginTask("", ticks); //$NON-NLS-1$
-		try {
-			IFileStore projectFile = EFS.getStore(projectLocation).getChild(FILENAME_PROJECT);
-			projectFile.delete(EFS.NONE, new SubProgressMonitor(monitor, 1));
-			if (fDotProjectBackup != null) {
-				copyFile(fDotProjectBackup, projectFile, new SubProgressMonitor(monitor, 1));
-			}
-		} catch (IOException e) {
-			IStatus status = new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR,
-					NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_problem_restore_project, e);
-			throw new CoreException(status);
-		}
-		try {
-			IFileStore classpathFile = EFS.getStore(projectLocation).getChild(FILENAME_CLASSPATH);
-			classpathFile.delete(EFS.NONE, new SubProgressMonitor(monitor, 1));
-			if (fDotClasspathBackup != null) {
-				copyFile(fDotClasspathBackup, classpathFile, new SubProgressMonitor(monitor, 1));
-			}
-		} catch (IOException e) {
-			IStatus status = new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR,
-					NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_problem_restore_classpath, e);
-			throw new CoreException(status);
-		}
-	}
+            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+                doRemoveProject(monitor);
+            }
+        };
 
-	private void restoreExistingFolders(URI projectLocation) {
-		try {
-			IFileStore[] children = EFS.getStore(projectLocation).childStores(EFS.NONE, null);
-			for (IFileStore child : children) {
-				IFileInfo info = child.fetchInfo();
-				if (info.isDirectory() && info.exists() && !fOrginalFolders.contains(child)) {
-					child.delete(EFS.NONE, null);
-					fOrginalFolders.remove(child);
-				}
-			}
+        try {
+            getContainer().run(true, true, new WorkspaceModifyDelegatingOperation(op));
+        } catch (InvocationTargetException e) {
+            final String title = NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_error_remove_title;
+            final String message = NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_error_remove_message;
+            ExceptionHandler.handle(e, getShell(), title, message);
+        } catch (InterruptedException e) {
+            // cancel pressed
+        }
+    }
 
-			for (Iterator iterator = fOrginalFolders.iterator(); iterator.hasNext();) {
-				IFileStore deleted = (IFileStore) iterator.next();
-				deleted.mkdir(EFS.NONE, null);
-			}
-		} catch (CoreException e) {
-			JavaPlugin.log(e);
-		}
-	}
+    private void restoreExistingFiles(URI projectLocation, IProgressMonitor monitor) throws CoreException {
+        int ticks = ((this.fDotProjectBackup != null ? 1 : 0) + (this.fDotClasspathBackup != null ? 1 : 0)) * 2;
+        monitor.beginTask("", ticks); //$NON-NLS-1$
+        try {
+            IFileStore projectFile = EFS.getStore(projectLocation).getChild(FILENAME_PROJECT);
+            projectFile.delete(EFS.NONE, new SubProgressMonitor(monitor, 1));
+            if (this.fDotProjectBackup != null) {
+                copyFile(this.fDotProjectBackup, projectFile, new SubProgressMonitor(monitor, 1));
+            }
+        } catch (IOException e) {
+            IStatus status = new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR,
+                NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_problem_restore_project, e);
+            throw new CoreException(status);
+        }
+        try {
+            IFileStore classpathFile = EFS.getStore(projectLocation).getChild(FILENAME_CLASSPATH);
+            classpathFile.delete(EFS.NONE, new SubProgressMonitor(monitor, 1));
+            if (this.fDotClasspathBackup != null) {
+                copyFile(this.fDotClasspathBackup, classpathFile, new SubProgressMonitor(monitor, 1));
+            }
+        } catch (IOException e) {
+            IStatus status = new Status(IStatus.ERROR, JavaUI.ID_PLUGIN, IStatus.ERROR,
+                NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_problem_restore_classpath, e);
+            throw new CoreException(status);
+        }
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.dialogs.IDialogPage#setVisible(boolean)
-	 */
-	@Override
-	public void setVisible(boolean visible) {
-		boolean isShownFirstTime = visible && fCurrProject == null;
-		if (visible) {
-			if (isShownFirstTime) { // entering from the first page
-				createProvisonalProject();
-			}
-		} else {
-			if (getContainer().getCurrentPage() == fFirstPage) { // leaving
-				// back to
-				// the first
-				// page
-				removeProvisonalProject();
-			}
-		}
-		super.setVisible(visible);
-		if (isShownFirstTime) {
-			setFocus();
-		}
-	}
+    private void restoreExistingFolders(URI projectLocation) {
+        try {
+            IFileStore[] children = EFS.getStore(projectLocation).childStores(EFS.NONE, null);
+            for (IFileStore child : children) {
+                IFileInfo info = child.fetchInfo();
+                if (info.isDirectory() && info.exists() && !this.fOrginalFolders.contains(child)) {
+                    child.delete(EFS.NONE, null);
+                    this.fOrginalFolders.remove(child);
+                }
+            }
 
-	private final IStatus updateProject(IProgressMonitor monitor) throws CoreException, InterruptedException {
-		IStatus result = StatusInfo.OK_STATUS;
-		if (monitor == null) {
-			monitor = new NullProgressMonitor();
-		}
-		try {
-			monitor.beginTask(NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_operation_initialize, 7);
-			if (monitor.isCanceled()) {
-				throw new OperationCanceledException();
-			}
+            for (Iterator iterator = this.fOrginalFolders.iterator(); iterator.hasNext();) {
+                IFileStore deleted = (IFileStore) iterator.next();
+                deleted.mkdir(EFS.NONE, null);
+            }
+        } catch (CoreException e) {
+            JavaPlugin.log(e);
+        }
+    }
 
-			String projectName = fFirstPage.getProjectName();
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.dialogs.IDialogPage#setVisible(boolean)
+     */
+    @Override
+    public void setVisible(boolean visible) {
+        boolean isShownFirstTime = visible && this.fCurrProject == null;
+        if (visible) {
+            if (isShownFirstTime) { // entering from the first page
+                createProvisonalProject();
+            }
+        } else {
+            if (getContainer().getCurrentPage() == this.fFirstPage) { // leaving
+                // back to
+                // the first
+                // page
+                removeProvisonalProject();
+            }
+        }
+        super.setVisible(visible);
+        if (isShownFirstTime) {
+            setFocus();
+        }
+    }
 
-			fCurrProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
-			fCurrProjectLocation = fFirstPage.getProjectLocationURI();
+    private final IStatus updateProject(IProgressMonitor monitor) throws CoreException, InterruptedException {
+        IStatus result = StatusInfo.OK_STATUS;
+        if (monitor == null) {
+            monitor = new NullProgressMonitor();
+        }
+        try {
+            monitor.beginTask(NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_operation_initialize, 7);
+            if (monitor.isCanceled()) {
+                throw new OperationCanceledException();
+            }
 
-			URI realLocation = getRealLocation(projectName, fCurrProjectLocation);
-			fKeepContent = hasExistingContent(realLocation);
+            String projectName = this.fFirstPage.getProjectName();
 
-			if (monitor.isCanceled()) {
-				throw new OperationCanceledException();
-			}
+            this.fCurrProject = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+            this.fCurrProjectLocation = this.fFirstPage.getProjectLocationURI();
 
-			if (fKeepContent) {
-				rememberExistingFiles(realLocation);
-				rememberExisitingFolders(realLocation);
-			}
+            URI realLocation = getRealLocation(projectName, this.fCurrProjectLocation);
+            this.fKeepContent = hasExistingContent(realLocation);
 
-			if (monitor.isCanceled()) {
-				throw new OperationCanceledException();
-			}
+            if (monitor.isCanceled()) {
+                throw new OperationCanceledException();
+            }
 
-			try {
-				createProject(fCurrProject, fCurrProjectLocation, new SubProgressMonitor(monitor, 2));
-			} catch (CoreException e) {
-				if (e.getStatus().getCode() == IResourceStatus.FAILED_READ_METADATA) {
-					result = new StatusInfo(IStatus.INFO, Messages.format(
-							NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_DeleteCorruptProjectFile_message,
-							e.getLocalizedMessage()));
+            if (this.fKeepContent) {
+                rememberExistingFiles(realLocation);
+                rememberExisitingFolders(realLocation);
+            }
 
-					deleteProjectFile(realLocation);
-					if (fCurrProject.exists()) {
-						fCurrProject.delete(true, null);
-					}
+            if (monitor.isCanceled()) {
+                throw new OperationCanceledException();
+            }
 
-					createProject(fCurrProject, fCurrProjectLocation, null);
-				} else {
-					throw e;
-				}
-			}
+            try {
+                createProject(this.fCurrProject, this.fCurrProjectLocation, new SubProgressMonitor(monitor, 2));
+            } catch (CoreException e) {
+                if (e.getStatus().getCode() == IResourceStatus.FAILED_READ_METADATA) {
+                    result = new StatusInfo(IStatus.INFO, Messages.format(
+                        NewJavaProjectWizardConstants.NewJavaProjectWizardPageTwo_DeleteCorruptProjectFile_message, e.getLocalizedMessage()));
 
-			if (monitor.isCanceled()) {
-				throw new OperationCanceledException();
-			}
+                    deleteProjectFile(realLocation);
+                    if (this.fCurrProject.exists()) {
+                        this.fCurrProject.delete(true, null);
+                    }
 
-			initializeBuildPath(JavaCore.create(fCurrProject), new SubProgressMonitor(monitor, 2));
-			configureJavaProject(new SubProgressMonitor(monitor, 3)); // create
-			// the
-			// Java
-			// project
-			// to
-			// allow
-			// the
-			// use
-			// of
-			// the
-			// new
-			// source
-			// folder
-			// page
-		} finally {
-			monitor.done();
-		}
-		return result;
-	}
+                    createProject(this.fCurrProject, this.fCurrProjectLocation, null);
+                } else {
+                    throw e;
+                }
+            }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.jdt.ui.wizards.JavaCapabilityConfigurationPage#useNewSourcePage
-	 * ()
-	 */
-	@Override
-	protected final boolean useNewSourcePage() {
-		return true;
-	}
+            if (monitor.isCanceled()) {
+                throw new OperationCanceledException();
+            }
+
+            initializeBuildPath(JavaCore.create(this.fCurrProject), new SubProgressMonitor(monitor, 2));
+            configureJavaProject(new SubProgressMonitor(monitor, 3)); // create
+            // the
+            // Java
+            // project
+            // to
+            // allow
+            // the
+            // use
+            // of
+            // the
+            // new
+            // source
+            // folder
+            // page
+        } finally {
+            monitor.done();
+        }
+        return result;
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jdt.ui.wizards.JavaCapabilityConfigurationPage#useNewSourcePage ()
+     */
+    @Override
+    protected final boolean useNewSourcePage() {
+        return true;
+    }
 }
diff --git a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/PdeMessageStrings.java b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/PdeMessageStrings.java
index b9920d2..9dc3bdb 100644
--- a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/PdeMessageStrings.java
+++ b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/PdeMessageStrings.java
@@ -8,6 +8,7 @@
  * Contributors:
  * IBM - Initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.eclipse.wizards;
 
 /**
@@ -15,18 +16,18 @@
  */
 public class PdeMessageStrings {
 
-	// PDEUIMessages
-	public static String ContentPage_noid = "ID is not set";
+    // PDEUIMessages
+    public static String ContentPage_noid = "ID is not set";
 
-	public static String ContentPage_invalidId = "Invalid ID.  Legal characters are A-Z a-z 0-9 . _";
+    public static String ContentPage_invalidId = "Invalid ID.  Legal characters are A-Z a-z 0-9 . _";
 
-	public static String ContentPage_noname = "Name is not set";
+    public static String ContentPage_noname = "Name is not set";
 
-	public static String ContentPage_illegalCharactersInID = "Project name contained characters which are not legal for the id, they have been converted to underscores.";
+    public static String ContentPage_illegalCharactersInID = "Project name contained characters which are not legal for the id, they have been converted to underscores.";
 
-	public static String ControlValidationUtility_errorMsgValueMustBeSpecified = "A value must be specified";
+    public static String ControlValidationUtility_errorMsgValueMustBeSpecified = "A value must be specified";
 
-	// PDECoreMessages
-	public static String BundleErrorReporter_InvalidFormatInBundleVersion = "The specified version does not have the correct format (major.minor.micro.qualifier) or contains invalid characters";
+    // PDECoreMessages
+    public static String BundleErrorReporter_InvalidFormatInBundleVersion = "The specified version does not have the correct format (major.minor.micro.qualifier) or contains invalid characters";
 
 }
diff --git a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/ProjectContentPage.java b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/ProjectContentPage.java
index cabdb84..8ccf754 100644
--- a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/ProjectContentPage.java
+++ b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/ProjectContentPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.eclipse.wizards;
 
 import java.util.StringTokenizer;
@@ -38,254 +39,248 @@
 @SuppressWarnings("restriction")
 public abstract class ProjectContentPage extends WizardPage {
 
-	private final static int PROPERTIES_GROUP = 1;
+    private final static int PROPERTIES_GROUP = 1;
 
-	// ContentPage
-	private boolean fInitialized = false;
+    // ContentPage
+    private boolean fInitialized = false;
 
-	private Text fIdText;
+    private Text fIdText;
 
-	private Text fVersionText;
+    private Text fVersionText;
 
-	private Text fNameText;
+    private Text fNameText;
 
-	private Text fProviderText;
+    private Text fProviderText;
 
-	private final AbstractFieldData fData;
+    private final AbstractFieldData fData;
 
-	private final IProjectProvider fProjectProvider;
+    private final IProjectProvider fProjectProvider;
 
-	private int fChangedGroups = 0;
+    private int fChangedGroups = 0;
 
-	/**
-	 * @see ContentPage
-	 */
-	private final ModifyListener propertiesListener = new ModifyListener() {
-		public void modifyText(ModifyEvent e) {
-			if (fInitialized) {
-				fChangedGroups |= PROPERTIES_GROUP;
-			}
-			validatePage();
-		}
-	};
+    /**
+     * @see ContentPage
+     */
+    private final ModifyListener propertiesListener = new ModifyListener() {
 
-	protected ProjectContentPage(String pageName, IProjectProvider provider, AbstractFieldData data) {
-		super(pageName);
-		fProjectProvider = provider;
-		fData = data;
-		setTitle(getContentPageTitle());
-		setDescription(getContentPageDescription());
-	}
+        public void modifyText(ModifyEvent e) {
+            if (ProjectContentPage.this.fInitialized) {
+                ProjectContentPage.this.fChangedGroups |= PROPERTIES_GROUP;
+            }
+            validatePage();
+        }
+    };
 
-	/**
-	 * @see ContentPage
-	 */
-	private String computeId() {
-		return IdUtil.getValidId(fProjectProvider.getProjectName());
-	}
+    protected ProjectContentPage(String pageName, IProjectProvider provider, AbstractFieldData data) {
+        super(pageName);
+        this.fProjectProvider = provider;
+        this.fData = data;
+        setTitle(getContentPageTitle());
+        setDescription(getContentPageDescription());
+    }
 
-	/**
-	 * @see PluginContentPage
-	 */
-	protected void createPluginPropertiesGroup(Composite container) {
-		Group propertiesGroup = new Group(container, SWT.NONE);
-		propertiesGroup.setLayout(new GridLayout(3, false));
-		propertiesGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		propertiesGroup.setText(getContentPageGroupLabel());
+    /**
+     * @see ContentPage
+     */
+    private String computeId() {
+        return IdUtil.getValidId(this.fProjectProvider.getProjectName());
+    }
 
-		Label label = new Label(propertiesGroup, SWT.NONE);
-		label.setText(getContentPageIdLabel());
-		fIdText = createText(propertiesGroup, propertiesListener, 2);
+    /**
+     * @see PluginContentPage
+     */
+    protected void createPluginPropertiesGroup(Composite container) {
+        Group propertiesGroup = new Group(container, SWT.NONE);
+        propertiesGroup.setLayout(new GridLayout(3, false));
+        propertiesGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        propertiesGroup.setText(getContentPageGroupLabel());
 
-		label = new Label(propertiesGroup, SWT.NONE);
-		label.setText(getContentPageNameLabel());
-		fNameText = createText(propertiesGroup, propertiesListener, 2);
+        Label label = new Label(propertiesGroup, SWT.NONE);
+        label.setText(getContentPageIdLabel());
+        this.fIdText = createText(propertiesGroup, this.propertiesListener, 2);
 
-		label = new Label(propertiesGroup, SWT.NONE);
-		label.setText(getContentPageVersionLabel());
-		fVersionText = createText(propertiesGroup, propertiesListener, 2);
+        label = new Label(propertiesGroup, SWT.NONE);
+        label.setText(getContentPageNameLabel());
+        this.fNameText = createText(propertiesGroup, this.propertiesListener, 2);
 
-		label = new Label(propertiesGroup, SWT.NONE);
-		label.setText(getContentPageProviderLabel());
-		fProviderText = createText(propertiesGroup, propertiesListener, 2);
-	}
+        label = new Label(propertiesGroup, SWT.NONE);
+        label.setText(getContentPageVersionLabel());
+        this.fVersionText = createText(propertiesGroup, this.propertiesListener, 2);
 
-	/**
-	 * @see ContentPage
-	 */
-	private Text createText(Composite parent, ModifyListener listener, int horizSpan) {
-		Text text = new Text(parent, SWT.BORDER | SWT.SINGLE);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = horizSpan;
-		text.setLayoutData(data);
-		text.addModifyListener(listener);
-		return text;
-	}
+        label = new Label(propertiesGroup, SWT.NONE);
+        label.setText(getContentPageProviderLabel());
+        this.fProviderText = createText(propertiesGroup, this.propertiesListener, 2);
+    }
 
-	protected abstract String getContentPageDescription();
+    /**
+     * @see ContentPage
+     */
+    private Text createText(Composite parent, ModifyListener listener, int horizSpan) {
+        Text text = new Text(parent, SWT.BORDER | SWT.SINGLE);
+        GridData data = new GridData(GridData.FILL_HORIZONTAL);
+        data.horizontalSpan = horizSpan;
+        text.setLayoutData(data);
+        text.addModifyListener(listener);
+        return text;
+    }
 
-	protected abstract String getContentPageGroupLabel();
+    protected abstract String getContentPageDescription();
 
-	protected abstract String getContentPageIdLabel();
+    protected abstract String getContentPageGroupLabel();
 
-	protected abstract String getContentPageNameLabel();
+    protected abstract String getContentPageIdLabel();
 
-	protected abstract String getContentPagePluginLabel();
+    protected abstract String getContentPageNameLabel();
 
-	protected abstract String getContentPageProviderLabel();
+    protected abstract String getContentPagePluginLabel();
 
-	protected abstract String getContentPageTitle();
+    protected abstract String getContentPageProviderLabel();
 
-	protected abstract String getContentPageVersionLabel();
+    protected abstract String getContentPageTitle();
 
-	/**
-	 * @see PluginContentPage
-	 */
-	private String getNameFieldQualifier() {
-		return getContentPagePluginLabel();
-	}
+    protected abstract String getContentPageVersionLabel();
 
-	/**
-	 * @see IdUtil
-	 */
-	private String getValidName(String id) {
-		StringTokenizer tok = new StringTokenizer(id, "."); //$NON-NLS-1$
-		while (tok.hasMoreTokens()) {
-			String token = tok.nextToken();
-			if (!tok.hasMoreTokens()) {
-				String name = Character.toUpperCase(token.charAt(0)) + ((token.length() > 1) ? token.substring(1) : ""); //$NON-NLS-1$
-				return name;
-			}
-		}
-		return ""; //$NON-NLS-1$
-	}
+    /**
+     * @see IdUtil
+     */
+    private String getValidName(String id) {
+        StringTokenizer tok = new StringTokenizer(id, "."); //$NON-NLS-1$
+        while (tok.hasMoreTokens()) {
+            String token = tok.nextToken();
+            if (!tok.hasMoreTokens()) {
+                String name = Character.toUpperCase(token.charAt(0)) + (token.length() > 1 ? token.substring(1) : ""); //$NON-NLS-1$
+                return name;
+            }
+        }
+        return ""; //$NON-NLS-1$
+    }
 
-	/**
-	 * @see ContentPage
-	 */
-	private boolean isVersionValid(String version) {
-		return VersionUtil.validateVersion(version).getSeverity() == IStatus.OK;
-	}
+    /**
+     * @see ContentPage
+     */
+    private boolean isVersionValid(String version) {
+        return VersionUtil.validateVersion(version).getSeverity() == IStatus.OK;
+    }
 
-	/**
-	 * @see ContentPage
-	 */
-	@Override
-	public void setVisible(boolean visible) {
-		if (visible) {
-			String id = computeId();
-			// properties group
-			if ((fChangedGroups & PROPERTIES_GROUP) == 0) {
-				int oldfChanged = fChangedGroups;
-				fIdText.setText(id);
-				fVersionText.setText("1.0.0"); //$NON-NLS-1$
-				fNameText.setText(getValidName(id));
-				fProviderText.setText(IdUtil.getValidProvider(id));
-				fChangedGroups = oldfChanged;
-			}
-			if (fInitialized) {
-				validatePage();
-			} else {
-				fInitialized = true;
-			}
-		}
-		super.setVisible(visible);
-	}
+    /**
+     * @see ContentPage
+     */
+    @Override
+    public void setVisible(boolean visible) {
+        if (visible) {
+            String id = computeId();
+            // properties group
+            if ((this.fChangedGroups & PROPERTIES_GROUP) == 0) {
+                int oldfChanged = this.fChangedGroups;
+                this.fIdText.setText(id);
+                this.fVersionText.setText("1.0.0"); //$NON-NLS-1$
+                this.fNameText.setText(getValidName(id));
+                this.fProviderText.setText(IdUtil.getValidProvider(id));
+                this.fChangedGroups = oldfChanged;
+            }
+            if (this.fInitialized) {
+                validatePage();
+            } else {
+                this.fInitialized = true;
+            }
+        }
+        super.setVisible(visible);
+    }
 
-	/**
-	 * @see ContentPage
-	 */
-	protected void updateData() {
-		fData.setId(fIdText.getText().trim());
-		fData.setVersion(fVersionText.getText().trim());
-		fData.setName(fNameText.getText().trim());
-		fData.setProvider(fProviderText.getText().trim());
-	}
+    /**
+     * @see ContentPage
+     */
+    protected void updateData() {
+        this.fData.setId(this.fIdText.getText().trim());
+        this.fData.setVersion(this.fVersionText.getText().trim());
+        this.fData.setName(this.fNameText.getText().trim());
+        this.fData.setProvider(this.fProviderText.getText().trim());
+    }
 
-	/**
-	 * @see ContentPage
-	 */
-	private String validateId() {
-		String id = fIdText.getText().trim();
-		if (id.length() == 0) {
-			return PdeMessageStrings.ContentPage_noid;
-		}
+    /**
+     * @see ContentPage
+     */
+    private String validateId() {
+        String id = this.fIdText.getText().trim();
+        if (id.length() == 0) {
+            return PdeMessageStrings.ContentPage_noid;
+        }
 
-		if (!IdUtil.isValidCompositeID3_0(id)) {
-			return PdeMessageStrings.ContentPage_invalidId;
-		}
-		return null;
-	}
+        if (!IdUtil.isValidCompositeID3_0(id)) {
+            return PdeMessageStrings.ContentPage_invalidId;
+        }
+        return null;
+    }
 
-	/**
-	 * @see ContentPage
-	 */
-	private String validateName() {
-		if (fNameText.getText().trim().length() == 0) {
-			return PdeMessageStrings.ContentPage_noname;
-		}
-		return null;
-	}
+    /**
+     * @see ContentPage
+     */
+    private String validateName() {
+        if (this.fNameText.getText().trim().length() == 0) {
+            return PdeMessageStrings.ContentPage_noname;
+        }
+        return null;
+    }
 
-	/**
-	 * @see PluginContentPage
-	 */
-	protected void validatePage() {
-		String errorMessage = validateProperties();
-		setErrorMessage(errorMessage);
-		setPageComplete(errorMessage == null);
-	}
+    /**
+     * @see PluginContentPage
+     */
+    protected void validatePage() {
+        String errorMessage = validateProperties();
+        setErrorMessage(errorMessage);
+        setPageComplete(errorMessage == null);
+    }
 
-	/**
-	 * @see ContentPage
-	 */
-	private String validateProperties() {
+    /**
+     * @see ContentPage
+     */
+    private String validateProperties() {
 
-		if (!fInitialized) {
-			if (!fIdText.getText().trim().equals(fProjectProvider.getProjectName())) {
-				setMessage(PdeMessageStrings.ContentPage_illegalCharactersInID, INFORMATION);
-			} else {
-				setMessage(null);
-			}
-			return null;
-		}
+        if (!this.fInitialized) {
+            if (!this.fIdText.getText().trim().equals(this.fProjectProvider.getProjectName())) {
+                setMessage(PdeMessageStrings.ContentPage_illegalCharactersInID, INFORMATION);
+            } else {
+                setMessage(null);
+            }
+            return null;
+        }
 
-		setMessage(null);
-		String errorMessage = null;
+        setMessage(null);
+        String errorMessage = null;
 
-		// Validate ID
-		errorMessage = validateId();
-		if (errorMessage != null) {
-			return errorMessage;
-		}
+        // Validate ID
+        errorMessage = validateId();
+        if (errorMessage != null) {
+            return errorMessage;
+        }
 
-		// Validate Version
-		errorMessage = validateVersion(fVersionText);
-		if (errorMessage != null) {
-			return errorMessage;
-		}
+        // Validate Version
+        errorMessage = validateVersion(this.fVersionText);
+        if (errorMessage != null) {
+            return errorMessage;
+        }
 
-		// Validate Name
-		errorMessage = validateName();
-		if (errorMessage != null) {
-			return errorMessage;
-		}
+        // Validate Name
+        errorMessage = validateName();
+        if (errorMessage != null) {
+            return errorMessage;
+        }
 
-		return null;
-	}
+        return null;
+    }
 
-	/**
-	 * @see ContentPage
-	 */
-	private String validateVersion(Text text) {
-		if (text.getText().trim().length() == 0) {
-			return PDELabelUtility.qualifyMessage(PDELabelUtility.getFieldLabel(text),
-					PdeMessageStrings.ControlValidationUtility_errorMsgValueMustBeSpecified);
-		} else if (!isVersionValid(text.getText().trim())) {
-			return PDELabelUtility.qualifyMessage(PDELabelUtility.getFieldLabel(text),
-					PdeMessageStrings.BundleErrorReporter_InvalidFormatInBundleVersion);
-		}
-		return null;
-	}
+    /**
+     * @see ContentPage
+     */
+    private String validateVersion(Text text) {
+        if (text.getText().trim().length() == 0) {
+            return PDELabelUtility.qualifyMessage(PDELabelUtility.getFieldLabel(text),
+                PdeMessageStrings.ControlValidationUtility_errorMsgValueMustBeSpecified);
+        } else if (!isVersionValid(text.getText().trim())) {
+            return PDELabelUtility.qualifyMessage(PDELabelUtility.getFieldLabel(text),
+                PdeMessageStrings.BundleErrorReporter_InvalidFormatInBundleVersion);
+        }
+        return null;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/RuntimeConfigurationPage.java b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/RuntimeConfigurationPage.java
index 2a42d4a..0768d8d 100644
--- a/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/RuntimeConfigurationPage.java
+++ b/org.eclipse.virgo.ide.eclipse/src/org/eclipse/virgo/ide/eclipse/wizards/RuntimeConfigurationPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  * IBM Corporation - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.eclipse.wizards;
 
 import java.util.Collections;
@@ -50,292 +51,291 @@
  * ProjectContentPage.
  */
 @SuppressWarnings("restriction")
-public abstract class RuntimeConfigurationPage extends ProjectContentPage implements IDataModelListener,
-		IFacetProjectCreationDataModelProperties {
+public abstract class RuntimeConfigurationPage extends ProjectContentPage implements IDataModelListener, IFacetProjectCreationDataModelProperties {
 
-	// DataModelWizardPage
-	private final ValidationStatus status = new ValidationStatus();
+    // DataModelWizardPage
+    private final ValidationStatus status = new ValidationStatus();
 
-	private final IDataModel model;
+    private final IDataModel model;
 
-	@SuppressWarnings("unchecked")
-	private Map validationMap;
+    @SuppressWarnings("unchecked")
+    private Map validationMap;
 
-	private String[] validationPropertyNames;
+    private String[] validationPropertyNames;
 
-	private final DataModelSynchHelper synchHelper;
+    private final DataModelSynchHelper synchHelper;
 
-	// DataModelFacetCreationWizardPage
-	private Combo serverTargetCombo;
+    // DataModelFacetCreationWizardPage
+    private Combo serverTargetCombo;
 
-	protected RuntimeConfigurationPage(String pageName, IProjectProvider provider, AbstractFieldData data,
-			IDataModel model) {
-		super(pageName, provider, data);
-		this.model = model;
-		model.addListener(this);
-		synchHelper = initializeSynchHelper(model);
-	}
+    protected RuntimeConfigurationPage(String pageName, IProjectProvider provider, AbstractFieldData data, IDataModel model) {
+        super(pageName, provider, data);
+        this.model = model;
+        model.addListener(this);
+        this.synchHelper = initializeSynchHelper(model);
+    }
 
-	protected abstract void createAdditionalPropertiesGroup(Composite container);
+    protected abstract void createAdditionalPropertiesGroup(Composite container);
 
-	public void createControl(Composite parent) {
-		Composite container = new Composite(parent, SWT.NONE);
-		container.setLayout(new GridLayout());
+    public void createControl(Composite parent) {
+        Composite container = new Composite(parent, SWT.NONE);
+        container.setLayout(new GridLayout());
 
-		createPluginPropertiesGroup(container);
-		createAdditionalPropertiesGroup(container);
-		createServerTargetComposite(container);
+        createPluginPropertiesGroup(container);
+        createAdditionalPropertiesGroup(container);
+        createServerTargetComposite(container);
 
-		Dialog.applyDialogFont(container);
-		setControl(container);
-		setDefaults();
-		initializeValidationProperties();
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IHelpContextIds.NEW_PROJECT_REQUIRED_DATA);
-	}
+        Dialog.applyDialogFont(container);
+        setControl(container);
+        setDefaults();
+        initializeValidationProperties();
+        PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IHelpContextIds.NEW_PROJECT_REQUIRED_DATA);
+    }
 
-	/**
-	 * @see DataModelFacetCreationWizardPage
-	 */
-	private void createServerTargetComposite(Composite parent) {
-		Group group = new Group(parent, SWT.NONE);
-		group.setText(ResourceHandler.TargetRuntime);
-		group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		group.setLayout(new GridLayout(2, false));
-		serverTargetCombo = new Combo(group, SWT.BORDER | SWT.READ_ONLY);
-		serverTargetCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		Button newServerTargetButton = new Button(group, SWT.NONE);
-		newServerTargetButton.setText(ResourceHandler.NewDotDotDot);
-		newServerTargetButton.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				if (!internalLaunchNewRuntimeWizard(getShell(), model)) {
-					// Bugzilla 135288
-					// setErrorMessage(ResourceHandler.InvalidServerTarget);
-				}
-			}
-		});
-		Control[] deps = new Control[] { newServerTargetButton };
-		synchHelper.synchCombo(serverTargetCombo, FACET_RUNTIME, deps);
-		if (serverTargetCombo.getSelectionIndex() == -1 && serverTargetCombo.getVisibleItemCount() != 0) {
-			serverTargetCombo.select(0);
-		}
-	}
+    /**
+     * @see DataModelFacetCreationWizardPage
+     */
+    private void createServerTargetComposite(Composite parent) {
+        Group group = new Group(parent, SWT.NONE);
+        group.setText(ResourceHandler.TargetRuntime);
+        group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        group.setLayout(new GridLayout(2, false));
+        this.serverTargetCombo = new Combo(group, SWT.BORDER | SWT.READ_ONLY);
+        this.serverTargetCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        Button newServerTargetButton = new Button(group, SWT.NONE);
+        newServerTargetButton.setText(ResourceHandler.NewDotDotDot);
+        newServerTargetButton.addSelectionListener(new SelectionAdapter() {
 
-	/**
-	 * @see DataModelFacetCreationWizardPage
-	 */
-	protected abstract String getModuleTypeID();
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                if (!internalLaunchNewRuntimeWizard(getShell(), RuntimeConfigurationPage.this.model)) {
+                    // Bugzilla 135288
+                    // setErrorMessage(ResourceHandler.InvalidServerTarget);
+                }
+            }
+        });
+        Control[] deps = new Control[] { newServerTargetButton };
+        this.synchHelper.synchCombo(this.serverTargetCombo, FACET_RUNTIME, deps);
+        if (this.serverTargetCombo.getSelectionIndex() == -1 && this.serverTargetCombo.getVisibleItemCount() != 0) {
+            this.serverTargetCombo.select(0);
+        }
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	private boolean getStatus(Integer key) {
-		return status.hasError(key);
-	}
+    /**
+     * @see DataModelFacetCreationWizardPage
+     */
+    protected abstract String getModuleTypeID();
 
-	/**
-	 * @see DataModelFacetCreationWizardPage
-	 */
-	private String[] getValidationPropertyNames() {
-		return new String[] { IProjectCreationPropertiesNew.PROJECT_LOCATION, FACET_RUNTIME };
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    private boolean getStatus(Integer key) {
+        return this.status.hasError(key);
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	private DataModelSynchHelper initializeSynchHelper(IDataModel dm) {
-		return new DataModelSynchHelper(dm);
-	}
+    /**
+     * @see DataModelFacetCreationWizardPage
+     */
+    private String[] getValidationPropertyNames() {
+        return new String[] { IProjectCreationPropertiesNew.PROJECT_LOCATION, FACET_RUNTIME };
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	@SuppressWarnings("unchecked")
-	private void initializeValidationProperties() {
-		validationPropertyNames = getValidationPropertyNames();
-		if (validationPropertyNames == null || validationPropertyNames.length == 0) {
-			validationMap = Collections.EMPTY_MAP;
-		} else {
-			validationMap = new HashMap(validationPropertyNames.length);
-			for (int i = 0; i < validationPropertyNames.length; i++) {
-				validationMap.put(validationPropertyNames[i], new Integer(i));
-			}
-		}
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    private DataModelSynchHelper initializeSynchHelper(IDataModel dm) {
+        return new DataModelSynchHelper(dm);
+    }
 
-	/**
-	 * @see DataModelFacetCreationWizardPage
-	 */
-	private boolean internalLaunchNewRuntimeWizard(Shell shell, IDataModel model) {
-		return DataModelFacetCreationWizardPage.launchNewRuntimeWizard(shell, model, getModuleTypeID());
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    @SuppressWarnings("unchecked")
+    private void initializeValidationProperties() {
+        this.validationPropertyNames = getValidationPropertyNames();
+        if (this.validationPropertyNames == null || this.validationPropertyNames.length == 0) {
+            this.validationMap = Collections.EMPTY_MAP;
+        } else {
+            this.validationMap = new HashMap(this.validationPropertyNames.length);
+            for (int i = 0; i < this.validationPropertyNames.length; i++) {
+                this.validationMap.put(this.validationPropertyNames[i], new Integer(i));
+            }
+        }
+    }
 
-	public void performPageFinish() {
-		super.updateData();
-		storeDefaultSettings();
-	}
+    /**
+     * @see DataModelFacetCreationWizardPage
+     */
+    private boolean internalLaunchNewRuntimeWizard(Shell shell, IDataModel model) {
+        return DataModelFacetCreationWizardPage.launchNewRuntimeWizard(shell, model, getModuleTypeID());
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	public void propertyChanged(DataModelEvent event) {
-		// DataModelWizard w = getDataModelWizard();
-		// if (w == null || !w.isExecuting()) {
-		String propertyName = event.getPropertyName();
-		if (validationPropertyNames != null
-				&& (event.getFlag() == DataModelEvent.VALUE_CHG || (!isPageComplete() && event.getFlag() == DataModelEvent.VALID_VALUES_CHG))) {
-			for (String element : validationPropertyNames) {
-				if (element.equals(propertyName)) {
-					// validatePage(showValidationErrorsOnEnter());
-					validatePage();
-					break;
-				}
-			}
-		}
-	}
+    public void performPageFinish() {
+        super.updateData();
+        storeDefaultSettings();
+    }
 
-	/**
-	 * @see DataModelFacetCreationWizardPage
-	 */
-	private void restoreDefaultSettings() {
-		IDialogSettings settings = getDialogSettings();
-		DataModelFacetCreationWizardPage.restoreRuntimeSettings(settings, model);
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    public void propertyChanged(DataModelEvent event) {
+        // DataModelWizard w = getDataModelWizard();
+        // if (w == null || !w.isExecuting()) {
+        String propertyName = event.getPropertyName();
+        if (this.validationPropertyNames != null
+            && (event.getFlag() == DataModelEvent.VALUE_CHG || !isPageComplete() && event.getFlag() == DataModelEvent.VALID_VALUES_CHG)) {
+            for (String element : this.validationPropertyNames) {
+                if (element.equals(propertyName)) {
+                    // validatePage(showValidationErrorsOnEnter());
+                    validatePage();
+                    break;
+                }
+            }
+        }
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	private void setDefaults() {
-		restoreDefaultSettings();
-	}
+    /**
+     * @see DataModelFacetCreationWizardPage
+     */
+    private void restoreDefaultSettings() {
+        IDialogSettings settings = getDialogSettings();
+        DataModelFacetCreationWizardPage.restoreRuntimeSettings(settings, this.model);
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	private void setErrorMessage() {
-		String error = status.getLastErrMsg();
-		if (error == null) {
-			if (getErrorMessage() != null) {
-				setErrorMessage((String) null);
-			}
-			String warning = status.getLastWarningMsg();
-			if (warning == null) {
-				if (getMessage() != null && getMessageType() == IMessageProvider.WARNING) {
-					setMessage(null, IMessageProvider.WARNING);
-				} else {
-					String info = status.getLastInfoMsg();
-					if (info == null) {
-						if (getMessage() != null && getMessageType() == IMessageProvider.INFORMATION) {
-							setMessage(null, IMessageProvider.INFORMATION);
-						}
-					} else if (!info.equals(getMessage())) {
-						setMessage(info, IMessageProvider.INFORMATION);
-					}
-				}
-			} else if (!warning.equals(getMessage())) {
-				setMessage(warning, IMessageProvider.WARNING);
-			}
-		} else if (!error.equals(getErrorMessage())) {
-			setErrorMessage(error);
-		}
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    private void setDefaults() {
+        restoreDefaultSettings();
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	private void setErrorStatus(Integer key, String errorMessage) {
-		status.setErrorStatus(key, errorMessage);
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    private void setErrorMessage() {
+        String error = this.status.getLastErrMsg();
+        if (error == null) {
+            if (getErrorMessage() != null) {
+                setErrorMessage((String) null);
+            }
+            String warning = this.status.getLastWarningMsg();
+            if (warning == null) {
+                if (getMessage() != null && getMessageType() == IMessageProvider.WARNING) {
+                    setMessage(null, IMessageProvider.WARNING);
+                } else {
+                    String info = this.status.getLastInfoMsg();
+                    if (info == null) {
+                        if (getMessage() != null && getMessageType() == IMessageProvider.INFORMATION) {
+                            setMessage(null, IMessageProvider.INFORMATION);
+                        }
+                    } else if (!info.equals(getMessage())) {
+                        setMessage(info, IMessageProvider.INFORMATION);
+                    }
+                }
+            } else if (!warning.equals(getMessage())) {
+                setMessage(warning, IMessageProvider.WARNING);
+            }
+        } else if (!error.equals(getErrorMessage())) {
+            setErrorMessage(error);
+        }
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	private void setInfoStatus(Integer key, String infoMessage) {
-		status.setInfoStatus(key, infoMessage);
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    private void setErrorStatus(Integer key, String errorMessage) {
+        this.status.setErrorStatus(key, errorMessage);
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	private void setOKStatus(Integer key) {
-		status.setOKStatus(key);
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    private void setInfoStatus(Integer key, String infoMessage) {
+        this.status.setInfoStatus(key, infoMessage);
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	private void setWarningStatus(Integer key, String warningMessage) {
-		status.setWarningStatus(key, warningMessage);
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    private void setOKStatus(Integer key) {
+        this.status.setOKStatus(key);
+    }
 
-	/**
-	 * @see DataModelFacetCreationWizardPage
-	 */
-	private void storeDefaultSettings() {
-		IDialogSettings settings = getDialogSettings();
-		DataModelFacetCreationWizardPage.saveRuntimeSettings(settings, model);
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    private void setWarningStatus(Integer key, String warningMessage) {
+        this.status.setWarningStatus(key, warningMessage);
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	private void updateControls() {
+    /**
+     * @see DataModelFacetCreationWizardPage
+     */
+    private void storeDefaultSettings() {
+        IDialogSettings settings = getDialogSettings();
+        DataModelFacetCreationWizardPage.saveRuntimeSettings(settings, this.model);
+    }
 
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    private void updateControls() {
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	private String validateControlsBase() {
-		if (!validationMap.isEmpty()) {
-			String propName;
-			for (String element : validationPropertyNames) {
-				propName = element;
-				Integer valKey = (Integer) validationMap.get(propName);
-				if (valKey != null) {
-					validateProperty(propName, valKey);
-				}
-				if (!getStatus(valKey)) {
-					return propName;
-				}
-			}
-		}
-		return null;
-	}
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	@Override
-	protected void validatePage() {
-		super.validatePage();
-		if (isPageComplete()) {
-			validateControlsBase();
-			updateControls();
-			setErrorMessage();
-			setPageComplete(status.getLastErrMsg() == null);
-		}
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    private String validateControlsBase() {
+        if (!this.validationMap.isEmpty()) {
+            String propName;
+            for (String element : this.validationPropertyNames) {
+                propName = element;
+                Integer valKey = (Integer) this.validationMap.get(propName);
+                if (valKey != null) {
+                    validateProperty(propName, valKey);
+                }
+                if (!getStatus(valKey)) {
+                    return propName;
+                }
+            }
+        }
+        return null;
+    }
 
-	/**
-	 * @see DataModelWizardPage
-	 */
-	private void validateProperty(String propertyName, Integer validationKey) {
-		setOKStatus(validationKey);
-		IStatus status1 = model.validateProperty(propertyName);
-		if (!status1.isOK()) {
-			String message = status1.isMultiStatus() ? status1.getChildren()[0].getMessage() : status1.getMessage();
-			switch (status1.getSeverity()) {
-			case IStatus.ERROR:
-				setErrorStatus(validationKey, message);
-				break;
-			case IStatus.WARNING:
-				setWarningStatus(validationKey, message);
-				break;
-			case IStatus.INFO:
-				setInfoStatus(validationKey, message);
-				break;
-			}
-		}
-	}
+    /**
+     * @see DataModelWizardPage
+     */
+    @Override
+    protected void validatePage() {
+        super.validatePage();
+        if (isPageComplete()) {
+            validateControlsBase();
+            updateControls();
+            setErrorMessage();
+            setPageComplete(this.status.getLastErrMsg() == null);
+        }
+    }
+
+    /**
+     * @see DataModelWizardPage
+     */
+    private void validateProperty(String propertyName, Integer validationKey) {
+        setOKStatus(validationKey);
+        IStatus status1 = this.model.validateProperty(propertyName);
+        if (!status1.isOK()) {
+            String message = status1.isMultiStatus() ? status1.getChildren()[0].getMessage() : status1.getMessage();
+            switch (status1.getSeverity()) {
+                case IStatus.ERROR:
+                    setErrorStatus(validationKey, message);
+                    break;
+                case IStatus.WARNING:
+                    setWarningStatus(validationKey, message);
+                    break;
+                case IStatus.INFO:
+                    setInfoStatus(validationKey, message);
+                    break;
+            }
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.export.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.export.tests/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.export.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.export.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.export.tests/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.export.tests/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.export.tests/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.export.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.export.tests/src/org/eclipse/virgo/ide/export/tests/BundleExportTestCase.java b/org.eclipse.virgo.ide.export.tests/src/org/eclipse/virgo/ide/export/tests/BundleExportTestCase.java
index 5dc9f68..60f3e3f 100644
--- a/org.eclipse.virgo.ide.export.tests/src/org/eclipse/virgo/ide/export/tests/BundleExportTestCase.java
+++ b/org.eclipse.virgo.ide.export.tests/src/org/eclipse/virgo/ide/export/tests/BundleExportTestCase.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.export.tests;
 
 import java.io.File;
@@ -42,51 +43,46 @@
  */
 public class BundleExportTestCase extends VirgoIdeTestCase {
 
-	@Test
-	public void testExportOperation() throws InvocationTargetException, InterruptedException, IOException,
-			CoreException {
-		IPath jarLocation = Path.fromOSString(
-				VirgoIdeTestUtil.getWorkspaceRoot().getLocation().toFile().getCanonicalPath()).append(
-				"bundlor-test-1.0.0.jar");
-		IJavaProject javaProject = JavaCore.create(createPredefinedProject("bundlor-test"));
+    @Test
+    public void testExportOperation() throws InvocationTargetException, InterruptedException, IOException, CoreException {
+        IPath jarLocation = Path.fromOSString(VirgoIdeTestUtil.getWorkspaceRoot().getLocation().toFile().getCanonicalPath()).append(
+            "bundlor-test-1.0.0.jar");
+        IJavaProject javaProject = JavaCore.create(createPredefinedProject("bundlor-test"));
 
-		IJarExportRunnable op = BundleExportUtils.createExportOperation(javaProject, jarLocation, Display.getDefault()
-				.getActiveShell(), new ArrayList<IStatus>());
-		PlatformUI.getWorkbench().getActiveWorkbenchWindow().run(true, true, op);
-		IStatus status = op.getStatus();
-		Assert.assertTrue("Expects status is OK", status.isOK());
+        IJarExportRunnable op = BundleExportUtils.createExportOperation(javaProject, jarLocation, Display.getDefault().getActiveShell(),
+            new ArrayList<IStatus>());
+        PlatformUI.getWorkbench().getActiveWorkbenchWindow().run(true, true, op);
+        IStatus status = op.getStatus();
+        Assert.assertTrue("Expects status is OK", status.isOK());
 
-		File file = new File(jarLocation.toOSString());
-		FileInputStream fileStream = new FileInputStream(file);
-		ZipInputStream stream = new ZipInputStream(fileStream);
+        File file = new File(jarLocation.toOSString());
+        FileInputStream fileStream = new FileInputStream(file);
+        ZipInputStream stream = new ZipInputStream(fileStream);
 
-		List<String> fileNames = new ArrayList<String>();
-		while (stream.available() > 0) {
-			ZipEntry entry = stream.getNextEntry();
-			if (entry != null) {
-				fileNames.add(entry.getName());
-			}
-		}
+        List<String> fileNames = new ArrayList<String>();
+        while (stream.available() > 0) {
+            ZipEntry entry = stream.getNextEntry();
+            if (entry != null) {
+                fileNames.add(entry.getName());
+            }
+        }
 
-		String[] sortedFileNames = fileNames.toArray(new String[fileNames.size()]);
-		Arrays.sort(sortedFileNames);
+        String[] sortedFileNames = fileNames.toArray(new String[fileNames.size()]);
+        Arrays.sort(sortedFileNames);
 
-		Assert.assertTrue("Expects 4 entries", sortedFileNames.length == 4);
-		Assert.assertEquals("Expects 1st entry to be META-INF/MANIFEST.MF", "META-INF/MANIFEST.MF", sortedFileNames[0]);
-		Assert.assertEquals("Expects 2nd entry to be META-INF/spring/module-context.xml",
-				"META-INF/spring/module-context.xml", sortedFileNames[1]);
-		Assert.assertEquals("Expects 3rd entry to be com/springsource/Foo.class", "com/springsource/Foo.class",
-				sortedFileNames[2]);
-		Assert.assertEquals("Expects 4th entry to be com/springsource/bar/Bar.class", "com/springsource/bar/Bar.class",
-				sortedFileNames[3]);
+        Assert.assertTrue("Expects 4 entries", sortedFileNames.length == 4);
+        Assert.assertEquals("Expects 1st entry to be META-INF/MANIFEST.MF", "META-INF/MANIFEST.MF", sortedFileNames[0]);
+        Assert.assertEquals("Expects 2nd entry to be META-INF/spring/module-context.xml", "META-INF/spring/module-context.xml", sortedFileNames[1]);
+        Assert.assertEquals("Expects 3rd entry to be com/springsource/Foo.class", "com/springsource/Foo.class", sortedFileNames[2]);
+        Assert.assertEquals("Expects 4th entry to be com/springsource/bar/Bar.class", "com/springsource/bar/Bar.class", sortedFileNames[3]);
 
-		fileStream.close();
-		stream.close();
-	}
+        fileStream.close();
+        stream.close();
+    }
 
-	@Override
-	protected String getBundleName() {
-		return "org.eclipse.virgo.ide.export.tests";
-	}
+    @Override
+    protected String getBundleName() {
+        return "org.eclipse.virgo.ide.export.tests";
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.export.tests/src/org/eclipse/virgo/ide/export/tests/ParExportTestCase.java b/org.eclipse.virgo.ide.export.tests/src/org/eclipse/virgo/ide/export/tests/ParExportTestCase.java
index c9c49ed..38d7deb 100644
--- a/org.eclipse.virgo.ide.export.tests/src/org/eclipse/virgo/ide/export/tests/ParExportTestCase.java
+++ b/org.eclipse.virgo.ide.export.tests/src/org/eclipse/virgo/ide/export/tests/ParExportTestCase.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.export.tests;
 
 import java.io.File;
@@ -40,47 +41,44 @@
  */
 public class ParExportTestCase extends VirgoIdeTestCase {
 
-	@Test
-	public void testExportOperation() throws InvocationTargetException, InterruptedException, IOException,
-			CoreException {
-		IPath parLocation = Path.fromOSString(
-				VirgoIdeTestUtil.getWorkspaceRoot().getLocation().toFile().getCanonicalPath()).append("test-1.0.0.par");
-		createPredefinedProject("bundlor-test");
+    @Test
+    public void testExportOperation() throws InvocationTargetException, InterruptedException, IOException, CoreException {
+        IPath parLocation = Path.fromOSString(VirgoIdeTestUtil.getWorkspaceRoot().getLocation().toFile().getCanonicalPath()).append("test-1.0.0.par");
+        createPredefinedProject("bundlor-test");
 
-		IProject project = VirgoIdeTestUtil.setUpProject("bundlor-test-par", "1.4", getSourceWorkspacePath());
-		VirgoIdeTestUtil.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null);
+        IProject project = VirgoIdeTestUtil.setUpProject("bundlor-test-par", "1.4", getSourceWorkspacePath());
+        VirgoIdeTestUtil.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null);
 
-		boolean status = ParExportWizard.exportPar(project, parLocation, PlatformUI.getWorkbench()
-				.getActiveWorkbenchWindow(), Display.getDefault().getActiveShell());
-		Assert.assertTrue("Expects status is OK", status);
+        boolean status = ParExportWizard.exportPar(project, parLocation, PlatformUI.getWorkbench().getActiveWorkbenchWindow(),
+            Display.getDefault().getActiveShell());
+        Assert.assertTrue("Expects status is OK", status);
 
-		File file = new File(parLocation.toOSString());
-		FileInputStream fileStream = new FileInputStream(file);
-		ZipInputStream stream = new ZipInputStream(fileStream);
+        File file = new File(parLocation.toOSString());
+        FileInputStream fileStream = new FileInputStream(file);
+        ZipInputStream stream = new ZipInputStream(fileStream);
 
-		List<String> fileNames = new ArrayList<String>();
-		while (stream.available() > 0) {
-			ZipEntry entry = stream.getNextEntry();
-			if (entry != null) {
-				fileNames.add(entry.getName());
-			}
-		}
+        List<String> fileNames = new ArrayList<String>();
+        while (stream.available() > 0) {
+            ZipEntry entry = stream.getNextEntry();
+            if (entry != null) {
+                fileNames.add(entry.getName());
+            }
+        }
 
-		String[] sortedFileNames = fileNames.toArray(new String[fileNames.size()]);
-		Arrays.sort(sortedFileNames);
+        String[] sortedFileNames = fileNames.toArray(new String[fileNames.size()]);
+        Arrays.sort(sortedFileNames);
 
-		Assert.assertTrue("Expects 2 entries", sortedFileNames.length == 2);
-		Assert.assertEquals("Expects 1st entry to be META-INF/MANIFEST.MF", "META-INF/MANIFEST.MF", sortedFileNames[0]);
-		Assert.assertEquals("Expects 2nd entry to be com.springsource.bundlor-1.0.0.jar",
-				"com.springsource.bundlor-1.0.0.jar", sortedFileNames[1]);
+        Assert.assertTrue("Expects 2 entries", sortedFileNames.length == 2);
+        Assert.assertEquals("Expects 1st entry to be META-INF/MANIFEST.MF", "META-INF/MANIFEST.MF", sortedFileNames[0]);
+        Assert.assertEquals("Expects 2nd entry to be com.springsource.bundlor-1.0.0.jar", "com.springsource.bundlor-1.0.0.jar", sortedFileNames[1]);
 
-		fileStream.close();
-		stream.close();
-	}
+        fileStream.close();
+        stream.close();
+    }
 
-	@Override
-	protected String getBundleName() {
-		return "org.eclipse.virgo.ide.export.tests";
-	}
+    @Override
+    protected String getBundleName() {
+        return "org.eclipse.virgo.ide.export.tests";
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.export/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.export/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.export/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.export/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.export/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.export/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.export/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.export/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/AbstractProjectExportWizardPage.java b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/AbstractProjectExportWizardPage.java
index 1af8447..c76bd82 100755
--- a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/AbstractProjectExportWizardPage.java
+++ b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/AbstractProjectExportWizardPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.export;
 
 import java.io.File;
@@ -49,7 +50,7 @@
 
 /**
  * Abstract wizard page for presenting a list of projects and specifying a location to export to.
- * 
+ *
  * @author Christian Dupuis
  * @author Terry Hon
  * @author Leo Dos Santos
@@ -57,293 +58,293 @@
 @SuppressWarnings("restriction")
 public abstract class AbstractProjectExportWizardPage extends WizardExportResourcesPage {
 
-	private Button browseButton;
+    private Button browseButton;
 
-	private Text destinationText;
+    private Text destinationText;
 
-	protected TableViewer tableViewer;
+    protected TableViewer tableViewer;
 
-	protected IStructuredSelection initialSelection;
+    protected IStructuredSelection initialSelection;
 
-	private boolean overwrite;
+    private boolean overwrite;
 
-	protected AbstractProjectExportWizardPage(String pageName, IStructuredSelection selection) {
-		super(pageName, selection);
-		this.initialSelection = selection;
-	}
+    protected AbstractProjectExportWizardPage(String pageName, IStructuredSelection selection) {
+        super(pageName, selection);
+        this.initialSelection = selection;
+    }
 
-	@Override
-	public void createControl(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		composite.setLayout(layout);
+    @Override
+    public void createControl(Composite parent) {
+        Composite composite = new Composite(parent, SWT.NONE);
+        GridLayout layout = new GridLayout();
+        composite.setLayout(layout);
 
-		Label selectProject = new Label(composite, SWT.NONE);
-		selectProject.setText("Select the project to export:");
-		selectProject.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+        Label selectProject = new Label(composite, SWT.NONE);
+        selectProject.setText("Select the project to export:");
+        selectProject.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
 
-		createInputGroup(composite);
+        createInputGroup(composite);
 
-		createDestinationGroup(composite);
+        createDestinationGroup(composite);
 
-		setControl(composite);
-	}
+        setControl(composite);
+    }
 
-	public boolean getOverwrite() {
-		return overwrite;
-	}
+    public boolean getOverwrite() {
+        return this.overwrite;
+    }
 
-	@Override
-	protected void createDestinationGroup(Composite parent) {
-		initializeDialogUnits(parent);
+    @Override
+    protected void createDestinationGroup(Composite parent) {
+        initializeDialogUnits(parent);
 
-		Composite destinationSelectionGroup = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout(3, false);
-		destinationSelectionGroup.setLayout(layout);
-		destinationSelectionGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
+        Composite destinationSelectionGroup = new Composite(parent, SWT.NONE);
+        GridLayout layout = new GridLayout(3, false);
+        destinationSelectionGroup.setLayout(layout);
+        destinationSelectionGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
 
-		Label label = new Label(destinationSelectionGroup, SWT.NONE);
-		label.setText("Select the export destination:");
-		GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, false);
-		gridData.horizontalSpan = 3;
-		label.setLayoutData(gridData);
+        Label label = new Label(destinationSelectionGroup, SWT.NONE);
+        label.setText("Select the export destination:");
+        GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, false);
+        gridData.horizontalSpan = 3;
+        label.setLayoutData(gridData);
 
-		Label jarLabel = new Label(destinationSelectionGroup, SWT.NONE);
-		jarLabel.setText(getDestinationLabel());
-		jarLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, true));
+        Label jarLabel = new Label(destinationSelectionGroup, SWT.NONE);
+        jarLabel.setText(getDestinationLabel());
+        jarLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, true));
 
-		destinationText = new Text(destinationSelectionGroup, SWT.BORDER);
-		destinationText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		destinationText.setEditable(true);
-		destinationText.addListener(SWT.Modify, this);
+        this.destinationText = new Text(destinationSelectionGroup, SWT.BORDER);
+        this.destinationText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+        this.destinationText.setEditable(true);
+        this.destinationText.addListener(SWT.Modify, this);
 
-		browseButton = new Button(destinationSelectionGroup, SWT.PUSH);
-		browseButton.setText("Browse...");
-		browseButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true));
-		browseButton.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				handleDestinationBrowseButtonPressed();
-			}
-		});
+        this.browseButton = new Button(destinationSelectionGroup, SWT.PUSH);
+        this.browseButton.setText("Browse...");
+        this.browseButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true));
+        this.browseButton.addSelectionListener(new SelectionAdapter() {
 
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                handleDestinationBrowseButtonPressed();
+            }
+        });
 
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateFileName();
-			}
-		});
+        this.tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
 
-		updateFileName();
+            public void selectionChanged(SelectionChangedEvent event) {
+                updateFileName();
+            }
+        });
 
-		final Button overwriteButton = new Button(destinationSelectionGroup, SWT.CHECK);
-		overwriteButton.setText("Overwrite existing file without warning");
+        updateFileName();
 
-		GridData buttonData = new GridData(SWT.FILL, SWT.FILL, true, false);
-		buttonData.horizontalSpan = 3;
-		buttonData.verticalIndent = 5;
-		overwriteButton.setLayoutData(buttonData);
-		overwriteButton.setSelection(false);
+        final Button overwriteButton = new Button(destinationSelectionGroup, SWT.CHECK);
+        overwriteButton.setText("Overwrite existing file without warning");
 
-		overwriteButton.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				overwrite = overwriteButton.getSelection();
-			}
-		});
-	}
+        GridData buttonData = new GridData(SWT.FILL, SWT.FILL, true, false);
+        buttonData.horizontalSpan = 3;
+        buttonData.verticalIndent = 5;
+        overwriteButton.setLayoutData(buttonData);
+        overwriteButton.setSelection(false);
 
-	protected void updateFileName() {
-		IProject project = getSelectedProject();
-		if (project == null) {
-			return;
-		}
+        overwriteButton.addSelectionListener(new SelectionAdapter() {
 
-		BundleManifest manifest = getBundleManifest(project);
-		if (manifest != null) {
-			String name = getSymbolicName(manifest);
-			String version = getVersion(manifest);
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                AbstractProjectExportWizardPage.this.overwrite = overwriteButton.getSelection();
+            }
+        });
+    }
 
-			IPath path = null;
-			if (destinationText.getText() != null) {
-				path = new Path("");
-			} else {
-				path = new Path(destinationText.getText());
-			}
-			if (name != null && version != null) {
-				path = path.removeLastSegments(1).append(name + "-" + version + getExtension());
-				destinationText.setText(path.toOSString());
-			}
-		}
-	}
+    protected void updateFileName() {
+        IProject project = getSelectedProject();
+        if (project == null) {
+            return;
+        }
 
-	protected abstract String getSymbolicName(BundleManifest bundleManifest);
+        BundleManifest manifest = getBundleManifest(project);
+        if (manifest != null) {
+            String name = getSymbolicName(manifest);
+            String version = getVersion(manifest);
 
-	protected abstract String getVersion(BundleManifest bundleManifest);
+            IPath path = null;
+            if (this.destinationText.getText() != null) {
+                path = new Path("");
+            } else {
+                path = new Path(this.destinationText.getText());
+            }
+            if (name != null && version != null) {
+                path = path.removeLastSegments(1).append(name + "-" + version + getExtension());
+                this.destinationText.setText(path.toOSString());
+            }
+        }
+    }
 
-	protected abstract BundleManifest getBundleManifest(IProject project);
+    protected abstract String getSymbolicName(BundleManifest bundleManifest);
 
-	private void createInputGroup(Composite parent) {
-		GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
+    protected abstract String getVersion(BundleManifest bundleManifest);
 
-		tableViewer = new TableViewer(parent, SWT.BORDER | SWT.SINGLE);
-		tableViewer.getTable().setLayoutData(data);
-		tableViewer.setUseHashlookup(true);
+    protected abstract BundleManifest getBundleManifest(IProject project);
 
-		int labelFlags = JavaElementLabelProvider.SHOW_BASICS | JavaElementLabelProvider.SHOW_OVERLAY_ICONS
-				| JavaElementLabelProvider.SHOW_SMALL_ICONS;
-		ITreeContentProvider treeContentProvider = getTreeContentProvider();
+    private void createInputGroup(Composite parent) {
+        GridData data = new GridData(SWT.FILL, SWT.FILL, true, true);
 
-		final DecoratingLabelProvider labelProvider = new DecoratingLabelProvider(new JavaElementLabelProvider(
-				labelFlags), new ProblemsLabelDecorator(null));
+        this.tableViewer = new TableViewer(parent, SWT.BORDER | SWT.SINGLE);
+        this.tableViewer.getTable().setLayoutData(data);
+        this.tableViewer.setUseHashlookup(true);
 
-		tableViewer.setContentProvider(treeContentProvider);
-		tableViewer.setLabelProvider(labelProvider);
-		tableViewer.addFilter(new EmptyInnerPackageFilter());
-		tableViewer.setComparator(new JavaElementComparator());
-		tableViewer.addFilter(getTreeViewerFilter());
+        int labelFlags = JavaElementLabelProvider.SHOW_BASICS | JavaElementLabelProvider.SHOW_OVERLAY_ICONS
+            | JavaElementLabelProvider.SHOW_SMALL_ICONS;
+        ITreeContentProvider treeContentProvider = getTreeContentProvider();
 
-		tableViewer.setInput(getInput());
-		tableViewer.setSelection(new StructuredSelection(initialSelection.toArray()), true);
-	}
+        final DecoratingLabelProvider labelProvider = new DecoratingLabelProvider(new JavaElementLabelProvider(labelFlags),
+            new ProblemsLabelDecorator(null));
 
-	abstract protected String getDestinationLabel();
+        this.tableViewer.setContentProvider(treeContentProvider);
+        this.tableViewer.setLabelProvider(labelProvider);
+        this.tableViewer.addFilter(new EmptyInnerPackageFilter());
+        this.tableViewer.setComparator(new JavaElementComparator());
+        this.tableViewer.addFilter(getTreeViewerFilter());
 
-	// copied from AbstractJarDestinationWizardPage
-	private String getDestinationValue() {
-		String destinationString = destinationText.getText().trim();
-		if (destinationString.indexOf('.') < 0) {
-			destinationString += getOutputSuffix();
-		}
-		return destinationString;
-	}
+        this.tableViewer.setInput(getInput());
+        this.tableViewer.setSelection(new StructuredSelection(this.initialSelection.toArray()), true);
+    }
 
-	abstract protected String getExtension();
+    abstract protected String getDestinationLabel();
 
-	protected Object getInput() {
-		return ResourcesPlugin.getWorkspace().getRoot();
-	}
+    // copied from AbstractJarDestinationWizardPage
+    private String getDestinationValue() {
+        String destinationString = this.destinationText.getText().trim();
+        if (destinationString.indexOf('.') < 0) {
+            destinationString += getOutputSuffix();
+        }
+        return destinationString;
+    }
 
-	public IPath getJarLocation() {
-		return Path.fromOSString(destinationText.getText());
-	}
+    abstract protected String getExtension();
 
-	private String getOutputSuffix() {
-		return ".jar";
-	}
+    protected Object getInput() {
+        return ResourcesPlugin.getWorkspace().getRoot();
+    }
 
-	public IProject getSelectedProject() {
-		ISelection selection = tableViewer.getSelection();
-		Object[] selectedItems;
-		if (selection instanceof IStructuredSelection) {
-			selectedItems = ((IStructuredSelection) selection).toArray();
-		} else {
-			selectedItems = new Object[0];
-		}
+    public IPath getJarLocation() {
+        return Path.fromOSString(this.destinationText.getText());
+    }
 
-		for (Object selectedItem : selectedItems) {
-			if (selectedItem instanceof IJavaProject) {
-				return ((IJavaProject) selectedItem).getProject();
-			} else if (selectedItem instanceof IProject) {
-				return (IProject) selectedItem;
-			}
-		}
-		return null;
-	}
+    private String getOutputSuffix() {
+        return ".jar";
+    }
 
-	protected ITreeContentProvider getTreeContentProvider() {
-		return new ITreeContentProvider() {
+    public IProject getSelectedProject() {
+        ISelection selection = this.tableViewer.getSelection();
+        Object[] selectedItems;
+        if (selection instanceof IStructuredSelection) {
+            selectedItems = ((IStructuredSelection) selection).toArray();
+        } else {
+            selectedItems = new Object[0];
+        }
 
-			private final Object[] NO_CHILDREN = new Object[0];
+        for (Object selectedItem : selectedItems) {
+            if (selectedItem instanceof IJavaProject) {
+                return ((IJavaProject) selectedItem).getProject();
+            } else if (selectedItem instanceof IProject) {
+                return (IProject) selectedItem;
+            }
+        }
+        return null;
+    }
 
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-				// no op
-			}
+    protected ITreeContentProvider getTreeContentProvider() {
+        return new ITreeContentProvider() {
 
-			public void dispose() {
-				// no op
-			}
+            private final Object[] NO_CHILDREN = new Object[0];
 
-			public Object[] getElements(Object inputElement) {
-				return getChildren(inputElement);
-			}
+            public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+                // no op
+            }
 
-			public boolean hasChildren(Object element) {
-				return getChildren(element).length > 0;
-			}
+            public void dispose() {
+                // no op
+            }
 
-			public Object getParent(Object element) {
-				// TODO Auto-generated method stub
-				return null;
-			}
+            public Object[] getElements(Object inputElement) {
+                return getChildren(inputElement);
+            }
 
-			public Object[] getChildren(Object parentElement) {
-				if (parentElement instanceof IProject) {
-					return NO_CHILDREN;
-				}
-				if (parentElement instanceof IContainer) {
-					IContainer container = (IContainer) parentElement;
-					try {
-						return container.members();
-					} catch (CoreException e) {
-					}
-				}
-				return NO_CHILDREN;
-			}
-		};
-	}
+            public boolean hasChildren(Object element) {
+                return getChildren(element).length > 0;
+            }
 
-	abstract protected ViewerFilter getTreeViewerFilter();
+            public Object getParent(Object element) {
+                // TODO Auto-generated method stub
+                return null;
+            }
 
-	// copied from AbstractJarDestinationWizardPage
-	private void handleDestinationBrowseButtonPressed() {
-		FileDialog dialog = new FileDialog(getContainer().getShell(), SWT.SAVE);
-		dialog.setFilterExtensions(new String[] { "*" + getExtension() });
+            public Object[] getChildren(Object parentElement) {
+                if (parentElement instanceof IProject) {
+                    return this.NO_CHILDREN;
+                }
+                if (parentElement instanceof IContainer) {
+                    IContainer container = (IContainer) parentElement;
+                    try {
+                        return container.members();
+                    } catch (CoreException e) {
+                    }
+                }
+                return this.NO_CHILDREN;
+            }
+        };
+    }
 
-		String currentSourceString = getDestinationValue();
-		int lastSeparatorIndex = currentSourceString.lastIndexOf(File.separator);
-		if (lastSeparatorIndex != -1) {
-			dialog.setFilterPath(currentSourceString.substring(0, lastSeparatorIndex));
-			dialog.setFileName(currentSourceString.substring(lastSeparatorIndex + 1, currentSourceString.length()));
-		} else {
-			dialog.setFileName(currentSourceString);
-		}
-		String selectedFileName = dialog.open();
-		if (selectedFileName != null) {
-			IContainer[] findContainersForLocation = ResourcesPlugin.getWorkspace()
-					.getRoot()
-					.findContainersForLocation(new Path(selectedFileName));
-			if (findContainersForLocation.length > 0) {
-				selectedFileName = findContainersForLocation[0].getFullPath().makeRelative().toString();
-			}
-			destinationText.setText(selectedFileName);
-		}
-	}
+    abstract protected ViewerFilter getTreeViewerFilter();
 
-	public void handleEvent(Event event) {
-		setPageComplete(isPageComplete());
-	}
+    // copied from AbstractJarDestinationWizardPage
+    private void handleDestinationBrowseButtonPressed() {
+        FileDialog dialog = new FileDialog(getContainer().getShell(), SWT.SAVE);
+        dialog.setFilterExtensions(new String[] { "*" + getExtension() });
 
-	@Override
-	public boolean isPageComplete() {
-		String text = destinationText.getText();
-		if (text.length() == 0) {
-			setErrorMessage(null);
-			return false;
-		}
+        String currentSourceString = getDestinationValue();
+        int lastSeparatorIndex = currentSourceString.lastIndexOf(File.separator);
+        if (lastSeparatorIndex != -1) {
+            dialog.setFilterPath(currentSourceString.substring(0, lastSeparatorIndex));
+            dialog.setFileName(currentSourceString.substring(lastSeparatorIndex + 1, currentSourceString.length()));
+        } else {
+            dialog.setFileName(currentSourceString);
+        }
+        String selectedFileName = dialog.open();
+        if (selectedFileName != null) {
+            IContainer[] findContainersForLocation = ResourcesPlugin.getWorkspace().getRoot().findContainersForLocation(new Path(selectedFileName));
+            if (findContainersForLocation.length > 0) {
+                selectedFileName = findContainersForLocation[0].getFullPath().makeRelative().toString();
+            }
+            this.destinationText.setText(selectedFileName);
+        }
+    }
 
-		if (!text.endsWith(getExtension())) {
-			setErrorMessage("Export destination must have " + getExtension() + " extension.");
-			return false;
-		}
+    public void handleEvent(Event event) {
+        setPageComplete(isPageComplete());
+    }
 
-		if (tableViewer.getSelection().isEmpty()) {
-			setErrorMessage("Bundle project selection must not be empty.");
-			return false;
-		}
+    @Override
+    public boolean isPageComplete() {
+        String text = this.destinationText.getText();
+        if (text.length() == 0) {
+            setErrorMessage(null);
+            return false;
+        }
 
-		setErrorMessage(null);
-		return true;
-	}
+        if (!text.endsWith(getExtension())) {
+            setErrorMessage("Export destination must have " + getExtension() + " extension.");
+            return false;
+        }
+
+        if (this.tableViewer.getSelection().isEmpty()) {
+            setErrorMessage("Bundle project selection must not be empty.");
+            return false;
+        }
+
+        setErrorMessage(null);
+        return true;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/BundleExportUtils.java b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/BundleExportUtils.java
index df260ec..466af0c 100755
--- a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/BundleExportUtils.java
+++ b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/BundleExportUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.export;
 
 import java.io.BufferedReader;
@@ -51,204 +52,193 @@
 
 /**
  * Utility class for exporting bundle projects
- * 
+ *
  * @author Christian Dupuis
  * @author Terry Hon
  */
 public class BundleExportUtils {
 
-	/**
-	 * Find manifest file given a java project
-	 * 
-	 * @param project
-	 * @return
-	 */
-	public static IResource getOutputManifestFile(IJavaProject project) {
-		try {
+    /**
+     * Find manifest file given a java project
+     *
+     * @param project
+     * @return
+     */
+    public static IResource getOutputManifestFile(IJavaProject project) {
+        try {
 
-			Set<IPath> outputPaths = new HashSet<IPath>();
-			outputPaths.add(project.getOutputLocation());
-			IPackageFragmentRoot[] roots = project.getPackageFragmentRoots();
-			for (IPackageFragmentRoot root : roots) {
-				if (root != null) {
-					IClasspathEntry cpEntry = root.getRawClasspathEntry();
-					if (cpEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-						IPath location = cpEntry.getOutputLocation();
-						if (location != null) {
-							outputPaths.add(location);
-						}
-					}
-				}
-			}
+            Set<IPath> outputPaths = new HashSet<IPath>();
+            outputPaths.add(project.getOutputLocation());
+            IPackageFragmentRoot[] roots = project.getPackageFragmentRoots();
+            for (IPackageFragmentRoot root : roots) {
+                if (root != null) {
+                    IClasspathEntry cpEntry = root.getRawClasspathEntry();
+                    if (cpEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
+                        IPath location = cpEntry.getOutputLocation();
+                        if (location != null) {
+                            outputPaths.add(location);
+                        }
+                    }
+                }
+            }
 
-			for (IPath outputPath : outputPaths) {
-				IResource manifest = getManifestFile(outputPath, project.getProject());
-				if (manifest != null) {
-					return manifest;
-				}
-			}
-		} catch (JavaModelException e) {
-			// No error handling existed before. Are these expected?!
-			throw new RuntimeException(e);
-		} catch (MalformedURLException e) {
-			// No error handling existed before. Are these expected?!
-			throw new RuntimeException(e);
-		}
-		return null;
-	}
+            for (IPath outputPath : outputPaths) {
+                IResource manifest = getManifestFile(outputPath, project.getProject());
+                if (manifest != null) {
+                    return manifest;
+                }
+            }
+        } catch (JavaModelException e) {
+            // No error handling existed before. Are these expected?!
+            throw new RuntimeException(e);
+        } catch (MalformedURLException e) {
+            // No error handling existed before. Are these expected?!
+            throw new RuntimeException(e);
+        }
+        return null;
+    }
 
-	private static IResource getManifestFile(IPath outputLocation, IProject project) throws MalformedURLException {
-		IPath path = outputLocation.append(BundleManifestCorePlugin.MANIFEST_FILE_LOCATION);
-		IPath projectPath = project.getFullPath();
-		path = path.removeFirstSegments(path.matchingFirstSegments(projectPath));
-		IResource manifest = project.findMember(path);
-		if (manifest != null) {
-			return manifest;
-		}
-		return null;
-	}
+    private static IResource getManifestFile(IPath outputLocation, IProject project) throws MalformedURLException {
+        IPath path = outputLocation.append(BundleManifestCorePlugin.MANIFEST_FILE_LOCATION);
+        IPath projectPath = project.getFullPath();
+        path = path.removeFirstSegments(path.matchingFirstSegments(projectPath));
+        IResource manifest = project.findMember(path);
+        if (manifest != null) {
+            return manifest;
+        }
+        return null;
+    }
 
-	/**
-	 * Create export operation given project to be exported and location of the JAR.
-	 * 
-	 * @param project
-	 * @param jarLocation
-	 * @param shell
-	 * @param warningMessages
-	 * @return
-	 */
-	public static IJarExportRunnable createExportOperation(IJavaProject project, IPath jarLocation, Shell shell,
-			List<IStatus> warnings) {
-		JarPackageData jarPackage = new JarPackageData();
-		jarPackage.setJarLocation(jarLocation);
-		jarPackage.setExportClassFiles(true);
-		jarPackage.setExportJavaFiles(false);
-		jarPackage.setOverwrite(true);
-		jarPackage.setExportErrors(true);
-		jarPackage.setExportWarnings(true);
-		jarPackage.setBuildIfNeeded(true);
+    /**
+     * Create export operation given project to be exported and location of the JAR.
+     *
+     * @param project
+     * @param jarLocation
+     * @param shell
+     * @param warningMessages
+     * @return
+     */
+    public static IJarExportRunnable createExportOperation(IJavaProject project, IPath jarLocation, Shell shell, List<IStatus> warnings) {
+        JarPackageData jarPackage = new JarPackageData();
+        jarPackage.setJarLocation(jarLocation);
+        jarPackage.setExportClassFiles(true);
+        jarPackage.setExportJavaFiles(false);
+        jarPackage.setOverwrite(true);
+        jarPackage.setExportErrors(true);
+        jarPackage.setExportWarnings(true);
+        jarPackage.setBuildIfNeeded(true);
 
-		Set<Object> outputFiles = new LinkedHashSet<Object>();
+        Set<Object> outputFiles = new LinkedHashSet<Object>();
 
-		try {
-			Set<IClasspathEntry> entries = ServerModuleDelegate.getSourceClasspathEntries(project.getProject(), false);
-			for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
-				if (entries.contains(root.getRawClasspathEntry())) {
-					outputFiles.add(root);
-				}
-			}
-		} catch (JavaModelException e) {
-			// TODO add error handling
-			throw new RuntimeException(e);
-		}
-		jarPackage.setElements(outputFiles.toArray());
+        try {
+            Set<IClasspathEntry> entries = ServerModuleDelegate.getSourceClasspathEntries(project.getProject(), false);
+            for (IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
+                if (entries.contains(root.getRawClasspathEntry())) {
+                    outputFiles.add(root);
+                }
+            }
+        } catch (JavaModelException e) {
+            // TODO add error handling
+            throw new RuntimeException(e);
+        }
+        jarPackage.setElements(outputFiles.toArray());
 
-		setManifestFile(project, jarPackage, shell, warnings);
+        setManifestFile(project, jarPackage, shell, warnings);
 
-		return jarPackage.createJarExportRunnable(shell);
-	}
+        return jarPackage.createJarExportRunnable(shell);
+    }
 
-	private static void setManifestFile(IJavaProject project, JarPackageData jarPackage, Shell shell,
-			List<IStatus> warnings) {
-		IResource manifest = getOutputManifestFile(project);
-		if (manifest != null) {
-			File manifestFile = manifest.getLocation().toFile();
-			boolean exists = manifestFile.exists();
-			if (exists) {
-				BufferedReader reader;
-				try {
-					reader = new BufferedReader(new FileReader(manifestFile));
-					char charactor = 'a';
-					while (reader.ready()) {
-						charactor = (char) reader.read();
-					}
+    private static void setManifestFile(IJavaProject project, JarPackageData jarPackage, Shell shell, List<IStatus> warnings) {
+        IResource manifest = getOutputManifestFile(project);
+        if (manifest != null) {
+            File manifestFile = manifest.getLocation().toFile();
+            boolean exists = manifestFile.exists();
+            if (exists) {
+                BufferedReader reader;
+                try {
+                    reader = new BufferedReader(new FileReader(manifestFile));
+                    char charactor = 'a';
+                    while (reader.ready()) {
+                        charactor = (char) reader.read();
+                    }
 
-					if (charactor != '\n') {
-						warnings.add(new Status(
-								Status.WARNING,
-								ServerExportPlugin.PLUGIN_ID,
-								"Manifest file for project "
-										+ project.getElementName()
-										+ " is missing a '\\n' at the end of file. The exported bundle might not work properly."));
-					}
-				} catch (IOException e) {
-					throw new RuntimeException(e);
-				}
-				jarPackage.setGenerateManifest(false);
-				jarPackage.setManifestLocation(manifest.getFullPath());
-			} else {
-				jarPackage.setGenerateManifest(true);
-			}
-		} else {
-			jarPackage.setGenerateManifest(true);
-		}
-	}
+                    if (charactor != '\n') {
+                        warnings.add(new Status(IStatus.WARNING, ServerExportPlugin.PLUGIN_ID, "Manifest file for project " + project.getElementName()
+                            + " is missing a '\\n' at the end of file. The exported bundle might not work properly."));
+                    }
+                } catch (IOException e) {
+                    throw new RuntimeException(e);
+                }
+                jarPackage.setGenerateManifest(false);
+                jarPackage.setManifestLocation(manifest.getFullPath());
+            } else {
+                jarPackage.setGenerateManifest(true);
+            }
+        } else {
+            jarPackage.setGenerateManifest(true);
+        }
+    }
 
-	/**
-	 * Util method for running IJarExportRunnable operation.
-	 * 
-	 * @param op
-	 *            export JAR operation
-	 * @param reportStatus
-	 *            true if export errors are displayed to the user
-	 * @param context
-	 *            runnable context
-	 * @param shell
-	 * @param warningMessages
-	 * @return if operation was performed successfully
-	 */
-	public static boolean executeExportOperation(IJarExportRunnable op, boolean reportStatus, IRunnableContext context,
-			Shell shell, List<IStatus> warnings) {
-		try {
-			context.run(true, true, op);
-		} catch (InterruptedException e) {
-			return false;
-		} catch (InvocationTargetException ex) {
-			if (ex.getTargetException() != null) {
-				return false;
-			}
-		}
-		IStatus status = op.getStatus();
-		if ((warnings.size() > 0 || !status.isOK()) && reportStatus) {
-			List<IStatus> children = new ArrayList<IStatus>();
-			for (IStatus child : status.getChildren()) {
-				children.add(child);
-			}
-			children.addAll(warnings);
+    /**
+     * Util method for running IJarExportRunnable operation.
+     *
+     * @param op export JAR operation
+     * @param reportStatus true if export errors are displayed to the user
+     * @param context runnable context
+     * @param shell
+     * @param warningMessages
+     * @return if operation was performed successfully
+     */
+    public static boolean executeExportOperation(IJarExportRunnable op, boolean reportStatus, IRunnableContext context, Shell shell,
+        List<IStatus> warnings) {
+        try {
+            context.run(true, true, op);
+        } catch (InterruptedException e) {
+            return false;
+        } catch (InvocationTargetException ex) {
+            if (ex.getTargetException() != null) {
+                return false;
+            }
+        }
+        IStatus status = op.getStatus();
+        if ((warnings.size() > 0 || !status.isOK()) && reportStatus) {
+            List<IStatus> children = new ArrayList<IStatus>();
+            for (IStatus child : status.getChildren()) {
+                children.add(child);
+            }
+            children.addAll(warnings);
 
-			MultiStatus multiStatus = new MultiStatus(ServerExportPlugin.PLUGIN_ID, !status.isOK()
-					? status.getCode()
-					: Status.WARNING, children.toArray(new Status[0]), !status.isOK()
-					? status.getMessage()
-					: "There were warnings while exporting bundle project. Click Details to see more...", null);
-			ErrorDialog.openError(shell, "Export Warning", null, multiStatus);
-			return !(status.matches(IStatus.ERROR));
-		}
-		return true;
-	}
+            MultiStatus multiStatus = new MultiStatus(ServerExportPlugin.PLUGIN_ID, !status.isOK() ? status.getCode() : IStatus.WARNING,
+                children.toArray(new Status[0]),
+                !status.isOK() ? status.getMessage() : "There were warnings while exporting bundle project. Click Details to see more...", null);
+            ErrorDialog.openError(shell, "Export Warning", null, multiStatus);
+            return !status.matches(IStatus.ERROR);
+        }
+        return true;
+    }
 
-	@SuppressWarnings("restriction")
-	public static boolean executeWarExportOperation(IProject bundleProject, String jarName, IFolder settingsFolder) {
-		WebComponentExportDataModelProvider provider = new WebComponentExportDataModelProvider();
-		IDataModel dataModel = DataModelFactory.createDataModel(provider);
-		provider.propertySet(IJ2EEComponentExportDataModelProperties.PROJECT_NAME, bundleProject.getName());
-		dataModel.setBooleanProperty(IJ2EEComponentExportDataModelProperties.OPTIMIZE_FOR_SPECIFIC_RUNTIME, false);
-		dataModel.setBooleanProperty(IJ2EEComponentExportDataModelProperties.EXPORT_SOURCE_FILES, false);
-		dataModel.setBooleanProperty(IJ2EEComponentExportDataModelProperties.OVERWRITE_EXISTING, true);
-		dataModel.setProperty(IJ2EEComponentExportDataModelProperties.ARCHIVE_DESTINATION,
-				settingsFolder.getRawLocation().append(jarName).toString());
-		WebComponentExportOperation operation = new WebComponentExportOperation(dataModel);
+    @SuppressWarnings("restriction")
+    public static boolean executeWarExportOperation(IProject bundleProject, String jarName, IFolder settingsFolder) {
+        WebComponentExportDataModelProvider provider = new WebComponentExportDataModelProvider();
+        IDataModel dataModel = DataModelFactory.createDataModel(provider);
+        provider.propertySet(IJ2EEComponentExportDataModelProperties.PROJECT_NAME, bundleProject.getName());
+        dataModel.setBooleanProperty(IJ2EEComponentExportDataModelProperties.OPTIMIZE_FOR_SPECIFIC_RUNTIME, false);
+        dataModel.setBooleanProperty(IJ2EEComponentExportDataModelProperties.EXPORT_SOURCE_FILES, false);
+        dataModel.setBooleanProperty(IJ2EEComponentExportDataModelProperties.OVERWRITE_EXISTING, true);
+        dataModel.setProperty(IJ2EEComponentExportDataModelProperties.ARCHIVE_DESTINATION,
+            settingsFolder.getRawLocation().append(jarName).toString());
+        WebComponentExportOperation operation = new WebComponentExportOperation(dataModel);
 
-		try {
-			operation.execute(new NullProgressMonitor(), null);
-			settingsFolder.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor());
-		} catch (ExecutionException e) {
-			return false;
-		} catch (CoreException e) {
-			return false;
-		}
+        try {
+            operation.execute(new NullProgressMonitor(), null);
+            settingsFolder.refreshLocal(IResource.DEPTH_ONE, new NullProgressMonitor());
+        } catch (ExecutionException e) {
+            return false;
+        } catch (CoreException e) {
+            return false;
+        }
 
-		return true;
-	}
+        return true;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/BundleExportWizard.java b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/BundleExportWizard.java
index 0670231..5439657 100755
--- a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/BundleExportWizard.java
+++ b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/BundleExportWizard.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.export;
 
 import java.util.ArrayList;
@@ -26,49 +27,48 @@
 
 /**
  * Export wizard for exporting bundle project
- * 
+ *
  * @author Christian Dupuis
  * @author Terry Hon
  */
 public class BundleExportWizard extends Wizard implements IExportWizard {
 
-	private BundleExportWizardPage wizardPage;
+    private BundleExportWizardPage wizardPage;
 
-	private IStructuredSelection selection;
+    private IStructuredSelection selection;
 
-	private static final String TITLE = "Bundle Export Wizard";
+    private static final String TITLE = "Bundle Export Wizard";
 
-	@Override
-	public void addPages() {
-		wizardPage = new BundleExportWizardPage(selection);
-		addPage(wizardPage);
-	}
+    @Override
+    public void addPages() {
+        this.wizardPage = new BundleExportWizardPage(this.selection);
+        addPage(this.wizardPage);
+    }
 
-	@Override
-	public boolean performFinish() {
-		IJavaProject project = JavaCore.create(wizardPage.getSelectedProject());
-		IPath jarLocation = wizardPage.getJarLocation();
+    @Override
+    public boolean performFinish() {
+        IJavaProject project = JavaCore.create(this.wizardPage.getSelectedProject());
+        IPath jarLocation = this.wizardPage.getJarLocation();
 
-		if (jarLocation.toFile().exists() && !wizardPage.getOverwrite()) {
-			boolean overwrite = MessageDialog.openQuestion(getShell(), "Overwrite File",
-					"The file " + jarLocation.toOSString()
-							+ " already exists. Do you want to overwrite the existing file?");
-			if (!overwrite) {
-				return false;
-			}
-		}
+        if (jarLocation.toFile().exists() && !this.wizardPage.getOverwrite()) {
+            boolean overwrite = MessageDialog.openQuestion(getShell(), "Overwrite File",
+                "The file " + jarLocation.toOSString() + " already exists. Do you want to overwrite the existing file?");
+            if (!overwrite) {
+                return false;
+            }
+        }
 
-		List<IStatus> warnings = new ArrayList<IStatus>();
-		IJarExportRunnable op = BundleExportUtils.createExportOperation(project, jarLocation, getShell(), warnings);
+        List<IStatus> warnings = new ArrayList<IStatus>();
+        IJarExportRunnable op = BundleExportUtils.createExportOperation(project, jarLocation, getShell(), warnings);
 
-		return BundleExportUtils.executeExportOperation(op, true, getContainer(), getShell(), warnings);
-	}
+        return BundleExportUtils.executeExportOperation(op, true, getContainer(), getShell(), warnings);
+    }
 
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		this.selection = selection;
-		setWindowTitle(TITLE);
-		setDefaultPageImageDescriptor(ServerExportPlugin.getImageDescriptor("full/wizban/wizban-bundle.png"));
-		setNeedsProgressMonitor(true);
-	}
+    public void init(IWorkbench workbench, IStructuredSelection selection) {
+        this.selection = selection;
+        setWindowTitle(TITLE);
+        setDefaultPageImageDescriptor(ServerExportPlugin.getImageDescriptor("full/wizban/wizban-bundle.png"));
+        setNeedsProgressMonitor(true);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/BundleExportWizardPage.java b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/BundleExportWizardPage.java
index 66e01bb..8b572ba 100755
--- a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/BundleExportWizardPage.java
+++ b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/BundleExportWizardPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.export;
 
 import org.eclipse.core.resources.IProject;
@@ -25,76 +26,76 @@
 
 /**
  * Export wizard page for exporting bundle project
- * 
+ *
  * @author Christian Dupuis
  * @author Terry Hon
  * @author Leo Dos Santos
  */
 public class BundleExportWizardPage extends AbstractProjectExportWizardPage {
 
-	public BundleExportWizardPage(IStructuredSelection selection) {
-		super("bundleExportWizardPage", selection);
+    public BundleExportWizardPage(IStructuredSelection selection) {
+        super("bundleExportWizardPage", selection);
 
-		setTitle("JAR File Specification");
-		setDescription("Define which bundle project should be exported into the JAR.");
-	}
+        setTitle("JAR File Specification");
+        setDescription("Define which bundle project should be exported into the JAR.");
+    }
 
-	@Override
-	protected ViewerFilter getTreeViewerFilter() {
-		return new ViewerFilter() {
+    @Override
+    protected ViewerFilter getTreeViewerFilter() {
+        return new ViewerFilter() {
 
-			@Override
-			public boolean select(Viewer viewer, Object parentElement, Object element) {
-				if (element instanceof IPackageFragmentRoot) {
-					IPackageFragmentRoot root = (IPackageFragmentRoot) element;
-					return !root.isArchive() && !root.isExternal();
-				} else if (element instanceof IProject) {
-					IProject project = (IProject) element;
-					try {
-						IFacetedProject facetedProject = ProjectFacetsManager.create(project);
-						if (facetedProject == null) {
-							return false;
-						}
-						return facetedProject.hasProjectFacet(ProjectFacetsManager.getProjectFacet(
-								FacetCorePlugin.BUNDLE_FACET_ID).getDefaultVersion());
-					} catch (CoreException e) {
-						return false;
-					}
-				}
-				return false;
-			}
-		};
-	}
+            @Override
+            public boolean select(Viewer viewer, Object parentElement, Object element) {
+                if (element instanceof IPackageFragmentRoot) {
+                    IPackageFragmentRoot root = (IPackageFragmentRoot) element;
+                    return !root.isArchive() && !root.isExternal();
+                } else if (element instanceof IProject) {
+                    IProject project = (IProject) element;
+                    try {
+                        IFacetedProject facetedProject = ProjectFacetsManager.create(project);
+                        if (facetedProject == null) {
+                            return false;
+                        }
+                        return facetedProject.hasProjectFacet(
+                            ProjectFacetsManager.getProjectFacet(FacetCorePlugin.BUNDLE_FACET_ID).getDefaultVersion());
+                    } catch (CoreException e) {
+                        return false;
+                    }
+                }
+                return false;
+            }
+        };
+    }
 
-	@Override
-	protected String getExtension() {
-		return ".jar";
-	}
+    @Override
+    protected String getExtension() {
+        return ".jar";
+    }
 
-	@Override
-	protected String getDestinationLabel() {
-		return "JAR file:";
-	}
+    @Override
+    protected String getDestinationLabel() {
+        return "JAR file:";
+    }
 
-	@Override
-	protected String getSymbolicName(BundleManifest bundleManifest) {
-		if (bundleManifest.getBundleSymbolicName() != null) {
-			return bundleManifest.getBundleSymbolicName().getSymbolicName();
-		}
-		return null;
-	}
+    @Override
+    protected String getSymbolicName(BundleManifest bundleManifest) {
+        if (bundleManifest.getBundleSymbolicName() != null) {
+            return bundleManifest.getBundleSymbolicName().getSymbolicName();
+        }
+        return null;
+    }
 
-	@Override
-	protected String getVersion(BundleManifest bundleManifest) {
-		return (bundleManifest.getBundleVersion() != null ? bundleManifest.getBundleVersion().toString() : "");
-	}
+    @Override
+    protected String getVersion(BundleManifest bundleManifest) {
+        return bundleManifest.getBundleVersion() != null ? bundleManifest.getBundleVersion().toString() : "";
+    }
 
-	@Override
-	protected BundleManifest getBundleManifest(IProject project) {
-		if (project != null) {
-			return BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(JavaCore.create(project));
-		}
-		return null;
-	}
+    @Override
+    protected BundleManifest getBundleManifest(IProject project) {
+        if (project != null) {
+            return BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(JavaCore.create(project));
+        }
+        return null;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/ParExportWizard.java b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/ParExportWizard.java
index 2e12407..3d2b205 100755
--- a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/ParExportWizard.java
+++ b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/ParExportWizard.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.export;
 
 import java.util.ArrayList;
@@ -26,7 +27,6 @@
 import org.eclipse.core.runtime.MultiStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.EObject;
@@ -55,175 +55,168 @@
 
 /**
  * Export wizard for exporting par project
- * 
+ *
  * @author Christian Dupuis
  * @author Terry Hon
  */
 public class ParExportWizard extends Wizard implements IExportWizard {
 
-	private ParExportWizardPage wizardPage;
+    private ParExportWizardPage wizardPage;
 
-	private IStructuredSelection selection;
+    private IStructuredSelection selection;
 
-	private static final String TITLE = "Par Export Wizard";
+    private static final String TITLE = "Par Export Wizard";
 
-	private static final String PAR_FILE_NAME = ".settings/org.eclipse.virgo.ide.runtime.core.par.xml";
+    private static final String PAR_FILE_NAME = ".settings/org.eclipse.virgo.ide.runtime.core.par.xml";
 
-	@Override
-	public void addPages() {
-		wizardPage = new ParExportWizardPage(selection);
-		addPage(wizardPage);
-	}
+    @Override
+    public void addPages() {
+        this.wizardPage = new ParExportWizardPage(this.selection);
+        addPage(this.wizardPage);
+    }
 
-	@Override
-	public boolean performFinish() {
-		IProject project = wizardPage.getSelectedProject();
-		IPath jarLocation = wizardPage.getJarLocation();
+    @Override
+    public boolean performFinish() {
+        IProject project = this.wizardPage.getSelectedProject();
+        IPath jarLocation = this.wizardPage.getJarLocation();
 
-		if (jarLocation.toFile().exists() && !wizardPage.getOverwrite()) {
-			boolean overwrite = MessageDialog.openQuestion(getShell(), "Overwrite File",
-					"The file " + jarLocation.toOSString()
-							+ " already exists. Do you want to overwrite the existing file?");
-			if (!overwrite) {
-				return false;
-			}
-		}
+        if (jarLocation.toFile().exists() && !this.wizardPage.getOverwrite()) {
+            boolean overwrite = MessageDialog.openQuestion(getShell(), "Overwrite File",
+                "The file " + jarLocation.toOSString() + " already exists. Do you want to overwrite the existing file?");
+            if (!overwrite) {
+                return false;
+            }
+        }
 
-		return exportPar(project, jarLocation, getContainer(), getShell());
-	}
+        return exportPar(project, jarLocation, getContainer(), getShell());
+    }
 
-	// public for testing
-	static public boolean exportPar(IProject project, IPath parLocation, IRunnableContext context, Shell shell) {
-		IFile parFile = project.getFile(PAR_FILE_NAME);
-		IFolder settingsFolder = project.getFolder(".settings");
-		IPath settingsPath = settingsFolder.getLocation();
+    // public for testing
+    static public boolean exportPar(IProject project, IPath parLocation, IRunnableContext context, Shell shell) {
+        IFile parFile = project.getFile(PAR_FILE_NAME);
+        IFolder settingsFolder = project.getFolder(".settings");
+        IPath settingsPath = settingsFolder.getLocation();
 
-		List<IStatus> warnings = new ArrayList<IStatus>();
+        List<IStatus> warnings = new ArrayList<IStatus>();
 
-		URI fileURI = URI.createPlatformResourceURI(parFile.getFullPath().toString(), true);
-		ResourceSet resourceSet = new ResourceSetImpl();
-		Resource resource = resourceSet.getResource(fileURI, true);
-		EList<EObject> contents = resource.getContents();
-		Set<IResource> parElements = new HashSet<IResource>();
-		for (EObject content : contents) {
-			if (content instanceof Par) {
-				Par par = (Par) content;
-				EList<Bundle> bundles = par.getBundle();
-				for (Bundle bundle : bundles) {
-					String bundleName = bundle.getSymbolicName();
-					IProject bundleProject = ResourcesPlugin.getWorkspace().getRoot().getProject(bundleName);
-					BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(
-							JavaCore.create(bundleProject));
-					String jarName = null;
-					if (manifest != null && manifest.getBundleVersion() != null
-							&& manifest.getBundleSymbolicName() != null) {
-						String version = manifest.getBundleVersion().toString();
-						String name = (manifest.getBundleSymbolicName() != null
-								&& manifest.getBundleSymbolicName().getSymbolicName() != null
-								? manifest.getBundleSymbolicName().getSymbolicName()
-								: bundleProject.getName());
-						jarName = name + "-" + version;
-					} else {
-						jarName = bundleProject.getProject().toString();
-					}
+        URI fileURI = URI.createPlatformResourceURI(parFile.getFullPath().toString(), true);
+        ResourceSet resourceSet = new ResourceSetImpl();
+        Resource resource = resourceSet.getResource(fileURI, true);
+        EList<EObject> contents = resource.getContents();
+        Set<IResource> parElements = new HashSet<IResource>();
+        for (EObject content : contents) {
+            if (content instanceof Par) {
+                Par par = (Par) content;
+                EList<Bundle> bundles = par.getBundle();
+                for (Bundle bundle : bundles) {
+                    String bundleName = bundle.getSymbolicName();
+                    IProject bundleProject = ResourcesPlugin.getWorkspace().getRoot().getProject(bundleName);
+                    BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(JavaCore.create(bundleProject));
+                    String jarName = null;
+                    if (manifest != null && manifest.getBundleVersion() != null && manifest.getBundleSymbolicName() != null) {
+                        String version = manifest.getBundleVersion().toString();
+                        String name = manifest.getBundleSymbolicName() != null && manifest.getBundleSymbolicName().getSymbolicName() != null
+                            ? manifest.getBundleSymbolicName().getSymbolicName() : bundleProject.getName();
+                        jarName = name + "-" + version;
+                    } else {
+                        jarName = bundleProject.getProject().toString();
+                    }
 
-					// Support for nested wars
-					if (FacetUtils.hasProjectFacet(bundleProject, FacetCorePlugin.WEB_FACET_ID)) {
-						jarName = jarName + ".war";
-						if (BundleExportUtils.executeWarExportOperation(bundleProject, jarName, settingsFolder)) {
-							IResource bundleJar = settingsFolder.getFile(jarName);
-							if (bundleJar.exists()) {
-								parElements.add(bundleJar);
-							}
-						}
-					} else {
-						IJavaProject javaBundleProject = JavaCore.create(bundleProject);
-						jarName = jarName + ".jar";
-						IPath jarPath = settingsPath.append(jarName);
+                    // Support for nested wars
+                    if (FacetUtils.hasProjectFacet(bundleProject, FacetCorePlugin.WEB_FACET_ID)) {
+                        jarName = jarName + ".war";
+                        if (BundleExportUtils.executeWarExportOperation(bundleProject, jarName, settingsFolder)) {
+                            IResource bundleJar = settingsFolder.getFile(jarName);
+                            if (bundleJar.exists()) {
+                                parElements.add(bundleJar);
+                            }
+                        }
+                    } else {
+                        IJavaProject javaBundleProject = JavaCore.create(bundleProject);
+                        jarName = jarName + ".jar";
+                        IPath jarPath = settingsPath.append(jarName);
 
-						IJarExportRunnable op = BundleExportUtils.createExportOperation(javaBundleProject, jarPath,
-								shell, warnings);
-						if (BundleExportUtils.executeExportOperation(op, false, context, shell, warnings)) {
-							IResource bundleJar = settingsFolder.getFile(jarName);
-							parElements.add(bundleJar);
-						}
-					}
-				}
-			}
-		}
+                        IJarExportRunnable op = BundleExportUtils.createExportOperation(javaBundleProject, jarPath, shell, warnings);
+                        if (BundleExportUtils.executeExportOperation(op, false, context, shell, warnings)) {
+                            IResource bundleJar = settingsFolder.getFile(jarName);
+                            parElements.add(bundleJar);
+                        }
+                    }
+                }
+            }
+        }
 
-		Set<IResource> jarElements = new HashSet<IResource>();
-		jarElements.addAll(parElements);
-		try {
-			IResource[] rootMembers = project.members();
-			for (IResource rootMember : rootMembers) {
-				String fileExtension = rootMember.getFileExtension();
-				if (fileExtension != null && fileExtension.equals("jar")) {
-					jarElements.add(rootMember);
-				}
-			}
-		} catch (CoreException e1) {
-		}
+        Set<IResource> jarElements = new HashSet<IResource>();
+        jarElements.addAll(parElements);
+        try {
+            IResource[] rootMembers = project.members();
+            for (IResource rootMember : rootMembers) {
+                String fileExtension = rootMember.getFileExtension();
+                if (fileExtension != null && fileExtension.equals("jar")) {
+                    jarElements.add(rootMember);
+                }
+            }
+        } catch (CoreException e1) {
+        }
 
-		JarPackageData parPackage = new JarPackageData();
-		parPackage.setJarLocation(parLocation);
-		parPackage.setExportClassFiles(true);
-		parPackage.setExportOutputFolders(false);
-		parPackage.setExportJavaFiles(false);
-		parPackage.setElements(jarElements.toArray());
-		parPackage.setOverwrite(true);
+        JarPackageData parPackage = new JarPackageData();
+        parPackage.setJarLocation(parLocation);
+        parPackage.setExportClassFiles(true);
+        parPackage.setExportOutputFolders(false);
+        parPackage.setExportJavaFiles(false);
+        parPackage.setElements(jarElements.toArray());
+        parPackage.setOverwrite(true);
 
-		IPath manifestPath = locateManifestFile(project);
-		if (manifestPath != null) {
-			parPackage.setGenerateManifest(false);
-			parPackage.setManifestLocation(manifestPath);
-		} else {
-			parPackage.setGenerateManifest(true);
-		}
+        IPath manifestPath = locateManifestFile(project);
+        if (manifestPath != null) {
+            parPackage.setGenerateManifest(false);
+            parPackage.setManifestLocation(manifestPath);
+        } else {
+            parPackage.setGenerateManifest(true);
+        }
 
-		IJarBuilder builder = parPackage.getJarBuilder();
-		try {
-			builder.open(parPackage, shell, null);
-			for (IResource elem : jarElements) {
-				if (elem instanceof IFile) {
-					try {
-						builder.writeFile((IFile) elem, new Path(elem.getName()));
-					} catch (CoreException e) {
-					}
-				}
-			}
-			builder.close();
-		} catch (CoreException e1) {
-		}
+        IJarBuilder builder = parPackage.getJarBuilder();
+        try {
+            builder.open(parPackage, shell, null);
+            for (IResource elem : jarElements) {
+                if (elem instanceof IFile) {
+                    try {
+                        builder.writeFile((IFile) elem, new Path(elem.getName()));
+                    } catch (CoreException e) {
+                    }
+                }
+            }
+            builder.close();
+        } catch (CoreException e1) {
+        }
 
-		for (IResource parElement : parElements) {
-			try {
-				parElement.delete(true, new NullProgressMonitor());
-			} catch (CoreException e) {
-			}
-		}
+        for (IResource parElement : parElements) {
+            try {
+                parElement.delete(true, new NullProgressMonitor());
+            } catch (CoreException e) {
+            }
+        }
 
-		if (warnings.size() > 0) {
-			ErrorDialog.openError(shell, "PAR export warnings", null, new MultiStatus(ServerExportPlugin.PLUGIN_ID,
-					Status.WARNING, warnings.toArray(new IStatus[0]),
-					"There were warnings while export the PAR project. Click Details to see more...", null));
-		}
-		return true;
-	}
+        if (warnings.size() > 0) {
+            ErrorDialog.openError(shell, "PAR export warnings", null, new MultiStatus(ServerExportPlugin.PLUGIN_ID, IStatus.WARNING,
+                warnings.toArray(new IStatus[0]), "There were warnings while export the PAR project. Click Details to see more...", null));
+        }
+        return true;
+    }
 
-	private static IPath locateManifestFile(IProject project) {
-		Path path = new Path("META-INF/MANIFEST.MF");
-		IResource manifestFile = project.findMember(path);
-		if (manifestFile != null) {
-			return new Path(project.getName()).append(path);
-		}
-		return null;
-	}
+    private static IPath locateManifestFile(IProject project) {
+        Path path = new Path("META-INF/MANIFEST.MF");
+        IResource manifestFile = project.findMember(path);
+        if (manifestFile != null) {
+            return new Path(project.getName()).append(path);
+        }
+        return null;
+    }
 
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		this.selection = selection;
-		setWindowTitle(TITLE);
-		setDefaultPageImageDescriptor(ServerExportPlugin.getImageDescriptor("full/wizban/wizban-par.png"));
-	}
+    public void init(IWorkbench workbench, IStructuredSelection selection) {
+        this.selection = selection;
+        setWindowTitle(TITLE);
+        setDefaultPageImageDescriptor(ServerExportPlugin.getImageDescriptor("full/wizban/wizban-par.png"));
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/ParExportWizardPage.java b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/ParExportWizardPage.java
index e458ff5..d7e45ca 100755
--- a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/ParExportWizardPage.java
+++ b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/ParExportWizardPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.export;
 
 import java.io.IOException;
@@ -29,79 +30,78 @@
 
 /**
  * Export wizard page for exporting par project
- * 
+ *
  * @author Christian Dupuis
  * @author Terry Hon
  * @author Leo Dos Santos
  */
 public class ParExportWizardPage extends AbstractProjectExportWizardPage {
 
-	protected ParExportWizardPage(IStructuredSelection selection) {
-		super("parExportWizardPage", selection);
+    protected ParExportWizardPage(IStructuredSelection selection) {
+        super("parExportWizardPage", selection);
 
-		setTitle("JAR File Specification");
-		setDescription("Define which PAR project should be exported into the JAR.");
-	}
+        setTitle("JAR File Specification");
+        setDescription("Define which PAR project should be exported into the JAR.");
+    }
 
-	@Override
-	protected ViewerFilter getTreeViewerFilter() {
-		return new ViewerFilter() {
+    @Override
+    protected ViewerFilter getTreeViewerFilter() {
+        return new ViewerFilter() {
 
-			@Override
-			public boolean select(Viewer viewer, Object parentElement, Object element) {
-				if (element instanceof IPackageFragmentRoot) {
-					IPackageFragmentRoot root = (IPackageFragmentRoot) element;
-					return !root.isArchive() && !root.isExternal();
-				} else if (element instanceof IProject) {
-					IProject project = (IProject) element;
-					try {
-						IFacetedProject facetedProject = ProjectFacetsManager.create(project);
-						if (facetedProject == null) {
-							return false;
-						}
-						return facetedProject.hasProjectFacet(ProjectFacetsManager.getProjectFacet(
-								FacetCorePlugin.PAR_FACET_ID).getDefaultVersion());
-					} catch (CoreException e) {
-						return false;
-					}
-				}
-				return false;
-			}
-		};
-	}
+            @Override
+            public boolean select(Viewer viewer, Object parentElement, Object element) {
+                if (element instanceof IPackageFragmentRoot) {
+                    IPackageFragmentRoot root = (IPackageFragmentRoot) element;
+                    return !root.isArchive() && !root.isExternal();
+                } else if (element instanceof IProject) {
+                    IProject project = (IProject) element;
+                    try {
+                        IFacetedProject facetedProject = ProjectFacetsManager.create(project);
+                        if (facetedProject == null) {
+                            return false;
+                        }
+                        return facetedProject.hasProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.PAR_FACET_ID).getDefaultVersion());
+                    } catch (CoreException e) {
+                        return false;
+                    }
+                }
+                return false;
+            }
+        };
+    }
 
-	@Override
-	protected String getExtension() {
-		return ".par";
-	}
+    @Override
+    protected String getExtension() {
+        return ".par";
+    }
 
-	@Override
-	protected String getDestinationLabel() {
-		return "PAR file:";
-	}
+    @Override
+    protected String getDestinationLabel() {
+        return "PAR file:";
+    }
 
-	@Override
-	protected String getSymbolicName(BundleManifest bundleManifest) {
-		return bundleManifest.toDictionary().get("Application-SymbolicName");
-	}
+    @Override
+    protected String getSymbolicName(BundleManifest bundleManifest) {
+        return bundleManifest.toDictionary().get("Application-SymbolicName");
+    }
 
-	@Override
-	protected String getVersion(BundleManifest bundleManifest) {
-		return bundleManifest.toDictionary().get("Application-Version");
-	}
+    @Override
+    protected String getVersion(BundleManifest bundleManifest) {
+        return bundleManifest.toDictionary().get("Application-Version");
+    }
 
-	@Override
-	protected BundleManifest getBundleManifest(IProject project) {
-		Path path = new Path("META-INF/MANIFEST.MF");
-		IFile manifestFile = (IFile) project.findMember(path);
-		if (manifestFile != null) {
-			try {
-				return BundleManifestFactory.createBundleManifest(new InputStreamReader(manifestFile.getContents(true)));
-			} catch (IOException e) {
-			} catch (CoreException e) {
-			}
-		}
-		return BundleManifestFactory.createBundleManifest();
-	}
+    @Override
+    protected BundleManifest getBundleManifest(IProject project) {
+        Path path = new Path("META-INF/MANIFEST.MF");
+        IFile manifestFile = (IFile) project.findMember(path);
+        if (manifestFile != null) {
+            try {
+                return BundleManifestFactory.createBundleManifest(new InputStreamReader(manifestFile.getContents(true)));
+            } catch (IOException e) {
+            } catch (CoreException e) {
+            }
+        }
+        return BundleManifestFactory.createBundleManifest();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/ServerExportPlugin.java b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/ServerExportPlugin.java
index 8f8a8ba..cc663dc 100755
--- a/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/ServerExportPlugin.java
+++ b/org.eclipse.virgo.ide.export/src/org/eclipse/virgo/ide/export/ServerExportPlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.export;
 
 import org.eclipse.jface.resource.ImageDescriptor;
@@ -18,10 +19,10 @@
  */
 public class ServerExportPlugin extends AbstractUIPlugin {
 
-	public static final String PLUGIN_ID = "org.eclipse.virgo.ide.export";
+    public static final String PLUGIN_ID = "org.eclipse.virgo.ide.export";
 
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, "icons/" + path);
-	}
+    public static ImageDescriptor getImageDescriptor(String path) {
+        return imageDescriptorFromPlugin(PLUGIN_ID, "icons/" + path);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.facet.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.facet.core/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.facet.core/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.facet.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.facet.core/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.facet.core/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.facet.core/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.facet.core/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/BundleFacetInstallDataModelProvider.java b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/BundleFacetInstallDataModelProvider.java
index 52ea14d..8d1267c 100644
--- a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/BundleFacetInstallDataModelProvider.java
+++ b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/BundleFacetInstallDataModelProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.facet.core;
 
 import java.util.Set;
@@ -21,27 +22,28 @@
  */
 public class BundleFacetInstallDataModelProvider extends JavaProjectFacetCreationDataModelProvider {
 
-	public static final String ENABLE_SERVER_CLASSPATH_CONTAINER = FacetCorePlugin.PLUGIN_ID
-			+ ".ENABLE_BUNDLE_CLASSPATH_CONTAINER";
+    public static final String ENABLE_SERVER_CLASSPATH_CONTAINER = FacetCorePlugin.PLUGIN_ID + ".ENABLE_BUNDLE_CLASSPATH_CONTAINER";
 
-	public static final String ENABLE_WEB_BUNDLE = FacetCorePlugin.PLUGIN_ID + ".ENABLE_WEB_BUNDLE";
+    public static final String ENABLE_WEB_BUNDLE = FacetCorePlugin.PLUGIN_ID + ".ENABLE_WEB_BUNDLE";
 
-	@SuppressWarnings("unchecked")
-	public Set getPropertyNames() {
-		Set propertyNames = super.getPropertyNames();
-		propertyNames.add(ENABLE_SERVER_CLASSPATH_CONTAINER);
-		propertyNames.add(ENABLE_WEB_BUNDLE);
-		return propertyNames;
-	}
+    @Override
+    @SuppressWarnings("unchecked")
+    public Set getPropertyNames() {
+        Set propertyNames = super.getPropertyNames();
+        propertyNames.add(ENABLE_SERVER_CLASSPATH_CONTAINER);
+        propertyNames.add(ENABLE_WEB_BUNDLE);
+        return propertyNames;
+    }
 
-	public Object getDefaultProperty(String propertyName) {
-		if (ENABLE_SERVER_CLASSPATH_CONTAINER.equals(propertyName)) {
-			return Boolean.TRUE;
-		}
-		if (ENABLE_WEB_BUNDLE.equals(propertyName)) {
-			return Boolean.FALSE;
-		}
-		return super.getDefaultProperty(propertyName);
-	}
+    @Override
+    public Object getDefaultProperty(String propertyName) {
+        if (ENABLE_SERVER_CLASSPATH_CONTAINER.equals(propertyName)) {
+            return Boolean.TRUE;
+        }
+        if (ENABLE_WEB_BUNDLE.equals(propertyName)) {
+            return Boolean.FALSE;
+        }
+        return super.getDefaultProperty(propertyName);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/BundleFacetInstallDelegate.java b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/BundleFacetInstallDelegate.java
index 7f1532a..5e6c68f 100644
--- a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/BundleFacetInstallDelegate.java
+++ b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/BundleFacetInstallDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.facet.core;
 
 import java.util.ArrayList;
@@ -23,18 +24,17 @@
 
 /**
  * Facet install delegate that installs the class path container.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class BundleFacetInstallDelegate implements IDelegate {
 
-	public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor)
-			throws CoreException {
-		IProjectDescription desc = project.getDescription();
-		List<String> natures = new ArrayList<String>(Arrays.asList(desc.getNatureIds()));
-		natures.add(FacetCorePlugin.BUNDLE_NATURE_ID);
-		desc.setNatureIds(natures.toArray(new String[] {}));
-		project.setDescription(desc, monitor);
-	}
+    public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor) throws CoreException {
+        IProjectDescription desc = project.getDescription();
+        List<String> natures = new ArrayList<String>(Arrays.asList(desc.getNatureIds()));
+        natures.add(FacetCorePlugin.BUNDLE_NATURE_ID);
+        desc.setNatureIds(natures.toArray(new String[] {}));
+        project.setDescription(desc, monitor);
+    }
 }
diff --git a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/BundleFacetUninstallDelegate.java b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/BundleFacetUninstallDelegate.java
index 4cfcc7e..0935305 100644
--- a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/BundleFacetUninstallDelegate.java
+++ b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/BundleFacetUninstallDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.facet.core;
 
 import java.util.ArrayList;
@@ -28,32 +29,30 @@
 
 /**
  * Uninstall delegate to remove the class path container.
- * 
+ *
  * @author Christian Dupuis
  * @author Miles Parker
  * @since 1.0.0
  */
 public class BundleFacetUninstallDelegate implements IDelegate {
 
-	public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor)
-			throws CoreException {
-		IJavaProject jproj = JavaCore.create(project);
-		removeFromClasspath(jproj, JavaCore.newContainerEntry(FacetCorePlugin.CLASSPATH_CONTAINER_PATH), monitor);
-		IProjectDescription desc = project.getDescription();
-		List<String> natures = new ArrayList<String>(Arrays.asList(desc.getNatureIds()));
-		natures.remove(FacetCorePlugin.BUNDLE_NATURE_ID);
-		desc.setNatureIds(natures.toArray(new String[] {}));
-		project.setDescription(desc, monitor);
-	}
+    public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor) throws CoreException {
+        IJavaProject jproj = JavaCore.create(project);
+        removeFromClasspath(jproj, JavaCore.newContainerEntry(FacetCorePlugin.CLASSPATH_CONTAINER_PATH), monitor);
+        IProjectDescription desc = project.getDescription();
+        List<String> natures = new ArrayList<String>(Arrays.asList(desc.getNatureIds()));
+        natures.remove(FacetCorePlugin.BUNDLE_NATURE_ID);
+        desc.setNatureIds(natures.toArray(new String[] {}));
+        project.setDescription(desc, monitor);
+    }
 
-	protected void removeFromClasspath(IJavaProject javaProject, IClasspathEntry entry, IProgressMonitor monitor)
-			throws CoreException {
-		Set<IClasspathEntry> entries = new LinkedHashSet<IClasspathEntry>();
-		for (IClasspathEntry existingEntry : javaProject.getRawClasspath()) {
-			if (!existingEntry.equals(entry)) {
-				entries.add(existingEntry);
-			}
-		}
-		javaProject.setRawClasspath(entries.toArray(new IClasspathEntry[entries.size()]), monitor);
-	}
+    protected void removeFromClasspath(IJavaProject javaProject, IClasspathEntry entry, IProgressMonitor monitor) throws CoreException {
+        Set<IClasspathEntry> entries = new LinkedHashSet<IClasspathEntry>();
+        for (IClasspathEntry existingEntry : javaProject.getRawClasspath()) {
+            if (!existingEntry.equals(entry)) {
+                entries.add(existingEntry);
+            }
+        }
+        javaProject.setRawClasspath(entries.toArray(new IClasspathEntry[entries.size()]), monitor);
+    }
 }
diff --git a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/FacetCorePlugin.java b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/FacetCorePlugin.java
index 36770f9..87ecb91 100644
--- a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/FacetCorePlugin.java
+++ b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/FacetCorePlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.facet.core;
 
 import org.eclipse.core.runtime.IPath;
@@ -17,53 +18,55 @@
 
 /**
  * Bundle activator for the facet.core plugin
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class FacetCorePlugin extends Plugin {
 
-	/** Class path container path string */
-	public static final String CLASSPATH_CONTAINER = "org.eclipse.virgo.ide.jdt.core.MANIFEST_CLASSPATH_CONTAINER";
+    /** Class path container path string */
+    public static final String CLASSPATH_CONTAINER = "org.eclipse.virgo.ide.jdt.core.MANIFEST_CLASSPATH_CONTAINER";
 
-	/** Class path container path */
-	public static final IPath CLASSPATH_CONTAINER_PATH = new Path(CLASSPATH_CONTAINER);
+    /** Class path container path */
+    public static final IPath CLASSPATH_CONTAINER_PATH = new Path(CLASSPATH_CONTAINER);
 
-	/** The bundle symbolic name */
-	public static final String PLUGIN_ID = "org.eclipse.virgo.ide.facet.core";
+    /** The bundle symbolic name */
+    public static final String PLUGIN_ID = "org.eclipse.virgo.ide.facet.core";
 
-	/** The facet id for SpringSource bundle projects */
-	public static final String BUNDLE_FACET_ID = "org.eclipse.virgo.server.bundle";
+    /** The facet id for SpringSource bundle projects */
+    public static final String BUNDLE_FACET_ID = "org.eclipse.virgo.server.bundle";
 
-	/** The facet id for SpringSource par project */
-	public static final String PAR_FACET_ID = "org.eclipse.virgo.server.par";
+    /** The facet id for SpringSource par project */
+    public static final String PAR_FACET_ID = "org.eclipse.virgo.server.par";
 
-	/** The facet id for SpringSource plan project */
-	public static final String PLAN_FACET_ID = "org.eclipse.virgo.server.plan";
+    /** The facet id for SpringSource plan project */
+    public static final String PLAN_FACET_ID = "org.eclipse.virgo.server.plan";
 
-	/** The facet id of WTP dynamic web projects */
-	public static final String WEB_FACET_ID = "jst.web";
+    /** The facet id of WTP dynamic web projects */
+    public static final String WEB_FACET_ID = "jst.web";
 
-	public static final String BUNDLE_NATURE_ID = PLUGIN_ID + ".bundlenature";
+    public static final String BUNDLE_NATURE_ID = PLUGIN_ID + ".bundlenature";
 
-	public static final String PAR_NATURE_ID = PLUGIN_ID + ".parnature";
+    public static final String PAR_NATURE_ID = PLUGIN_ID + ".parnature";
 
-	public static final String PLAN_NATURE_ID = PLUGIN_ID + ".plannature";
+    public static final String PLAN_NATURE_ID = PLUGIN_ID + ".plannature";
 
-	private static FacetCorePlugin plugin;
+    private static FacetCorePlugin plugin;
 
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
+    @Override
+    public void start(BundleContext context) throws Exception {
+        super.start(context);
+        plugin = this;
+    }
 
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
+    @Override
+    public void stop(BundleContext context) throws Exception {
+        plugin = null;
+        super.stop(context);
+    }
 
-	public static FacetCorePlugin getDefault() {
-		return plugin;
-	}
+    public static FacetCorePlugin getDefault() {
+        return plugin;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/FacetUtils.java b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/FacetUtils.java
index aff0e1e..4c1d5b0 100644
--- a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/FacetUtils.java
+++ b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/FacetUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.facet.core;
 
 import java.io.BufferedReader;
@@ -45,166 +46,161 @@
 
 /**
  * Utility to check if the given {@link IResource} belongs to a project that has the par or bundle facet.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @since 1.0.0
  */
 public class FacetUtils {
 
-	/**
-	 * Checks if a given {@link IResource} has the bundle facet.
-	 */
-	public static boolean isBundleProject(IResource resource) {
-		return hasNature(resource, JavaCore.NATURE_ID) && hasProjectFacet(resource, FacetCorePlugin.BUNDLE_FACET_ID);
-	}
+    /**
+     * Checks if a given {@link IResource} has the bundle facet.
+     */
+    public static boolean isBundleProject(IResource resource) {
+        return hasNature(resource, JavaCore.NATURE_ID) && hasProjectFacet(resource, FacetCorePlugin.BUNDLE_FACET_ID);
+    }
 
-	/**
-	 * Checks if a given {@link IResource} has the par facet.
-	 */
-	public static boolean isParProject(IResource resource) {
-		return hasProjectFacet(resource, FacetCorePlugin.PAR_FACET_ID);
-	}
+    /**
+     * Checks if a given {@link IResource} has the par facet.
+     */
+    public static boolean isParProject(IResource resource) {
+        return hasProjectFacet(resource, FacetCorePlugin.PAR_FACET_ID);
+    }
 
-	/**
-	 * Checks if a given {@link IResource} has the par facet.
-	 */
-	public static boolean isPlanProject(IResource resource) {
-		return hasProjectFacet(resource, FacetCorePlugin.PLAN_FACET_ID);
-	}
+    /**
+     * Checks if a given {@link IResource} has the par facet.
+     */
+    public static boolean isPlanProject(IResource resource) {
+        return hasProjectFacet(resource, FacetCorePlugin.PLAN_FACET_ID);
+    }
 
-	/**
-	 * Checks if a {@link IResource} has a given project facet.
-	 */
-	public static boolean hasProjectFacet(IResource resource, String facetId) {
-		if (resource != null && resource.isAccessible()) {
-			try {
-				return FacetedProjectFramework.hasProjectFacet(resource.getProject(), facetId);
-			} catch (CoreException e) {
-				StatusManager.getManager().handle(
-						new Status(IStatus.ERROR, FacetCorePlugin.PLUGIN_ID,
-								"An error occurred inspecting project facet", e));
-			}
-		}
-		return false;
-	}
+    /**
+     * Checks if a {@link IResource} has a given project facet.
+     */
+    public static boolean hasProjectFacet(IResource resource, String facetId) {
+        if (resource != null && resource.isAccessible()) {
+            try {
+                return FacetedProjectFramework.hasProjectFacet(resource.getProject(), facetId);
+            } catch (CoreException e) {
+                StatusManager.getManager().handle(
+                    new Status(IStatus.ERROR, FacetCorePlugin.PLUGIN_ID, "An error occurred inspecting project facet", e));
+            }
+        }
+        return false;
+    }
 
-	/**
-	 * Checks if a {@link IResource} has a given project nature.
-	 */
-	public static boolean hasNature(IResource resource, String natureId) {
-		if (resource != null && resource.isAccessible()) {
-			IProject project = resource.getProject();
-			if (project != null) {
-				try {
-					return project.hasNature(natureId);
-				} catch (CoreException e) {
-					StatusManager.getManager().handle(
-							new Status(IStatus.ERROR, FacetCorePlugin.PLUGIN_ID,
-									"An error occurred inspecting project nature", e));
-				}
-			}
-		}
-		return false;
-	}
+    /**
+     * Checks if a {@link IResource} has a given project nature.
+     */
+    public static boolean hasNature(IResource resource, String natureId) {
+        if (resource != null && resource.isAccessible()) {
+            IProject project = resource.getProject();
+            if (project != null) {
+                try {
+                    return project.hasNature(natureId);
+                } catch (CoreException e) {
+                    StatusManager.getManager().handle(
+                        new Status(IStatus.ERROR, FacetCorePlugin.PLUGIN_ID, "An error occurred inspecting project nature", e));
+                }
+            }
+        }
+        return false;
+    }
 
-	/**
-	 * Returns all bundle project in the current workspace regardless weather they are open or closed.
-	 */
-	public static IProject[] getBundleProjects() {
-		List<IProject> bundles = new ArrayList<IProject>();
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		for (IProject candidate : projects) {
-			if (FacetUtils.isBundleProject(candidate)) {
-				bundles.add(candidate);
-			}
-		}
-		return bundles.toArray(new IProject[bundles.size()]);
-	}
+    /**
+     * Returns all bundle project in the current workspace regardless weather they are open or closed.
+     */
+    public static IProject[] getBundleProjects() {
+        List<IProject> bundles = new ArrayList<IProject>();
+        IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
+        for (IProject candidate : projects) {
+            if (FacetUtils.isBundleProject(candidate)) {
+                bundles.add(candidate);
+            }
+        }
+        return bundles.toArray(new IProject[bundles.size()]);
+    }
 
-	public static IProject[] getParProjects(IProject project) {
-		Set<IProject> bundles = new HashSet<IProject>();
-		IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		for (IProject candidate : projects) {
-			if (FacetUtils.isParProject(candidate)) {
-				if (Arrays.asList(getBundleProjects(candidate)).contains(project)) {
-					bundles.add(candidate);
-				}
-			}
-		}
-		return bundles.toArray(new IProject[bundles.size()]);
-	}
+    public static IProject[] getParProjects(IProject project) {
+        Set<IProject> bundles = new HashSet<IProject>();
+        IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
+        for (IProject candidate : projects) {
+            if (FacetUtils.isParProject(candidate)) {
+                if (Arrays.asList(getBundleProjects(candidate)).contains(project)) {
+                    bundles.add(candidate);
+                }
+            }
+        }
+        return bundles.toArray(new IProject[bundles.size()]);
+    }
 
-	public static IProject[] getBundleProjects(IProject parProject) {
-		Set<IProject> bundles = new HashSet<IProject>();
-		if (isParProject(parProject)) {
-			Par par = getParDefinition(parProject);
-			if (par != null && par.getBundle() != null) {
-				for (Bundle bundle : par.getBundle()) {
-					IProject bundleProject = ResourcesPlugin.getWorkspace()
-							.getRoot()
-							.getProject(bundle.getSymbolicName());
-					if (FacetUtils.isBundleProject(bundleProject)) {
-						bundles.add(bundleProject);
-					}
-				}
-			}
-		}
-		return bundles.toArray(new IProject[bundles.size()]);
-	}
+    public static IProject[] getBundleProjects(IProject parProject) {
+        Set<IProject> bundles = new HashSet<IProject>();
+        if (isParProject(parProject)) {
+            Par par = getParDefinition(parProject);
+            if (par != null && par.getBundle() != null) {
+                for (Bundle bundle : par.getBundle()) {
+                    IProject bundleProject = ResourcesPlugin.getWorkspace().getRoot().getProject(bundle.getSymbolicName());
+                    if (FacetUtils.isBundleProject(bundleProject)) {
+                        bundles.add(bundleProject);
+                    }
+                }
+            }
+        }
+        return bundles.toArray(new IProject[bundles.size()]);
+    }
 
-	public static Par getParDefinition(IProject project) {
-		// Create a resource set to hold the resources.
-		ResourceSet resourceSet = new ResourceSetImpl();
-		// Register the package to ensure it is available during loading.
-		resourceSet.getPackageRegistry().put(ParPackage.eNS_URI, ParPackage.eINSTANCE);
+    public static Par getParDefinition(IProject project) {
+        // Create a resource set to hold the resources.
+        ResourceSet resourceSet = new ResourceSetImpl();
+        // Register the package to ensure it is available during loading.
+        resourceSet.getPackageRegistry().put(ParPackage.eNS_URI, ParPackage.eINSTANCE);
 
-		File parFile = new File(new File(project.getLocation().toString() + File.separatorChar + ".settings"),
-				"org.eclipse.virgo.ide.runtime.core.par.xml");
-		if (parFile.exists()) {
-			URI fileUri = URI.createFileURI(parFile.toString());
-			Resource resource = null;
-			try {
-				resource = resourceSet.getResource(fileUri, true);
-			} catch (WrappedException e) {
-				if (e.getCause() instanceof PackageNotFoundException) {
-					//Handle case where we need to update old par file format.
-					try {
-						BufferedReader br = new BufferedReader(new FileReader(parFile));
-						StringBuilder sb = new StringBuilder();
-						String next = br.readLine();
-						do {
-							next = next.replaceAll("http:///com/springsource/server/ide/par.ecore",
-									"http://eclipse.org/virgo/par.ecore");
-							next = next.replaceAll("com\\.springsource\\.server", "org.eclipse.virgo");
-							sb.append(next + "\n");
-							next = br.readLine();
-						} while (next != null);
-						br.close();
-						BufferedWriter bw = new BufferedWriter(new FileWriter(parFile));
-						bw.write(sb.toString());
-						bw.close();
-						project.refreshLocal(IResource.DEPTH_INFINITE, null);
-						resource = resourceSet.getResource(fileUri, true);
-					} catch (IOException e1) {
-						throw new RuntimeException(e1);
-					} catch (CoreException e2) {
-						throw new RuntimeException(e2);
-					}
-				}
-			}
-			return (Par) resource.getContents().iterator().next();
-		}
+        File parFile = new File(new File(project.getLocation().toString() + File.separatorChar + ".settings"),
+            "org.eclipse.virgo.ide.runtime.core.par.xml");
+        if (parFile.exists()) {
+            URI fileUri = URI.createFileURI(parFile.toString());
+            Resource resource = null;
+            try {
+                resource = resourceSet.getResource(fileUri, true);
+            } catch (WrappedException e) {
+                if (e.getCause() instanceof PackageNotFoundException) {
+                    // Handle case where we need to update old par file format.
+                    try {
+                        BufferedReader br = new BufferedReader(new FileReader(parFile));
+                        StringBuilder sb = new StringBuilder();
+                        String next = br.readLine();
+                        do {
+                            next = next.replaceAll("http:///com/springsource/server/ide/par.ecore", "http://eclipse.org/virgo/par.ecore");
+                            next = next.replaceAll("com\\.springsource\\.server", "org.eclipse.virgo");
+                            sb.append(next + "\n");
+                            next = br.readLine();
+                        } while (next != null);
+                        br.close();
+                        BufferedWriter bw = new BufferedWriter(new FileWriter(parFile));
+                        bw.write(sb.toString());
+                        bw.close();
+                        project.refreshLocal(IResource.DEPTH_INFINITE, null);
+                        resource = resourceSet.getResource(fileUri, true);
+                    } catch (IOException e1) {
+                        throw new RuntimeException(e1);
+                    } catch (CoreException e2) {
+                        throw new RuntimeException(e2);
+                    }
+                }
+            }
+            return (Par) resource.getContents().iterator().next();
+        }
 
-		return null;
-	}
+        return null;
+    }
 
-	public static IFile getParFile(IProject project) {
-		IResource resource = project.findMember(new Path(".settings").append("org.eclipse.virgo.ide.runtime.core.par.xml"));
-		if (resource instanceof IFile) {
-			return (IFile) resource;
-		}
-		return null;
-	}
+    public static IFile getParFile(IProject project) {
+        IResource resource = project.findMember(new Path(".settings").append("org.eclipse.virgo.ide.runtime.core.par.xml"));
+        if (resource instanceof IFile) {
+            return (IFile) resource;
+        }
+        return null;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/ParFacetInstallDelegate.java b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/ParFacetInstallDelegate.java
index e5608b5..71d799d 100644
--- a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/ParFacetInstallDelegate.java
+++ b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/ParFacetInstallDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.facet.core;
 
 import java.util.ArrayList;
@@ -23,18 +24,17 @@
 
 /**
  * Empty install delegate for the par facet.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ParFacetInstallDelegate implements IDelegate {
 
-	public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor)
-			throws CoreException {
-		IProjectDescription desc = project.getDescription();
-		List<String> natures = new ArrayList<String>(Arrays.asList(desc.getNatureIds()));
-		natures.add(FacetCorePlugin.PAR_NATURE_ID);
-		desc.setNatureIds(natures.toArray(new String[] {}));
-		project.setDescription(desc, monitor);
-	}
+    public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor) throws CoreException {
+        IProjectDescription desc = project.getDescription();
+        List<String> natures = new ArrayList<String>(Arrays.asList(desc.getNatureIds()));
+        natures.add(FacetCorePlugin.PAR_NATURE_ID);
+        desc.setNatureIds(natures.toArray(new String[] {}));
+        project.setDescription(desc, monitor);
+    }
 }
diff --git a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/PlanFacetInstallDelegate.java b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/PlanFacetInstallDelegate.java
index 5607537..94964a1 100644
--- a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/PlanFacetInstallDelegate.java
+++ b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/PlanFacetInstallDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.facet.core;
 
 import java.util.ArrayList;
@@ -23,19 +24,18 @@
 
 /**
  * Empty install delegate for the plan facet.
- * 
+ *
  * @author Christian Dupuis
  * @since 2.3.1
  */
 public class PlanFacetInstallDelegate implements IDelegate {
 
-	public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor)
-			throws CoreException {
-		IProjectDescription desc = project.getDescription();
-		List<String> natures = new ArrayList<String>(Arrays.asList(desc.getNatureIds()));
-		natures.add(FacetCorePlugin.PLAN_NATURE_ID);
-		desc.setNatureIds(natures.toArray(new String[] {}));
-		project.setDescription(desc, monitor);
+    public void execute(IProject project, IProjectFacetVersion fv, Object config, IProgressMonitor monitor) throws CoreException {
+        IProjectDescription desc = project.getDescription();
+        List<String> natures = new ArrayList<String>(Arrays.asList(desc.getNatureIds()));
+        natures.add(FacetCorePlugin.PLAN_NATURE_ID);
+        desc.setNatureIds(natures.toArray(new String[] {}));
+        project.setDescription(desc, monitor);
 
-	}
+    }
 }
diff --git a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/ServerNature.java b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/ServerNature.java
index c601b80..6a64a80 100644
--- a/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/ServerNature.java
+++ b/org.eclipse.virgo.ide.facet.core/src/org/eclipse/virgo/ide/facet/core/ServerNature.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.facet.core;
 
 import org.eclipse.core.resources.IProject;
@@ -16,26 +17,26 @@
 
 /**
  * Basic {@link IProjectNature} implementation for server natures (bundle and par).
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ServerNature implements IProjectNature {
 
-	private IProject project;
+    private IProject project;
 
-	public void configure() throws CoreException {
-	}
+    public void configure() throws CoreException {
+    }
 
-	public void deconfigure() throws CoreException {
-	}
+    public void deconfigure() throws CoreException {
+    }
 
-	public IProject getProject() {
-		return this.project;
-	}
+    public IProject getProject() {
+        return this.project;
+    }
 
-	public void setProject(IProject project) {
-		this.project = project;
-	}
+    public void setProject(IProject project) {
+        this.project = project;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.jdt.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.jdt.core/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.jdt.core/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.jdt.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.jdt.core/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.jdt.core/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.jdt.core/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.jdt.core/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/core/JdtCorePlugin.java b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/core/JdtCorePlugin.java
index 4383527..22f0a2a 100644
--- a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/core/JdtCorePlugin.java
+++ b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/core/JdtCorePlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.core;
 
 import org.eclipse.core.resources.IProject;
@@ -24,70 +25,69 @@
 
 /**
  * Bundle {@link JdtCorePlugin} for the jdt.core plug-in.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class JdtCorePlugin extends Plugin {
 
-	/** The bundle-symbolic name */
-	public static final String PLUGIN_ID = "org.eclipse.virgo.ide.jdt.core";
+    /** The bundle-symbolic name */
+    public static final String PLUGIN_ID = "org.eclipse.virgo.ide.jdt.core";
 
-	/**
-	 * The marker id used for creating markers that indicate un-resolved dependencies on bundle manifests
-	 */
-	public static final String DEPENDENCY_PROBLEM_MARKER_ID = PLUGIN_ID + ".dependencyproblemmarker";
+    /**
+     * The marker id used for creating markers that indicate un-resolved dependencies on bundle manifests
+     */
+    public static final String DEPENDENCY_PROBLEM_MARKER_ID = PLUGIN_ID + ".dependencyproblemmarker";
 
-	// The shared instance
-	private static JdtCorePlugin plugin;
+    // The shared instance
+    private static JdtCorePlugin plugin;
 
-	private ServerClasspathContainerBundleManifestChangeListener bundleManifestChangeListener;
+    private ServerClasspathContainerBundleManifestChangeListener bundleManifestChangeListener;
 
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-		bundleManifestChangeListener = new ServerClasspathContainerBundleManifestChangeListener();
-		BundleManifestCorePlugin.getBundleManifestManager().addBundleManifestChangeListener(
-				bundleManifestChangeListener);
-		ServerCorePlugin.getArtefactRepositoryManager().addBundleRepositoryChangeListener(bundleManifestChangeListener);
-	}
+    @Override
+    public void start(BundleContext context) throws Exception {
+        super.start(context);
+        plugin = this;
+        this.bundleManifestChangeListener = new ServerClasspathContainerBundleManifestChangeListener();
+        BundleManifestCorePlugin.getBundleManifestManager().addBundleManifestChangeListener(this.bundleManifestChangeListener);
+        ServerCorePlugin.getArtefactRepositoryManager().addBundleRepositoryChangeListener(this.bundleManifestChangeListener);
+    }
 
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		BundleManifestCorePlugin.getBundleManifestManager().removeBundleManifestChangeListener(
-				bundleManifestChangeListener);
-		ServerCorePlugin.getArtefactRepositoryManager().removeBundleRepositoryChangeListener(
-				bundleManifestChangeListener);
-		super.stop(context);
-	}
+    @Override
+    public void stop(BundleContext context) throws Exception {
+        plugin = null;
+        BundleManifestCorePlugin.getBundleManifestManager().removeBundleManifestChangeListener(this.bundleManifestChangeListener);
+        ServerCorePlugin.getArtefactRepositoryManager().removeBundleRepositoryChangeListener(this.bundleManifestChangeListener);
+        super.stop(context);
+    }
 
-	public IEclipsePreferences getProjectPreferences(IProject project) {
-		IScopeContext context = new ProjectScope(project);
-		IEclipsePreferences node = context.getNode(PLUGIN_ID);
-		return node;
-	}
+    public IEclipsePreferences getProjectPreferences(IProject project) {
+        IScopeContext context = new ProjectScope(project);
+        IEclipsePreferences node = context.getNode(PLUGIN_ID);
+        return node;
+    }
 
-	public static JdtCorePlugin getDefault() {
-		return plugin;
-	}
+    public static JdtCorePlugin getDefault() {
+        return plugin;
+    }
 
-	public static IStatus createErrorStatus(String message, Throwable exception) {
-		if (message == null) {
-			message = "";
-		}
-		return new Status(IStatus.ERROR, PLUGIN_ID, 0, message, exception);
-	}
+    public static IStatus createErrorStatus(String message, Throwable exception) {
+        if (message == null) {
+            message = "";
+        }
+        return new Status(IStatus.ERROR, PLUGIN_ID, 0, message, exception);
+    }
 
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
+    public static void log(IStatus status) {
+        getDefault().getLog().log(status);
+    }
 
-	public static void log(String message, Throwable exception) {
-		getDefault().getLog().log(createErrorStatus(message, exception));
-	}
+    public static void log(String message, Throwable exception) {
+        getDefault().getLog().log(createErrorStatus(message, exception));
+    }
 
-	public static void log(Throwable exception) {
-		getDefault().getLog().log(createErrorStatus(exception.getMessage(), exception));
-	}
+    public static void log(Throwable exception) {
+        getDefault().getLog().log(createErrorStatus(exception.getMessage(), exception));
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/core/ServerClasspathContainerPropertyTester.java b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/core/ServerClasspathContainerPropertyTester.java
index 9eba0b7..591acb9 100644
--- a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/core/ServerClasspathContainerPropertyTester.java
+++ b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/core/ServerClasspathContainerPropertyTester.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.core;
 
 import org.eclipse.core.expressions.PropertyTester;
@@ -24,14 +25,14 @@
  */
 public class ServerClasspathContainerPropertyTester extends PropertyTester {
 
-	public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
-		if (receiver instanceof IResource && "isEnabled".equals(property)) { //$NON-NLS-1$
-			IProject project = ((IResource) receiver).getProject();
-			IJavaProject javaProject = JavaCore.create(project);
-			if (FacetUtils.hasNature(project, JavaCore.NATURE_ID)) {
-				return ClasspathUtils.hasClasspathContainer(javaProject);
-			}
-		}
-		return false;
-	}
+    public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
+        if (receiver instanceof IResource && "isEnabled".equals(property)) { //$NON-NLS-1$
+            IProject project = ((IResource) receiver).getProject();
+            IJavaProject javaProject = JavaCore.create(project);
+            if (FacetUtils.hasNature(project, JavaCore.NATURE_ID)) {
+                return ClasspathUtils.hasClasspathContainer(javaProject);
+            }
+        }
+        return false;
+    }
 }
diff --git a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainer.java b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainer.java
index e4dbddd..2e8001a 100644
--- a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainer.java
+++ b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainer.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.core.classpath;
 
 import java.io.File;
@@ -63,613 +64,575 @@
  * <p>
  * This implementation creates very rigorous accessibility rules on every {@link IClasspathEntry} that it creates. Those
  * rules match the OSGi runtime environment and therefore mirror the runtime class path in the SpringSource AP.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ServerClasspathContainer implements IClasspathContainer {
 
-	/**
-	 * Key of the {@link IClasspathAttribute} that indicates that a certain {@link IClasspathEntry} has been created by
-	 * this container
-	 */
-	public static final String CLASSPATH_ATTRIBUTE_VALUE = JdtCorePlugin.PLUGIN_ID + ".CLASSPATH_ENTRY";
+    /**
+     * Key of the {@link IClasspathAttribute} that indicates that a certain {@link IClasspathEntry} has been created by
+     * this container
+     */
+    public static final String CLASSPATH_ATTRIBUTE_VALUE = JdtCorePlugin.PLUGIN_ID + ".CLASSPATH_ENTRY";
 
-	public static final String MANIFEST_TIMESTAMP = "MANIFEST_TIMESTAMP";
+    public static final String MANIFEST_TIMESTAMP = "MANIFEST_TIMESTAMP";
 
-	/** Name of this class path container to be stored by JDT */
-	private static final String CLASSPATH_CONTAINER = JdtCorePlugin.PLUGIN_ID + ".MANIFEST_CLASSPATH_CONTAINER";
+    /** Name of this class path container to be stored by JDT */
+    private static final String CLASSPATH_CONTAINER = JdtCorePlugin.PLUGIN_ID + ".MANIFEST_CLASSPATH_CONTAINER";
 
-	/** Classpath container */
-	public static final String CLASSPATH_CONTAINER_DESCRIPTION = "Bundle Dependencies";
+    /** Classpath container */
+    public static final String CLASSPATH_CONTAINER_DESCRIPTION = "Bundle Dependencies";
 
-	/** Unique path of this class path container */
-	public static final IPath CLASSPATH_CONTAINER_PATH = new Path(CLASSPATH_CONTAINER);
+    /** Unique path of this class path container */
+    public static final IPath CLASSPATH_CONTAINER_PATH = new Path(CLASSPATH_CONTAINER);
 
-	/**
-	 * Key of the {@link IClasspathAttribute} that indicates that a certain {@link IClasspathEntry} has been created by
-	 * this container and is a test dependency
-	 */
-	public static final String TEST_CLASSPATH_ATTRIBUTE_VALUE = JdtCorePlugin.PLUGIN_ID + ".TEST_CLASSPATH_ENTRY";
+    /**
+     * Key of the {@link IClasspathAttribute} that indicates that a certain {@link IClasspathEntry} has been created by
+     * this container and is a test dependency
+     */
+    public static final String TEST_CLASSPATH_ATTRIBUTE_VALUE = JdtCorePlugin.PLUGIN_ID + ".TEST_CLASSPATH_ENTRY";
 
-	/**
-	 * {@link IClasspathAttribute} to prevent WTP warning of non exportable container
-	 */
-	public static final IClasspathAttribute[] CLASSPATH_CONTAINER_ATTRIBUTE = new IClasspathAttribute[] { JavaCore.newClasspathAttribute(
-			"org.eclipse.jst.component.nondependency", "") };
+    /**
+     * {@link IClasspathAttribute} to prevent WTP warning of non exportable container
+     */
+    public static final IClasspathAttribute[] CLASSPATH_CONTAINER_ATTRIBUTE = new IClasspathAttribute[] {
+        JavaCore.newClasspathAttribute("org.eclipse.jst.component.nondependency", "") };
 
-	/** Internal cache of {@link IAccessRule}s keyed by a {@link IPath} */
-	private static Map<IPath, IAccessRule> accessibleRules = new ConcurrentHashMap<IPath, IAccessRule>();
+    /** Internal cache of {@link IAccessRule}s keyed by a {@link IPath} */
+    private static Map<IPath, IAccessRule> accessibleRules = new ConcurrentHashMap<IPath, IAccessRule>();
 
-	/**
-	 * {@link IClasspathAttribute} that is installed on a {@link IClasspathEntry} to indicate that a certain entry has
-	 * been created by this class path container
-	 */
-	private static final IClasspathAttribute[] CLASSPATH_ATTRIBUTES = new IClasspathAttribute[] { JavaCore.newClasspathAttribute(
-			CLASSPATH_ATTRIBUTE_VALUE, "true") };
+    /**
+     * {@link IClasspathAttribute} that is installed on a {@link IClasspathEntry} to indicate that a certain entry has
+     * been created by this class path container
+     */
+    private static final IClasspathAttribute[] CLASSPATH_ATTRIBUTES = new IClasspathAttribute[] {
+        JavaCore.newClasspathAttribute(CLASSPATH_ATTRIBUTE_VALUE, "true") };
 
-	/** Wildcard string used to append to a package */
-	private static final String PACKAGE_WILDCARD = "/*";
+    /** Wildcard string used to append to a package */
+    private static final String PACKAGE_WILDCARD = "/*";
 
-	/**
-	 * {@link IClasspathAttribute} that is installed on a {@link IClasspathEntry} to indicate that a certain entry has
-	 * been created by this class path container and is a test dependency
-	 */
-	private static final IClasspathAttribute[] TEST_CLASSPATH_ATTRIBUTES = new IClasspathAttribute[] { JavaCore.newClasspathAttribute(
-			TEST_CLASSPATH_ATTRIBUTE_VALUE, "true") };
+    /**
+     * {@link IClasspathAttribute} that is installed on a {@link IClasspathEntry} to indicate that a certain entry has
+     * been created by this class path container and is a test dependency
+     */
+    private static final IClasspathAttribute[] TEST_CLASSPATH_ATTRIBUTES = new IClasspathAttribute[] {
+        JavaCore.newClasspathAttribute(TEST_CLASSPATH_ATTRIBUTE_VALUE, "true") };
 
-	/** Wildcard string indicating the entire packages in a certain {@link IClasspathEntry} */
-	private static final String WILDCARD_PATH = "**/*";
+    /** Wildcard string indicating the entire packages in a certain {@link IClasspathEntry} */
+    private static final String WILDCARD_PATH = "**/*";
 
-	/** {@link IAccessRule} that enables access to any package in a {@link IClasspathEntry}. */
-	private static final IAccessRule WILDCARD_ACCESSIBLE_RULE = JavaCore.newAccessRule(new Path(WILDCARD_PATH),
-			IAccessRule.K_ACCESSIBLE);
+    /** {@link IAccessRule} that enables access to any package in a {@link IClasspathEntry}. */
+    private static final IAccessRule WILDCARD_ACCESSIBLE_RULE = JavaCore.newAccessRule(new Path(WILDCARD_PATH), IAccessRule.K_ACCESSIBLE);
 
-	/**
-	 * {@link IAccessRule} that disables access to any package in a {@link IClasspathEntry}. This rule will be ignored
-	 * for any package that specifies {@link IAccessRule#K_ACCESSIBLE}, even for the same package (due to
-	 * {@link IAccessRule#IGNORE_IF_BETTER}.
-	 */
-	private static final IAccessRule WILDCARD_NON_ACCESSIBLE_RULE = JavaCore.newAccessRule(new Path(WILDCARD_PATH),
-			IAccessRule.K_NON_ACCESSIBLE | IAccessRule.IGNORE_IF_BETTER);
+    /**
+     * {@link IAccessRule} that disables access to any package in a {@link IClasspathEntry}. This rule will be ignored
+     * for any package that specifies {@link IAccessRule#K_ACCESSIBLE}, even for the same package (due to
+     * {@link IAccessRule#IGNORE_IF_BETTER}.
+     */
+    private static final IAccessRule WILDCARD_NON_ACCESSIBLE_RULE = JavaCore.newAccessRule(new Path(WILDCARD_PATH),
+        IAccessRule.K_NON_ACCESSIBLE | IAccessRule.IGNORE_IF_BETTER);
 
-	/**
-	 * Looks up and returns a {@link IAccessRule} for the given <code>path</code>.
-	 * 
-	 * @param path
-	 *            the path to look up or create the access rule for
-	 * @return a {@link IAccessRule} that allows to access the given <code>path</code>
-	 */
-	private static IAccessRule getAccessibleRule(IPath path) {
-		if (!accessibleRules.containsKey(path)) {
-			accessibleRules.put(path, JavaCore.newAccessRule(path, IAccessRule.K_ACCESSIBLE));
-		}
-		return accessibleRules.get(path);
-	}
+    /**
+     * Looks up and returns a {@link IAccessRule} for the given <code>path</code>.
+     *
+     * @param path the path to look up or create the access rule for
+     * @return a {@link IAccessRule} that allows to access the given <code>path</code>
+     */
+    private static IAccessRule getAccessibleRule(IPath path) {
+        if (!accessibleRules.containsKey(path)) {
+            accessibleRules.put(path, JavaCore.newAccessRule(path, IAccessRule.K_ACCESSIBLE));
+        }
+        return accessibleRules.get(path);
+    }
 
-	/** The calculated and stored {@link IClasspathEntry}s */
-	private IClasspathEntry[] entries;
+    /** The calculated and stored {@link IClasspathEntry}s */
+    private IClasspathEntry[] entries;
 
-	/** The internal flag to indicate the container has been initialized */
-	private volatile boolean initialized = false;
+    /** The internal flag to indicate the container has been initialized */
+    private volatile boolean initialized = false;
 
-	/** The {@link IJavaProject} this class path container instance is responsible for */
-	private IJavaProject javaProject;
+    /** The {@link IJavaProject} this class path container instance is responsible for */
+    private final IJavaProject javaProject;
 
-	/**
-	 * Temporal storage for manifest locations to {@link IJavaProject}s. This is used to resolve inter-workspace
-	 * dependencies
-	 */
-	private Map<String, IJavaProject> manifestLocationsByProject;
+    /**
+     * Temporal storage for manifest locations to {@link IJavaProject}s. This is used to resolve inter-workspace
+     * dependencies
+     */
+    private Map<String, IJavaProject> manifestLocationsByProject;
 
-	/** The set of server runtimes that are used to resolve the dependencies */
-	private IRuntime[] serverRuntimes;
+    /** The set of server runtimes that are used to resolve the dependencies */
+    private IRuntime[] serverRuntimes;
 
-	/**
-	 * Constructor to create a new class path container
-	 * 
-	 * @param javaProject
-	 *            the {@link IJavaProject} that this container is responsible for
-	 */
-	public ServerClasspathContainer(IJavaProject javaProject) {
-		this.javaProject = javaProject;
-		this.entries = new IClasspathEntry[0];
-	}
+    /**
+     * Constructor to create a new class path container
+     *
+     * @param javaProject the {@link IJavaProject} that this container is responsible for
+     */
+    public ServerClasspathContainer(IJavaProject javaProject) {
+        this.javaProject = javaProject;
+        this.entries = new IClasspathEntry[0];
+    }
 
-	/**
-	 * Constructor to create a new class path container
-	 * 
-	 * @param javaProject
-	 *            the {@link IJavaProject} that this container is responsible for
-	 * @param entries
-	 *            populate the list of {@link IClasspathEntry}s with the given list
-	 */
-	public ServerClasspathContainer(IJavaProject javaProject, IClasspathEntry[] entries) {
-		this.javaProject = javaProject;
-		this.entries = entries;
-		this.initialized = true;
+    /**
+     * Constructor to create a new class path container
+     *
+     * @param javaProject the {@link IJavaProject} that this container is responsible for
+     * @param entries populate the list of {@link IClasspathEntry}s with the given list
+     */
+    public ServerClasspathContainer(IJavaProject javaProject, IClasspathEntry[] entries) {
+        this.javaProject = javaProject;
+        this.entries = entries;
+        this.initialized = true;
 
-		// Store targeted runtimes to display in the description
-		serverRuntimes = ServerUtils.getTargettedRuntimes(javaProject.getProject());
-	}
+        // Store targeted runtimes to display in the description
+        this.serverRuntimes = ServerUtils.getTargettedRuntimes(javaProject.getProject());
+    }
 
-	/**
-	 * Returns the {@link IClasspathEntry}s calculated by this class path container
-	 */
-	public synchronized IClasspathEntry[] getClasspathEntries() {
-		// make sure that the container is initialized on first access
-		if (initialized) {
-			return this.entries;
-		}
-		// refresh container before giving out the empty entries list
-		refreshClasspathEntries();
-		return this.entries;
-	}
+    /**
+     * Returns the {@link IClasspathEntry}s calculated by this class path container
+     */
+    public synchronized IClasspathEntry[] getClasspathEntries() {
+        // make sure that the container is initialized on first access
+        if (this.initialized) {
+            return this.entries;
+        }
+        // refresh container before giving out the empty entries list
+        refreshClasspathEntries();
+        return this.entries;
+    }
 
-	/**
-	 * Returns the description for this class path container
-	 */
-	public String getDescription() {
-		return CLASSPATH_CONTAINER_DESCRIPTION;
-	}
+    /**
+     * Returns the description for this class path container
+     */
+    public String getDescription() {
+        return CLASSPATH_CONTAINER_DESCRIPTION;
+    }
 
-	/**
-	 * Returns the {@link IRuntime} that is project is targeted against
-	 * 
-	 * @return the serverRuntimes
-	 */
-	public String getDescriptionSuffix() {
-		StringBuilder builder = new StringBuilder();
-		if (serverRuntimes != null && serverRuntimes.length > 0) {
-			builder.append(" [");
-			for (int i = 0; i < serverRuntimes.length; i++) {
-				if (serverRuntimes[i] != null) {
-					builder.append(serverRuntimes[i].getName());
-					if ((i + 1) < serverRuntimes.length) {
-						builder.append(", ");
-					}
-				}
-			}
-			builder.append("]");
-		}
-		return builder.toString();
-	}
+    /**
+     * Returns the {@link IRuntime} that is project is targeted against
+     *
+     * @return the serverRuntimes
+     */
+    public String getDescriptionSuffix() {
+        StringBuilder builder = new StringBuilder();
+        if (this.serverRuntimes != null && this.serverRuntimes.length > 0) {
+            builder.append(" [");
+            for (int i = 0; i < this.serverRuntimes.length; i++) {
+                if (this.serverRuntimes[i] != null) {
+                    builder.append(this.serverRuntimes[i].getName());
+                    if (i + 1 < this.serverRuntimes.length) {
+                        builder.append(", ");
+                    }
+                }
+            }
+            builder.append("]");
+        }
+        return builder.toString();
+    }
 
-	/**
-	 * Returns the kind of this class path container
-	 */
-	public int getKind() {
-		return K_APPLICATION;
-	}
+    /**
+     * Returns the kind of this class path container
+     */
+    public int getKind() {
+        return K_APPLICATION;
+    }
 
-	/**
-	 * Returns the path of the class path container
-	 */
-	public IPath getPath() {
-		return CLASSPATH_CONTAINER_PATH;
-	}
+    /**
+     * Returns the path of the class path container
+     */
+    public IPath getPath() {
+        return CLASSPATH_CONTAINER_PATH;
+    }
 
-	/**
-	 * Refresh the class path entries of the given {@link IJavaProject}.
-	 * <p>
-	 * This will install the new class path entries on the java project only if the entries have changed since the last
-	 * refresh.
-	 */
-	public void refreshClasspathEntries() {
+    /**
+     * Refresh the class path entries of the given {@link IJavaProject}.
+     * <p>
+     * This will install the new class path entries on the java project only if the entries have changed since the last
+     * refresh.
+     */
+    public void refreshClasspathEntries() {
 
-		this.manifestLocationsByProject = new HashMap<String, IJavaProject>();
+        this.manifestLocationsByProject = new HashMap<String, IJavaProject>();
 
-		List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
-		IDependencyLocator locator = null;
-		try {
-			BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager()
-					.getBundleManifest(javaProject);
-			BundleManifest testManifest = BundleManifestCorePlugin.getBundleManifestManager().getTestBundleManifest(
-					javaProject);
+        List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
+        IDependencyLocator locator = null;
+        try {
+            BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(this.javaProject);
+            BundleManifest testManifest = BundleManifestCorePlugin.getBundleManifestManager().getTestBundleManifest(this.javaProject);
 
-			if (manifest != null) {
-				// Create DependencyLocator
-				locator = createDependencyLocator(javaProject);
+            if (manifest != null) {
+                // Create DependencyLocator
+                locator = createDependencyLocator(this.javaProject);
 
-				// Resolve dependencies for the main manifest
-				resolveDependencies(entries, manifest, locator, false);
+                // Resolve dependencies for the main manifest
+                resolveDependencies(entries, manifest, locator, false);
 
-				// Resolve dependencies for the test manifest
-				if (testManifest != null) {
-					resolveDependencies(entries, testManifest, locator, true);
-				}
-			}
-		} catch (Throwable e) {
-			JdtCorePlugin.log(e);
-		} finally {
-			// Shutdown DependencyLocator
-			if (locator != null) {
-				locator.shutdown();
-			}
+                // Resolve dependencies for the test manifest
+                if (testManifest != null) {
+                    resolveDependencies(entries, testManifest, locator, true);
+                }
+            }
+        } catch (Throwable e) {
+            JdtCorePlugin.log(e);
+        } finally {
+            // Shutdown DependencyLocator
+            if (locator != null) {
+                locator.shutdown();
+            }
 
-			// Sort entries alphabetically sort better support the user
-			Collections.sort(entries, new Comparator<IClasspathEntry>() {
-				public int compare(IClasspathEntry entry1, IClasspathEntry entry2) {
-					String path1 = entry1.getPath().lastSegment();
-					String path2 = entry2.getPath().lastSegment();
-					return path1.compareTo(path2);
-				}
-			});
+            // Sort entries alphabetically sort better support the user
+            Collections.sort(entries, new Comparator<IClasspathEntry>() {
 
-			this.entries = entries.toArray(new IClasspathEntry[entries.size()]);
-			this.manifestLocationsByProject = null;
-			this.initialized = true;
+                public int compare(IClasspathEntry entry1, IClasspathEntry entry2) {
+                    String path1 = entry1.getPath().lastSegment();
+                    String path2 = entry2.getPath().lastSegment();
+                    return path1.compareTo(path2);
+                }
+            });
 
-			// Save class path entries to file
-			ServerClasspathUtils.persistClasspathEntries(javaProject, this.entries);
+            this.entries = entries.toArray(new IClasspathEntry[entries.size()]);
+            this.manifestLocationsByProject = null;
+            this.initialized = true;
 
-			saveTimestamp(BundleManifestUtils.locateManifest(javaProject, false));
-			saveTimestamp(BundleManifestUtils.locateManifest(javaProject, true));
-		}
+            // Save class path entries to file
+            ServerClasspathUtils.persistClasspathEntries(this.javaProject, this.entries);
 
-	}
+            saveTimestamp(BundleManifestUtils.locateManifest(this.javaProject, false));
+            saveTimestamp(BundleManifestUtils.locateManifest(this.javaProject, true));
+        }
 
-	/**
-	 * Saves the last modified timestamp to the file resource.
-	 */
-	private void saveTimestamp(IFile manifestFile) {
-		if (manifestFile != null && manifestFile.exists()) {
-			try {
-				manifestFile.setPersistentProperty(new QualifiedName(JdtCorePlugin.PLUGIN_ID, MANIFEST_TIMESTAMP),
-						Long.toString(manifestFile.getLocalTimeStamp()));
-			} catch (CoreException e) {
-				JdtCorePlugin.log(e);
-			}
-		}
-	}
+    }
 
-	/**
-	 * Create and add the classpath entries for the given {@link BundleManifest}.
-	 * 
-	 * @param manifest
-	 *            the given {@link BundleManifest} to add classpath entries for
-	 * @param testManifest
-	 *            <code>true</code> if the manifest is the TEST.MF
-	 */
-	private void addClasspathEntriesFromBundleClassPath(List<IClasspathEntry> entries, BundleManifest manifest,
-			boolean testManifest) {
-		List<String> bundleClassPathEntries = manifest.getBundleClasspath();
-		for (String bundleClassPathEntry : bundleClassPathEntries) {
-			IResource resource = javaProject.getProject().findMember(bundleClassPathEntry.trim());
-			if (!".".equals(bundleClassPathEntry.trim()) && resource != null) {
-				IPath bundleClassPathEntryPath = resource.getRawLocation();
-				if (bundleClassPathEntryPath != null) {
-					File bundleClassPathEntryFile = bundleClassPathEntryPath.toFile();
-					if (bundleClassPathEntryFile != null && bundleClassPathEntryFile.exists()) {
-						createClasspathEntryForFile(entries, bundleClassPathEntryFile, testManifest,
-								WILDCARD_ACCESSIBLE_RULE);
-					}
-				}
-			}
-		}
-	}
+    /**
+     * Saves the last modified timestamp to the file resource.
+     */
+    private void saveTimestamp(IFile manifestFile) {
+        if (manifestFile != null && manifestFile.exists()) {
+            try {
+                manifestFile.setPersistentProperty(new QualifiedName(JdtCorePlugin.PLUGIN_ID, MANIFEST_TIMESTAMP),
+                    Long.toString(manifestFile.getLocalTimeStamp()));
+            } catch (CoreException e) {
+                JdtCorePlugin.log(e);
+            }
+        }
+    }
 
-	/**
-	 * Creates and adds {@link IClasspathEntry}s to the given set.
-	 * 
-	 * @param entries
-	 *            set to add the newly create {@link IClasspathEntry}s to
-	 * @param dependencies
-	 *            the resolved dependencies keyed by {@link File}
-	 */
-	// TODO CD merge if classpath entry already exists when resolving the test manifest
-	private void addClasspathEntriesFromResolutionResult(List<IClasspathEntry> entries,
-			Map<File, List<String>> dependencies, boolean testManifest) {
-		Set<String> resolvedPackageImports = new LinkedHashSet<String>();
+    /**
+     * Create and add the classpath entries for the given {@link BundleManifest}.
+     *
+     * @param manifest the given {@link BundleManifest} to add classpath entries for
+     * @param testManifest <code>true</code> if the manifest is the TEST.MF
+     */
+    private void addClasspathEntriesFromBundleClassPath(List<IClasspathEntry> entries, BundleManifest manifest, boolean testManifest) {
+        List<String> bundleClassPathEntries = manifest.getBundleClasspath();
+        for (String bundleClassPathEntry : bundleClassPathEntries) {
+            IResource resource = this.javaProject.getProject().findMember(bundleClassPathEntry.trim());
+            if (!".".equals(bundleClassPathEntry.trim()) && resource != null) {
+                IPath bundleClassPathEntryPath = resource.getRawLocation();
+                if (bundleClassPathEntryPath != null) {
+                    File bundleClassPathEntryFile = bundleClassPathEntryPath.toFile();
+                    if (bundleClassPathEntryFile != null && bundleClassPathEntryFile.exists()) {
+                        createClasspathEntryForFile(entries, bundleClassPathEntryFile, testManifest, WILDCARD_ACCESSIBLE_RULE);
+                    }
+                }
+            }
+        }
+    }
 
-		for (Map.Entry<File, List<String>> entry : dependencies.entrySet()) {
-			File file = entry.getKey();
-			if (file != null) {
-				Set<IAccessRule> allowedRules = createAccessRulesFromPackageImports(entry.getValue());
-				if (file.isDirectory()) {
-					// Adjust file name to eliminate cross platform problems
-					String fileName = file.toString().replace("\\", "/");
-					if (manifestLocationsByProject.containsKey(fileName)) {
-						createClasspathForProject(entries, fileName, testManifest,
-								allowedRules.toArray(new IAccessRule[allowedRules.size()]));
-					}
-				} else {
-					createClasspathEntryForFile(entries, file, testManifest,
-							allowedRules.toArray(new IAccessRule[allowedRules.size()]));
-				}
-			}
-			if (!testManifest) {
-				// Store all resolved packages
-				resolvedPackageImports.addAll(entry.getValue());
-			}
-		}
+    /**
+     * Creates and adds {@link IClasspathEntry}s to the given set.
+     *
+     * @param entries set to add the newly create {@link IClasspathEntry}s to
+     * @param dependencies the resolved dependencies keyed by {@link File}
+     */
+    // TODO CD merge if classpath entry already exists when resolving the test manifest
+    private void addClasspathEntriesFromResolutionResult(List<IClasspathEntry> entries, Map<File, List<String>> dependencies, boolean testManifest) {
+        Set<String> resolvedPackageImports = new LinkedHashSet<String>();
+
+        for (Map.Entry<File, List<String>> entry : dependencies.entrySet()) {
+            File file = entry.getKey();
+            if (file != null) {
+                Set<IAccessRule> allowedRules = createAccessRulesFromPackageImports(entry.getValue());
+                if (file.isDirectory()) {
+                    // Adjust file name to eliminate cross platform problems
+                    String fileName = file.toString().replace("\\", "/");
+                    if (this.manifestLocationsByProject.containsKey(fileName)) {
+                        createClasspathForProject(entries, fileName, testManifest, allowedRules.toArray(new IAccessRule[allowedRules.size()]));
+                    }
+                } else {
+                    createClasspathEntryForFile(entries, file, testManifest, allowedRules.toArray(new IAccessRule[allowedRules.size()]));
+                }
+            }
+            if (!testManifest) {
+                // Store all resolved packages
+                resolvedPackageImports.addAll(entry.getValue());
+            }
+        }
 
-		if (!testManifest) {
-			// Store the resolved package imports back into the model
-			IBundleManifestManager bundleManifestManager = BundleManifestCorePlugin.getBundleManifestManager();
-			if (bundleManifestManager instanceof IBundleManifestMangerWorkingCopy) {
-				((IBundleManifestMangerWorkingCopy) bundleManifestManager).updateResolvedPackageImports(javaProject,
-						resolvedPackageImports);
-			}
-		}
-	}
+        if (!testManifest) {
+            // Store the resolved package imports back into the model
+            IBundleManifestManager bundleManifestManager = BundleManifestCorePlugin.getBundleManifestManager();
+            if (bundleManifestManager instanceof IBundleManifestMangerWorkingCopy) {
+                ((IBundleManifestMangerWorkingCopy) bundleManifestManager).updateResolvedPackageImports(this.javaProject, resolvedPackageImports);
+            }
+        }
+    }
 
-	/**
-	 * Adds the given project as a workspace project to the list
-	 * 
-	 * @param workspaceBundles
-	 *            the already existing workspace bundles
-	 * @param project
-	 *            the bundle project to add
-	 */
-	private void addWorkspaceBundle(Set<String> workspaceBundles, IProject project) {
-		if (project.isAccessible() && FacetUtils.isBundleProject(project)) {
-			String manifestFolder = BundleManifestUtils.locateManifestFolder(JavaCore.create(project));
-			if (manifestFolder != null) {
-				workspaceBundles.add(manifestFolder);
-				manifestLocationsByProject.put(manifestFolder, JavaCore.create(project));
-			}
-		}
-	}
+    /**
+     * Adds the given project as a workspace project to the list
+     *
+     * @param workspaceBundles the already existing workspace bundles
+     * @param project the bundle project to add
+     */
+    private void addWorkspaceBundle(Set<String> workspaceBundles, IProject project) {
+        if (project.isAccessible() && FacetUtils.isBundleProject(project)) {
+            String manifestFolder = BundleManifestUtils.locateManifestFolder(JavaCore.create(project));
+            if (manifestFolder != null) {
+                workspaceBundles.add(manifestFolder);
+                this.manifestLocationsByProject.put(manifestFolder, JavaCore.create(project));
+            }
+        }
+    }
 
-	/**
-	 * Creates {@link IAccessRule}s for the given list of imported packages.
-	 * <p>
-	 * Only those packages from the {@link IClasspathEntry} that are imported will be visible.
-	 * 
-	 * @param packageImports
-	 *            the resolved and explicit package imports
-	 * @return the set of {@link IAccessRule}s
-	 */
-	private Set<IAccessRule> createAccessRulesFromPackageImports(List<String> packageImports) {
-		Set<IAccessRule> allowedRules = new LinkedHashSet<IAccessRule>();
-		for (String packageImport : packageImports) {
-			allowedRules.add(getAccessibleRule(new Path(packageImport.replace('.', '/') + PACKAGE_WILDCARD)));
-		}
-		allowedRules.add(WILDCARD_NON_ACCESSIBLE_RULE);
-		return allowedRules;
-	}
+    /**
+     * Creates {@link IAccessRule}s for the given list of imported packages.
+     * <p>
+     * Only those packages from the {@link IClasspathEntry} that are imported will be visible.
+     *
+     * @param packageImports the resolved and explicit package imports
+     * @return the set of {@link IAccessRule}s
+     */
+    private Set<IAccessRule> createAccessRulesFromPackageImports(List<String> packageImports) {
+        Set<IAccessRule> allowedRules = new LinkedHashSet<IAccessRule>();
+        for (String packageImport : packageImports) {
+            allowedRules.add(getAccessibleRule(new Path(packageImport.replace('.', '/') + PACKAGE_WILDCARD)));
+        }
+        allowedRules.add(WILDCARD_NON_ACCESSIBLE_RULE);
+        return allowedRules;
+    }
 
-	/**
-	 * Creates a single {@link IClasspathEntry} for the given <code>file</code> and <code>allowedRules</code>.
-	 * 
-	 * @param entries
-	 *            the list of {@link IClasspathEntry}
-	 * @param file
-	 *            the {@link File} representing a JAR file
-	 * @param allowedRules
-	 *            the set if {@link IAccessRule}s indicating package export restrictions
-	 */
-	private void createClasspathEntryForFile(List<IClasspathEntry> entries, File file, boolean testManifest,
-			IAccessRule... allowedRules) {
-		IPath path = new Path(file.getAbsolutePath());
-		allowedRules = mergeAccessRules(entries, path, allowedRules);
+    /**
+     * Creates a single {@link IClasspathEntry} for the given <code>file</code> and <code>allowedRules</code>.
+     *
+     * @param entries the list of {@link IClasspathEntry}
+     * @param file the {@link File} representing a JAR file
+     * @param allowedRules the set if {@link IAccessRule}s indicating package export restrictions
+     */
+    private void createClasspathEntryForFile(List<IClasspathEntry> entries, File file, boolean testManifest, IAccessRule... allowedRules) {
+        IPath path = new Path(file.getAbsolutePath());
+        allowedRules = mergeAccessRules(entries, path, allowedRules);
 
-		if (testManifest) {
-			entries.add(JavaCore.newLibraryEntry(new Path(file.getAbsolutePath()), getSourceAttachmentPath(file), null,
-					allowedRules, TEST_CLASSPATH_ATTRIBUTES, false));
-		} else {
-			entries.add(JavaCore.newLibraryEntry(new Path(file.getAbsolutePath()), getSourceAttachmentPath(file), null,
-					allowedRules, CLASSPATH_ATTRIBUTES, false));
-		}
+        if (testManifest) {
+            entries.add(JavaCore.newLibraryEntry(new Path(file.getAbsolutePath()), getSourceAttachmentPath(file), null, allowedRules,
+                TEST_CLASSPATH_ATTRIBUTES, false));
+        } else {
+            entries.add(JavaCore.newLibraryEntry(new Path(file.getAbsolutePath()), getSourceAttachmentPath(file), null, allowedRules,
+                CLASSPATH_ATTRIBUTES, false));
+        }
 
-	}
+    }
 
-	/**
-	 * Creates a single {@link IClasspathEntry} for the given <code>file</code> and <code>allowedRules</code>.
-	 * <p>
-	 * The <code>file</code> actually points to the workspace source folder and therefore this method creates a project
-	 * reference in contrast to a JAR reference.
-	 * 
-	 * @param entries
-	 *            the list of {@link IClasspathEntry}
-	 * @param fileName
-	 *            the file name representing a source folder
-	 * @param allowedRules
-	 *            the set if {@link IAccessRule}s indicating package export restrictions
-	 */
-	private void createClasspathForProject(List<IClasspathEntry> entries, String fileName, boolean testManifest,
-			IAccessRule... allowedRules) {
-		IJavaProject referencedProject = manifestLocationsByProject.get(fileName);
-		if (referencedProject == null || javaProject.equals(referencedProject)) {
-			return;
-		}
+    /**
+     * Creates a single {@link IClasspathEntry} for the given <code>file</code> and <code>allowedRules</code>.
+     * <p>
+     * The <code>file</code> actually points to the workspace source folder and therefore this method creates a project
+     * reference in contrast to a JAR reference.
+     *
+     * @param entries the list of {@link IClasspathEntry}
+     * @param fileName the file name representing a source folder
+     * @param allowedRules the set if {@link IAccessRule}s indicating package export restrictions
+     */
+    private void createClasspathForProject(List<IClasspathEntry> entries, String fileName, boolean testManifest, IAccessRule... allowedRules) {
+        IJavaProject referencedProject = this.manifestLocationsByProject.get(fileName);
+        if (referencedProject == null || this.javaProject.equals(referencedProject)) {
+            return;
+        }
 
-		IPath path = manifestLocationsByProject.get(fileName).getPath();
-		allowedRules = mergeAccessRules(entries, path, allowedRules);
+        IPath path = this.manifestLocationsByProject.get(fileName).getPath();
+        allowedRules = mergeAccessRules(entries, path, allowedRules);
 
-		if (testManifest) {
-			entries.add(JavaCore.newProjectEntry(path, allowedRules, false, TEST_CLASSPATH_ATTRIBUTES, false));
-		} else {
-			entries.add(JavaCore.newProjectEntry(path, allowedRules, false, CLASSPATH_ATTRIBUTES, false));
-		}
-	}
+        if (testManifest) {
+            entries.add(JavaCore.newProjectEntry(path, allowedRules, false, TEST_CLASSPATH_ATTRIBUTES, false));
+        } else {
+            entries.add(JavaCore.newProjectEntry(path, allowedRules, false, CLASSPATH_ATTRIBUTES, false));
+        }
+    }
 
-	private IAccessRule[] mergeAccessRules(List<IClasspathEntry> entries, IPath path, IAccessRule... allowedRules) {
-		IClasspathEntry entry = null;
-		// Check if the path is already in and merge if so
-		for (IClasspathEntry existingEntry : entries) {
-			if (existingEntry.getPath().equals(path)) {
-				Set<IAccessRule> existingRules = new TreeSet<IAccessRule>(new Comparator<IAccessRule>() {
+    private IAccessRule[] mergeAccessRules(List<IClasspathEntry> entries, IPath path, IAccessRule... allowedRules) {
+        IClasspathEntry entry = null;
+        // Check if the path is already in and merge if so
+        for (IClasspathEntry existingEntry : entries) {
+            if (existingEntry.getPath().equals(path)) {
+                Set<IAccessRule> existingRules = new TreeSet<IAccessRule>(new Comparator<IAccessRule>() {
 
-					public int compare(IAccessRule o1, IAccessRule o2) {
-						if (o1.getKind() == o2.getKind()) {
-							return o1.getPattern().toString().compareTo(o2.getPattern().toString());
-						} else if (o1.getKind() == IAccessRule.K_NON_ACCESSIBLE) {
-							return 1;
-						} else if (o2.getKind() == IAccessRule.K_NON_ACCESSIBLE) {
-							return -1;
-						} else if (o1.getKind() == IAccessRule.K_ACCESSIBLE) {
-							return 1;
-						} else if (o2.getKind() == IAccessRule.K_ACCESSIBLE) {
-							return -1;
-						}
-						return 0;
-					}
-				});
+                    public int compare(IAccessRule o1, IAccessRule o2) {
+                        if (o1.getKind() == o2.getKind()) {
+                            return o1.getPattern().toString().compareTo(o2.getPattern().toString());
+                        } else if (o1.getKind() == IAccessRule.K_NON_ACCESSIBLE) {
+                            return 1;
+                        } else if (o2.getKind() == IAccessRule.K_NON_ACCESSIBLE) {
+                            return -1;
+                        } else if (o1.getKind() == IAccessRule.K_ACCESSIBLE) {
+                            return 1;
+                        } else if (o2.getKind() == IAccessRule.K_ACCESSIBLE) {
+                            return -1;
+                        }
+                        return 0;
+                    }
+                });
 
-				existingRules.addAll(Arrays.asList(existingEntry.getAccessRules()));
-				existingRules.addAll(Arrays.asList(allowedRules));
-				allowedRules = existingRules.toArray(new IAccessRule[existingRules.size()]);
-				entry = existingEntry;
-				break;
-			}
-		}
+                existingRules.addAll(Arrays.asList(existingEntry.getAccessRules()));
+                existingRules.addAll(Arrays.asList(allowedRules));
+                allowedRules = existingRules.toArray(new IAccessRule[existingRules.size()]);
+                entry = existingEntry;
+                break;
+            }
+        }
 
-		if (entry != null) {
-			entries.remove(entry);
-		}
-		return allowedRules;
-	}
+        if (entry != null) {
+            entries.remove(entry);
+        }
+        return allowedRules;
+    }
 
-	/**
-	 * Creates the {@link DependencyLocator} to be used for resolution.
-	 * 
-	 * @param javaProject
-	 *            the {@link IJavaProject} to resolve dependencies for.
-	 * @return a configured and ready to use {@link DependencyLocator}
-	 * @throws IOException
-	 */
-	private IDependencyLocator createDependencyLocator(IJavaProject javaProject) throws CoreException, IOException {
-		final Set<String> workspaceBundles = new LinkedHashSet<String>();
+    /**
+     * Creates the {@link DependencyLocator} to be used for resolution.
+     *
+     * @param javaProject the {@link IJavaProject} to resolve dependencies for.
+     * @return a configured and ready to use {@link DependencyLocator}
+     * @throws IOException
+     */
+    private IDependencyLocator createDependencyLocator(IJavaProject javaProject) throws CoreException, IOException {
+        final Set<String> workspaceBundles = new LinkedHashSet<String>();
 
-		// First add projects that belong to the same par project
-		for (IProject project : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
-			Set<String> parBundles = new HashSet<String>();
-			if (FacetUtils.isParProject(project)) {
-				boolean hasBundle = false;
-				Par par = FacetUtils.getParDefinition(project);
-				if (par != null && par.getBundle() != null) {
-					for (Bundle bundle : par.getBundle()) {
-						if (bundle.getSymbolicName().equals(javaProject.getElementName())) {
-							hasBundle = true;
-						}
-						parBundles.add(bundle.getSymbolicName());
-					}
-				}
+        // First add projects that belong to the same par project
+        for (IProject project : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
+            Set<String> parBundles = new HashSet<String>();
+            if (FacetUtils.isParProject(project)) {
+                boolean hasBundle = false;
+                Par par = FacetUtils.getParDefinition(project);
+                if (par != null && par.getBundle() != null) {
+                    for (Bundle bundle : par.getBundle()) {
+                        if (bundle.getSymbolicName().equals(javaProject.getElementName())) {
+                            hasBundle = true;
+                        }
+                        parBundles.add(bundle.getSymbolicName());
+                    }
+                }
 
-				if (hasBundle) {
-					for (String bundleName : parBundles) {
-						IProject bundleProject = ResourcesPlugin.getWorkspace().getRoot().getProject(bundleName);
-						addWorkspaceBundle(workspaceBundles, bundleProject);
-					}
+                if (hasBundle) {
+                    for (String bundleName : parBundles) {
+                        IProject bundleProject = ResourcesPlugin.getWorkspace().getRoot().getProject(bundleName);
+                        addWorkspaceBundle(workspaceBundles, bundleProject);
+                    }
 
-					// Add any nested or linked jars from the PAR
-					project.accept(new IResourceVisitor() {
+                    // Add any nested or linked jars from the PAR
+                    project.accept(new IResourceVisitor() {
 
-						public boolean visit(IResource resource) throws CoreException {
-							if (resource instanceof IFile && resource.getFileExtension().equals("jar")) {
-								IPath jarLocation = resource.getRawLocation();
-								IPath resolvedJarLocation = JavaCore.getResolvedVariablePath(jarLocation);
-								if (resolvedJarLocation != null) {
-									workspaceBundles.add(resolvedJarLocation.removeLastSegments(1).toString()
-											+ File.separator + "{bundle}");
-								} else {
-									workspaceBundles.add(jarLocation.removeLastSegments(1).toString() + File.separator
-											+ "{bundle}");
-								}
-							}
-							return true;
-						}
-					}, IResource.DEPTH_ONE, false);
+                        public boolean visit(IResource resource) throws CoreException {
+                            if (resource instanceof IFile && resource.getFileExtension().equals("jar")) {
+                                IPath jarLocation = resource.getRawLocation();
+                                IPath resolvedJarLocation = JavaCore.getResolvedVariablePath(jarLocation);
+                                if (resolvedJarLocation != null) {
+                                    workspaceBundles.add(resolvedJarLocation.removeLastSegments(1).toString() + File.separator + "{bundle}");
+                                } else {
+                                    workspaceBundles.add(jarLocation.removeLastSegments(1).toString() + File.separator + "{bundle}");
+                                }
+                            }
+                            return true;
+                        }
+                    }, IResource.DEPTH_ONE, false);
 
-				}
-			}
-		}
+                }
+            }
+        }
 
-		// Secondly add all explicit dependent projects
-		for (IProject project : javaProject.getProject().getDescription().getReferencedProjects()) {
-			addWorkspaceBundle(workspaceBundles, project);
-		}
+        // Secondly add all explicit dependent projects
+        for (IProject project : javaProject.getProject().getDescription().getReferencedProjects()) {
+            addWorkspaceBundle(workspaceBundles, project);
+        }
 
-		// Thirdly add the current plugin to resolve exported packages from the same bundle
-		addWorkspaceBundle(workspaceBundles, javaProject.getProject());
+        // Thirdly add the current plugin to resolve exported packages from the same bundle
+        addWorkspaceBundle(workspaceBundles, javaProject.getProject());
 
-		// Store targeted runtimes to display in the description
-		serverRuntimes = ServerUtils.getTargettedRuntimes(javaProject.getProject());
+        // Store targeted runtimes to display in the description
+        this.serverRuntimes = ServerUtils.getTargettedRuntimes(javaProject.getProject());
 
-		// Adjust the last modified date on the META-INF and root folder
-		ClasspathUtils.adjustLastModifiedDate(javaProject, false);
-		ClasspathUtils.adjustLastModifiedDate(javaProject, true);
+        // Adjust the last modified date on the META-INF and root folder
+        ClasspathUtils.adjustLastModifiedDate(javaProject, false);
+        ClasspathUtils.adjustLastModifiedDate(javaProject, true);
 
-		// Create DependencyLocator with path to server.config and server.profile
-		return ServerUtils.createDependencyLocator(javaProject.getProject(),
-				workspaceBundles.toArray(new String[workspaceBundles.size()]));
-	}
+        // Create DependencyLocator with path to server.config and server.profile
+        return ServerUtils.createDependencyLocator(javaProject.getProject(), workspaceBundles.toArray(new String[workspaceBundles.size()]));
+    }
 
-	/**
-	 * Returns a path to the source attachment following the BRITS conventions if the sources jar can be find.
-	 * <p>
-	 * First checks if the user has overridden the convention and attached a custom archive.
-	 * 
-	 * @param file
-	 *            the JAR file to
-	 * @return the source JAR path
-	 */
-	private IPath getSourceAttachmentPath(File file) {
-		// first check manual configured source attachments
-		IPath sourceAttachmentPath = ClasspathUtils.getSourceAttachment(javaProject, file);
-		if (sourceAttachmentPath != null) {
-			return sourceAttachmentPath;
-		}
+    /**
+     * Returns a path to the source attachment following the BRITS conventions if the sources jar can be find.
+     * <p>
+     * First checks if the user has overridden the convention and attached a custom archive.
+     *
+     * @param file the JAR file to
+     * @return the source JAR path
+     */
+    private IPath getSourceAttachmentPath(File file) {
+        // first check manual configured source attachments
+        IPath sourceAttachmentPath = ClasspathUtils.getSourceAttachment(this.javaProject, file);
+        if (sourceAttachmentPath != null) {
+            return sourceAttachmentPath;
+        }
 
-		// secondly check for source attachment following the conventions
-		File sourceFile = ServerUtils.getSourceFile(file.toURI());
-		if (sourceFile != null && sourceFile.exists() && sourceFile.canRead()) {
-			sourceAttachmentPath = new Path(sourceFile.getAbsolutePath());
-		}
+        // secondly check for source attachment following the conventions
+        File sourceFile = ServerUtils.getSourceFile(file.toURI());
+        if (sourceFile != null && sourceFile.exists() && sourceFile.canRead()) {
+            sourceAttachmentPath = new Path(sourceFile.getAbsolutePath());
+        }
 
-		return sourceAttachmentPath;
-	}
+        return sourceAttachmentPath;
+    }
 
-	/**
-	 * Creates error markers for unresolved dependencies stored in the {@link DependencyLocationException}.
-	 * 
-	 * @param e
-	 *            a {@link DependencyLocationException} occurred during resolution
-	 */
-	private void handleDependencyLocationException(DependencyLocationException e, boolean testManifest) {
-		MarkerUtils.createErrorMarkers(e, javaProject, testManifest);
-	}
+    /**
+     * Creates error markers for unresolved dependencies stored in the {@link DependencyLocationException}.
+     *
+     * @param e a {@link DependencyLocationException} occurred during resolution
+     */
+    private void handleDependencyLocationException(DependencyLocationException e, boolean testManifest) {
+        MarkerUtils.createErrorMarkers(e, this.javaProject, testManifest);
+    }
 
-	/**
-	 * Resolve the dependencies of the given {@link BundleManifest}.
-	 * 
-	 * @param entries
-	 *            the already collected {@link IClasspathEntry}
-	 * @param manifest
-	 *            the {@link BundleManifest} to add dependencies for
-	 * @param locator
-	 *            the {@link DependencyLocator} instance to use
-	 * @param testManifest
-	 *            <code>true</code>
-	 */
-	private void resolveDependencies(List<IClasspathEntry> entries, BundleManifest manifest,
-			IDependencyLocator locator, boolean testManifest) {
-		DependencyLocationException dependencyLocationException = null;
-		if (locator != null) {
-			try {
-				// Resolve dependencies for the main manifest
-				addClasspathEntriesFromResolutionResult(entries, locator.locateDependencies(manifest), testManifest);
+    /**
+     * Resolve the dependencies of the given {@link BundleManifest}.
+     *
+     * @param entries the already collected {@link IClasspathEntry}
+     * @param manifest the {@link BundleManifest} to add dependencies for
+     * @param locator the {@link DependencyLocator} instance to use
+     * @param testManifest <code>true</code>
+     */
+    private void resolveDependencies(List<IClasspathEntry> entries, BundleManifest manifest, IDependencyLocator locator, boolean testManifest) {
+        DependencyLocationException dependencyLocationException = null;
+        if (locator != null) {
+            try {
+                // Resolve dependencies for the main manifest
+                addClasspathEntriesFromResolutionResult(entries, locator.locateDependencies(manifest), testManifest);
 
-				// Add classpath entries that are configured in the bundle manifest
-				addClasspathEntriesFromBundleClassPath(entries, manifest, testManifest);
-			} catch (DependencyLocationException e) {
+                // Add classpath entries that are configured in the bundle manifest
+                addClasspathEntriesFromBundleClassPath(entries, manifest, testManifest);
+            } catch (DependencyLocationException e) {
 
-				// Store for later removal of error markers
-				dependencyLocationException = e;
+                // Store for later removal of error markers
+                dependencyLocationException = e;
 
-				// Install the resolved dependencies as a safe fallback
-				addClasspathEntriesFromResolutionResult(entries, e.getSatisfiedDependencies(), testManifest);
+                // Install the resolved dependencies as a safe fallback
+                addClasspathEntriesFromResolutionResult(entries, e.getSatisfiedDependencies(), testManifest);
 
-				// Add classpath entries that are configured in the bundle manifest
-				addClasspathEntriesFromBundleClassPath(entries, manifest, testManifest);
+                // Add classpath entries that are configured in the bundle manifest
+                addClasspathEntriesFromBundleClassPath(entries, manifest, testManifest);
 
-			} finally {
-				// Create error markers for un-resolved dependencies
-				handleDependencyLocationException(dependencyLocationException, testManifest);
-			}
-		}
-	}
+            } finally {
+                // Create error markers for un-resolved dependencies
+                handleDependencyLocationException(dependencyLocationException, testManifest);
+            }
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainerBundleManifestChangeListener.java b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainerBundleManifestChangeListener.java
index ec842bf..4fae137 100644
--- a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainerBundleManifestChangeListener.java
+++ b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainerBundleManifestChangeListener.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.core.classpath;
 
 import java.util.Arrays;
@@ -22,43 +23,41 @@
 import org.eclipse.virgo.ide.manifest.internal.core.BundleManifestManager;
 import org.eclipse.virgo.ide.runtime.core.ServerUtils;
 import org.eclipse.virgo.ide.runtime.core.provisioning.IBundleRepositoryChangeListener;
+import org.eclipse.virgo.kernel.repository.BundleRepository;
 import org.eclipse.virgo.util.osgi.manifest.BundleManifest;
 import org.eclipse.wst.server.core.IRuntime;
 
 /**
  * {@link IBundleManifestChangeListener} that triggers refreshing of the bundle class path container through scheduling
  * a new workspace job.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
-public class ServerClasspathContainerBundleManifestChangeListener implements IBundleManifestChangeListener,
-		IBundleRepositoryChangeListener {
+public class ServerClasspathContainerBundleManifestChangeListener implements IBundleManifestChangeListener, IBundleRepositoryChangeListener {
 
-	/**
-	 * Gets notified for every change to a given <code>bundleManifest</code> and delegates the refreshment of the class
-	 * path container to the {@link ServerClasspathContainerUpdateJob}.
-	 */
-	public void bundleManifestChanged(BundleManifest newBundleManifest, BundleManifest oldBundleManifest,
-			BundleManifest newTestBundleManifest, BundleManifest oldTestBundleManifest, Set<Type> types,
-			IJavaProject javaProject) {
-		if (newBundleManifest != null || newTestBundleManifest != null) {
-			ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(javaProject, types);
-		}
-	}
+    /**
+     * Gets notified for every change to a given <code>bundleManifest</code> and delegates the refreshment of the class
+     * path container to the {@link ServerClasspathContainerUpdateJob}.
+     */
+    public void bundleManifestChanged(BundleManifest newBundleManifest, BundleManifest oldBundleManifest, BundleManifest newTestBundleManifest,
+        BundleManifest oldTestBundleManifest, Set<Type> types, IJavaProject javaProject) {
+        if (newBundleManifest != null || newTestBundleManifest != null) {
+            ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(javaProject, types);
+        }
+    }
 
-	/**
-	 * Gets notified for every change of the given <code>runtime</code>'s {@link BundleRepository}. On every
-	 * notification it will update <i>all</i> bundle project's {@link BundleManifest}.
-	 */
-	public void bundleRepositoryChanged(IRuntime runtime) {
-		for (IProject project : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
-			if (FacetUtils.isBundleProject(project)
-					&& Arrays.asList(ServerUtils.getTargettedRuntimes(project)).contains(runtime)) {
-				ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(JavaCore.create(project),
-						BundleManifestManager.IMPORTS_CHANGED);
-			}
-		}
-	}
+    /**
+     * Gets notified for every change of the given <code>runtime</code>'s {@link BundleRepository}. On every
+     * notification it will update <i>all</i> bundle project's {@link BundleManifest}.
+     */
+    public void bundleRepositoryChanged(IRuntime runtime) {
+        for (IProject project : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
+            if (FacetUtils.isBundleProject(project) && Arrays.asList(ServerUtils.getTargettedRuntimes(project)).contains(runtime)) {
+                ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(JavaCore.create(project),
+                    BundleManifestManager.IMPORTS_CHANGED);
+            }
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainerInitializer.java b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainerInitializer.java
index 6faa94e..85c3e0d 100644
--- a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainerInitializer.java
+++ b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainerInitializer.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.core.classpath;
 
 import org.eclipse.core.resources.IFile;
@@ -27,118 +28,118 @@
 
 /**
  * {@link ClasspathContainerInitializer} that creates and restores {@link ServerClasspathContainer}.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ServerClasspathContainerInitializer extends ClasspathContainerInitializer {
 
-	/**
-	 * Initializes a new {@link ServerClasspathContainer} and install the container with the given
-	 * <code>javaProject</code>.
-	 * <p>
-	 * Schedules a container update by calling
-	 * {@link ServerClasspathContainerUpdateJob#scheduleClasspathContainerUpdateJob()}
-	 */
-	@Override
-	public void initialize(IPath containerPath, IJavaProject javaProject) throws CoreException {
-		// Only responsible for our own class path container
-		if (containerPath.equals(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH)) {
+    /**
+     * Initializes a new {@link ServerClasspathContainer} and install the container with the given
+     * <code>javaProject</code>.
+     * <p>
+     * Schedules a container update by calling
+     * {@link ServerClasspathContainerUpdateJob#scheduleClasspathContainerUpdateJob()}
+     */
+    @Override
+    public void initialize(IPath containerPath, IJavaProject javaProject) throws CoreException {
+        // Only responsible for our own class path container
+        if (containerPath.equals(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH)) {
 
-			// Retrieve persisted class path container
-			IClasspathContainer oldContainer = ClasspathUtils.getClasspathContainer(javaProject);
+            // Retrieve persisted class path container
+            IClasspathContainer oldContainer = ClasspathUtils.getClasspathContainer(javaProject);
 
-			ServerClasspathContainer newContainer = null;
-			IClasspathEntry[] oldEntries = null;
+            ServerClasspathContainer newContainer = null;
+            IClasspathEntry[] oldEntries = null;
 
-			if (oldContainer == null) {
+            if (oldContainer == null) {
 
-				// Try to read previously persisted classpath container settings
-				oldEntries = ServerClasspathUtils.readPersistedClasspathEntries(javaProject);
+                // Try to read previously persisted classpath container settings
+                oldEntries = ServerClasspathUtils.readPersistedClasspathEntries(javaProject);
 
-				if (oldEntries != null) {
-					newContainer = new ServerClasspathContainer(javaProject, oldEntries);
-				} else {
-					newContainer = new ServerClasspathContainer(javaProject);
-				}
-			} else {
-				newContainer = new ServerClasspathContainer(javaProject, oldContainer.getClasspathEntries());
-			}
+                if (oldEntries != null) {
+                    newContainer = new ServerClasspathContainer(javaProject, oldEntries);
+                } else {
+                    newContainer = new ServerClasspathContainer(javaProject);
+                }
+            } else {
+                newContainer = new ServerClasspathContainer(javaProject, oldContainer.getClasspathEntries());
+            }
 
-			// Install the class path container with the project
-			JavaCore.setClasspathContainer(containerPath, new IJavaProject[] { javaProject },
-					new IClasspathContainer[] { newContainer }, new NullProgressMonitor());
+            // Install the class path container with the project
+            JavaCore.setClasspathContainer(containerPath, new IJavaProject[] { javaProject }, new IClasspathContainer[] { newContainer },
+                new NullProgressMonitor());
 
-			if (oldEntries == null || hasManifestChanged(javaProject, false) || hasManifestChanged(javaProject, true)) {
-				// Schedule refresh of class path container
-				ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(javaProject,
-						BundleManifestManager.IMPORTS_CHANGED);
-			}
-		}
-	}
+            if (oldEntries == null || hasManifestChanged(javaProject, false) || hasManifestChanged(javaProject, true)) {
+                // Schedule refresh of class path container
+                ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(javaProject, BundleManifestManager.IMPORTS_CHANGED);
+            }
+        }
+    }
 
-	private boolean hasManifestChanged(IJavaProject javaProject, boolean testManifest) {
-		IFile file = BundleManifestUtils.locateManifest(javaProject, testManifest);
-		if (file != null && file.exists()) {
-			try {
-				String lastmodified = file.getPersistentProperty(new QualifiedName(JdtCorePlugin.PLUGIN_ID,
-						ServerClasspathContainer.MANIFEST_TIMESTAMP));
-				return lastmodified == null || file.getLocalTimeStamp() != Long.valueOf(lastmodified).longValue();
-			} catch (CoreException e) {
-				JdtCorePlugin.log(e);
-			}
-		}
-		return false;
-	}
+    private boolean hasManifestChanged(IJavaProject javaProject, boolean testManifest) {
+        IFile file = BundleManifestUtils.locateManifest(javaProject, testManifest);
+        if (file != null && file.exists()) {
+            try {
+                String lastmodified = file.getPersistentProperty(
+                    new QualifiedName(JdtCorePlugin.PLUGIN_ID, ServerClasspathContainer.MANIFEST_TIMESTAMP));
+                return lastmodified == null || file.getLocalTimeStamp() != Long.valueOf(lastmodified).longValue();
+            } catch (CoreException e) {
+                JdtCorePlugin.log(e);
+            }
+        }
+        return false;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public Object getComparisonID(IPath containerPath, IJavaProject project) {
-		if (containerPath == null || project == null) {
-			return null;
-		}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public Object getComparisonID(IPath containerPath, IJavaProject project) {
+        if (containerPath == null || project == null) {
+            return null;
+        }
 
-		return containerPath.segment(0) + "/" + project.getPath().segment(0); //$NON-NLS-1$
-	}
+        return containerPath.segment(0) + "/" + project.getPath().segment(0); //$NON-NLS-1$
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getDescription(IPath containerPath, IJavaProject project) {
-		return ServerClasspathContainer.CLASSPATH_CONTAINER_DESCRIPTION;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String getDescription(IPath containerPath, IJavaProject project) {
+        return ServerClasspathContainer.CLASSPATH_CONTAINER_DESCRIPTION;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean canUpdateClasspathContainer(IPath containerPath, IJavaProject project) {
-		// always ok to modify the class path container
-		return true;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean canUpdateClasspathContainer(IPath containerPath, IJavaProject project) {
+        // always ok to modify the class path container
+        return true;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public void requestClasspathContainerUpdate(IPath containerPath, IJavaProject javaProject,
-			IClasspathContainer containerSuggestion) throws CoreException {
-		// Store source attachments and dismiss any other changes to the container
-		ClasspathUtils.storeSourceAttachments(javaProject, containerSuggestion);
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public void requestClasspathContainerUpdate(IPath containerPath, IJavaProject javaProject, IClasspathContainer containerSuggestion)
+        throws CoreException {
+        // Store source attachments and dismiss any other changes to the container
+        ClasspathUtils.storeSourceAttachments(javaProject, containerSuggestion);
 
-		// Schedule refresh of class path container
-		ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(javaProject,
-				BundleManifestManager.IMPORTS_CHANGED);
-	}
+        // Schedule refresh of class path container
+        ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(javaProject, BundleManifestManager.IMPORTS_CHANGED);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public IClasspathContainer getFailureContainer(IPath containerPath, IJavaProject project) {
-		// re-try in case something went wrong
-		return null;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public IClasspathContainer getFailureContainer(IPath containerPath, IJavaProject project) {
+        // re-try in case something went wrong
+        return null;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainerUpdateJob.java b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainerUpdateJob.java
index 31ef0ea..73f634e 100644
--- a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainerUpdateJob.java
+++ b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathContainerUpdateJob.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.core.classpath;
 
 import java.util.Queue;
@@ -33,165 +34,160 @@
 
 /**
  * {@link WorkspaceJob} that triggers the class path container refresh.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ServerClasspathContainerUpdateJob extends WorkspaceJob {
 
-	/** Internal cache of scheduled and <b>unfinished</b> update jobs */
-	private static final Queue<IJavaProject> SCHEDULED_PROJECTS = new ConcurrentLinkedQueue<IJavaProject>();
+    /** Internal cache of scheduled and <b>unfinished</b> update jobs */
+    private static final Queue<IJavaProject> SCHEDULED_PROJECTS = new ConcurrentLinkedQueue<IJavaProject>();
 
-	/**
-	 * Manages the jobs, so there will not be a huge amount of concurrent updates
-	 */
-	private static LimitConcurrentClasspathUpdatesListener limitConcurrentClasspathUpdatesListener = new LimitConcurrentClasspathUpdatesListener();
+    /**
+     * Manages the jobs, so there will not be a huge amount of concurrent updates
+     */
+    private static LimitConcurrentClasspathUpdatesListener limitConcurrentClasspathUpdatesListener = new LimitConcurrentClasspathUpdatesListener();
 
-	/**
-	 * The {@link IJavaProject} this jobs should refresh the class path container for
-	 */
-	private final IJavaProject javaProject;
+    /**
+     * The {@link IJavaProject} this jobs should refresh the class path container for
+     */
+    private final IJavaProject javaProject;
 
-	private Set<Type> types;
+    private final Set<Type> types;
 
-	/**
-	 * Private constructor to create an instance
-	 * 
-	 * @param javaProject
-	 *            the {@link IJavaProject} the class path container should be updated for
-	 * @param types
-	 *            the change types happened to the manifest
-	 */
-	private ServerClasspathContainerUpdateJob(IJavaProject javaProject, Set<Type> types) {
-		super("Updating bundle classpath container for project '" + javaProject.getElementName() + "'");
-		this.javaProject = javaProject;
-		this.types = types;
-	}
+    /**
+     * Private constructor to create an instance
+     *
+     * @param javaProject the {@link IJavaProject} the class path container should be updated for
+     * @param types the change types happened to the manifest
+     */
+    private ServerClasspathContainerUpdateJob(IJavaProject javaProject, Set<Type> types) {
+        super("Updating bundle classpath container for project '" + javaProject.getElementName() + "'");
+        this.javaProject = javaProject;
+        this.types = types;
+    }
 
-	/**
-	 * Returns the internal {@link IJavaProject}
-	 */
-	public IJavaProject getJavaProject() {
-		return javaProject;
-	}
+    /**
+     * Returns the internal {@link IJavaProject}
+     */
+    public IJavaProject getJavaProject() {
+        return this.javaProject;
+    }
 
-	/**
-	 * Runs the job in the context of the workspace. Simply delegates refreshing of the class path container to
-	 * {@link ClasspathUtils#updateClasspathContainer(IJavaProject, IProgressMonitor)} .
-	 */
-	@Override
-	public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
-		if (!javaProject.getProject().isOpen() || monitor.isCanceled()) {
-			return Status.CANCEL_STATUS;
-		}
-		try {
-			ClasspathUtils.updateClasspathContainer(javaProject, types, monitor);
-		} catch (Exception e) {
-			return Status.CANCEL_STATUS;
-		}
+    /**
+     * Runs the job in the context of the workspace. Simply delegates refreshing of the class path container to
+     * {@link ClasspathUtils#updateClasspathContainer(IJavaProject, IProgressMonitor)} .
+     */
+    @Override
+    public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
+        if (!this.javaProject.getProject().isOpen() || monitor.isCanceled()) {
+            return Status.CANCEL_STATUS;
+        }
+        try {
+            ClasspathUtils.updateClasspathContainer(this.javaProject, this.types, monitor);
+        } catch (Exception e) {
+            return Status.CANCEL_STATUS;
+        }
 
-		return new Status(IStatus.OK, JdtCorePlugin.PLUGIN_ID, "Updated SpringSource dm Server classpath container");
-	}
+        return new Status(IStatus.OK, JdtCorePlugin.PLUGIN_ID, "Updated SpringSource dm Server classpath container");
+    }
 
-	/**
-	 * Helper method to schedule a new {@link ServerClasspathContainerUpdateJob} .
-	 * 
-	 * @param javaProject
-	 *            the {@link IJavaProject} the class path container should be updated for
-	 * @param types
-	 *            the change types of the manifest
-	 */
-	public static void scheduleClasspathContainerUpdateJob(IJavaProject javaProject, Set<Type> types) {
-		if (javaProject != null && !SCHEDULED_PROJECTS.contains(javaProject) && types.size() > 0
-				&& ClasspathUtils.hasClasspathContainer(javaProject)) {
-			newClasspathContainerUpdateJob(javaProject, types);
-		}
-	}
+    /**
+     * Helper method to schedule a new {@link ServerClasspathContainerUpdateJob} .
+     *
+     * @param javaProject the {@link IJavaProject} the class path container should be updated for
+     * @param types the change types of the manifest
+     */
+    public static void scheduleClasspathContainerUpdateJob(IJavaProject javaProject, Set<Type> types) {
+        if (javaProject != null && !SCHEDULED_PROJECTS.contains(javaProject) && types.size() > 0
+            && ClasspathUtils.hasClasspathContainer(javaProject)) {
+            newClasspathContainerUpdateJob(javaProject, types);
+        }
+    }
 
-	/**
-	 * Creates a new instance of {@link ServerClasspathContainerUpdateJob} and configures required properties and
-	 * schedules it to the workbench.
-	 */
-	private static ServerClasspathContainerUpdateJob newClasspathContainerUpdateJob(IJavaProject javaProject,
-			Set<Type> types) {
-		ServerClasspathContainerUpdateJob job = new ServerClasspathContainerUpdateJob(javaProject, types);
-		// job.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
-		job.setPriority(Job.BUILD);
-		job.setSystem(true);
-		job.addJobChangeListener(new DuplicateJobListener());
-		job.addJobChangeListener(limitConcurrentClasspathUpdatesListener);
-		job.sleep();
-		limitConcurrentClasspathUpdatesListener.schedule(job);
+    /**
+     * Creates a new instance of {@link ServerClasspathContainerUpdateJob} and configures required properties and
+     * schedules it to the workbench.
+     */
+    private static ServerClasspathContainerUpdateJob newClasspathContainerUpdateJob(IJavaProject javaProject, Set<Type> types) {
+        ServerClasspathContainerUpdateJob job = new ServerClasspathContainerUpdateJob(javaProject, types);
+        // job.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
+        job.setPriority(Job.BUILD);
+        job.setSystem(true);
+        job.addJobChangeListener(new DuplicateJobListener());
+        job.addJobChangeListener(limitConcurrentClasspathUpdatesListener);
+        job.sleep();
+        limitConcurrentClasspathUpdatesListener.schedule(job);
 
-		return job;
-	}
+        return job;
+    }
 
-	/**
-	 * Internal {@link IJobChangeListener} to detect duplicates in the scheduled list of
-	 * {@link ServerClasspathContainerUpdateJob Jobs}.
-	 */
-	private static class DuplicateJobListener extends JobChangeAdapter implements IJobChangeListener {
+    /**
+     * Internal {@link IJobChangeListener} to detect duplicates in the scheduled list of
+     * {@link ServerClasspathContainerUpdateJob Jobs}.
+     */
+    private static class DuplicateJobListener extends JobChangeAdapter implements IJobChangeListener {
 
-		@Override
-		public void done(IJobChangeEvent event) {
-			SCHEDULED_PROJECTS.remove(((ServerClasspathContainerUpdateJob) event.getJob()).getJavaProject());
-		}
+        @Override
+        public void done(IJobChangeEvent event) {
+            SCHEDULED_PROJECTS.remove(((ServerClasspathContainerUpdateJob) event.getJob()).getJavaProject());
+        }
 
-		@Override
-		public void scheduled(IJobChangeEvent event) {
-			SCHEDULED_PROJECTS.add(((ServerClasspathContainerUpdateJob) event.getJob()).getJavaProject());
-		}
-	}
+        @Override
+        public void scheduled(IJobChangeEvent event) {
+            SCHEDULED_PROJECTS.add(((ServerClasspathContainerUpdateJob) event.getJob()).getJavaProject());
+        }
+    }
 
-	/**
-	 * Internal {@link IJobChangeListener} to limit the number of concurrent builds.
-	 */
-	private static class LimitConcurrentClasspathUpdatesListener extends JobChangeAdapter implements IJobChangeListener {
-		/**
-		 * Queue with the jobs which are scheduled, used to make sure a limited amount of projects is being rebuilt at
-		 * the same time
-		 */
-		private final Queue<ServerClasspathContainerUpdateJob> SCHEDULED_JOBS = new LinkedBlockingQueue<ServerClasspathContainerUpdateJob>();
+    /**
+     * Internal {@link IJobChangeListener} to limit the number of concurrent builds.
+     */
+    private static class LimitConcurrentClasspathUpdatesListener extends JobChangeAdapter implements IJobChangeListener {
 
-		/**
-		 * Maximum number of concurrent jobs, defaults to the number of available processors
-		 */
-		private int maxNrOfConcurrentJobs = Runtime.getRuntime().availableProcessors();
+        /**
+         * Queue with the jobs which are scheduled, used to make sure a limited amount of projects is being rebuilt at
+         * the same time
+         */
+        private final Queue<ServerClasspathContainerUpdateJob> SCHEDULED_JOBS = new LinkedBlockingQueue<ServerClasspathContainerUpdateJob>();
 
-		/** Holds the number of builds in progress */
-		private AtomicInteger nrOfBuildingProjects = new AtomicInteger(0);
+        /**
+         * Maximum number of concurrent jobs, defaults to the number of available processors
+         */
+        private final int maxNrOfConcurrentJobs = Runtime.getRuntime().availableProcessors();
 
-		@Override
-		public void done(IJobChangeEvent event) {
-			nrOfBuildingProjects.decrementAndGet();
-			startNextJob();
-		}
+        /** Holds the number of builds in progress */
+        private final AtomicInteger nrOfBuildingProjects = new AtomicInteger(0);
 
-		@Override
-		public void running(IJobChangeEvent event) {
-			ServerClasspathContainerUpdateJob job = (ServerClasspathContainerUpdateJob) event.getJob();
-			StatusManager.getManager().handle(
-					new Status(IStatus.INFO, JdtCorePlugin.PLUGIN_ID, "Updating classpath of: "
-							+ job.javaProject.getProject().getName() + ". Queue size: " + SCHEDULED_JOBS.size()));
-		}
+        @Override
+        public void done(IJobChangeEvent event) {
+            this.nrOfBuildingProjects.decrementAndGet();
+            startNextJob();
+        }
 
-		@Override
-		public void scheduled(IJobChangeEvent event) {
-			nrOfBuildingProjects.incrementAndGet();
-		}
+        @Override
+        public void running(IJobChangeEvent event) {
+            ServerClasspathContainerUpdateJob job = (ServerClasspathContainerUpdateJob) event.getJob();
+            StatusManager.getManager().handle(new Status(IStatus.INFO, JdtCorePlugin.PLUGIN_ID,
+                "Updating classpath of: " + job.javaProject.getProject().getName() + ". Queue size: " + this.SCHEDULED_JOBS.size()));
+        }
 
-		private void schedule(ServerClasspathContainerUpdateJob job) {
-			SCHEDULED_JOBS.offer(job);
-			startNextJob();
-		}
+        @Override
+        public void scheduled(IJobChangeEvent event) {
+            this.nrOfBuildingProjects.incrementAndGet();
+        }
 
-		private void startNextJob() {
-			if (nrOfBuildingProjects.get() < maxNrOfConcurrentJobs) {
-				Job job = SCHEDULED_JOBS.poll();
-				if (job != null) { // null is returned when queue is empty
-					job.schedule();
-				}
-			}
-		}
-	}
+        private void schedule(ServerClasspathContainerUpdateJob job) {
+            this.SCHEDULED_JOBS.offer(job);
+            startNextJob();
+        }
+
+        private void startNextJob() {
+            if (this.nrOfBuildingProjects.get() < this.maxNrOfConcurrentJobs) {
+                Job job = this.SCHEDULED_JOBS.poll();
+                if (job != null) { // null is returned when queue is empty
+                    job.schedule();
+                }
+            }
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathUtils.java b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathUtils.java
index 67c6589..9ba1472 100644
--- a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathUtils.java
+++ b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/classpath/ServerClasspathUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.core.classpath;
 
 import java.io.File;
@@ -33,7 +34,7 @@
 /**
  * Utility that persists and reads persisted {@link IClasspathEntry}s from a file called
  * <code>.settings/org.eclipse.virgo.ide.jdt.core.xml</code>.
- * 
+ *
  * @author Christian Dupuis
  * @author Terry Hon
  * @since 1.0.1
@@ -41,117 +42,115 @@
 @SuppressWarnings("restriction")
 class ServerClasspathUtils {
 
-	/** The name of the persisted file within the .settings directory of a Eclipse project */
-	private static final String CLASSPATH_FILE = "-" + JdtCorePlugin.PLUGIN_ID + ".xml";
+    /** The name of the persisted file within the .settings directory of a Eclipse project */
+    private static final String CLASSPATH_FILE = "-" + JdtCorePlugin.PLUGIN_ID + ".xml";
 
-	/**
-	 * Saves the contents of the given {@link StringBuilder} into the settings file
-	 */
-	private static void saveFile(final IJavaProject project, final StringBuilder builder) {
+    /**
+     * Saves the contents of the given {@link StringBuilder} into the settings file
+     */
+    private static void saveFile(final IJavaProject project, final StringBuilder builder) {
 
-		// Get the file from the project
-		File file = new File(ServerCorePlugin.getDefault().getStateLocation().toFile(), project.getProject().getName()
-				+ CLASSPATH_FILE);
-		FileOutputStream os = null;
-		try {
+        // Get the file from the project
+        File file = new File(ServerCorePlugin.getDefault().getStateLocation().toFile(), project.getProject().getName() + CLASSPATH_FILE);
+        FileOutputStream os = null;
+        try {
 
-			// Create a new file; override old file
-			file.createNewFile();
+            // Create a new file; override old file
+            file.createNewFile();
 
-			// Write the contents of the StringBuilder
-			os = new FileOutputStream(file);
-			os.write(builder.toString().getBytes("UTF-8"));
-			os.flush();
-		} catch (UnsupportedEncodingException e) {
-			// can't happen as default UTF-8 is used
-		} catch (IOException e) {
-			JdtCorePlugin.log("Cannot save classpath entries to '" + file.getAbsolutePath() + "'", e);
-		} finally {
-			if (os != null) {
-				try {
-					os.close();
-				} catch (IOException e) {
-				}
-			}
-		}
+            // Write the contents of the StringBuilder
+            os = new FileOutputStream(file);
+            os.write(builder.toString().getBytes("UTF-8"));
+            os.flush();
+        } catch (UnsupportedEncodingException e) {
+            // can't happen as default UTF-8 is used
+        } catch (IOException e) {
+            JdtCorePlugin.log("Cannot save classpath entries to '" + file.getAbsolutePath() + "'", e);
+        } finally {
+            if (os != null) {
+                try {
+                    os.close();
+                } catch (IOException e) {
+                }
+            }
+        }
 
-	}
+    }
 
-	/**
-	 * Persists the given {@link IClasspathEntry}s to a file
-	 */
-	protected static void persistClasspathEntries(IJavaProject project, IClasspathEntry[] entries) {
+    /**
+     * Persists the given {@link IClasspathEntry}s to a file
+     */
+    protected static void persistClasspathEntries(IJavaProject project, IClasspathEntry[] entries) {
 
-		// Get the line separator from the platform configuration
-		String lineSeparator = Util.getLineSeparator((String) null, project);
+        // Get the line separator from the platform configuration
+        String lineSeparator = Util.getLineSeparator((String) null, project);
 
-		// Create the xml string representation of the classpath entries
-		StringBuilder builder = new StringBuilder("<classpath>").append(lineSeparator);
-		if (project instanceof JavaProject) {
-			JavaProject javaProject = (JavaProject) project;
-			for (IClasspathEntry entry : entries) {
-				builder.append(javaProject.encodeClasspathEntry(entry));
-			}
-		}
-		builder.append("</classpath>").append(lineSeparator);
+        // Create the xml string representation of the classpath entries
+        StringBuilder builder = new StringBuilder("<classpath>").append(lineSeparator);
+        if (project instanceof JavaProject) {
+            JavaProject javaProject = (JavaProject) project;
+            for (IClasspathEntry entry : entries) {
+                builder.append(javaProject.encodeClasspathEntry(entry));
+            }
+        }
+        builder.append("</classpath>").append(lineSeparator);
 
-		// Save the contents to the settings file
-		saveFile(project, builder);
-	}
+        // Save the contents to the settings file
+        saveFile(project, builder);
+    }
 
-	/**
-	 * Reads the persisted classpath entries for the given <code>project</code> and returns the {@link IClasspathEntry}
-	 * s.
-	 * <p>
-	 * This method returns <code>null</code> to indicate that the file could not be read.
-	 */
-	@SuppressWarnings({ "rawtypes" })
-	protected static IClasspathEntry[] readPersistedClasspathEntries(IJavaProject project) {
-		File file = new File(ServerCorePlugin.getDefault().getStateLocation().toFile(), project.getProject().getName()
-				+ CLASSPATH_FILE);
+    /**
+     * Reads the persisted classpath entries for the given <code>project</code> and returns the {@link IClasspathEntry}
+     * s.
+     * <p>
+     * This method returns <code>null</code> to indicate that the file could not be read.
+     */
+    @SuppressWarnings({ "rawtypes" })
+    protected static IClasspathEntry[] readPersistedClasspathEntries(IJavaProject project) {
+        File file = new File(ServerCorePlugin.getDefault().getStateLocation().toFile(), project.getProject().getName() + CLASSPATH_FILE);
 
-		String xmlClasspath = null;
-		if (file.exists()) {
-			try {
-				byte[] bytes = FileCopyUtils.copyToByteArray(file);
-				xmlClasspath = new String(bytes, org.eclipse.jdt.internal.compiler.util.Util.UTF_8);
-			} catch (UnsupportedEncodingException e) {
-				// can't happen as default UTF-8 is used
-			} catch (IOException e) {
-			}
-		}
+        String xmlClasspath = null;
+        if (file.exists()) {
+            try {
+                byte[] bytes = FileCopyUtils.copyToByteArray(file);
+                xmlClasspath = new String(bytes, org.eclipse.jdt.internal.compiler.util.Util.UTF_8);
+            } catch (UnsupportedEncodingException e) {
+                // can't happen as default UTF-8 is used
+            } catch (IOException e) {
+            }
+        }
 
-		if (xmlClasspath == null) {
-			return null;
-		}
+        if (xmlClasspath == null) {
+            return null;
+        }
 
-		if (project instanceof JavaProject) {
-			JavaProject javaProject = (JavaProject) project;
-			try {
-				Object decodedClassPath;
+        if (project instanceof JavaProject) {
+            JavaProject javaProject = (JavaProject) project;
+            try {
+                Object decodedClassPath;
 
-				try {
-					// needs reflection since return type of decodeClasspath has changed in Eclipse 3.6
-					Method method = javaProject.getClass().getMethod("decodeClasspath", String.class, Map.class);
-					decodedClassPath = method.invoke(javaProject, xmlClasspath, new HashMap());
-					if (decodedClassPath instanceof IClasspathEntry[][]) {
-						List<IClasspathEntry> decodedEntries = new ArrayList<IClasspathEntry>();
-						for (IClasspathEntry[] entry : (IClasspathEntry[][]) decodedClassPath) {
-							decodedEntries.addAll(Arrays.asList(entry));
-						}
-						return decodedEntries.toArray(new IClasspathEntry[decodedEntries.size()]);
-					} else if (decodedClassPath instanceof IClasspathEntry[]) {
-						return (IClasspathEntry[]) decodedClassPath;
-					}
-				} catch (Exception e) {
-					JdtCorePlugin.log(e);
-				}
+                try {
+                    // needs reflection since return type of decodeClasspath has changed in Eclipse 3.6
+                    Method method = javaProject.getClass().getMethod("decodeClasspath", String.class, Map.class);
+                    decodedClassPath = method.invoke(javaProject, xmlClasspath, new HashMap());
+                    if (decodedClassPath instanceof IClasspathEntry[][]) {
+                        List<IClasspathEntry> decodedEntries = new ArrayList<IClasspathEntry>();
+                        for (IClasspathEntry[] entry : (IClasspathEntry[][]) decodedClassPath) {
+                            decodedEntries.addAll(Arrays.asList(entry));
+                        }
+                        return decodedEntries.toArray(new IClasspathEntry[decodedEntries.size()]);
+                    } else if (decodedClassPath instanceof IClasspathEntry[]) {
+                        return (IClasspathEntry[]) decodedClassPath;
+                    }
+                } catch (Exception e) {
+                    JdtCorePlugin.log(e);
+                }
 
-			} catch (AssertionFailedException e) {
-				JdtCorePlugin.log(e);
-			}
-		}
+            } catch (AssertionFailedException e) {
+                JdtCorePlugin.log(e);
+            }
+        }
 
-		return null;
-	}
+        return null;
+    }
 }
diff --git a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/util/ClasspathUtils.java b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/util/ClasspathUtils.java
index 2dcf667..88f21c2 100644
--- a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/util/ClasspathUtils.java
+++ b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/util/ClasspathUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.core.util;
 
 import java.io.File;
@@ -41,214 +42,202 @@
 
 /**
  * Helper methods to be used to within the class path container infrastructure.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ClasspathUtils {
 
-	/**
-	 * Adjusts the last modified timestamp on the source root and META-INF directory to reflect the same date as the
-	 * MANIFEST.MF.
-	 * <p>
-	 * Note: this is a requirement for the dependency resolution.
-	 */
-	public static void adjustLastModifiedDate(IJavaProject javaProject, boolean testBundle) {
-		File manifest = BundleManifestUtils.locateManifestFile(javaProject, testBundle);
-		if (manifest != null && manifest.canRead()) {
-			long lastmodified = manifest.lastModified();
-			File metaInfFolder = manifest.getParentFile();
-			if (metaInfFolder != null && metaInfFolder.getName().equals(BundleManifestCorePlugin.MANIFEST_FOLDER_NAME)
-					&& metaInfFolder.canWrite()) {
-				metaInfFolder.setLastModified(lastmodified);
-				File srcFolder = metaInfFolder.getParentFile();
-				if (srcFolder != null && srcFolder.canWrite()) {
-					srcFolder.setLastModified(lastmodified);
-				}
-			}
-		}
-	}
+    /**
+     * Adjusts the last modified timestamp on the source root and META-INF directory to reflect the same date as the
+     * MANIFEST.MF.
+     * <p>
+     * Note: this is a requirement for the dependency resolution.
+     */
+    public static void adjustLastModifiedDate(IJavaProject javaProject, boolean testBundle) {
+        File manifest = BundleManifestUtils.locateManifestFile(javaProject, testBundle);
+        if (manifest != null && manifest.canRead()) {
+            long lastmodified = manifest.lastModified();
+            File metaInfFolder = manifest.getParentFile();
+            if (metaInfFolder != null && metaInfFolder.getName().equals(BundleManifestCorePlugin.MANIFEST_FOLDER_NAME) && metaInfFolder.canWrite()) {
+                metaInfFolder.setLastModified(lastmodified);
+                File srcFolder = metaInfFolder.getParentFile();
+                if (srcFolder != null && srcFolder.canWrite()) {
+                    srcFolder.setLastModified(lastmodified);
+                }
+            }
+        }
+    }
 
-	/**
-	 * Returns <code>true</code> if the given project has the bundle dependency classpath container installed.
-	 */
-	public static boolean hasClasspathContainer(IJavaProject javaProject) {
-		boolean hasContainer = false;
-		try {
-			for (IClasspathEntry entry : javaProject.getRawClasspath()) {
-				if (entry.getPath().equals(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH)) {
-					hasContainer = true;
-					break;
-				}
-			}
-		} catch (JavaModelException e) {
-			JdtCorePlugin.log(e);
-		}
-		return hasContainer;
-	}
+    /**
+     * Returns <code>true</code> if the given project has the bundle dependency classpath container installed.
+     */
+    public static boolean hasClasspathContainer(IJavaProject javaProject) {
+        boolean hasContainer = false;
+        try {
+            for (IClasspathEntry entry : javaProject.getRawClasspath()) {
+                if (entry.getPath().equals(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH)) {
+                    hasContainer = true;
+                    break;
+                }
+            }
+        } catch (JavaModelException e) {
+            JdtCorePlugin.log(e);
+        }
+        return hasContainer;
+    }
 
-	/**
-	 * Returns the {@link ServerClasspathContainer} for the given <code>javaProject</code>.
-	 * <p>
-	 * This method returns <code>null</code> if no appropriate class path container could be found on the given project.
-	 */
-	public static ServerClasspathContainer getClasspathContainer(IJavaProject javaProject) {
-		try {
-			if (hasClasspathContainer(javaProject)) {
-				IClasspathContainer container = JavaCore.getClasspathContainer(
-						ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, javaProject);
-				if (container instanceof ServerClasspathContainer) {
-					return (ServerClasspathContainer) container;
-				}
-			}
-		} catch (JavaModelException e) {
-			JdtCorePlugin.log(e);
-		}
-		return null;
-	}
+    /**
+     * Returns the {@link ServerClasspathContainer} for the given <code>javaProject</code>.
+     * <p>
+     * This method returns <code>null</code> if no appropriate class path container could be found on the given project.
+     */
+    public static ServerClasspathContainer getClasspathContainer(IJavaProject javaProject) {
+        try {
+            if (hasClasspathContainer(javaProject)) {
+                IClasspathContainer container = JavaCore.getClasspathContainer(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, javaProject);
+                if (container instanceof ServerClasspathContainer) {
+                    return (ServerClasspathContainer) container;
+                }
+            }
+        } catch (JavaModelException e) {
+            JdtCorePlugin.log(e);
+        }
+        return null;
+    }
 
-	/**
-	 * Returns configured source attachment paths for a given jar resource path.
-	 * 
-	 * @param project
-	 *            the java project which preferences needs to be checked.
-	 * @param file
-	 *            the jar that needs a source attachment
-	 */
-	public static IPath getSourceAttachment(IJavaProject project, File file) {
-		IEclipsePreferences preferences = JdtCorePlugin.getDefault().getProjectPreferences(project.getProject());
-		String value = preferences.get("source.attachment-" + file.getName(), null);
-		if (value != null) {
-			return new Path(value);
-		}
-		return null;
-	}
+    /**
+     * Returns configured source attachment paths for a given jar resource path.
+     *
+     * @param project the java project which preferences needs to be checked.
+     * @param file the jar that needs a source attachment
+     */
+    public static IPath getSourceAttachment(IJavaProject project, File file) {
+        IEclipsePreferences preferences = JdtCorePlugin.getDefault().getProjectPreferences(project.getProject());
+        String value = preferences.get("source.attachment-" + file.getName(), null);
+        if (value != null) {
+            return new Path(value);
+        }
+        return null;
+    }
 
-	/**
-	 * Stores the configured source attachments paths in the projects settings area.
-	 * 
-	 * @param project
-	 *            the java project to store the preferences for
-	 * @param containerSuggestion
-	 *            the configured classpath container entries
-	 */
-	public static void storeSourceAttachments(IJavaProject project, IClasspathContainer containerSuggestion) {
-		IEclipsePreferences preferences = JdtCorePlugin.getDefault().getProjectPreferences(project.getProject());
-		for (IClasspathEntry entry : containerSuggestion.getClasspathEntries()) {
-			IPath path = entry.getPath();
-			IPath sourcePath = entry.getSourceAttachmentPath();
-			if (sourcePath != null) {
-				preferences.put("source.attachment-" + path.lastSegment().toString(), sourcePath.toString());
-			}
-		}
-	}
+    /**
+     * Stores the configured source attachments paths in the projects settings area.
+     *
+     * @param project the java project to store the preferences for
+     * @param containerSuggestion the configured classpath container entries
+     */
+    public static void storeSourceAttachments(IJavaProject project, IClasspathContainer containerSuggestion) {
+        IEclipsePreferences preferences = JdtCorePlugin.getDefault().getProjectPreferences(project.getProject());
+        for (IClasspathEntry entry : containerSuggestion.getClasspathEntries()) {
+            IPath path = entry.getPath();
+            IPath sourcePath = entry.getSourceAttachmentPath();
+            if (sourcePath != null) {
+                preferences.put("source.attachment-" + path.lastSegment().toString(), sourcePath.toString());
+            }
+        }
+    }
 
-	/**
-	 * Updates the class path container on the given <code>javaProject</code>.
-	 */
-	public static IStatus updateClasspathContainer(IJavaProject javaProject,
-			Set<IBundleManifestChangeListener.Type> types, IProgressMonitor monitor) {
-		try {
+    /**
+     * Updates the class path container on the given <code>javaProject</code>.
+     */
+    public static IStatus updateClasspathContainer(IJavaProject javaProject, Set<IBundleManifestChangeListener.Type> types,
+        IProgressMonitor monitor) {
+        try {
 
-			if (monitor.isCanceled()) {
-				return Status.CANCEL_STATUS;
-			}
+            if (monitor.isCanceled()) {
+                return Status.CANCEL_STATUS;
+            }
 
-			// only update if something relevant happened
-			if (types.contains(IBundleManifestChangeListener.Type.IMPORT_BUNDLE)
-					|| types.contains(IBundleManifestChangeListener.Type.IMPORT_LIBRARY)
-					|| types.contains(IBundleManifestChangeListener.Type.IMPORT_PACKAGE)
-					|| types.contains(IBundleManifestChangeListener.Type.REQUIRE_BUNDLE)) {
+            // only update if something relevant happened
+            if (types.contains(IBundleManifestChangeListener.Type.IMPORT_BUNDLE) || types.contains(IBundleManifestChangeListener.Type.IMPORT_LIBRARY)
+                || types.contains(IBundleManifestChangeListener.Type.IMPORT_PACKAGE)
+                || types.contains(IBundleManifestChangeListener.Type.REQUIRE_BUNDLE)) {
 
-				IClasspathContainer oldContainer = ClasspathUtils.getClasspathContainer(javaProject);
-				if (oldContainer != null) {
-					ServerClasspathContainer container = new ServerClasspathContainer(javaProject);
+                IClasspathContainer oldContainer = ClasspathUtils.getClasspathContainer(javaProject);
+                if (oldContainer != null) {
+                    ServerClasspathContainer container = new ServerClasspathContainer(javaProject);
 
-					container.refreshClasspathEntries();
-					if (!Arrays.deepEquals(oldContainer.getClasspathEntries(), container.getClasspathEntries())) {
-						JavaCore.setClasspathContainer(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH,
-								new IJavaProject[] { javaProject }, new IClasspathContainer[] { container }, monitor);
-					}
-				}
-			}
+                    container.refreshClasspathEntries();
+                    if (!Arrays.deepEquals(oldContainer.getClasspathEntries(), container.getClasspathEntries())) {
+                        JavaCore.setClasspathContainer(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, new IJavaProject[] { javaProject },
+                            new IClasspathContainer[] { container }, monitor);
+                    }
+                }
+            }
 
-			if (types.contains(IBundleManifestChangeListener.Type.EXPORT_PACKAGE)) {
-				// Always try to update the depending projects because MANIFEST might have changed
-				// without changes to the project's own class path
-				updateClasspathContainerForDependingBundles(javaProject);
-			}
+            if (types.contains(IBundleManifestChangeListener.Type.EXPORT_PACKAGE)) {
+                // Always try to update the depending projects because MANIFEST might have changed
+                // without changes to the project's own class path
+                updateClasspathContainerForDependingBundles(javaProject);
+            }
 
-		} catch (JavaModelException e) {
-			JdtCorePlugin.log(e);
-		}
-		return Status.OK_STATUS;
-	}
+        } catch (JavaModelException e) {
+            JdtCorePlugin.log(e);
+        }
+        return Status.OK_STATUS;
+    }
 
-	/**
-	 * Triggers an class path container update on depending {@link IJavaProject}s.
-	 */
-	private static void updateClasspathContainerForDependingBundles(IJavaProject javaProject) {
+    /**
+     * Triggers an class path container update on depending {@link IJavaProject}s.
+     */
+    private static void updateClasspathContainerForDependingBundles(IJavaProject javaProject) {
 
-		BundleManifest updatedBundleManifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(
-				javaProject);
-		Set<String> updatedPackageExports = BundleManifestCorePlugin.getBundleManifestManager().getPackageExports(
-				javaProject);
+        BundleManifest updatedBundleManifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(javaProject);
+        Set<String> updatedPackageExports = BundleManifestCorePlugin.getBundleManifestManager().getPackageExports(javaProject);
 
-		if (updatedBundleManifest != null && updatedBundleManifest.getBundleSymbolicName() != null) {
-			String bundleSymbolicName = updatedBundleManifest.getBundleSymbolicName().getSymbolicName();
-			for (IProject project : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
-				try {
+        if (updatedBundleManifest != null && updatedBundleManifest.getBundleSymbolicName() != null) {
+            String bundleSymbolicName = updatedBundleManifest.getBundleSymbolicName().getSymbolicName();
+            for (IProject project : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
+                try {
 
-					// Only dm server bundle projects are of interest
-					if (!javaProject.getProject().equals(project) && FacetUtils.isBundleProject(project)) {
+                    // Only dm server bundle projects are of interest
+                    if (!javaProject.getProject().equals(project) && FacetUtils.isBundleProject(project)) {
 
-						IJavaProject jp = JavaCore.create(project);
-						BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager()
-								.getBundleManifest(jp);
+                        IJavaProject jp = JavaCore.create(project);
+                        BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(jp);
 
-						boolean refreshClasspath = false;
-						if (manifest != null) {
+                        boolean refreshClasspath = false;
+                        if (manifest != null) {
 
-							// Check for Require-Bundle dependency
-							if (manifest.getRequireBundle() != null) {
-								for (RequiredBundle requiredBundle : manifest.getRequireBundle().getRequiredBundles()) {
-									if (bundleSymbolicName != null
-											&& bundleSymbolicName.equals(requiredBundle.getBundleSymbolicName())) {
-										refreshClasspath = true;
-										break;
-									}
-								}
-							}
+                            // Check for Require-Bundle dependency
+                            if (manifest.getRequireBundle() != null) {
+                                for (RequiredBundle requiredBundle : manifest.getRequireBundle().getRequiredBundles()) {
+                                    if (bundleSymbolicName != null && bundleSymbolicName.equals(requiredBundle.getBundleSymbolicName())) {
+                                        refreshClasspath = true;
+                                        break;
+                                    }
+                                }
+                            }
 
-							// Check for export -> import package dependency
-							if (manifest.getImportPackage() != null) {
-								for (ImportedPackage packageImport : manifest.getImportPackage().getImportedPackages()) {
-									if (updatedPackageExports.contains(packageImport.getPackageName())) {
-										refreshClasspath = true;
-										break;
-									}
-								}
-							}
+                            // Check for export -> import package dependency
+                            if (manifest.getImportPackage() != null) {
+                                for (ImportedPackage packageImport : manifest.getImportPackage().getImportedPackages()) {
+                                    if (updatedPackageExports.contains(packageImport.getPackageName())) {
+                                        refreshClasspath = true;
+                                        break;
+                                    }
+                                }
+                            }
 
-							// Check for explicit project dependencies
-							for (String requiredProjectName : jp.getRequiredProjectNames()) {
-								if (requiredProjectName.equals(javaProject.getElementName())) {
-									refreshClasspath = true;
-									break;
-								}
-							}
+                            // Check for explicit project dependencies
+                            for (String requiredProjectName : jp.getRequiredProjectNames()) {
+                                if (requiredProjectName.equals(javaProject.getElementName())) {
+                                    refreshClasspath = true;
+                                    break;
+                                }
+                            }
 
-							// Schedule class path container update
-							if (refreshClasspath) {
-								ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(jp,
-										BundleManifestManager.IMPORTS_CHANGED);
-							}
-						}
-					}
-				} catch (Exception e) {
-					JdtCorePlugin.log(e);
-				}
-			}
-		}
-	}
+                            // Schedule class path container update
+                            if (refreshClasspath) {
+                                ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(jp, BundleManifestManager.IMPORTS_CHANGED);
+                            }
+                        }
+                    }
+                } catch (Exception e) {
+                    JdtCorePlugin.log(e);
+                }
+            }
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/util/MarkerConstants.java b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/util/MarkerConstants.java
index cc1c4a6..f9b2d0e 100644
--- a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/util/MarkerConstants.java
+++ b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/util/MarkerConstants.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.core.util;
 
 /**
@@ -15,18 +16,18 @@
  */
 public interface MarkerConstants {
 
-	String MISSING_DEPENDENCY_KEY = "missing_dependency_key";
+    String MISSING_DEPENDENCY_KEY = "missing_dependency_key";
 
-	String MISSING_DEPENDENCY_VERSION_KEY = "missing_dependency_version_key";
+    String MISSING_DEPENDENCY_VERSION_KEY = "missing_dependency_version_key";
 
-	String MISSING_DEPENDENCY_KIND_KEY = "missing_dependency_kind_key";
+    String MISSING_DEPENDENCY_KIND_KEY = "missing_dependency_kind_key";
 
-	String MISSING_DEPENDENCY_KIND_REQUIRE_BUNDLE = "missing_dependency_require_bundle";
+    String MISSING_DEPENDENCY_KIND_REQUIRE_BUNDLE = "missing_dependency_require_bundle";
 
-	String MISSING_DEPENDENCY_KIND_IMPORT_BUNDLE = "missing_dependency_import_bundle";
+    String MISSING_DEPENDENCY_KIND_IMPORT_BUNDLE = "missing_dependency_import_bundle";
 
-	String MISSING_DEPENDENCY_KIND_IMPORT_LIBRARY = "missing_dependency_import_library";
+    String MISSING_DEPENDENCY_KIND_IMPORT_LIBRARY = "missing_dependency_import_library";
 
-	String MISSING_DEPENDENCY_KIND_IMPORT_PACKAGE = "missing_dependency_import_package";
+    String MISSING_DEPENDENCY_KIND_IMPORT_PACKAGE = "missing_dependency_import_package";
 
 }
diff --git a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/util/MarkerUtils.java b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/util/MarkerUtils.java
index 4a6470d..a2cbd17 100644
--- a/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/util/MarkerUtils.java
+++ b/org.eclipse.virgo.ide.jdt.core/src/org/eclipse/virgo/ide/jdt/internal/core/util/MarkerUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.core.util;
 
 import java.util.HashMap;
@@ -33,176 +34,145 @@
 
 /**
  * Helper class that handles creation and deletion of {@link IMarker} instances.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class MarkerUtils {
 
-	/**
-	 * Removes all bundle resolution error markers from a given <code>javaProject</code>.
-	 */
-	public static void removeErrorMarkers(IJavaProject javaProject, boolean testBundle) {
-		IResource manifest = BundleManifestUtils.locateManifest(javaProject, testBundle);
-		try {
-			manifest.deleteMarkers(JdtCorePlugin.DEPENDENCY_PROBLEM_MARKER_ID, true, IResource.DEPTH_INFINITE);
-		} catch (CoreException e) {
-			StatusManager.getManager().handle(e, JdtCorePlugin.PLUGIN_ID);
-		}
-	}
+    /**
+     * Removes all bundle resolution error markers from a given <code>javaProject</code>.
+     */
+    public static void removeErrorMarkers(IJavaProject javaProject, boolean testBundle) {
+        IResource manifest = BundleManifestUtils.locateManifest(javaProject, testBundle);
+        try {
+            manifest.deleteMarkers(JdtCorePlugin.DEPENDENCY_PROBLEM_MARKER_ID, true, IResource.DEPTH_INFINITE);
+        } catch (CoreException e) {
+            StatusManager.getManager().handle(e, JdtCorePlugin.PLUGIN_ID);
+        }
+    }
 
-	/**
-	 * Creates bundle resolution dependency error based on the resolution results stored in the
-	 * {@link DependencyLocationException}.
-	 */
-	public static void createErrorMarkers(final DependencyLocationException e, final IJavaProject javaProject,
-			final boolean testBundle) {
-		final IResource manifest = BundleManifestUtils.locateManifest(javaProject, testBundle);
+    /**
+     * Creates bundle resolution dependency error based on the resolution results stored in the
+     * {@link DependencyLocationException}.
+     */
+    public static void createErrorMarkers(final DependencyLocationException e, final IJavaProject javaProject, final boolean testBundle) {
+        final IResource manifest = BundleManifestUtils.locateManifest(javaProject, testBundle);
 
-		// Some sanity check in case this error is reported too early
-		if (manifest == null) {
-			return;
-		}
+        // Some sanity check in case this error is reported too early
+        if (manifest == null) {
+            return;
+        }
 
-		final BundleManifest bundleManifest = new BundleManifest((IFile) manifest);
-		final IDocument document = bundleManifest.getDocument();
+        final BundleManifest bundleManifest = new BundleManifest((IFile) manifest);
+        final IDocument document = bundleManifest.getDocument();
 
-		// Schedule marker creation in different job as it requires workspace lock
-		Job markerCreationJob = new Job("Managing markers on resource '" + manifest.getFullPath().toString() + "'") {
+        // Schedule marker creation in different job as it requires workspace lock
+        Job markerCreationJob = new Job("Managing markers on resource '" + manifest.getFullPath().toString() + "'") {
 
-			@Override
-			protected IStatus run(IProgressMonitor monitor) {
+            @Override
+            protected IStatus run(IProgressMonitor monitor) {
 
-				// Clear out old error markers
-				removeErrorMarkers(javaProject, testBundle);
+                // Clear out old error markers
+                removeErrorMarkers(javaProject, testBundle);
 
-				if (e == null) {
-					return Status.OK_STATUS;
-				}
+                if (e == null) {
+                    return Status.OK_STATUS;
+                }
 
-				if (e.getUnsatisfiablePackageImports() != null) {
-					for (ImportDescriptor desc : e.getUnsatisfiablePackageImports()) {
-						int lineNumber = BundleManifestUtils.getLineNumber(document,
-								bundleManifest.getHeader("Import-Package"), desc.getName());
-						createProblemMarker(
-								manifest,
-								MarkerConstants.MISSING_DEPENDENCY_KIND_IMPORT_PACKAGE,
-								desc.getName(),
-								desc.getParseVersion(),
-								new StringBuilder("Import-Package: ").append(desc.getName())
-										.append(" ")
-										.append(desc.getVersion())
-										.append(" could not be resolved")
-										.toString(), lineNumber, IMarker.SEVERITY_ERROR);
-					}
-				}
-				if (e.getUnsatisfiableLibraryImports() != null) {
-					for (ImportDescriptor desc : e.getUnsatisfiableLibraryImports()) {
-						int lineNumber = BundleManifestUtils.getLineNumber(document,
-								bundleManifest.getHeader("Import-Library"), desc.getName());
-						createProblemMarker(
-								manifest,
-								MarkerConstants.MISSING_DEPENDENCY_KIND_IMPORT_LIBRARY,
-								desc.getName(),
-								desc.getParseVersion(),
-								new StringBuilder("Import-Library: ").append(desc.getName())
-										.append(" ")
-										.append(desc.getVersion())
-										.append(" could not be resolved")
-										.toString(), lineNumber, IMarker.SEVERITY_ERROR);
-					}
-				}
-				if (e.getUnsatisfiableRequireBundle() != null) {
-					for (ImportDescriptor desc : e.getUnsatisfiableRequireBundle()) {
-						int lineNumber = BundleManifestUtils.getLineNumber(document,
-								bundleManifest.getHeader("Require-Bundle"), desc.getName());
-						createProblemMarker(
-								manifest,
-								MarkerConstants.MISSING_DEPENDENCY_KIND_REQUIRE_BUNDLE,
-								desc.getName(),
-								desc.getParseVersion(),
-								new StringBuilder("Require-Bundle: ").append(desc.getName())
-										.append(" ")
-										.append(desc.getVersion())
-										.append(" could not be resolved")
-										.toString(), lineNumber, IMarker.SEVERITY_ERROR);
-					}
-				}
-				if (e.getUnsatisfiableBundleImports() != null) {
-					for (ImportDescriptor desc : e.getUnsatisfiableBundleImports()) {
-						int lineNumber = BundleManifestUtils.getLineNumber(document,
-								bundleManifest.getHeader("Import-Bundle"), desc.getName());
-						createProblemMarker(
-								manifest,
-								MarkerConstants.MISSING_DEPENDENCY_KIND_IMPORT_BUNDLE,
-								desc.getName(),
-								desc.getParseVersion(),
-								new StringBuilder("Import-Bundle: ").append(desc.getName())
-										.append(" ")
-										.append(desc.getVersion())
-										.append(" could not be resolved")
-										.toString(), lineNumber, IMarker.SEVERITY_ERROR);
-					}
-				}
-				return Status.OK_STATUS;
-			}
+                if (e.getUnsatisfiablePackageImports() != null) {
+                    for (ImportDescriptor desc : e.getUnsatisfiablePackageImports()) {
+                        int lineNumber = BundleManifestUtils.getLineNumber(document, bundleManifest.getHeader("Import-Package"), desc.getName());
+                        createProblemMarker(manifest, MarkerConstants.MISSING_DEPENDENCY_KIND_IMPORT_PACKAGE, desc.getName(), desc.getParseVersion(),
+                            new StringBuilder("Import-Package: ").append(desc.getName()).append(" ").append(desc.getVersion()).append(
+                                " could not be resolved").toString(),
+                            lineNumber, IMarker.SEVERITY_ERROR);
+                    }
+                }
+                if (e.getUnsatisfiableLibraryImports() != null) {
+                    for (ImportDescriptor desc : e.getUnsatisfiableLibraryImports()) {
+                        int lineNumber = BundleManifestUtils.getLineNumber(document, bundleManifest.getHeader("Import-Library"), desc.getName());
+                        createProblemMarker(manifest, MarkerConstants.MISSING_DEPENDENCY_KIND_IMPORT_LIBRARY, desc.getName(), desc.getParseVersion(),
+                            new StringBuilder("Import-Library: ").append(desc.getName()).append(" ").append(desc.getVersion()).append(
+                                " could not be resolved").toString(),
+                            lineNumber, IMarker.SEVERITY_ERROR);
+                    }
+                }
+                if (e.getUnsatisfiableRequireBundle() != null) {
+                    for (ImportDescriptor desc : e.getUnsatisfiableRequireBundle()) {
+                        int lineNumber = BundleManifestUtils.getLineNumber(document, bundleManifest.getHeader("Require-Bundle"), desc.getName());
+                        createProblemMarker(manifest, MarkerConstants.MISSING_DEPENDENCY_KIND_REQUIRE_BUNDLE, desc.getName(), desc.getParseVersion(),
+                            new StringBuilder("Require-Bundle: ").append(desc.getName()).append(" ").append(desc.getVersion()).append(
+                                " could not be resolved").toString(),
+                            lineNumber, IMarker.SEVERITY_ERROR);
+                    }
+                }
+                if (e.getUnsatisfiableBundleImports() != null) {
+                    for (ImportDescriptor desc : e.getUnsatisfiableBundleImports()) {
+                        int lineNumber = BundleManifestUtils.getLineNumber(document, bundleManifest.getHeader("Import-Bundle"), desc.getName());
+                        createProblemMarker(manifest, MarkerConstants.MISSING_DEPENDENCY_KIND_IMPORT_BUNDLE, desc.getName(), desc.getParseVersion(),
+                            new StringBuilder("Import-Bundle: ").append(desc.getName()).append(" ").append(desc.getVersion()).append(
+                                " could not be resolved").toString(),
+                            lineNumber, IMarker.SEVERITY_ERROR);
+                    }
+                }
+                return Status.OK_STATUS;
+            }
 
-		};
+        };
 
-		markerCreationJob.setPriority(Job.BUILD);
-		markerCreationJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
-		markerCreationJob.schedule();
-	}
+        markerCreationJob.setPriority(Job.BUILD);
+        markerCreationJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
+        markerCreationJob.schedule();
+    }
 
-	/**
-	 * Creates a single problem marker.
-	 */
-	public static void createProblemMarker(IResource resource, String message, int lineNumber, int severity) {
-		createProblemMarker(resource, null, null, null, message, lineNumber, severity);
-	}
+    /**
+     * Creates a single problem marker.
+     */
+    public static void createProblemMarker(IResource resource, String message, int lineNumber, int severity) {
+        createProblemMarker(resource, null, null, null, message, lineNumber, severity);
+    }
 
-	public static void createProblemMarker(IResource resource, String missingDependencyKind, String missingDependency,
-			String missingDependencyVersion, String message, int lineNumber, int severity) {
+    public static void createProblemMarker(IResource resource, String missingDependencyKind, String missingDependency,
+        String missingDependencyVersion, String message, int lineNumber, int severity) {
 
-		if (resource != null && resource.isAccessible()) {
-			try {
+        if (resource != null && resource.isAccessible()) {
+            try {
 
-				// First check if specified marker already exists
-				IMarker[] markers = resource.findMarkers(JdtCorePlugin.DEPENDENCY_PROBLEM_MARKER_ID, false,
-						IResource.DEPTH_ZERO);
-				for (IMarker marker : markers) {
-					int line = marker.getAttribute(IMarker.LINE_NUMBER, -1);
-					if (line == lineNumber) {
-						String msg = marker.getAttribute(IMarker.MESSAGE, "");
-						if (msg.equals(message)) {
-							return;
-						}
-					}
-				}
+                // First check if specified marker already exists
+                IMarker[] markers = resource.findMarkers(JdtCorePlugin.DEPENDENCY_PROBLEM_MARKER_ID, false, IResource.DEPTH_ZERO);
+                for (IMarker marker : markers) {
+                    int line = marker.getAttribute(IMarker.LINE_NUMBER, -1);
+                    if (line == lineNumber) {
+                        String msg = marker.getAttribute(IMarker.MESSAGE, "");
+                        if (msg.equals(message)) {
+                            return;
+                        }
+                    }
+                }
 
-				// Create new marker
-				IMarker marker = resource.createMarker(JdtCorePlugin.DEPENDENCY_PROBLEM_MARKER_ID);
-				Map<String, Object> attributes = new HashMap<String, Object>();
-				attributes.put(IMarker.MESSAGE, message);
-				attributes.put(IMarker.SEVERITY, severity);
-				attributes.put(IMarker.LINE_NUMBER, lineNumber);
-				if (null != missingDependency) {
-					attributes.put(MarkerConstants.MISSING_DEPENDENCY_KEY, missingDependency);
-				}
-				if (null != missingDependencyVersion) {
-					attributes.put(MarkerConstants.MISSING_DEPENDENCY_VERSION_KEY, missingDependencyVersion);
-				}
-				if (null != missingDependencyKind) {
-					attributes.put(MarkerConstants.MISSING_DEPENDENCY_KIND_KEY, missingDependencyKind);
-				}
-				marker.setAttributes(attributes);
-			} catch (CoreException e) {
-				//TODO Should we rethrow this?
-				StatusManager.getManager().handle(
-						new Status(IStatus.ERROR, JdtCorePlugin.PLUGIN_ID, "Couldn't create problem markers", e));
-			}
-		}
+                // Create new marker
+                IMarker marker = resource.createMarker(JdtCorePlugin.DEPENDENCY_PROBLEM_MARKER_ID);
+                Map<String, Object> attributes = new HashMap<String, Object>();
+                attributes.put(IMarker.MESSAGE, message);
+                attributes.put(IMarker.SEVERITY, severity);
+                attributes.put(IMarker.LINE_NUMBER, lineNumber);
+                if (null != missingDependency) {
+                    attributes.put(MarkerConstants.MISSING_DEPENDENCY_KEY, missingDependency);
+                }
+                if (null != missingDependencyVersion) {
+                    attributes.put(MarkerConstants.MISSING_DEPENDENCY_VERSION_KEY, missingDependencyVersion);
+                }
+                if (null != missingDependencyKind) {
+                    attributes.put(MarkerConstants.MISSING_DEPENDENCY_KIND_KEY, missingDependencyKind);
+                }
+                marker.setAttributes(attributes);
+            } catch (CoreException e) {
+                // TODO Should we rethrow this?
+                StatusManager.getManager().handle(new Status(IStatus.ERROR, JdtCorePlugin.PLUGIN_ID, "Couldn't create problem markers", e));
+            }
+        }
 
-	}
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.jdt.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.jdt.ui/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.jdt.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.jdt.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.jdt.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.jdt.ui/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.jdt.ui/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.jdt.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/actions/EnableServerClasspathContainerActionDelegate.java b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/actions/EnableServerClasspathContainerActionDelegate.java
index 46c6d71..3cc518d 100644
--- a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/actions/EnableServerClasspathContainerActionDelegate.java
+++ b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/actions/EnableServerClasspathContainerActionDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.ui.actions;
 
 import java.util.ArrayList;
@@ -42,91 +43,86 @@
  */
 public class EnableServerClasspathContainerActionDelegate implements IObjectActionDelegate {
 
-	private final List<IProject> selected = new ArrayList<IProject>();
+    private final List<IProject> selected = new ArrayList<IProject>();
 
-	public void run(IAction action) {
-		Set<IJavaProject> projects = new LinkedHashSet<IJavaProject>();
-		Iterator<IProject> iter = selected.iterator();
-		while (iter.hasNext()) {
-			IProject project = iter.next();
-			if (FacetUtils.isBundleProject(project)) {
-				projects.add(JavaCore.create(project));
-			} else if (FacetUtils.isParProject(project)) {
-				for (IProject bundle : FacetUtils.getBundleProjects(project)) {
-					projects.add(JavaCore.create(bundle));
-				}
-			}
-		}
+    public void run(IAction action) {
+        Set<IJavaProject> projects = new LinkedHashSet<IJavaProject>();
+        Iterator<IProject> iter = selected.iterator();
+        while (iter.hasNext()) {
+            IProject project = iter.next();
+            if (FacetUtils.isBundleProject(project)) {
+                projects.add(JavaCore.create(project));
+            } else if (FacetUtils.isParProject(project)) {
+                for (IProject bundle : FacetUtils.getBundleProjects(project)) {
+                    projects.add(JavaCore.create(bundle));
+                }
+            }
+        }
 
-		for (IJavaProject javaProject : projects) {
-			try {
-				if (ClasspathUtils.hasClasspathContainer(javaProject)) {
-					removeFromClasspath(javaProject, JavaCore.newContainerEntry(
-							ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, null,
-							ServerClasspathContainer.CLASSPATH_CONTAINER_ATTRIBUTE, false), new NullProgressMonitor());
-					// Remove any error markers that might hang around
-					javaProject.getProject().deleteMarkers(JdtCorePlugin.DEPENDENCY_PROBLEM_MARKER_ID, true,
-							IResource.DEPTH_INFINITE);
-				} else {
-					addToClasspath(javaProject, JavaCore.newContainerEntry(
-							ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, null,
-							ServerClasspathContainer.CLASSPATH_CONTAINER_ATTRIBUTE, false), new NullProgressMonitor());
-				}
-			} catch (CoreException e) {
-				JdtCorePlugin.log(e);
-			}
-		}
+        for (IJavaProject javaProject : projects) {
+            try {
+                if (ClasspathUtils.hasClasspathContainer(javaProject)) {
+                    removeFromClasspath(javaProject, JavaCore.newContainerEntry(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, null,
+                        ServerClasspathContainer.CLASSPATH_CONTAINER_ATTRIBUTE, false), new NullProgressMonitor());
+                    // Remove any error markers that might hang around
+                    javaProject.getProject().deleteMarkers(JdtCorePlugin.DEPENDENCY_PROBLEM_MARKER_ID, true, IResource.DEPTH_INFINITE);
+                } else {
+                    addToClasspath(javaProject, JavaCore.newContainerEntry(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, null,
+                        ServerClasspathContainer.CLASSPATH_CONTAINER_ATTRIBUTE, false), new NullProgressMonitor());
+                }
+            } catch (CoreException e) {
+                JdtCorePlugin.log(e);
+            }
+        }
 
-	}
+    }
 
-	public void selectionChanged(IAction action, ISelection selection) {
-		selected.clear();
-		if (selection instanceof IStructuredSelection) {
-			boolean enabled = true;
-			Iterator<?> iter = ((IStructuredSelection) selection).iterator();
-			while (iter.hasNext()) {
-				Object obj = iter.next();
-				if (obj instanceof IJavaProject) {
-					obj = ((IJavaProject) obj).getProject();
-				}
-				if (obj instanceof IProject) {
-					IProject project = (IProject) obj;
-					if (!project.isOpen()) {
-						enabled = false;
-						break;
-					} else {
-						selected.add(project);
-					}
-				} else {
-					enabled = false;
-					break;
-				}
-			}
-			action.setEnabled(enabled);
-		}
-	}
+    public void selectionChanged(IAction action, ISelection selection) {
+        selected.clear();
+        if (selection instanceof IStructuredSelection) {
+            boolean enabled = true;
+            Iterator<?> iter = ((IStructuredSelection) selection).iterator();
+            while (iter.hasNext()) {
+                Object obj = iter.next();
+                if (obj instanceof IJavaProject) {
+                    obj = ((IJavaProject) obj).getProject();
+                }
+                if (obj instanceof IProject) {
+                    IProject project = (IProject) obj;
+                    if (!project.isOpen()) {
+                        enabled = false;
+                        break;
+                    } else {
+                        selected.add(project);
+                    }
+                } else {
+                    enabled = false;
+                    break;
+                }
+            }
+            action.setEnabled(enabled);
+        }
+    }
 
-	private void addToClasspath(IJavaProject javaProject, IClasspathEntry entry, IProgressMonitor monitor)
-			throws CoreException {
-		IClasspathEntry[] current = javaProject.getRawClasspath();
-		IClasspathEntry[] updated = new IClasspathEntry[current.length + 1];
-		System.arraycopy(current, 0, updated, 0, current.length);
-		updated[current.length] = entry;
-		javaProject.setRawClasspath(updated, monitor);
-	}
+    private void addToClasspath(IJavaProject javaProject, IClasspathEntry entry, IProgressMonitor monitor) throws CoreException {
+        IClasspathEntry[] current = javaProject.getRawClasspath();
+        IClasspathEntry[] updated = new IClasspathEntry[current.length + 1];
+        System.arraycopy(current, 0, updated, 0, current.length);
+        updated[current.length] = entry;
+        javaProject.setRawClasspath(updated, monitor);
+    }
 
-	protected void removeFromClasspath(IJavaProject javaProject, IClasspathEntry entry, IProgressMonitor monitor)
-			throws CoreException {
-		Set<IClasspathEntry> entries = new LinkedHashSet<IClasspathEntry>();
-		for (IClasspathEntry existingEntry : javaProject.getRawClasspath()) {
-			if (!existingEntry.equals(entry)) {
-				entries.add(existingEntry);
-			}
-		}
-		javaProject.setRawClasspath(entries.toArray(new IClasspathEntry[entries.size()]), monitor);
-	}
+    protected void removeFromClasspath(IJavaProject javaProject, IClasspathEntry entry, IProgressMonitor monitor) throws CoreException {
+        Set<IClasspathEntry> entries = new LinkedHashSet<IClasspathEntry>();
+        for (IClasspathEntry existingEntry : javaProject.getRawClasspath()) {
+            if (!existingEntry.equals(entry)) {
+                entries.add(existingEntry);
+            }
+        }
+        javaProject.setRawClasspath(entries.toArray(new IClasspathEntry[entries.size()]), monitor);
+    }
 
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
+    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/actions/RefreshServerClasspathContainerActionDelegate.java b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/actions/RefreshServerClasspathContainerActionDelegate.java
index c8c8351..d05383e 100644
--- a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/actions/RefreshServerClasspathContainerActionDelegate.java
+++ b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/actions/RefreshServerClasspathContainerActionDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.ui.actions;
 
 import java.util.ArrayList;
@@ -36,57 +37,56 @@
  */
 public class RefreshServerClasspathContainerActionDelegate implements IObjectActionDelegate {
 
-	private final List<IProject> selected = new ArrayList<IProject>();
+    private final List<IProject> selected = new ArrayList<IProject>();
 
-	public void run(IAction action) {
-		Set<IJavaProject> projects = new LinkedHashSet<IJavaProject>();
-		Iterator<IProject> iter = selected.iterator();
-		while (iter.hasNext()) {
-			IProject project = iter.next();
-			if (FacetUtils.isBundleProject(project)) {
-				projects.add(JavaCore.create(project));
-			} else if (FacetUtils.isParProject(project)) {
-				for (IProject bundle : FacetUtils.getBundleProjects(project)) {
-					projects.add(JavaCore.create(bundle));
-				}
-			}
-		}
+    public void run(IAction action) {
+        Set<IJavaProject> projects = new LinkedHashSet<IJavaProject>();
+        Iterator<IProject> iter = selected.iterator();
+        while (iter.hasNext()) {
+            IProject project = iter.next();
+            if (FacetUtils.isBundleProject(project)) {
+                projects.add(JavaCore.create(project));
+            } else if (FacetUtils.isParProject(project)) {
+                for (IProject bundle : FacetUtils.getBundleProjects(project)) {
+                    projects.add(JavaCore.create(bundle));
+                }
+            }
+        }
 
-		for (IJavaProject javaProject : projects) {
-			ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(javaProject,
-					BundleManifestManager.IMPORTS_CHANGED);
-		}
+        for (IJavaProject javaProject : projects) {
+            ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(javaProject, BundleManifestManager.IMPORTS_CHANGED);
+        }
 
-	}
+    }
 
-	public void selectionChanged(IAction action, ISelection selection) {
-		selected.clear();
-		if (selection instanceof IStructuredSelection) {
-			boolean enabled = true;
-			Iterator<?> iter = ((IStructuredSelection) selection).iterator();
-			while (iter.hasNext()) {
-				Object obj = iter.next();
-				if (obj instanceof IJavaProject) {
-					obj = ((IJavaProject) obj).getProject();
-				}
-				if (obj instanceof IProject) {
-					IProject project = (IProject) obj;
-					if (!project.isOpen()) {
-						enabled = false;
-						break;
-					} else {
-						selected.add(project);
-					}
-				} else {
-					enabled = false;
-					break;
-				}
-			}
-			action.setEnabled(enabled);
-		}
-	}
+    public void selectionChanged(IAction action, ISelection selection) {
+        selected.clear();
+        if (selection instanceof IStructuredSelection) {
+            boolean enabled = true;
+            Iterator<?> iter = ((IStructuredSelection) selection).iterator();
+            while (iter.hasNext()) {
+                Object obj = iter.next();
+                if (obj instanceof IJavaProject) {
+                    obj = ((IJavaProject) obj).getProject();
+                }
+                if (obj instanceof IProject) {
+                    IProject project = (IProject) obj;
+                    if (!project.isOpen()) {
+                        enabled = false;
+                        break;
+                    } else {
+                        selected.add(project);
+                    }
+                } else {
+                    enabled = false;
+                    break;
+                }
+            }
+            action.setEnabled(enabled);
+        }
+    }
 
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
+    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/classpath/ServerClasspathContainerPage.java b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/classpath/ServerClasspathContainerPage.java
index d525b5d..4d230a6 100644
--- a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/classpath/ServerClasspathContainerPage.java
+++ b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/classpath/ServerClasspathContainerPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.ui.classpath;
 
 import org.eclipse.jdt.core.IClasspathEntry;
@@ -27,31 +28,31 @@
  */
 public class ServerClasspathContainerPage extends WizardPage implements IClasspathContainerPage {
 
-	private IClasspathEntry classpathEntry = null;
+    private IClasspathEntry classpathEntry = null;
 
-	public ServerClasspathContainerPage() {
-		super("Bundle Classpath Container");
-	}
+    public ServerClasspathContainerPage() {
+        super("Bundle Classpath Container");
+    }
 
-	public boolean finish() {
-		classpathEntry = JavaCore.newContainerEntry(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH);
-		return true;
-	}
+    public boolean finish() {
+        classpathEntry = JavaCore.newContainerEntry(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH);
+        return true;
+    }
 
-	public IClasspathEntry getSelection() {
-		return classpathEntry;
-	}
+    public IClasspathEntry getSelection() {
+        return classpathEntry;
+    }
 
-	public void setSelection(IClasspathEntry containerEntry) {
-		this.classpathEntry = containerEntry;
-	}
+    public void setSelection(IClasspathEntry containerEntry) {
+        this.classpathEntry = containerEntry;
+    }
 
-	public void createControl(Composite parent) {
-		setTitle("Bundle Classpath Container");
-		Label label = new Label(parent, SWT.NONE);
-		label.setText("Press Finish to add the SpringSource dm Server Bundle Classpath Container");
-		label.setFont(parent.getFont());
-		setControl(label);
-	}
+    public void createControl(Composite parent) {
+        setTitle("Bundle Classpath Container");
+        Label label = new Label(parent, SWT.NONE);
+        label.setText("Press Finish to add the SpringSource dm Server Bundle Classpath Container");
+        label.setFont(parent.getFont());
+        setControl(label);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/decoration/JdtClasspathContainerElementDecorator.java b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/decoration/JdtClasspathContainerElementDecorator.java
index 6f7966a..6301c23 100644
--- a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/decoration/JdtClasspathContainerElementDecorator.java
+++ b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/decoration/JdtClasspathContainerElementDecorator.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.ui.decoration;
 
 import org.eclipse.jdt.core.ElementChangedEvent;
@@ -42,185 +43,180 @@
 @SuppressWarnings("restriction")
 public class JdtClasspathContainerElementDecorator extends LabelProvider implements ILightweightLabelDecorator {
 
-	/** A JDT model listener that gets notified if a class path changed */
-	private IElementChangedListener changeListener = null;
+    /** A JDT model listener that gets notified if a class path changed */
+    private IElementChangedListener changeListener = null;
 
-	public JdtClasspathContainerElementDecorator() {
+    public JdtClasspathContainerElementDecorator() {
 
-		// {@link IElementChangedListener} JDT listener that detects changes to the project's class
-		// path and triggers a decorator refresh.
-		changeListener = new IElementChangedListener() {
+        // {@link IElementChangedListener} JDT listener that detects changes to the project's class
+        // path and triggers a decorator refresh.
+        changeListener = new IElementChangedListener() {
 
-			/**
-			 * Flag indicating a change in the resolved class path. This entry is copied from Eclipse 3.4 in order to
-			 * make this compatible with 3.3.
-			 */
-			private static final int F_RESOLVED_CLASSPATH_CHANGED = 0x200000;
+            /**
+             * Flag indicating a change in the resolved class path. This entry is copied from Eclipse 3.4 in order to
+             * make this compatible with 3.3.
+             */
+            private static final int F_RESOLVED_CLASSPATH_CHANGED = 0x200000;
 
-			public void elementChanged(ElementChangedEvent event) {
-				boolean refresh = false;
-				for (IJavaElementDelta delta : event.getDelta().getAffectedChildren()) {
-					if ((delta.getFlags() & F_RESOLVED_CLASSPATH_CHANGED) != 0
-							|| (delta.getFlags() & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
-						refresh = true;
-					}
-				}
-				if (refresh) {
-					Display.getDefault().asyncExec(new Runnable() {
-						public void run() {
-							fireLabelProviderChanged(new LabelProviderChangedEvent(
-									JdtClasspathContainerElementDecorator.this));
-						}
-					});
-				}
-			}
-		};
-		JavaCore.addElementChangedListener(changeListener, ElementChangedEvent.POST_CHANGE);
-	}
+            public void elementChanged(ElementChangedEvent event) {
+                boolean refresh = false;
+                for (IJavaElementDelta delta : event.getDelta().getAffectedChildren()) {
+                    if ((delta.getFlags() & F_RESOLVED_CLASSPATH_CHANGED) != 0 || (delta.getFlags() & IJavaElementDelta.F_CLASSPATH_CHANGED) != 0) {
+                        refresh = true;
+                    }
+                }
+                if (refresh) {
+                    Display.getDefault().asyncExec(new Runnable() {
 
-	/**
-	 * Decorates the given <code>element</code>.
-	 */
-	public void decorate(Object element, IDecoration decoration) {
-		// package fragments are the first elements below the JAR file
-		if (element instanceof IPackageFragment) {
-			IPackageFragment packageFragment = (IPackageFragment) element;
-			if (shouldDecorateImportedPackageFragment(packageFragment)) {
-				// make light gray and lock icon decoration
-				decoration.setForegroundColor(ColorMap.GRAY_LIGHT);
-				decoration.addOverlay(JdtUiImages.DESC_OVR_LOCKED, IDecoration.TOP_LEFT);
-			} else if (shouldDecorateExportedPackageFragment(packageFragment)) {
-				decoration.addOverlay(JdtUiImages.DESC_OVR_EXPORTED, IDecoration.TOP_RIGHT);
-			}
-		}
-		// jar package fragments roots; decorate those that come from a test dependency
-		else if (element instanceof IPackageFragmentRoot) {
-			IPackageFragmentRoot root = (IPackageFragmentRoot) element;
-			try {
-				if (ServerClasspathContainer.CLASSPATH_CONTAINER_PATH.equals(root.getRawClasspathEntry().getPath())
-						&& root.getJavaProject().getProject().isAccessible() && root.getJavaProject().isOpen()) {
-					ServerClasspathContainer cpContainer = (ServerClasspathContainer) JavaCore.getClasspathContainer(
-							ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, root.getJavaProject());
-					if (cpContainer != null) {
-						for (IClasspathEntry entry : cpContainer.getClasspathEntries()) {
-							if (entry.getPath().equals(root.getPath()) && entry.getExtraAttributes() != null) {
-								for (IClasspathAttribute attribute : entry.getExtraAttributes()) {
-									if (attribute.getName().equals(
-											ServerClasspathContainer.TEST_CLASSPATH_ATTRIBUTE_VALUE)) {
-										decoration.setForegroundColor(ColorMap.GRAY_LIGHT);
-										decoration.addOverlay(JdtUiImages.DESC_OVR_LOCKED, IDecoration.TOP_LEFT);
-									}
-								}
-								break;
-							}
-						}
-					}
+                        public void run() {
+                            fireLabelProviderChanged(new LabelProviderChangedEvent(JdtClasspathContainerElementDecorator.this));
+                        }
+                    });
+                }
+            }
+        };
+        JavaCore.addElementChangedListener(changeListener, ElementChangedEvent.POST_CHANGE);
+    }
 
-				}
-			} catch (JavaModelException e) {
-			}
-		}
-		// class files represent a single type file in a JAR
-		else if (element instanceof IClassFile) {
-			IClassFile classFile = (IClassFile) element;
-			if (classFile.getParent() instanceof IPackageFragment) {
-				if (shouldDecorateImportedPackageFragment((IPackageFragment) classFile.getParent())) {
-					// make light gray
-					decoration.setForegroundColor(ColorMap.GRAY_LIGHT);
-				}
-			}
-		}
-		// decorate the class path container and add the originating target runtime
-		else if (element instanceof ClassPathContainer) {
-			ClassPathContainer container = (ClassPathContainer) element;
-			if (container.getClasspathEntry().getPath().equals(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH)) {
-				try {
-					if (container.getJavaProject().getProject().isAccessible() && container.getJavaProject().isOpen()) {
-						ServerClasspathContainer cpContainer = (ServerClasspathContainer) JavaCore.getClasspathContainer(
-								ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, container.getJavaProject());
-						decoration.addSuffix(cpContainer.getDescriptionSuffix());
-					}
-				} catch (JavaModelException e) {
-				}
-			}
-		}
-	}
+    /**
+     * Decorates the given <code>element</code>.
+     */
+    public void decorate(Object element, IDecoration decoration) {
+        // package fragments are the first elements below the JAR file
+        if (element instanceof IPackageFragment) {
+            IPackageFragment packageFragment = (IPackageFragment) element;
+            if (shouldDecorateImportedPackageFragment(packageFragment)) {
+                // make light gray and lock icon decoration
+                decoration.setForegroundColor(ColorMap.GRAY_LIGHT);
+                decoration.addOverlay(JdtUiImages.DESC_OVR_LOCKED, IDecoration.TOP_LEFT);
+            } else if (shouldDecorateExportedPackageFragment(packageFragment)) {
+                decoration.addOverlay(JdtUiImages.DESC_OVR_EXPORTED, IDecoration.TOP_RIGHT);
+            }
+        }
+        // jar package fragments roots; decorate those that come from a test dependency
+        else if (element instanceof IPackageFragmentRoot) {
+            IPackageFragmentRoot root = (IPackageFragmentRoot) element;
+            try {
+                if (ServerClasspathContainer.CLASSPATH_CONTAINER_PATH.equals(root.getRawClasspathEntry().getPath())
+                    && root.getJavaProject().getProject().isAccessible() && root.getJavaProject().isOpen()) {
+                    ServerClasspathContainer cpContainer = (ServerClasspathContainer) JavaCore.getClasspathContainer(
+                        ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, root.getJavaProject());
+                    if (cpContainer != null) {
+                        for (IClasspathEntry entry : cpContainer.getClasspathEntries()) {
+                            if (entry.getPath().equals(root.getPath()) && entry.getExtraAttributes() != null) {
+                                for (IClasspathAttribute attribute : entry.getExtraAttributes()) {
+                                    if (attribute.getName().equals(ServerClasspathContainer.TEST_CLASSPATH_ATTRIBUTE_VALUE)) {
+                                        decoration.setForegroundColor(ColorMap.GRAY_LIGHT);
+                                        decoration.addOverlay(JdtUiImages.DESC_OVR_LOCKED, IDecoration.TOP_LEFT);
+                                    }
+                                }
+                                break;
+                            }
+                        }
+                    }
 
-	/**
-	 * Checks if a given {@link IPackageFragment} is in the list of exported packages for the current
-	 * {@link IJavaProject}.
-	 * 
-	 * @return true if the {@link IPackageFragment} is in the list of exported packages
-	 */
-	private boolean shouldDecorateExportedPackageFragment(IPackageFragment packageFragment) {
-		IJavaProject lavaProject = packageFragment.getJavaProject();
-		return FacetUtils.isBundleProject(lavaProject.getProject())
-				&& BundleManifestCorePlugin.getBundleManifestManager()
-						.getPackageExports(lavaProject)
-						.contains(packageFragment.getElementName());
-	}
+                }
+            } catch (JavaModelException e) {
+            }
+        }
+        // class files represent a single type file in a JAR
+        else if (element instanceof IClassFile) {
+            IClassFile classFile = (IClassFile) element;
+            if (classFile.getParent() instanceof IPackageFragment) {
+                if (shouldDecorateImportedPackageFragment((IPackageFragment) classFile.getParent())) {
+                    // make light gray
+                    decoration.setForegroundColor(ColorMap.GRAY_LIGHT);
+                }
+            }
+        }
+        // decorate the class path container and add the originating target runtime
+        else if (element instanceof ClassPathContainer) {
+            ClassPathContainer container = (ClassPathContainer) element;
+            if (container.getClasspathEntry().getPath().equals(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH)) {
+                try {
+                    if (container.getJavaProject().getProject().isAccessible() && container.getJavaProject().isOpen()) {
+                        ServerClasspathContainer cpContainer = (ServerClasspathContainer) JavaCore.getClasspathContainer(
+                            ServerClasspathContainer.CLASSPATH_CONTAINER_PATH, container.getJavaProject());
+                        decoration.addSuffix(cpContainer.getDescriptionSuffix());
+                    }
+                } catch (JavaModelException e) {
+                }
+            }
+        }
+    }
 
-	/**
-	 * Checks if a given {@link IPackageFragment} is in the list of resolved imports for the current
-	 * {@link IJavaProject}.
-	 * 
-	 * @return true if the {@link IPackageFragment} is not accessible from the java project
-	 */
-	private boolean shouldDecorateImportedPackageFragment(IPackageFragment packageFragment) {
-		IPackageFragmentRoot root = (IPackageFragmentRoot) packageFragment.getParent();
-		IJavaProject javaProject = packageFragment.getJavaProject();
+    /**
+     * Checks if a given {@link IPackageFragment} is in the list of exported packages for the current
+     * {@link IJavaProject}.
+     * 
+     * @return true if the {@link IPackageFragment} is in the list of exported packages
+     */
+    private boolean shouldDecorateExportedPackageFragment(IPackageFragment packageFragment) {
+        IJavaProject lavaProject = packageFragment.getJavaProject();
+        return FacetUtils.isBundleProject(lavaProject.getProject())
+            && BundleManifestCorePlugin.getBundleManifestManager().getPackageExports(lavaProject).contains(packageFragment.getElementName());
+    }
 
-		if (!(javaProject.getProject().isAccessible() && javaProject.isOpen())) {
-			return false;
-		}
+    /**
+     * Checks if a given {@link IPackageFragment} is in the list of resolved imports for the current
+     * {@link IJavaProject}.
+     * 
+     * @return true if the {@link IPackageFragment} is not accessible from the java project
+     */
+    private boolean shouldDecorateImportedPackageFragment(IPackageFragment packageFragment) {
+        IPackageFragmentRoot root = (IPackageFragmentRoot) packageFragment.getParent();
+        IJavaProject javaProject = packageFragment.getJavaProject();
 
-		// Only decorate in bundle projects
-		if (!FacetUtils.isBundleProject(javaProject.getProject())) {
-			return false;
-		}
+        if (!(javaProject.getProject().isAccessible() && javaProject.isOpen())) {
+            return false;
+        }
 
-		try {
-			IClasspathEntry entry = root.getRawClasspathEntry();
-			if (entry.getPath().equals(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH)) {
-				if (!BundleManifestCorePlugin.getBundleManifestManager()
-						.getResolvedPackageImports(root.getJavaProject())
-						.contains(packageFragment.getElementName())) {
-					return true;
-				}
-			}
-		} catch (JavaModelException e) {
-		}
-		return false;
-	}
+        // Only decorate in bundle projects
+        if (!FacetUtils.isBundleProject(javaProject.getProject())) {
+            return false;
+        }
 
-	public void addListener(ILabelProviderListener listener) {
-		// Don't care
-	}
+        try {
+            IClasspathEntry entry = root.getRawClasspathEntry();
+            if (entry.getPath().equals(ServerClasspathContainer.CLASSPATH_CONTAINER_PATH)) {
+                if (!BundleManifestCorePlugin.getBundleManifestManager().getResolvedPackageImports(root.getJavaProject()).contains(
+                    packageFragment.getElementName())) {
+                    return true;
+                }
+            }
+        } catch (JavaModelException e) {
+        }
+        return false;
+    }
 
-	public void dispose() {
-		ColorMap.dispose();
-		JavaCore.removeElementChangedListener(changeListener);
-	}
+    public void addListener(ILabelProviderListener listener) {
+        // Don't care
+    }
 
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
+    public void dispose() {
+        ColorMap.dispose();
+        JavaCore.removeElementChangedListener(changeListener);
+    }
 
-	public void removeListener(ILabelProviderListener listener) {
-		// Don't care
-	}
+    public boolean isLabelProperty(Object element, String property) {
+        return false;
+    }
 
-	/**
-	 * Internal class used for creating {@link Color} instances.
-	 */
-	private static class ColorMap {
+    public void removeListener(ILabelProviderListener listener) {
+        // Don't care
+    }
 
-		public static final Color GRAY_LIGHT = new Color(Display.getDefault(), 145, 145, 145);
+    /**
+     * Internal class used for creating {@link Color} instances.
+     */
+    private static class ColorMap {
 
-		public static void dispose() {
-			GRAY_LIGHT.dispose();
-		}
+        public static final Color GRAY_LIGHT = new Color(Display.getDefault(), 145, 145, 145);
 
-	}
+        public static void dispose() {
+            GRAY_LIGHT.dispose();
+        }
+
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/decoration/JdtUiImages.java b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/decoration/JdtUiImages.java
index 4874d79..cf2dc5c 100644
--- a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/decoration/JdtUiImages.java
+++ b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/decoration/JdtUiImages.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.ui.decoration;
 
 import java.net.MalformedURLException;
@@ -36,131 +37,128 @@
  */
 public class JdtUiImages {
 
-	private static final String ICON_PATH_PREFIX = "icons/full/";
+    private static final String ICON_PATH_PREFIX = "icons/full/";
 
-	private static final String NAME_PREFIX = JdtUiPlugin.PLUGIN_ID + '.';
+    private static final String NAME_PREFIX = JdtUiPlugin.PLUGIN_ID + '.';
 
-	private static final int NAME_PREFIX_LENGTH = NAME_PREFIX.length();
+    private static final int NAME_PREFIX_LENGTH = NAME_PREFIX.length();
 
-	/* Declare Common paths */
-	private static URL ICON_BASE_URL = null;
+    /* Declare Common paths */
+    private static URL ICON_BASE_URL = null;
 
-	static {
-		try {
-			ICON_BASE_URL = new URL(JdtUiPlugin.getDefault().getBundle().getEntry("/"), ICON_PATH_PREFIX);
-		} catch (MalformedURLException e) {
-		}
-	}
+    static {
+        try {
+            ICON_BASE_URL = new URL(JdtUiPlugin.getDefault().getBundle().getEntry("/"), ICON_PATH_PREFIX);
+        } catch (MalformedURLException e) {
+        }
+    }
 
-	/** A table of all the <code>ImageDescriptor</code>s. */
-	private static Map<String, ImageDescriptor> imageDescriptors;
+    /** A table of all the <code>ImageDescriptor</code>s. */
+    private static Map<String, ImageDescriptor> imageDescriptors;
 
-	/** The image registry containing <code>Image</code>s. */
-	private static ImageRegistry imageRegistry;
+    /** The image registry containing <code>Image</code>s. */
+    private static ImageRegistry imageRegistry;
 
-	public static final String IMG_OVR_LOCKED = NAME_PREFIX + "locked_ovr.gif";
+    public static final String IMG_OVR_LOCKED = NAME_PREFIX + "locked_ovr.gif";
 
-	public static final String IMG_OVR_EXPORTED = NAME_PREFIX + "package_export_ovr.gif";
+    public static final String IMG_OVR_EXPORTED = NAME_PREFIX + "package_export_ovr.gif";
 
-	private final static String OVR = "ovr16/"; // basic colors -
+    private final static String OVR = "ovr16/"; // basic colors -
 
-	// size 16x16
+    // size 16x16
 
-	public static final ImageDescriptor DESC_OVR_LOCKED = createManaged(OVR, IMG_OVR_LOCKED);
+    public static final ImageDescriptor DESC_OVR_LOCKED = createManaged(OVR, IMG_OVR_LOCKED);
 
-	public static final ImageDescriptor DESC_OVR_EXPORTED = createManaged(OVR, IMG_OVR_EXPORTED);
+    public static final ImageDescriptor DESC_OVR_EXPORTED = createManaged(OVR, IMG_OVR_EXPORTED);
 
-	/**
-	 * Returns the <code>Image<code> identified by the given key,
-	 * or <code>null</code> if it does not exist.
-	 */
-	public static Image getImage(String key) {
-		return getImageRegistry().get(key);
-	}
+    /**
+     * Returns the <code>Image<code> identified by the given key,
+     * or <code>null</code> if it does not exist.
+     */
+    public static Image getImage(String key) {
+        return getImageRegistry().get(key);
+    }
 
-	/**
-	 * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions are retrieved from
-	 * the *tool16 folders.
-	 */
-	public static void setToolImageDescriptors(IAction action, String iconName) {
-		setImageDescriptors(action, "tool16", iconName);
-	}
+    /**
+     * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions are retrieved from
+     * the *tool16 folders.
+     */
+    public static void setToolImageDescriptors(IAction action, String iconName) {
+        setImageDescriptors(action, "tool16", iconName);
+    }
 
-	/**
-	 * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions are retrieved from
-	 * the *lcl16 folders.
-	 */
-	public static void setLocalImageDescriptors(IAction action, String iconName) {
-		setImageDescriptors(action, "lcl16", iconName);
-	}
+    /**
+     * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions are retrieved from
+     * the *lcl16 folders.
+     */
+    public static void setLocalImageDescriptors(IAction action, String iconName) {
+        setImageDescriptors(action, "lcl16", iconName);
+    }
 
-	/*
-	 * Helper method to access the image registry from the JavaPlugin class.
-	 */
-	/* package */static ImageRegistry getImageRegistry() {
-		if (imageRegistry == null) {
-			imageRegistry = new ImageRegistry();
-			for (String string : imageDescriptors.keySet()) {
-				String key = string;
-				imageRegistry.put(key, imageDescriptors.get(key));
-			}
-			imageDescriptors = null;
-		}
-		return imageRegistry;
-	}
+    /*
+     * Helper method to access the image registry from the JavaPlugin class.
+     */
+    /* package */static ImageRegistry getImageRegistry() {
+        if (imageRegistry == null) {
+            imageRegistry = new ImageRegistry();
+            for (String string : imageDescriptors.keySet()) {
+                String key = string;
+                imageRegistry.put(key, imageDescriptors.get(key));
+            }
+            imageDescriptors = null;
+        }
+        return imageRegistry;
+    }
 
-	// ---- Helper methods to access icons on the file system
-	// -------------------
+    // ---- Helper methods to access icons on the file system
+    // -------------------
 
-	private static void setImageDescriptors(IAction action, String type, String relPath) {
-		try {
-			ImageDescriptor id = ImageDescriptor.createFromURL(makeIconFileURL("d" + type, relPath));
-			if (id != null) {
-				action.setDisabledImageDescriptor(id);
-			}
-		} catch (MalformedURLException e) {
-		}
-		/*
-		 * try { ImageDescriptor id =
-		 * ImageDescriptor.createFromURL(makeIconFileURL( "c" + type, relPath));
-		 * if (id != null) { action.setHoverImageDescriptor(id); } } catch
-		 * (MalformedURLException e) { BeansUIPlugin.log(e); }
-		 */
-		action.setImageDescriptor(create("e" + type, relPath));
-	}
+    private static void setImageDescriptors(IAction action, String type, String relPath) {
+        try {
+            ImageDescriptor id = ImageDescriptor.createFromURL(makeIconFileURL("d" + type, relPath));
+            if (id != null) {
+                action.setDisabledImageDescriptor(id);
+            }
+        } catch (MalformedURLException e) {
+        }
+        /*
+         * try { ImageDescriptor id = ImageDescriptor.createFromURL(makeIconFileURL( "c" + type, relPath)); if (id !=
+         * null) { action.setHoverImageDescriptor(id); } } catch (MalformedURLException e) { BeansUIPlugin.log(e); }
+         */
+        action.setImageDescriptor(create("e" + type, relPath));
+    }
 
-	private static ImageDescriptor createManaged(String prefix, String name) {
-		try {
-			ImageDescriptor result = ImageDescriptor.createFromURL(makeIconFileURL(prefix,
-					name.substring(NAME_PREFIX_LENGTH)));
-			if (imageDescriptors == null) {
-				imageDescriptors = new HashMap<String, ImageDescriptor>();
-			}
-			imageDescriptors.put(name, result);
-			if (imageRegistry != null) {
-			}
-			return result;
-		} catch (MalformedURLException e) {
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
+    private static ImageDescriptor createManaged(String prefix, String name) {
+        try {
+            ImageDescriptor result = ImageDescriptor.createFromURL(makeIconFileURL(prefix, name.substring(NAME_PREFIX_LENGTH)));
+            if (imageDescriptors == null) {
+                imageDescriptors = new HashMap<String, ImageDescriptor>();
+            }
+            imageDescriptors.put(name, result);
+            if (imageRegistry != null) {
+            }
+            return result;
+        } catch (MalformedURLException e) {
+            return ImageDescriptor.getMissingImageDescriptor();
+        }
+    }
 
-	private static ImageDescriptor create(String prefix, String name) {
-		try {
-			return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name));
-		} catch (MalformedURLException e) {
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
+    private static ImageDescriptor create(String prefix, String name) {
+        try {
+            return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name));
+        } catch (MalformedURLException e) {
+            return ImageDescriptor.getMissingImageDescriptor();
+        }
+    }
 
-	private static URL makeIconFileURL(String prefix, String name) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
+    private static URL makeIconFileURL(String prefix, String name) throws MalformedURLException {
+        if (ICON_BASE_URL == null) {
+            throw new MalformedURLException();
+        }
 
-		StringBuffer buffer = new StringBuffer(prefix);
-		buffer.append('/');
-		buffer.append(name);
-		return new URL(ICON_BASE_URL, buffer.toString());
-	}
+        StringBuffer buffer = new StringBuffer(prefix);
+        buffer.append('/');
+        buffer.append(name);
+        return new URL(ICON_BASE_URL, buffer.toString());
+    }
 }
diff --git a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/properties/TestSourceFolderPreferencePage.java b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/properties/TestSourceFolderPreferencePage.java
index c086664..919aa68 100644
--- a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/properties/TestSourceFolderPreferencePage.java
+++ b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/internal/ui/properties/TestSourceFolderPreferencePage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.internal.ui.properties;
 
 import java.util.ArrayList;
@@ -55,181 +56,179 @@
 @SuppressWarnings("restriction")
 public class TestSourceFolderPreferencePage extends PropertyPage {
 
-	private IProject project;
+    private IProject project;
 
-	private boolean modified = false;
+    private boolean modified = false;
 
-	private CheckboxTableViewer listViewer;
+    private CheckboxTableViewer listViewer;
 
-	private static final int PROJECT_LIST_MULTIPLIER = 30;
+    private static final int PROJECT_LIST_MULTIPLIER = 30;
 
-	protected Control createContents(Composite parent) {
+    protected Control createContents(Composite parent) {
 
-		Font font = parent.getFont();
+        Font font = parent.getFont();
 
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		composite.setFont(font);
+        Composite composite = new Composite(parent, SWT.NONE);
+        GridLayout layout = new GridLayout();
+        composite.setLayout(layout);
+        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        composite.setFont(font);
 
-		initialize();
+        initialize();
 
-		Label description = createDescriptionLabel(composite);
-		description.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
+        Label description = createDescriptionLabel(composite);
+        description.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
 
-		listViewer = CheckboxTableViewer.newCheckList(composite, SWT.TOP | SWT.BORDER);
-		listViewer.getTable().setFont(font);
-		GridData data = new GridData(GridData.FILL_BOTH);
-		data.grabExcessHorizontalSpace = true;
+        listViewer = CheckboxTableViewer.newCheckList(composite, SWT.TOP | SWT.BORDER);
+        listViewer.getTable().setFont(font);
+        GridData data = new GridData(GridData.FILL_BOTH);
+        data.grabExcessHorizontalSpace = true;
 
-		if (project != null && !project.isOpen())
-			listViewer.getControl().setEnabled(false);
+        if (project != null && !project.isOpen())
+            listViewer.getControl().setEnabled(false);
 
-		// Only set a height hint if it will not result in a cut off dialog
-		if (DialogUtil.inRegularFontMode(parent)) {
-			data.heightHint = getDefaultFontHeight(listViewer.getTable(), PROJECT_LIST_MULTIPLIER);
-		}
-		listViewer.getTable().setLayoutData(data);
-		listViewer.getTable().setFont(font);
+        // Only set a height hint if it will not result in a cut off dialog
+        if (DialogUtil.inRegularFontMode(parent)) {
+            data.heightHint = getDefaultFontHeight(listViewer.getTable(), PROJECT_LIST_MULTIPLIER);
+        }
+        listViewer.getTable().setLayoutData(data);
+        listViewer.getTable().setFont(font);
 
-		listViewer.setLabelProvider(new ClasspathEntryLabelProvider());
-		listViewer.setContentProvider(new ClasspathEntryContentProvider());
-		listViewer.setComparator(new ViewerComparator());
-		listViewer.setInput(project);
-		listViewer.setCheckedElements(ServerModuleDelegate.getSourceClasspathEntries(project, true).toArray());
+        listViewer.setLabelProvider(new ClasspathEntryLabelProvider());
+        listViewer.setContentProvider(new ClasspathEntryContentProvider());
+        listViewer.setComparator(new ViewerComparator());
+        listViewer.setInput(project);
+        listViewer.setCheckedElements(ServerModuleDelegate.getSourceClasspathEntries(project, true).toArray());
 
-		// check for initial modification to avoid work if no changes are made
-		listViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent event) {
-				modified = true;
-			}
-		});
+        // check for initial modification to avoid work if no changes are made
+        listViewer.addCheckStateListener(new ICheckStateListener() {
 
-		return composite;
-	}
+            public void checkStateChanged(CheckStateChangedEvent event) {
+                modified = true;
+            }
+        });
 
-	private static int getDefaultFontHeight(Control control, int lines) {
-		FontData[] viewerFontData = control.getFont().getFontData();
-		int fontHeight = 10;
+        return composite;
+    }
 
-		// If we have no font data use our guess
-		if (viewerFontData.length > 0) {
-			fontHeight = viewerFontData[0].getHeight();
-		}
-		return lines * fontHeight;
+    private static int getDefaultFontHeight(Control control, int lines) {
+        FontData[] viewerFontData = control.getFont().getFontData();
+        int fontHeight = 10;
 
-	}
+        // If we have no font data use our guess
+        if (viewerFontData.length > 0) {
+            fontHeight = viewerFontData[0].getHeight();
+        }
+        return lines * fontHeight;
 
-	private void initialize() {
-		project = (IProject) getElement().getAdapter(IResource.class);
-		noDefaultAndApplyButton();
-		setDescription("Select Java source folders that contain unit and integration test classes.\nThe contents of those test folders will not get deployed to any server runtime.");
-	}
+    }
 
-	public boolean performOk() {
-		if (!modified) {
-			return true;
-		}
+    private void initialize() {
+        project = (IProject) getElement().getAdapter(IResource.class);
+        noDefaultAndApplyButton();
+        setDescription(
+            "Select Java source folders that contain unit and integration test classes.\nThe contents of those test folders will not get deployed to any server runtime.");
+    }
 
-		try {
-			List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
-			for (IClasspathEntry entry : JavaCore.create(project).getRawClasspath()) {
-				if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-					Set<IClasspathAttribute> attrs = new HashSet<IClasspathAttribute>();
-					for (IClasspathAttribute attr : entry.getExtraAttributes()) {
-						if (!attr.getName().equals(ServerModuleDelegate.TEST_CLASSPATH_ENTRY_ATTRIBUTE)) {
-							attrs.add(attr);
-						}
-					}
-					attrs.add(getClasspathAttribute(entry));
+    public boolean performOk() {
+        if (!modified) {
+            return true;
+        }
 
-					entries.add(JavaCore.newSourceEntry(entry.getPath(), entry.getInclusionPatterns(),
-							entry.getExclusionPatterns(), entry.getOutputLocation(),
-							(IClasspathAttribute[]) attrs.toArray(new IClasspathAttribute[attrs.size()])));
-				} else {
-					entries.add(entry);
-				}
-			}
+        try {
+            List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>();
+            for (IClasspathEntry entry : JavaCore.create(project).getRawClasspath()) {
+                if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
+                    Set<IClasspathAttribute> attrs = new HashSet<IClasspathAttribute>();
+                    for (IClasspathAttribute attr : entry.getExtraAttributes()) {
+                        if (!attr.getName().equals(ServerModuleDelegate.TEST_CLASSPATH_ENTRY_ATTRIBUTE)) {
+                            attrs.add(attr);
+                        }
+                    }
+                    attrs.add(getClasspathAttribute(entry));
 
-			JavaCore.create(project)
-					.setRawClasspath((IClasspathEntry[]) entries.toArray(new IClasspathEntry[entries.size()]),
-							new NullProgressMonitor());
-		} catch (JavaModelException e) {
-		}
+                    entries.add(JavaCore.newSourceEntry(entry.getPath(), entry.getInclusionPatterns(), entry.getExclusionPatterns(),
+                        entry.getOutputLocation(), (IClasspathAttribute[]) attrs.toArray(new IClasspathAttribute[attrs.size()])));
+                } else {
+                    entries.add(entry);
+                }
+            }
 
-		return true;
-	}
+            JavaCore.create(project).setRawClasspath((IClasspathEntry[]) entries.toArray(new IClasspathEntry[entries.size()]),
+                new NullProgressMonitor());
+        } catch (JavaModelException e) {
+        }
 
-	private IClasspathAttribute getClasspathAttribute(IClasspathEntry entry) {
-		IClasspathAttribute testFolderAttribute = JavaCore.newClasspathAttribute(
-				ServerModuleDelegate.TEST_CLASSPATH_ENTRY_ATTRIBUTE, "true"); //$NON-NLS-1$
-		IClasspathAttribute sourceFolderAttribute = JavaCore.newClasspathAttribute(
-				ServerModuleDelegate.TEST_CLASSPATH_ENTRY_ATTRIBUTE, "false"); //$NON-NLS-1$
+        return true;
+    }
 
-		Object[] testFolders = listViewer.getCheckedElements();
-		for (Object testFolder : testFolders) {
-			if (((IClasspathEntry) testFolder).getPath().equals(entry.getPath())) {
-				return testFolderAttribute;
-			}
-		}
-		return sourceFolderAttribute;
-	}
+    private IClasspathAttribute getClasspathAttribute(IClasspathEntry entry) {
+        IClasspathAttribute testFolderAttribute = JavaCore.newClasspathAttribute(ServerModuleDelegate.TEST_CLASSPATH_ENTRY_ATTRIBUTE, "true"); //$NON-NLS-1$
+        IClasspathAttribute sourceFolderAttribute = JavaCore.newClasspathAttribute(ServerModuleDelegate.TEST_CLASSPATH_ENTRY_ATTRIBUTE, "false"); //$NON-NLS-1$
 
-	class ClasspathEntryLabelProvider implements ILabelProvider {
+        Object[] testFolders = listViewer.getCheckedElements();
+        for (Object testFolder : testFolders) {
+            if (((IClasspathEntry) testFolder).getPath().equals(entry.getPath())) {
+                return testFolderAttribute;
+            }
+        }
+        return sourceFolderAttribute;
+    }
 
-		public Image getImage(Object element) {
-			return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_PACKFRAG_ROOT);
-		}
+    class ClasspathEntryLabelProvider implements ILabelProvider {
 
-		public String getText(Object element) {
-			return ((IClasspathEntry) element).getPath().toString().substring(1);
-		}
+        public Image getImage(Object element) {
+            return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_PACKFRAG_ROOT);
+        }
 
-		public void addListener(ILabelProviderListener listener) {
-			// nothing to do
-		}
+        public String getText(Object element) {
+            return ((IClasspathEntry) element).getPath().toString().substring(1);
+        }
 
-		public void dispose() {
-			// nothing to do
-		}
+        public void addListener(ILabelProviderListener listener) {
+            // nothing to do
+        }
 
-		public boolean isLabelProperty(Object element, String property) {
-			// nothing to do
-			return false;
-		}
+        public void dispose() {
+            // nothing to do
+        }
 
-		public void removeListener(ILabelProviderListener listener) {
-			// nothing to do
-		}
+        public boolean isLabelProperty(Object element, String property) {
+            // nothing to do
+            return false;
+        }
 
-	}
+        public void removeListener(ILabelProviderListener listener) {
+            // nothing to do
+        }
 
-	class ClasspathEntryContentProvider implements IStructuredContentProvider {
+    }
 
-		public Object[] getElements(Object inputElement) {
-			if (inputElement instanceof IProject) {
-				List<IClasspathEntry> sourceFolders = new ArrayList<IClasspathEntry>();
-				try {
-					for (IClasspathEntry entry : JavaCore.create(project).getRawClasspath()) {
-						if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-							sourceFolders.add(entry);
-						}
-					}
-					return sourceFolders.toArray(new IClasspathEntry[sourceFolders.size()]);
-				} catch (JavaModelException e) {
-				}
-			}
-			return new Object[0];
-		}
+    class ClasspathEntryContentProvider implements IStructuredContentProvider {
 
-		public void dispose() {
-			// nothing to do
-		}
+        public Object[] getElements(Object inputElement) {
+            if (inputElement instanceof IProject) {
+                List<IClasspathEntry> sourceFolders = new ArrayList<IClasspathEntry>();
+                try {
+                    for (IClasspathEntry entry : JavaCore.create(project).getRawClasspath()) {
+                        if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
+                            sourceFolders.add(entry);
+                        }
+                    }
+                    return sourceFolders.toArray(new IClasspathEntry[sourceFolders.size()]);
+                } catch (JavaModelException e) {
+                }
+            }
+            return new Object[0];
+        }
 
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			// nothing to do
-		}
-	}
+        public void dispose() {
+            // nothing to do
+        }
+
+        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+            // nothing to do
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/ui/JdtUiPlugin.java b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/ui/JdtUiPlugin.java
index f2a9acb..a69f2af 100644
--- a/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/ui/JdtUiPlugin.java
+++ b/org.eclipse.virgo.ide.jdt.ui/src/org/eclipse/virgo/ide/jdt/ui/JdtUiPlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.jdt.ui;
 
 import org.eclipse.ui.plugin.AbstractUIPlugin;
@@ -21,27 +22,27 @@
  */
 public class JdtUiPlugin extends AbstractUIPlugin {
 
-	/** The bundle-symbolic name */
-	public static final String PLUGIN_ID = "org.eclipse.virgo.ide.jdt.ui";
+    /** The bundle-symbolic name */
+    public static final String PLUGIN_ID = "org.eclipse.virgo.ide.jdt.ui";
 
-	/** Id for the decorator */
-	public static final String DECORATOR_ID = PLUGIN_ID + ".notAccessibleJavaElementDecorator";
+    /** Id for the decorator */
+    public static final String DECORATOR_ID = PLUGIN_ID + ".notAccessibleJavaElementDecorator";
 
-	// The shared instance
-	private static JdtUiPlugin plugin;
+    // The shared instance
+    private static JdtUiPlugin plugin;
 
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
+    public void start(BundleContext context) throws Exception {
+        super.start(context);
+        plugin = this;
+    }
 
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
+    public void stop(BundleContext context) throws Exception {
+        plugin = null;
+        super.stop(context);
+    }
 
-	public static JdtUiPlugin getDefault() {
-		return plugin;
-	}
+    public static JdtUiPlugin getDefault() {
+        return plugin;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.management.remote/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.management.remote/.settings/org.eclipse.jdt.core.prefs
index 2f4bf7b..6fe4bd1 100644
--- a/org.eclipse.virgo.ide.management.remote/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.management.remote/.settings/org.eclipse.jdt.core.prefs
@@ -7,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -81,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -120,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -157,18 +162,17 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -216,6 +220,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -234,12 +239,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -263,6 +270,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -290,6 +298,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -318,6 +327,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -327,6 +337,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -342,15 +353,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.management.remote/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.management.remote/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.management.remote/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.management.remote/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/Bundle.java b/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/Bundle.java
index 1593a3c..585f13d 100644
--- a/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/Bundle.java
+++ b/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/Bundle.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource, a divison of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.management.remote;
 
 import java.io.Serializable;
@@ -21,93 +22,93 @@
  */
 public class Bundle implements Serializable {
 
-	private static final long serialVersionUID = 228698327431610457L;
+    private static final long serialVersionUID = 228698327431610457L;
 
-	private final Set<PackageExport> exports = new HashSet<PackageExport>();
+    private final Set<PackageExport> exports = new HashSet<PackageExport>();
 
-	private final String id;
+    private final String id;
 
-	private final Set<PackageImport> imports = new HashSet<PackageImport>();
+    private final Set<PackageImport> imports = new HashSet<PackageImport>();
 
-	private final String state;
+    private final String state;
 
-	private final String symbolicName;
+    private final String symbolicName;
 
-	private final String version;
+    private final String version;
 
-	private final String location;
+    private final String location;
 
-	private final Map<String, String> headers = new HashMap<String, String>();
+    private final Map<String, String> headers = new HashMap<String, String>();
 
-	private final Set<ServiceReference> registeredServices = new HashSet<ServiceReference>();
+    private final Set<ServiceReference> registeredServices = new HashSet<ServiceReference>();
 
-	private final Set<ServiceReference> servicesInUse = new HashSet<ServiceReference>();
+    private final Set<ServiceReference> servicesInUse = new HashSet<ServiceReference>();
 
-	public Bundle(String id, String symbolicName, String version, String state, String location) {
-		this.symbolicName = symbolicName;
-		this.version = version;
-		this.id = id;
-		this.state = state;
-		this.location = location;
-	}
+    public Bundle(String id, String symbolicName, String version, String state, String location) {
+        this.symbolicName = symbolicName;
+        this.version = version;
+        this.id = id;
+        this.state = state;
+        this.location = location;
+    }
 
-	public Map<String, String> getHeaders() {
-		return headers;
-	}
+    public Map<String, String> getHeaders() {
+        return this.headers;
+    }
 
-	public Set<PackageExport> getPackageExports() {
-		return exports;
-	}
+    public Set<PackageExport> getPackageExports() {
+        return this.exports;
+    }
 
-	public String getId() {
-		return id;
-	}
+    public String getId() {
+        return this.id;
+    }
 
-	public Set<PackageImport> getPackageImports() {
-		return imports;
-	}
+    public Set<PackageImport> getPackageImports() {
+        return this.imports;
+    }
 
-	public String getState() {
-		return state;
-	}
+    public String getState() {
+        return this.state;
+    }
 
-	public String getSymbolicName() {
-		return symbolicName;
-	}
+    public String getSymbolicName() {
+        return this.symbolicName;
+    }
 
-	public String getVersion() {
-		return version;
-	}
+    public String getVersion() {
+        return this.version;
+    }
 
-	public void addPackageExport(PackageExport pe) {
-		this.exports.add(pe);
-	}
+    public void addPackageExport(PackageExport pe) {
+        this.exports.add(pe);
+    }
 
-	public void addPackageImport(PackageImport pi) {
-		this.imports.add(pi);
-	}
+    public void addPackageImport(PackageImport pi) {
+        this.imports.add(pi);
+    }
 
-	public void addRegisteredService(ServiceReference pi) {
-		this.registeredServices.add(pi);
-	}
+    public void addRegisteredService(ServiceReference pi) {
+        this.registeredServices.add(pi);
+    }
 
-	public void addUsingService(ServiceReference pi) {
-		this.servicesInUse.add(pi);
-	}
+    public void addUsingService(ServiceReference pi) {
+        this.servicesInUse.add(pi);
+    }
 
-	public void addHeader(String key, String value) {
-		this.headers.put(key, value);
-	}
+    public void addHeader(String key, String value) {
+        this.headers.put(key, value);
+    }
 
-	public String getLocation() {
-		return location;
-	}
+    public String getLocation() {
+        return this.location;
+    }
 
-	public Set<ServiceReference> getRegisteredServices() {
-		return registeredServices;
-	}
+    public Set<ServiceReference> getRegisteredServices() {
+        return this.registeredServices;
+    }
 
-	public Set<ServiceReference> getServicesInUse() {
-		return servicesInUse;
-	}
+    public Set<ServiceReference> getServicesInUse() {
+        return this.servicesInUse;
+    }
 }
diff --git a/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/BundleAdmin.java b/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/BundleAdmin.java
index 2758538..acf2302 100644
--- a/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/BundleAdmin.java
+++ b/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/BundleAdmin.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource, a divison of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.management.remote;
 
 import java.util.Map;
@@ -17,8 +18,8 @@
  */
 public interface BundleAdmin {
 
-	Map<Long, Bundle> retrieveBundles();
+    Map<Long, Bundle> retrieveBundles();
 
-	String execute(String cmdLine);
+    String execute(String cmdLine);
 
 }
diff --git a/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/PackageExport.java b/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/PackageExport.java
index a836066..b209793 100644
--- a/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/PackageExport.java
+++ b/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/PackageExport.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource, a divison of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.management.remote;
 
 import java.io.Serializable;
@@ -17,29 +18,29 @@
  */
 public class PackageExport implements Serializable {
 
-	private static final long serialVersionUID = -4798012781542524159L;
+    private static final long serialVersionUID = -4798012781542524159L;
 
-	private final String name;
+    private final String name;
 
-	private final String version;
+    private final String version;
 
-	public PackageExport(String name, String version) {
-		this.name = name;
-		this.version = version;
-	}
+    public PackageExport(String name, String version) {
+        this.name = name;
+        this.version = version;
+    }
 
-	/**
-	 * @return the name
-	 */
-	public String getName() {
-		return name;
-	}
+    /**
+     * @return the name
+     */
+    public String getName() {
+        return this.name;
+    }
 
-	/**
-	 * @return the version
-	 */
-	public String getVersion() {
-		return version;
-	}
+    /**
+     * @return the version
+     */
+    public String getVersion() {
+        return this.version;
+    }
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/PackageImport.java b/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/PackageImport.java
index e05688f..0027882 100644
--- a/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/PackageImport.java
+++ b/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/PackageImport.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource, a divison of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.management.remote;
 
 import java.io.Serializable;
@@ -17,39 +18,39 @@
  */
 public class PackageImport implements Serializable {
 
-	private static final long serialVersionUID = 8376491037926415151L;
+    private static final long serialVersionUID = 8376491037926415151L;
 
-	private final String name;
+    private final String name;
 
-	private final String version;
+    private final String version;
 
-	private final String supplierId;
+    private final String supplierId;
 
-	public PackageImport(String name, String version, String supplierId) {
-		this.name = name;
-		this.version = version;
-		this.supplierId = supplierId;
-	}
+    public PackageImport(String name, String version, String supplierId) {
+        this.name = name;
+        this.version = version;
+        this.supplierId = supplierId;
+    }
 
-	/**
-	 * @return the name
-	 */
-	public String getName() {
-		return name;
-	}
+    /**
+     * @return the name
+     */
+    public String getName() {
+        return this.name;
+    }
 
-	/**
-	 * @return the version
-	 */
-	public String getVersion() {
-		return version;
-	}
+    /**
+     * @return the version
+     */
+    public String getVersion() {
+        return this.version;
+    }
 
-	/**
-	 * @return the supplierId
-	 */
-	public String getSupplierId() {
-		return supplierId;
-	}
+    /**
+     * @return the supplierId
+     */
+    public String getSupplierId() {
+        return this.supplierId;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/ServiceReference.java b/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/ServiceReference.java
index 01dff3e..d4720bc 100644
--- a/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/ServiceReference.java
+++ b/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/ServiceReference.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource, a divison of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.management.remote;
 
 import java.io.Serializable;
@@ -21,56 +22,56 @@
  */
 public class ServiceReference implements Serializable {
 
-	public enum Type {
-		IN_USE, REGISTERED
-	}
+    public enum Type {
+        IN_USE, REGISTERED
+    }
 
-	private static final long serialVersionUID = -4896924600246187914L;
+    private static final long serialVersionUID = -4896924600246187914L;
 
-	private final Long bundleId;
+    private final Long bundleId;
 
-	private final String[] clazzes;
+    private final String[] clazzes;
 
-	private final Map<String, String> properties = new HashMap<String, String>();
+    private final Map<String, String> properties = new HashMap<String, String>();
 
-	private final Set<Long> usingBundles = new HashSet<Long>();
+    private final Set<Long> usingBundles = new HashSet<Long>();
 
-	private final Type type;
+    private final Type type;
 
-	public ServiceReference(Type type, Long bundleId, String[] clazzes) {
-		this.bundleId = bundleId;
-		this.clazzes = clazzes;
-		this.type = type;
-	}
+    public ServiceReference(Type type, Long bundleId, String[] clazzes) {
+        this.bundleId = bundleId;
+        this.clazzes = clazzes;
+        this.type = type;
+    }
 
-	public Map<String, String> getProperties() {
-		return properties;
-	}
+    public Map<String, String> getProperties() {
+        return this.properties;
+    }
 
-	public String[] getClazzes() {
-		return clazzes;
-	}
+    public String[] getClazzes() {
+        return this.clazzes;
+    }
 
-	public Set<Long> getUsingBundleIds() {
-		return usingBundles;
-	}
+    public Set<Long> getUsingBundleIds() {
+        return this.usingBundles;
+    }
 
-	public void addProperty(String key, String value) {
-		this.properties.put(key, value);
-	}
+    public void addProperty(String key, String value) {
+        this.properties.put(key, value);
+    }
 
-	public void addUsingBundle(Long id) {
-		this.usingBundles.add(id);
-	}
+    public void addUsingBundle(Long id) {
+        this.usingBundles.add(id);
+    }
 
-	public Long getBundleId() {
-		return bundleId;
-	}
+    public Long getBundleId() {
+        return this.bundleId;
+    }
 
-	/**
-	 * @return the type
-	 */
-	public Type getType() {
-		return type;
-	}
+    /**
+     * @return the type
+     */
+    public Type getType() {
+        return this.type;
+    }
 }
diff --git a/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/StandardBundleAdmin.java b/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/StandardBundleAdmin.java
index f762aee..10f4918 100644
--- a/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/StandardBundleAdmin.java
+++ b/org.eclipse.virgo.ide.management.remote/src/org/eclipse/virgo/ide/management/remote/StandardBundleAdmin.java
@@ -4,11 +4,12 @@
  * 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:
  *     SpringSource, a divison of VMware, Inc. - initial API and implementation
  *     SAP AG - support for new equinox console
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.management.remote;
 
 import java.io.ByteArrayOutputStream;
@@ -23,7 +24,6 @@
 
 import org.apache.felix.service.command.CommandProcessor;
 import org.apache.felix.service.command.CommandSession;
-import org.eclipse.gemini.blueprint.util.OsgiServiceReferenceUtils;
 import org.eclipse.osgi.service.resolver.BundleDescription;
 import org.eclipse.osgi.service.resolver.ExportPackageDescription;
 import org.eclipse.osgi.service.resolver.PlatformAdmin;
@@ -31,8 +31,6 @@
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 import org.osgi.util.tracker.ServiceTracker;
-import org.springframework.jmx.export.annotation.ManagedOperation;
-import org.springframework.jmx.export.annotation.ManagedResource;
 
 /**
  * @author Christian Dupuis
@@ -40,183 +38,178 @@
 @ManagedResource(objectName = "org.eclipse.virgo.kernel:type=BundleAdmin", description = "Virgo IDE Connector Bean")
 public class StandardBundleAdmin implements BundleAdmin {
 
-	private final PlatformAdmin platformAdmin;
+    private final PlatformAdmin platformAdmin;
 
-	private final BundleContext bundleContext;
+    private final BundleContext bundleContext;
 
-	private final ServiceTracker<CommandProcessor, CommandProcessor> commandProcessorTracker;
+    private final ServiceTracker<CommandProcessor, CommandProcessor> commandProcessorTracker;
 
-	public StandardBundleAdmin(PlatformAdmin platformAdmin, /*PackageAdmin packageAdmin,*/BundleContext bundleContext) {
-		this.platformAdmin = platformAdmin;
-		this.bundleContext = bundleContext;
-		this.commandProcessorTracker = new ServiceTracker<CommandProcessor, CommandProcessor>(bundleContext,
-				CommandProcessor.class, null);
-		this.commandProcessorTracker.open();
-	}
+    public StandardBundleAdmin(PlatformAdmin platformAdmin, /* PackageAdmin packageAdmin, */BundleContext bundleContext) {
+        this.platformAdmin = platformAdmin;
+        this.bundleContext = bundleContext;
+        this.commandProcessorTracker = new ServiceTracker<CommandProcessor, CommandProcessor>(bundleContext, CommandProcessor.class, null);
+        this.commandProcessorTracker.open();
+    }
 
-	@ManagedOperation(description = "Stop the given bundle")
-	public void stop(long bundleId) {
-		execute("stop " + bundleId);
-	}
+    @ManagedOperation(description = "Stop the given bundle")
+    public void stop(long bundleId) {
+        execute("stop " + bundleId);
+    }
 
-	@ManagedOperation(description = "Start the given bundle")
-	public void start(long bundleId) {
-		execute("start " + bundleId);
-	}
+    @ManagedOperation(description = "Start the given bundle")
+    public void start(long bundleId) {
+        execute("start " + bundleId);
+    }
 
-	@ManagedOperation(description = "Refresh the given bundle")
-	public void refresh(long bundleId) {
-		execute("refresh " + bundleId);
-	}
+    @ManagedOperation(description = "Refresh the given bundle")
+    public void refresh(long bundleId) {
+        execute("refresh " + bundleId);
+    }
 
-	@ManagedOperation(description = "Refresh the given bundle")
-	public void update(long bundleId) {
-		execute("update " + bundleId);
-	}
+    @ManagedOperation(description = "Refresh the given bundle")
+    public void update(long bundleId) {
+        execute("update " + bundleId);
+    }
 
-	@ManagedOperation(description = "Executes the given command")
-	public String execute(String cmdLine) {
-		@SuppressWarnings("deprecation")
-		StringBufferInputStream in = new StringBufferInputStream("");
-		ByteArrayOutputStream output = new ByteArrayOutputStream();
-		PrintStream out = new PrintStream(output);
+    @ManagedOperation(description = "Executes the given command")
+    public String execute(String cmdLine) {
+        @SuppressWarnings("deprecation")
+        StringBufferInputStream in = new StringBufferInputStream("");
+        ByteArrayOutputStream output = new ByteArrayOutputStream();
+        PrintStream out = new PrintStream(output);
 
-		try {
-			CommandProcessor commandProcessor = commandProcessorTracker.getService();
-			if (commandProcessor != null) {
-				CommandSession commandSession = commandProcessor.createSession(in, out, out);
-				Object result = null;
-				try {
-					result = commandSession.execute(cmdLine);
-				} catch (Exception e) {
-					e.printStackTrace(out);
-					return output.toString();
-				}
-				if (result == null) {
-					result = "";
-				}
-				return output.toString() + "\n" + result.toString();
-			}
-			return "No CommandProcessor registered; cannot execute commands";
-		} finally {
-			try {
-				out.close();
-				output.close();
-			} catch (IOException e) {
-			}
-		}
-	}
+        try {
+            CommandProcessor commandProcessor = this.commandProcessorTracker.getService();
+            if (commandProcessor != null) {
+                CommandSession commandSession = commandProcessor.createSession(in, out, out);
+                Object result = null;
+                try {
+                    result = commandSession.execute(cmdLine);
+                } catch (Exception e) {
+                    e.printStackTrace(out);
+                    return output.toString();
+                }
+                if (result == null) {
+                    result = "";
+                }
+                return output.toString() + "\n" + result.toString();
+            }
+            return "No CommandProcessor registered; cannot execute commands";
+        } finally {
+            try {
+                out.close();
+                output.close();
+            } catch (IOException e) {
+            }
+        }
+    }
 
-	@ManagedOperation(description = "Returns the current OSGi Bundles")
-	public Map<Long, Bundle> retrieveBundles() {
-		Map<Long, Bundle> bundles = new HashMap<Long, Bundle>();
-		for (org.osgi.framework.Bundle b : bundleContext.getBundles()) {
+    @ManagedOperation(description = "Returns the current OSGi Bundles")
+    public Map<Long, Bundle> retrieveBundles() {
+        Map<Long, Bundle> bundles = new HashMap<Long, Bundle>();
+        for (org.osgi.framework.Bundle b : this.bundleContext.getBundles()) {
 
-			Object version = b.getHeaders().get("Bundle-Version");
-			Bundle bundle = new Bundle(Long.toString(b.getBundleId()), b.getSymbolicName(), (version != null
-					? version.toString()
-					: "0"), getState(b), b.getLocation());
+            Object version = b.getHeaders().get("Bundle-Version");
+            Bundle bundle = new Bundle(Long.toString(b.getBundleId()), b.getSymbolicName(), version != null ? version.toString() : "0", getState(b),
+                b.getLocation());
 
-			Dictionary<?, ?> headers = b.getHeaders();
-			Enumeration<?> keys = headers.keys();
-			while (keys.hasMoreElements()) {
-				Object key = keys.nextElement();
-				Object value = headers.get(key);
-				bundle.addHeader(key.toString(), value.toString());
-			}
+            Dictionary<?, ?> headers = b.getHeaders();
+            Enumeration<?> keys = headers.keys();
+            while (keys.hasMoreElements()) {
+                Object key = keys.nextElement();
+                Object value = headers.get(key);
+                bundle.addHeader(key.toString(), value.toString());
+            }
 
-			BundleDescription bundleDescription = platformAdmin.getState(false).getBundle(b.getBundleId());
+            BundleDescription bundleDescription = this.platformAdmin.getState(false).getBundle(b.getBundleId());
 
-			ExportPackageDescription[] exportedPackages = bundleDescription.getExportPackages();
+            ExportPackageDescription[] exportedPackages = bundleDescription.getExportPackages();
 
-			if (exportedPackages != null) {
-				for (ExportPackageDescription exportedPackage : exportedPackages) {
-					PackageExport packageExport = new PackageExport(exportedPackage.getName(),
-							(exportedPackage.getVersion() != null ? exportedPackage.getVersion().toString() : "0"));
-					bundle.addPackageExport(packageExport);
-				}
-			}
+            if (exportedPackages != null) {
+                for (ExportPackageDescription exportedPackage : exportedPackages) {
+                    PackageExport packageExport = new PackageExport(exportedPackage.getName(),
+                        exportedPackage.getVersion() != null ? exportedPackage.getVersion().toString() : "0");
+                    bundle.addPackageExport(packageExport);
+                }
+            }
 
-			ExportPackageDescription[] visiblePackages = platformAdmin.getStateHelper().getVisiblePackages(
-					bundleDescription);
+            ExportPackageDescription[] visiblePackages = this.platformAdmin.getStateHelper().getVisiblePackages(bundleDescription);
 
-			if (visiblePackages != null) {
-				for (ExportPackageDescription visiblePackage : visiblePackages) {
-					PackageImport packageImport = new PackageImport(visiblePackage.getName(),
-							(visiblePackage.getVersion() != null ? visiblePackage.getVersion().toString() : "0"),
-							Long.toString(visiblePackage.getSupplier().getBundleId()));
-					bundle.addPackageImport(packageImport);
-				}
-			}
+            if (visiblePackages != null) {
+                for (ExportPackageDescription visiblePackage : visiblePackages) {
+                    PackageImport packageImport = new PackageImport(visiblePackage.getName(),
+                        visiblePackage.getVersion() != null ? visiblePackage.getVersion().toString() : "0",
+                        Long.toString(visiblePackage.getSupplier().getBundleId()));
+                    bundle.addPackageImport(packageImport);
+                }
+            }
 
-			if (b.getRegisteredServices() != null) {
-				for (ServiceReference ref : b.getRegisteredServices()) {
-					org.eclipse.virgo.ide.management.remote.ServiceReference reference = new org.eclipse.virgo.ide.management.remote.ServiceReference(
-							Type.REGISTERED, ref.getBundle().getBundleId(),
-							OsgiServiceReferenceUtils.getServiceObjectClasses(ref));
-					Map<?, ?> props = OsgiServiceReferenceUtils.getServicePropertiesAsMap(ref);
-					for (Object key : props.keySet()) {
-						String value = props.get(key).toString();
-						if (props.get(key).getClass().isArray()) {
-							value = Arrays.deepToString((Object[]) props.get(key));
-						}
-						reference.addProperty(key.toString(), value);
-					}
+            if (b.getRegisteredServices() != null) {
+                for (ServiceReference ref : b.getRegisteredServices()) {
+                    org.eclipse.virgo.ide.management.remote.ServiceReference reference = new org.eclipse.virgo.ide.management.remote.ServiceReference(
+                        Type.REGISTERED, ref.getBundle().getBundleId(), OsgiServiceReferenceUtils.getServiceObjectClasses(ref));
+                    Map<?, ?> props = OsgiServiceReferenceUtils.getServicePropertiesAsMap(ref);
+                    for (Object key : props.keySet()) {
+                        String value = props.get(key).toString();
+                        if (props.get(key).getClass().isArray()) {
+                            value = Arrays.deepToString((Object[]) props.get(key));
+                        }
+                        reference.addProperty(key.toString(), value);
+                    }
 
-					if (ref.getUsingBundles() != null) {
-						for (org.osgi.framework.Bundle usingBundle : ref.getUsingBundles()) {
-							reference.addUsingBundle(usingBundle.getBundleId());
-						}
-					}
-					bundle.addRegisteredService(reference);
-				}
-			}
+                    if (ref.getUsingBundles() != null) {
+                        for (org.osgi.framework.Bundle usingBundle : ref.getUsingBundles()) {
+                            reference.addUsingBundle(usingBundle.getBundleId());
+                        }
+                    }
+                    bundle.addRegisteredService(reference);
+                }
+            }
 
-			if (b.getServicesInUse() != null) {
-				for (ServiceReference ref : b.getServicesInUse()) {
-					org.eclipse.virgo.ide.management.remote.ServiceReference reference = new org.eclipse.virgo.ide.management.remote.ServiceReference(
-							Type.IN_USE, ref.getBundle().getBundleId(),
-							OsgiServiceReferenceUtils.getServiceObjectClasses(ref));
-					Map<?, ?> props = OsgiServiceReferenceUtils.getServicePropertiesAsMap(ref);
-					for (Object key : props.keySet()) {
-						String value = props.get(key).toString();
-						if (props.get(key).getClass().isArray()) {
-							value = Arrays.deepToString((Object[]) props.get(key));
-						}
-						reference.addProperty(key.toString(), value);
-					}
+            if (b.getServicesInUse() != null) {
+                for (ServiceReference ref : b.getServicesInUse()) {
+                    org.eclipse.virgo.ide.management.remote.ServiceReference reference = new org.eclipse.virgo.ide.management.remote.ServiceReference(
+                        Type.IN_USE, ref.getBundle().getBundleId(), OsgiServiceReferenceUtils.getServiceObjectClasses(ref));
+                    Map<?, ?> props = OsgiServiceReferenceUtils.getServicePropertiesAsMap(ref);
+                    for (Object key : props.keySet()) {
+                        String value = props.get(key).toString();
+                        if (props.get(key).getClass().isArray()) {
+                            value = Arrays.deepToString((Object[]) props.get(key));
+                        }
+                        reference.addProperty(key.toString(), value);
+                    }
 
-					if (ref.getUsingBundles() != null) {
-						for (org.osgi.framework.Bundle usingBundle : ref.getUsingBundles()) {
-							reference.addUsingBundle(usingBundle.getBundleId());
-						}
-					}
-					bundle.addUsingService(reference);
-				}
-			}
+                    if (ref.getUsingBundles() != null) {
+                        for (org.osgi.framework.Bundle usingBundle : ref.getUsingBundles()) {
+                            reference.addUsingBundle(usingBundle.getBundleId());
+                        }
+                    }
+                    bundle.addUsingService(reference);
+                }
+            }
 
-			bundles.put(Long.valueOf(bundle.getId()), bundle);
-		}
-		return bundles;
-	}
+            bundles.put(Long.valueOf(bundle.getId()), bundle);
+        }
+        return bundles;
+    }
 
-	private String getState(org.osgi.framework.Bundle b) {
-		switch (b.getState()) {
-		case org.osgi.framework.Bundle.ACTIVE:
-			return "ACTIVE";
-		case org.osgi.framework.Bundle.INSTALLED:
-			return "INSTALLED";
-		case org.osgi.framework.Bundle.RESOLVED:
-			return "RESOLVED";
-		case org.osgi.framework.Bundle.STARTING:
-			return "STARTING";
-		case org.osgi.framework.Bundle.STOPPING:
-			return "";
-		case org.osgi.framework.Bundle.UNINSTALLED:
-			return "UNINSTALLED";
-		default:
-			return "UNKNOWN";
-		}
-	}
+    private String getState(org.osgi.framework.Bundle b) {
+        switch (b.getState()) {
+            case org.osgi.framework.Bundle.ACTIVE:
+                return "ACTIVE";
+            case org.osgi.framework.Bundle.INSTALLED:
+                return "INSTALLED";
+            case org.osgi.framework.Bundle.RESOLVED:
+                return "RESOLVED";
+            case org.osgi.framework.Bundle.STARTING:
+                return "STARTING";
+            case org.osgi.framework.Bundle.STOPPING:
+                return "";
+            case org.osgi.framework.Bundle.UNINSTALLED:
+                return "UNINSTALLED";
+            default:
+                return "UNKNOWN";
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.manifest.core/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.manifest.core/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.manifest.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.manifest.core/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.manifest.core/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.manifest.core/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.manifest.core/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/BundleManifestCoreMessages.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/BundleManifestCoreMessages.java
index 153962a..c1e4e32 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/BundleManifestCoreMessages.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/BundleManifestCoreMessages.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core;
 
 import org.eclipse.osgi.util.NLS;
@@ -17,101 +18,101 @@
  */
 public class BundleManifestCoreMessages extends NLS {
 
-	private static final String BUNDLE_NAME = "org.eclipse.virgo.ide.manifest.core.messages";
+    private static final String BUNDLE_NAME = "org.eclipse.virgo.ide.manifest.core.messages";
 
-	static {
-		// load message values from bundle file
-		NLS.initializeMessages(BUNDLE_NAME, BundleManifestCoreMessages.class);
-	}
+    static {
+        // load message values from bundle file
+        NLS.initializeMessages(BUNDLE_NAME, BundleManifestCoreMessages.class);
+    }
 
-	public static String BundleErrorReporter_lineTooLong;
+    public static String BundleErrorReporter_lineTooLong;
 
-	public static String BundleErrorReporter_noMainSection;
+    public static String BundleErrorReporter_noMainSection;
 
-	public static String BundleErrorReporter_duplicateHeader;
+    public static String BundleErrorReporter_duplicateHeader;
 
-	public static String BundleErrorReporter_noColon;
+    public static String BundleErrorReporter_noColon;
 
-	public static String BundleErrorReporter_noSpaceValue;
+    public static String BundleErrorReporter_noSpaceValue;
 
-	public static String BundleErrorReporter_nameHeaderInMain;
+    public static String BundleErrorReporter_nameHeaderInMain;
 
-	public static String BundleErrorReporter_noNameHeader;
+    public static String BundleErrorReporter_noNameHeader;
 
-	public static String BundleErrorReporter_invalidHeaderName;
+    public static String BundleErrorReporter_invalidHeaderName;
 
-	public static String BundleErrorReporter_noLineTermination;
+    public static String BundleErrorReporter_noLineTermination;
 
-	public static String BundleErrorReporter_parseHeader;
+    public static String BundleErrorReporter_parseHeader;
 
-	public static String BundleErrorReporter_att_value;
+    public static String BundleErrorReporter_att_value;
 
-	public static String BundleErrorReporter_dir_value;
+    public static String BundleErrorReporter_dir_value;
 
-	public static String BundleErrorReporter_illegal_value;
+    public static String BundleErrorReporter_illegal_value;
 
-	public static String BundleErrorReporter_deprecated_attribute_optional;
+    public static String BundleErrorReporter_deprecated_attribute_optional;
 
-	public static String BundleErrorReporter_deprecated_attribute_reprovide;
+    public static String BundleErrorReporter_deprecated_attribute_reprovide;
 
-	public static String BundleErrorReporter_deprecated_attribute_singleton;
+    public static String BundleErrorReporter_deprecated_attribute_singleton;
 
-	public static String BundleErrorReporter_deprecated_attribute_specification_version;
+    public static String BundleErrorReporter_deprecated_attribute_specification_version;
 
-	public static String BundleErrorReporter_directive_hasNoEffectWith_;
+    public static String BundleErrorReporter_directive_hasNoEffectWith_;
 
-	public static String BundleErrorReporter_singletonAttrRequired;
+    public static String BundleErrorReporter_singletonAttrRequired;
 
-	public static String BundleErrorReporter_singletonRequired;
+    public static String BundleErrorReporter_singletonRequired;
 
-	public static String BundleErrorReporter_headerMissing;
+    public static String BundleErrorReporter_headerMissing;
 
-	public static String BundleErrorReporter_NoSymbolicName;
+    public static String BundleErrorReporter_NoSymbolicName;
 
-	public static String BundleErrorReporter_illegalManifestVersion;
+    public static String BundleErrorReporter_illegalManifestVersion;
 
-	public static String BundleErrorReporter_ClasspathNotEmpty;
+    public static String BundleErrorReporter_ClasspathNotEmpty;
 
-	public static String BundleErrorReporter_fragmentActivator;
+    public static String BundleErrorReporter_fragmentActivator;
 
-	public static String BundleErrorReporter_NoExist;
+    public static String BundleErrorReporter_NoExist;
 
-	public static String BundleErrorReporter_InvalidFormatInBundleVersion;
+    public static String BundleErrorReporter_InvalidFormatInBundleVersion;
 
-	public static String BundleErrorReporter_NotExistInProject;
+    public static String BundleErrorReporter_NotExistInProject;
 
-	public static String BundleErrorReporter_BundleRangeInvalidInBundleVersion;
+    public static String BundleErrorReporter_BundleRangeInvalidInBundleVersion;
 
-	public static String BundleErrorReporter_invalidVersionRangeFormat;
+    public static String BundleErrorReporter_invalidVersionRangeFormat;
 
-	public static String BundleErrorReporter_NotExistPDE;
+    public static String BundleErrorReporter_NotExistPDE;
 
-	public static String BundleErrorReporter_HostNotExistPDE;
+    public static String BundleErrorReporter_HostNotExistPDE;
 
-	public static String BundleErrorReporter_HostNeeded;
+    public static String BundleErrorReporter_HostNeeded;
 
-	public static String BundleErrorReporter_PackageNotExported;
+    public static String BundleErrorReporter_PackageNotExported;
 
-	public static String BundleErrorReporter_InvalidSymbolicName;
+    public static String BundleErrorReporter_InvalidSymbolicName;
 
-	public static String BundleErrorReporter_invalidFilterSyntax;
+    public static String BundleErrorReporter_invalidFilterSyntax;
 
-	public static String BundleErrorReporter_importexport_servicesDeprecated;
+    public static String BundleErrorReporter_importexport_servicesDeprecated;
 
-	public static String BundleErrorReporter_unecessaryDependencyDueToFragmentHost;
+    public static String BundleErrorReporter_unecessaryDependencyDueToFragmentHost;
 
-	public static String BundleErrorReporter_missingPackagesInProject;
+    public static String BundleErrorReporter_missingPackagesInProject;
 
-	public static String BundleErrorReporter_noExecutionEnvironmentSet;
+    public static String BundleErrorReporter_noExecutionEnvironmentSet;
 
-	public static String BundleErrorReporter_missingBundleClassPathEntry;
+    public static String BundleErrorReporter_missingBundleClassPathEntry;
 
-	public static String BundleErrorReporter_startHeader_autoStartDeprecated;
+    public static String BundleErrorReporter_startHeader_autoStartDeprecated;
 
-	public static String BundleErrorReporter_exportNoJRE;
+    public static String BundleErrorReporter_exportNoJRE;
 
-	public static String BundleErrorReporter_importNoJRE;
+    public static String BundleErrorReporter_importNoJRE;
 
-	public static String BundleErrorReporter_lazyStart_unsupported;
+    public static String BundleErrorReporter_lazyStart_unsupported;
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/BundleManifestCorePlugin.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/BundleManifestCorePlugin.java
index 18c52d4..92e19ad 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/BundleManifestCorePlugin.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/BundleManifestCorePlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core;
 
 import org.eclipse.core.runtime.Platform;
@@ -21,84 +22,82 @@
 
 /**
  * Activator for the manifest.core plugin.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class BundleManifestCorePlugin extends Plugin {
 
-	/** The bundle symbolic name of this plugin */
-	public static final String PLUGIN_ID = "org.eclipse.virgo.ide.manifest.core";
+    /** The bundle symbolic name of this plugin */
+    public static final String PLUGIN_ID = "org.eclipse.virgo.ide.manifest.core";
 
-	/** Bundle manifest file name */
-	public static final String MANIFEST_FILE_NAME = "MANIFEST.MF";
+    /** Bundle manifest file name */
+    public static final String MANIFEST_FILE_NAME = "MANIFEST.MF";
 
-	/** Test bundle manifest file name */
-	public static final String TEST_MANIFEST_FILE_NAME = "TEST.MF";
+    /** Test bundle manifest file name */
+    public static final String TEST_MANIFEST_FILE_NAME = "TEST.MF";
 
-	/** Bundle manifest folder name */
-	public static final String MANIFEST_FOLDER_NAME = "META-INF";
+    /** Bundle manifest folder name */
+    public static final String MANIFEST_FOLDER_NAME = "META-INF";
 
-	/** Relative path to a bundle manifest */
-	public static final String MANIFEST_FILE_LOCATION = new StringBuilder('/').append(MANIFEST_FOLDER_NAME)
-			.append('/')
-			.append(MANIFEST_FILE_NAME)
-			.toString();
+    /** Relative path to a bundle manifest */
+    public static final String MANIFEST_FILE_LOCATION = new StringBuilder('/').append(MANIFEST_FOLDER_NAME).append('/').append(
+        MANIFEST_FILE_NAME).toString();
 
-	/** Relative path to a test bundle manifest */
-	public static final String TEST_MANIFEST_FILE_LOCATION = new StringBuilder('/').append(MANIFEST_FOLDER_NAME)
-			.append('/')
-			.append(TEST_MANIFEST_FILE_NAME)
-			.toString();
+    /** Relative path to a test bundle manifest */
+    public static final String TEST_MANIFEST_FILE_LOCATION = new StringBuilder('/').append(MANIFEST_FOLDER_NAME).append('/').append(
+        TEST_MANIFEST_FILE_NAME).toString();
 
-	/** Module-Type manifest header */
-	public static final String MODULE_TYPE_MANIFEST_HEADER = "Module-Type";
+    /** Module-Type manifest header */
+    public static final String MODULE_TYPE_MANIFEST_HEADER = "Module-Type";
 
-	/** The shared instance */
-	private static BundleManifestCorePlugin plugin;
+    /** The shared instance */
+    private static BundleManifestCorePlugin plugin;
 
-	/** The bundle manifest manager hosted with this plugin */
-	private static BundleManifestManager bundleManifestManager;
+    /** The bundle manifest manager hosted with this plugin */
+    private static BundleManifestManager bundleManifestManager;
 
-	private final ServiceRegistrationTracker tracker = new ServiceRegistrationTracker();
+    private final ServiceRegistrationTracker tracker = new ServiceRegistrationTracker();
 
-	private volatile EventLogger eventLogger = null;
+    private volatile EventLogger eventLogger = null;
 
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		bundleManifestManager = new BundleManifestManager();
-		bundleManifestManager.start();
-		plugin = this;
+    @Override
+    public void start(BundleContext context) throws Exception {
+        super.start(context);
+        bundleManifestManager = new BundleManifestManager();
+        bundleManifestManager.start();
+        plugin = this;
 
-		this.eventLogger = new NoOpEventLogger();
-		this.tracker.track(context.registerService(EventLogger.class.getName(), this.eventLogger, null));
+        this.eventLogger = new NoOpEventLogger();
+        this.tracker.track(context.registerService(EventLogger.class.getName(), this.eventLogger, null));
 
-		// make sure that the repository bundle is started
-		Bundle bundle = Platform.getBundle("org.eclipse.virgo.repository");
-		if (bundle != null && bundle.getState() != Bundle.ACTIVE) {
-			try {
-				bundle.start();
-			} catch (IllegalStateException e) {
-			}
-		}
-	}
+        // make sure that the repository bundle is started
+        Bundle bundle = Platform.getBundle("org.eclipse.virgo.repository");
+        if (bundle != null && bundle.getState() != Bundle.ACTIVE) {
+            try {
+                bundle.start();
+            } catch (IllegalStateException e) {
+            }
+        }
+    }
 
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		bundleManifestManager.stop();
+    @Override
+    public void stop(BundleContext context) throws Exception {
+        plugin = null;
+        bundleManifestManager.stop();
 
-		this.tracker.unregisterAll();
+        this.tracker.unregisterAll();
 
-		super.stop(context);
-	}
+        super.stop(context);
+    }
 
-	public static BundleManifestCorePlugin getDefault() {
-		return plugin;
-	}
+    public static BundleManifestCorePlugin getDefault() {
+        return plugin;
+    }
 
-	/** Returns the bundle manifest model manager */
-	public static IBundleManifestManager getBundleManifestManager() {
-		return bundleManifestManager;
-	}
+    /** Returns the bundle manifest model manager */
+    public static IBundleManifestManager getBundleManifestManager() {
+        return bundleManifestManager;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/BundleManifestUtils.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/BundleManifestUtils.java
index 93f5cca..f427e4d 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/BundleManifestUtils.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/BundleManifestUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core;
 
 import java.io.ByteArrayInputStream;
@@ -56,7 +57,7 @@
 
 /**
  * Helper methods to located and load {@link BundleManifest} instances.
- * 
+ *
  * @author Christian Dupuis
  * @author Steffen Pingel
  * @author Martin Lippert
@@ -64,351 +65,341 @@
  */
 public class BundleManifestUtils {
 
-	/** URL file schema */
-	private static final String FILE_SCHEME = "file";
+    /** URL file schema */
+    private static final String FILE_SCHEME = "file";
 
-	/**
-	 * Returns a {@link BundleManifest} instance for the given <code>javaProject</code>.
-	 * <p>
-	 * This implementation searches the source folders of the {@link IJavaProject} and returns the first found
-	 * META-INF/MANIFEST.MF as the valid manifest.
-	 */
-	public static BundleManifest getBundleManifest(IJavaProject javaProject, boolean testBundle) {
-		IFile manifestFile = locateManifest(javaProject, testBundle);
-		if (manifestFile != null) {
-			try {
-				return BundleManifestFactory.createBundleManifest(new InputStreamReader(manifestFile.getContents(true)));
-			} catch (Exception e) {
-			}
-		}
-		return null;
-	}
+    /**
+     * Returns a {@link BundleManifest} instance for the given <code>javaProject</code>.
+     * <p>
+     * This implementation searches the source folders of the {@link IJavaProject} and returns the first found
+     * META-INF/MANIFEST.MF as the valid manifest.
+     */
+    public static BundleManifest getBundleManifest(IJavaProject javaProject, boolean testBundle) {
+        IFile manifestFile = locateManifest(javaProject, testBundle);
+        if (manifestFile != null) {
+            try {
+                return BundleManifestFactory.createBundleManifest(new InputStreamReader(manifestFile.getContents(true)));
+            } catch (Exception e) {
+            }
+        }
+        return null;
+    }
 
-	/**
-	 * Locates the {@link IResource} representing the MANIFEST.MF of a <code>javaProject</code>.
-	 * <p>
-	 * This implementation searches the source folders of the {@link IJavaProject} and returns the first found
-	 * META-INF/MANIFEST.MF as the valid manifest.
-	 */
-	public static IFile locateManifest(IJavaProject javaProject, boolean testBundle) {
-		String manifestLocation = (testBundle
-				? BundleManifestCorePlugin.TEST_MANIFEST_FILE_LOCATION
-				: BundleManifestCorePlugin.MANIFEST_FILE_LOCATION);
-		try {
-			for (IClasspathEntry entry : ServerModuleDelegate.getSourceClasspathEntries(javaProject.getProject(),
-					testBundle)) {
-				IPath path = entry.getPath().append(manifestLocation).removeFirstSegments(1);
-				IFile manifestFileHandle = javaProject.getProject().getFile(path);
-				if (manifestFileHandle.exists()) {
-					return manifestFileHandle;
-				}
-			}
+    /**
+     * Locates the {@link IResource} representing the MANIFEST.MF of a <code>javaProject</code>.
+     * <p>
+     * This implementation searches the source folders of the {@link IJavaProject} and returns the first found
+     * META-INF/MANIFEST.MF as the valid manifest.
+     */
+    public static IFile locateManifest(IJavaProject javaProject, boolean testBundle) {
+        String manifestLocation = testBundle ? BundleManifestCorePlugin.TEST_MANIFEST_FILE_LOCATION : BundleManifestCorePlugin.MANIFEST_FILE_LOCATION;
+        try {
+            for (IClasspathEntry entry : ServerModuleDelegate.getSourceClasspathEntries(javaProject.getProject(), testBundle)) {
+                IPath path = entry.getPath().append(manifestLocation).removeFirstSegments(1);
+                IFile manifestFileHandle = javaProject.getProject().getFile(path);
+                if (manifestFileHandle.exists()) {
+                    return manifestFileHandle;
+                }
+            }
 
-			if (FacetedProjectFramework.hasProjectFacet(javaProject.getProject(), FacetCorePlugin.WEB_FACET_ID)) {
-				WebArtifactEdit webArtifact = WebArtifactEdit.getWebArtifactEditForRead(javaProject.getProject());
-				if (webArtifact != null) {
-					IPath webDotXmlPath = webArtifact.getDeploymentDescriptorPath();
-					if (webDotXmlPath != null) {
-						IPath path = webDotXmlPath.removeLastSegments(2)
-								.append(manifestLocation)
-								.removeFirstSegments(1);
-						IFile manifestFileHandle = javaProject.getProject().getFile(path);
-						if (manifestFileHandle.exists()) {
-							return manifestFileHandle;
-						}
-					}
-				}
-			}
+            if (FacetedProjectFramework.hasProjectFacet(javaProject.getProject(), FacetCorePlugin.WEB_FACET_ID)) {
+                WebArtifactEdit webArtifact = WebArtifactEdit.getWebArtifactEditForRead(javaProject.getProject());
+                if (webArtifact != null) {
+                    IPath webDotXmlPath = webArtifact.getDeploymentDescriptorPath();
+                    if (webDotXmlPath != null) {
+                        IPath path = webDotXmlPath.removeLastSegments(2).append(manifestLocation).removeFirstSegments(1);
+                        IFile manifestFileHandle = javaProject.getProject().getFile(path);
+                        if (manifestFileHandle.exists()) {
+                            return manifestFileHandle;
+                        }
+                    }
+                }
+            }
 
-		} catch (Exception e) {
-		}
-		return null;
-	}
+        } catch (Exception e) {
+        }
+        return null;
+    }
 
-	/**
-	 * Returns a full qualified location of the META-INF folder.
-	 * <p>
-	 * This implementation searches the source folders of the {@link IJavaProject} and returns the first found
-	 * META-INF/MANIFEST.MF as the valid manifest.
-	 */
-	public static String locateManifestFolder(IJavaProject javaProject) {
-		IResource resource = locateManifest(javaProject, false);
-		if (resource != null) {
-			IContainer container = resource.getParent().getParent();
-			IPath location = container.getRawLocation();
-			if (location != null) {
-				return location.toString();
-			}
-		}
-		return null;
-	}
+    /**
+     * Returns a full qualified location of the META-INF folder.
+     * <p>
+     * This implementation searches the source folders of the {@link IJavaProject} and returns the first found
+     * META-INF/MANIFEST.MF as the valid manifest.
+     */
+    public static String locateManifestFolder(IJavaProject javaProject) {
+        IResource resource = locateManifest(javaProject, false);
+        if (resource != null) {
+            IContainer container = resource.getParent().getParent();
+            IPath location = container.getRawLocation();
+            if (location != null) {
+                return location.toString();
+            }
+        }
+        return null;
+    }
 
-	/**
-	 * Returns a {@link File} instance for the given <code>javaProject</code>.
-	 * <p>
-	 * This implementation searches the source folders of the {@link IJavaProject} and returns the first found
-	 * META-INF/MANIFEST.MF as the valid manifest.
-	 */
-	public static File locateManifestFile(IJavaProject javaProject, boolean testBundle) {
-		IResource resource = locateManifest(javaProject, testBundle);
-		if (resource != null) {
-			URI uri = convertResourceToUrl(resource);
-			if (uri != null) {
-				return new File(uri);
-			}
-		}
-		return null;
-	}
+    /**
+     * Returns a {@link File} instance for the given <code>javaProject</code>.
+     * <p>
+     * This implementation searches the source folders of the {@link IJavaProject} and returns the first found
+     * META-INF/MANIFEST.MF as the valid manifest.
+     */
+    public static File locateManifestFile(IJavaProject javaProject, boolean testBundle) {
+        IResource resource = locateManifest(javaProject, testBundle);
+        if (resource != null) {
+            URI uri = convertResourceToUrl(resource);
+            if (uri != null) {
+                return new File(uri);
+            }
+        }
+        return null;
+    }
 
-	/**
-	 * Converts a given {@link IResource} into a full qualified {@link URI} honoring eventual used Eclipse variables in
-	 * the path expression.
-	 */
-	private static URI convertResourceToUrl(IResource resource) {
-		if (resource != null) {
-			URI uri = resource.getRawLocationURI();
-			if (uri != null) {
-				String scheme = uri.getScheme();
-				if (FILE_SCHEME.equalsIgnoreCase(scheme)) {
-					return uri;
-				} else if ("sourcecontrol".equals(scheme)) {
-					// special case of Rational Team Concert
-					IPath path = resource.getLocation();
-					File file = path.toFile();
-					if (file.exists()) {
-						return file.toURI();
-					}
-				} else {
-					IPathVariableManager variableManager = ResourcesPlugin.getWorkspace().getPathVariableManager();
-					return variableManager.resolveURI(uri);
-				}
-			}
-		}
-		return null;
-	}
+    /**
+     * Converts a given {@link IResource} into a full qualified {@link URI} honoring eventual used Eclipse variables in
+     * the path expression.
+     */
+    private static URI convertResourceToUrl(IResource resource) {
+        if (resource != null) {
+            URI uri = resource.getRawLocationURI();
+            if (uri != null) {
+                String scheme = uri.getScheme();
+                if (FILE_SCHEME.equalsIgnoreCase(scheme)) {
+                    return uri;
+                } else if ("sourcecontrol".equals(scheme)) {
+                    // special case of Rational Team Concert
+                    IPath path = resource.getLocation();
+                    File file = path.toFile();
+                    if (file.exists()) {
+                        return file.toURI();
+                    }
+                } else {
+                    IPathVariableManager variableManager = ResourcesPlugin.getWorkspace().getPathVariableManager();
+                    return variableManager.resolveURI(uri);
+                }
+            }
+        }
+        return null;
+    }
 
-	/**
-	 * Finds a {@link IResource} identified by a given <code>path</code> in the given <code>project</code>
-	 */
-	private static IResource findResource(IProject project, IPath path) {
-		if (path != null && project != null && path.removeFirstSegments(1) != null) {
-			return project.findMember(path.removeFirstSegments(1));
-		}
-		return null;
-	}
+    /**
+     * Finds a {@link IResource} identified by a given <code>path</code> in the given <code>project</code>
+     */
+    private static IResource findResource(IProject project, IPath path) {
+        if (path != null && project != null && path.removeFirstSegments(1) != null) {
+            return project.findMember(path.removeFirstSegments(1));
+        }
+        return null;
+    }
 
-	/**
-	 * Dumps a new MANIFEST.MF into the given {@link IJavaProject}.
-	 */
-	public static void createNewBundleManifest(IJavaProject javaProject, String symbolicName, String bundleVersion,
-			String providerName, String bundleName, String serverModule, Map<String, String> properties) {
+    /**
+     * Dumps a new MANIFEST.MF into the given {@link IJavaProject}.
+     */
+    public static void createNewBundleManifest(IJavaProject javaProject, String symbolicName, String bundleVersion, String providerName,
+        String bundleName, String serverModule, Map<String, String> properties) {
 
-		BundleManifest manifest = null;
+        BundleManifest manifest = null;
 
-		File existingManifestFile = locateManifestFile(javaProject, false);
-		if (existingManifestFile != null) {
-			FileReader reader = null;
-			try {
-				reader = new FileReader(existingManifestFile);
-				manifest = BundleManifestFactory.createBundleManifest(new FileReader(existingManifestFile));
-			} catch (FileNotFoundException e) {
-			} catch (IOException e) {
-			} finally {
-				if (reader != null) {
-					try {
-						reader.close();
-					} catch (IOException e) {
-					}
-				}
-			}
-		} else {
-			manifest = BundleManifestFactory.createBundleManifest();
-		}
+        File existingManifestFile = locateManifestFile(javaProject, false);
+        if (existingManifestFile != null) {
+            FileReader reader = null;
+            try {
+                reader = new FileReader(existingManifestFile);
+                manifest = BundleManifestFactory.createBundleManifest(new FileReader(existingManifestFile));
+            } catch (FileNotFoundException e) {
+            } catch (IOException e) {
+            } finally {
+                if (reader != null) {
+                    try {
+                        reader.close();
+                    } catch (IOException e) {
+                    }
+                }
+            }
+        } else {
+            manifest = BundleManifestFactory.createBundleManifest();
+        }
 
-		manifest.setBundleManifestVersion(2);
-		Dictionary<String, String> dictonary = manifest.toDictionary();
-		if (StringUtils.isNotBlank(symbolicName)) {
-			dictonary.put(Constants.BUNDLE_SYMBOLICNAME, symbolicName);
-		}
-		if (StringUtils.isNotBlank(bundleVersion)) {
-			dictonary.put(Constants.BUNDLE_VERSION, bundleVersion);
-		}
-		if (StringUtils.isNotBlank(bundleName)) {
-			dictonary.put(Constants.BUNDLE_NAME, bundleName);
-		}
-		if (StringUtils.isNotBlank(providerName)) {
-			dictonary.put(Constants.BUNDLE_DESCRIPTION, providerName);
-		}
+        manifest.setBundleManifestVersion(2);
+        Dictionary<String, String> dictonary = manifest.toDictionary();
+        if (StringUtils.isNotBlank(symbolicName)) {
+            dictonary.put(Constants.BUNDLE_SYMBOLICNAME, symbolicName);
+        }
+        if (StringUtils.isNotBlank(bundleVersion)) {
+            dictonary.put(Constants.BUNDLE_VERSION, bundleVersion);
+        }
+        if (StringUtils.isNotBlank(bundleName)) {
+            dictonary.put(Constants.BUNDLE_NAME, bundleName);
+        }
+        if (StringUtils.isNotBlank(providerName)) {
+            dictonary.put(Constants.BUNDLE_DESCRIPTION, providerName);
+        }
 
-		for (Map.Entry<String, String> entry : properties.entrySet()) {
-			if (StringUtils.isNotEmpty(entry.getValue()) && StringUtils.isNotEmpty(entry.getKey())) {
-				dictonary.put(entry.getKey(), entry.getValue());
-			}
-		}
+        for (Map.Entry<String, String> entry : properties.entrySet()) {
+            if (StringUtils.isNotEmpty(entry.getValue()) && StringUtils.isNotEmpty(entry.getKey())) {
+                dictonary.put(entry.getKey(), entry.getValue());
+            }
+        }
 
-		Writer writer = null;
-		try {
-			if (existingManifestFile != null) {
-				writer = new FileWriter(existingManifestFile);
-			} else {
-				writer = new FileWriter(getFirstPossibleManifestFile(javaProject.getProject(), false).getRawLocation()
-						.toFile());
-			}
-			BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(dictonary);
-			bundleManifest.write(writer);
-		} catch (IOException e) {
-		} finally {
-			if (writer != null) {
-				try {
-					writer.flush();
-					writer.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-	}
+        Writer writer = null;
+        try {
+            if (existingManifestFile != null) {
+                writer = new FileWriter(existingManifestFile);
+            } else {
+                writer = new FileWriter(getFirstPossibleManifestFile(javaProject.getProject(), false).getRawLocation().toFile());
+            }
+            BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(dictonary);
+            bundleManifest.write(writer);
+        } catch (IOException e) {
+        } finally {
+            if (writer != null) {
+                try {
+                    writer.flush();
+                    writer.close();
+                } catch (IOException e) {
+                }
+            }
+        }
+    }
 
-	public static void createNewParManifest(IProject project, String symbolicName, String version, String name,
-			String description) {
-		Dictionary<String, String> manifest = BundleManifestFactory.createBundleManifest().toDictionary();
-		if (StringUtils.isNotBlank(symbolicName)) {
-			manifest.put("Application-SymbolicName", symbolicName);
-		}
-		if (StringUtils.isNotBlank(version)) {
-			manifest.put("Application-Version", version);
-		}
-		if (StringUtils.isNotBlank(name)) {
-			manifest.put("Application-Name", name);
-		}
-		if (StringUtils.isNotBlank(description)) {
-			manifest.put("Application-Description", description);
-		}
+    public static void createNewParManifest(IProject project, String symbolicName, String version, String name, String description) {
+        Dictionary<String, String> manifest = BundleManifestFactory.createBundleManifest().toDictionary();
+        if (StringUtils.isNotBlank(symbolicName)) {
+            manifest.put("Application-SymbolicName", symbolicName);
+        }
+        if (StringUtils.isNotBlank(version)) {
+            manifest.put("Application-Version", version);
+        }
+        if (StringUtils.isNotBlank(name)) {
+            manifest.put("Application-Name", name);
+        }
+        if (StringUtils.isNotBlank(description)) {
+            manifest.put("Application-Description", description);
+        }
 
-		Writer writer = null;
-		try {
-			writer = new FileWriter(getFirstPossibleManifestFile(project, false).getRawLocation().toFile());
-			BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(manifest);
-			bundleManifest.write(writer);
-		} catch (IOException e) {
-		} finally {
-			if (writer != null) {
-				try {
-					writer.flush();
-					writer.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-	}
+        Writer writer = null;
+        try {
+            writer = new FileWriter(getFirstPossibleManifestFile(project, false).getRawLocation().toFile());
+            BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(manifest);
+            bundleManifest.write(writer);
+        } catch (IOException e) {
+        } finally {
+            if (writer != null) {
+                try {
+                    writer.flush();
+                    writer.close();
+                } catch (IOException e) {
+                }
+            }
+        }
+    }
 
-	public static IFile getFirstPossibleManifestFile(final IProject project, boolean isTestManifest) {
-		try {
-			if (FacetUtils.hasNature(project, JavaCore.NATURE_ID)) {
+    public static IFile getFirstPossibleManifestFile(final IProject project, boolean isTestManifest) {
+        try {
+            if (FacetUtils.hasNature(project, JavaCore.NATURE_ID)) {
 
-				List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>(
-						ServerModuleDelegate.getSourceClasspathEntries(project, isTestManifest));
-				Collections.sort(entries, new Comparator<IClasspathEntry>() {
+                List<IClasspathEntry> entries = new ArrayList<IClasspathEntry>(
+                    ServerModuleDelegate.getSourceClasspathEntries(project, isTestManifest));
+                Collections.sort(entries, new Comparator<IClasspathEntry>() {
 
-					public int compare(IClasspathEntry o1, IClasspathEntry o2) {
-						String s1 = o1.getPath().toString();
-						String s2 = o2.getPath().toString();
-						if (("/" + project.getName() + "/src/main/resources").equals(s1)) {
-							return -1;
-						} else if (("/" + project.getName() + "/src/test/resources").equals(s1)) {
-							return -1;
-						}
-						if (("/" + project.getName() + "/src/main/resources").equals(s2)) {
-							return 1;
-						} else if (("/" + project.getName() + "/src/test/resources").equals(s2)) {
-							return 1;
-						}
-						return s1.compareTo(s2);
-					}
-				});
+                    public int compare(IClasspathEntry o1, IClasspathEntry o2) {
+                        String s1 = o1.getPath().toString();
+                        String s2 = o2.getPath().toString();
+                        if (("/" + project.getName() + "/src/main/resources").equals(s1)) {
+                            return -1;
+                        } else if (("/" + project.getName() + "/src/test/resources").equals(s1)) {
+                            return -1;
+                        }
+                        if (("/" + project.getName() + "/src/main/resources").equals(s2)) {
+                            return 1;
+                        } else if (("/" + project.getName() + "/src/test/resources").equals(s2)) {
+                            return 1;
+                        }
+                        return s1.compareTo(s2);
+                    }
+                });
 
-				for (IClasspathEntry entry : entries) {
-					return createNewManifestInFolder(findResource(project, entry.getPath()), isTestManifest);
-				}
-			} else {
-				return createNewManifestInFolder(project, isTestManifest);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
+                for (IClasspathEntry entry : entries) {
+                    return createNewManifestInFolder(findResource(project, entry.getPath()), isTestManifest);
+                }
+            } else {
+                return createNewManifestInFolder(project, isTestManifest);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
 
-	private static IFile createNewManifestInFolder(IResource resource, boolean isTestManifest) throws CoreException {
-		String manifestFilePath = "META-INF/"
-				+ (isTestManifest
-						? BundleManifestCorePlugin.TEST_MANIFEST_FILE_NAME
-						: BundleManifestCorePlugin.MANIFEST_FILE_NAME);
-		IFile manifestFile = null;
-		if (resource instanceof IFolder) {
-			manifestFile = ((IFolder) resource).getFile(manifestFilePath);
-		} else if (resource instanceof IProject) {
-			manifestFile = ((IProject) resource).getFile(manifestFilePath);
-		}
-		if (manifestFile != null && !manifestFile.exists()) {
-			if (!manifestFile.getParent().exists()) {
-				((IFolder) manifestFile.getParent()).create(true, true, new NullProgressMonitor());
-			}
-			manifestFile.create(new ByteArrayInputStream("Manifest-Version: 1.0".getBytes()), true,
-					new NullProgressMonitor());
-		}
-		return manifestFile;
-	}
+    private static IFile createNewManifestInFolder(IResource resource, boolean isTestManifest) throws CoreException {
+        String manifestFilePath = "META-INF/"
+            + (isTestManifest ? BundleManifestCorePlugin.TEST_MANIFEST_FILE_NAME : BundleManifestCorePlugin.MANIFEST_FILE_NAME);
+        IFile manifestFile = null;
+        if (resource instanceof IFolder) {
+            manifestFile = ((IFolder) resource).getFile(manifestFilePath);
+        } else if (resource instanceof IProject) {
+            manifestFile = ((IProject) resource).getFile(manifestFilePath);
+        }
+        if (manifestFile != null && !manifestFile.exists()) {
+            if (!manifestFile.getParent().exists()) {
+                ((IFolder) manifestFile.getParent()).create(true, true, new NullProgressMonitor());
+            }
+            manifestFile.create(new ByteArrayInputStream("Manifest-Version: 1.0".getBytes()), true, new NullProgressMonitor());
+        }
+        return manifestFile;
+    }
 
-	public static int getLineNumber(IDocument document, BundleManifestHeader header, String valueSubstring) {
-		// make sure that we have a line number in case the bundle model is crashed
-		if (header == null) {
-			return 0;
-		}
+    public static int getLineNumber(IDocument document, BundleManifestHeader header, String valueSubstring) {
+        // make sure that we have a line number in case the bundle model is crashed
+        if (header == null) {
+            return 0;
+        }
 
-		for (int l = header.getLineNumber(); l < header.getLineNumber() + header.getLinesSpan(); l++) {
-			try {
-				IRegion lineRegion = document.getLineInformation(l);
-				String lineStr = document.get(lineRegion.getOffset(), lineRegion.getLength());
-				if (lineStr.indexOf(valueSubstring) >= 0) {
-					return l + 1;
-				}
-			} catch (BadLocationException ble) {
-			}
-		}
-		// it might span multiple lines, try a longer algorithm
-		try {
-			IRegion lineRegion = document.getLineInformation(header.getLineNumber());
-			String lineStr = document.get(lineRegion.getOffset(), lineRegion.getLength());
-			for (int l = header.getLineNumber() + 1; l < header.getLineNumber() + header.getLinesSpan(); l++) {
-				lineRegion = document.getLineInformation(l);
-				lineStr += document.get(lineRegion.getOffset() + 1/* the space */, lineRegion.getLength());
-				if (lineStr.indexOf(valueSubstring) >= 0) {
-					return l;
-				}
-			}
-		} catch (BadLocationException ble) {
-		}
-		return header.getLineNumber() + 1;
-	}
+        for (int l = header.getLineNumber(); l < header.getLineNumber() + header.getLinesSpan(); l++) {
+            try {
+                IRegion lineRegion = document.getLineInformation(l);
+                String lineStr = document.get(lineRegion.getOffset(), lineRegion.getLength());
+                if (lineStr.indexOf(valueSubstring) >= 0) {
+                    return l + 1;
+                }
+            } catch (BadLocationException ble) {
+            }
+        }
+        // it might span multiple lines, try a longer algorithm
+        try {
+            IRegion lineRegion = document.getLineInformation(header.getLineNumber());
+            String lineStr = document.get(lineRegion.getOffset(), lineRegion.getLength());
+            for (int l = header.getLineNumber() + 1; l < header.getLineNumber() + header.getLinesSpan(); l++) {
+                lineRegion = document.getLineInformation(l);
+                lineStr += document.get(lineRegion.getOffset() + 1/* the space */, lineRegion.getLength());
+                if (lineStr.indexOf(valueSubstring) >= 0) {
+                    return l;
+                }
+            }
+        } catch (BadLocationException ble) {
+        }
+        return header.getLineNumber() + 1;
+    }
 
-	public static int getPackageLineNumber(IDocument document, BundleManifestHeader header, ManifestElement element) {
-		String packageName = element.getValue();
-		if (element.getDirectiveKeys() != null || element.getKeys() != null) {
-			return getLineNumber(document, header, packageName + ";");
-		}
+    public static int getPackageLineNumber(IDocument document, BundleManifestHeader header, ManifestElement element) {
+        String packageName = element.getValue();
+        if (element.getDirectiveKeys() != null || element.getKeys() != null) {
+            return getLineNumber(document, header, packageName + ";");
+        }
 
-		// check for this exact package on the last line
-		try {
-			IRegion lineRegion = document.getLineInformation(header.getLineNumber() + header.getLinesSpan() - 1);
-			String lineStr = document.get(lineRegion.getOffset(), lineRegion.getLength());
-			if (lineStr.endsWith(packageName)) {
-				return header.getLineNumber() + header.getLinesSpan();
-			}
-		} catch (BadLocationException ble) {
-		}
+        // check for this exact package on the last line
+        try {
+            IRegion lineRegion = document.getLineInformation(header.getLineNumber() + header.getLinesSpan() - 1);
+            String lineStr = document.get(lineRegion.getOffset(), lineRegion.getLength());
+            if (lineStr.endsWith(packageName)) {
+                return header.getLineNumber() + header.getLinesSpan();
+            }
+        } catch (BadLocationException ble) {
+        }
 
-		// search all except last line
-		return getLineNumber(document, header, packageName + ",");
-	}
+        // search all except last line
+        return getLineNumber(document, header, packageName + ",");
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IBundleManifestChangeListener.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IBundleManifestChangeListener.java
index 127fbec..a849bfc 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IBundleManifestChangeListener.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IBundleManifestChangeListener.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core;
 
 import java.util.Set;
@@ -22,7 +23,7 @@
  * Register and un-register implementations of this interface with the
  * {@link IBundleManifestManager#addBundleManifestChangeListener()} and
  * {@link IBundleManifestManager#removeBundleManifestChangeListener()} method
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  * @see IBundleManifestManager
@@ -30,15 +31,14 @@
  */
 public interface IBundleManifestChangeListener {
 
-	enum Type {
-		IMPORT_PACKAGE, IMPORT_BUNDLE, IMPORT_LIBRARY, EXPORT_PACKAGE, REQUIRE_BUNDLE
-	}
+    enum Type {
+        IMPORT_PACKAGE, IMPORT_BUNDLE, IMPORT_LIBRARY, EXPORT_PACKAGE, REQUIRE_BUNDLE
+    }
 
-	/**
-	 * Notified if in case of a change to a {@link BundleManifest} within the {@link IJavaProject}.
-	 */
-	void bundleManifestChanged(BundleManifest newBundleManfest, BundleManifest oldBundleManifest,
-			BundleManifest newTestBundleManifest, BundleManifest oldTestBundleManifest, Set<Type> type,
-			IJavaProject javaProject);
+    /**
+     * Notified if in case of a change to a {@link BundleManifest} within the {@link IJavaProject}.
+     */
+    void bundleManifestChanged(BundleManifest newBundleManfest, BundleManifest oldBundleManifest, BundleManifest newTestBundleManifest,
+        BundleManifest oldTestBundleManifest, Set<Type> type, IJavaProject javaProject);
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IBundleManifestManager.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IBundleManifestManager.java
index 50ed32c..a750ba5 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IBundleManifestManager.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IBundleManifestManager.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core;
 
 import java.util.Set;
@@ -18,49 +19,49 @@
 /**
  * A {@link IBundleManifestManager} implementation manages the life-cycle of {@link BundleManifest}instances and
  * provides read access to manifest instances.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public interface IBundleManifestManager {
 
-	/**
-	 * Returns a {@link BundleManifest} for the given {@link IJavaProject}.
-	 * <p>
-	 * If the {@link BundleManifest} has not already been loaded this method will try to locate a MANIFEST.MF file in
-	 * the {@link IJavaProject}'s source folders and create the {@link BundleManifest} instance.
-	 */
-	BundleManifest getBundleManifest(IJavaProject javaProject);
+    /**
+     * Returns a {@link BundleManifest} for the given {@link IJavaProject}.
+     * <p>
+     * If the {@link BundleManifest} has not already been loaded this method will try to locate a MANIFEST.MF file in
+     * the {@link IJavaProject}'s source folders and create the {@link BundleManifest} instance.
+     */
+    BundleManifest getBundleManifest(IJavaProject javaProject);
 
-	/**
-	 * Returns a {@link BundleManifest} for the given {@link IJavaProject}'s test dependencies.
-	 * <p>
-	 * If the {@link BundleManifest} has not already been loaded this method will try to locate a TEST.MF file in the
-	 * {@link IJavaProject}'s source folders and create the {@link BundleManifest} instance.
-	 */
-	BundleManifest getTestBundleManifest(IJavaProject javaProject);
+    /**
+     * Returns a {@link BundleManifest} for the given {@link IJavaProject}'s test dependencies.
+     * <p>
+     * If the {@link BundleManifest} has not already been loaded this method will try to locate a TEST.MF file in the
+     * {@link IJavaProject}'s source folders and create the {@link BundleManifest} instance.
+     */
+    BundleManifest getTestBundleManifest(IJavaProject javaProject);
 
-	/**
-	 * Returns the resolved package imports.
-	 * <p>
-	 * Note: the resolved package imports do not need to be same as the Import-Package headers as this method returns
-	 * transitively imported packages (Require-Bundle, Library-Import) as well.
-	 */
-	Set<String> getResolvedPackageImports(IJavaProject javaProject);
+    /**
+     * Returns the resolved package imports.
+     * <p>
+     * Note: the resolved package imports do not need to be same as the Import-Package headers as this method returns
+     * transitively imported packages (Require-Bundle, Library-Import) as well.
+     */
+    Set<String> getResolvedPackageImports(IJavaProject javaProject);
 
-	/**
-	 * Returns the exported packages of the given <code>javaProject</code>.
-	 */
-	Set<String> getPackageExports(IJavaProject javaProject);
+    /**
+     * Returns the exported packages of the given <code>javaProject</code>.
+     */
+    Set<String> getPackageExports(IJavaProject javaProject);
 
-	/**
-	 * Add a {@link IBundleManifestChangeListener} with the model manager.
-	 */
-	void addBundleManifestChangeListener(IBundleManifestChangeListener bundleManifestChangeListener);
+    /**
+     * Add a {@link IBundleManifestChangeListener} with the model manager.
+     */
+    void addBundleManifestChangeListener(IBundleManifestChangeListener bundleManifestChangeListener);
 
-	/**
-	 * Remove a registered {@link IBundleManifestChangeListener} from the model manager.
-	 */
-	void removeBundleManifestChangeListener(IBundleManifestChangeListener bundleManifestChangeListener);
+    /**
+     * Remove a registered {@link IBundleManifestChangeListener} from the model manager.
+     */
+    void removeBundleManifestChangeListener(IBundleManifestChangeListener bundleManifestChangeListener);
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IBundleManifestMangerWorkingCopy.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IBundleManifestMangerWorkingCopy.java
index 909890b..05022aa 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IBundleManifestMangerWorkingCopy.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IBundleManifestMangerWorkingCopy.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core;
 
 import java.util.Set;
@@ -16,15 +17,15 @@
 
 /**
  * Extension interface for {@link IBundleManifestManager} that allows write access for certain managed resources.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public interface IBundleManifestMangerWorkingCopy extends IBundleManifestManager {
 
-	/**
-	 * Sets the resolved package imports for the given <code>javaProject</code>.
-	 */
-	void updateResolvedPackageImports(IJavaProject javaProject, Set<String> resolvedPackageImports);
+    /**
+     * Sets the resolved package imports for the given <code>javaProject</code>.
+     */
+    void updateResolvedPackageImports(IJavaProject javaProject, Set<String> resolvedPackageImports);
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IHeaderConstants.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IHeaderConstants.java
index 1b50b61..c0223aa 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IHeaderConstants.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/IHeaderConstants.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core;
 
 /**
@@ -15,38 +16,38 @@
  */
 public interface IHeaderConstants {
 
-	public String IMPORT_BUNDLE = "Import-Bundle";
+    public String IMPORT_BUNDLE = "Import-Bundle";
 
-	public String IMPORT_LIBRARY = "Import-Library";
+    public String IMPORT_LIBRARY = "Import-Library";
 
-	public String IMPORT_TEMPLATE = "Import-Template";
+    public String IMPORT_TEMPLATE = "Import-Template";
 
-	public String EXPORT_TEMPLATE = "Export-Template";
+    public String EXPORT_TEMPLATE = "Export-Template";
 
-	public String EXCLUDED_IMPORTS = "Excluded-Imports";
+    public String EXCLUDED_IMPORTS = "Excluded-Imports";
 
-	public String EXCLUDED_EXPORTS = "Excluded-Exports";
+    public String EXCLUDED_EXPORTS = "Excluded-Exports";
 
-	public String UNVERSIONED_IMPORTS = "Unversioned-Imports";
+    public String UNVERSIONED_IMPORTS = "Unversioned-Imports";
 
-	public String IGNORED_EXISTING_HEADERS = "Ignored-Existing-Headers";
+    public String IGNORED_EXISTING_HEADERS = "Ignored-Existing-Headers";
 
-	public String PAR_SYMBOLICNAME = "Application-SymbolicName";
+    public String PAR_SYMBOLICNAME = "Application-SymbolicName";
 
-	public String PAR_VERSION = "Application-Version";
+    public String PAR_VERSION = "Application-Version";
 
-	public String PAR_NAME = "Application-Name";
+    public String PAR_NAME = "Application-Name";
 
-	public String PAR_DESCRIPTION = "Application-Description";
+    public String PAR_DESCRIPTION = "Application-Description";
 
-	public String PROMOTES_DIRECTIVE = "promotes-exports";
+    public String PROMOTES_DIRECTIVE = "promotes-exports";
 
-	// template.mf headers
+    // template.mf headers
 
-	public String TEST_IMPORT_BUNDLE = "Test-Import-Bundle";
+    public String TEST_IMPORT_BUNDLE = "Test-Import-Bundle";
 
-	public String TEST_IMPORT_LIBRARY = "Test-Import-Library";
+    public String TEST_IMPORT_LIBRARY = "Test-Import-Library";
 
-	public String TEST_IMPORT_PACKAGE = "Test-Import-Package";
+    public String TEST_IMPORT_PACKAGE = "Test-Import-Package";
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/dependencies/IDependencyLocator.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/dependencies/IDependencyLocator.java
index 3aecc06..33c9a23 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/dependencies/IDependencyLocator.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/dependencies/IDependencyLocator.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core.dependencies;
 
 import java.io.File;
@@ -22,21 +23,21 @@
 
 /**
  * Implementors of this interface can calculate dependencies for a given {@link BundleManifest}.
- * 
+ *
  * @author Christian Dupuis
  * @since 2.0.0
  */
 public interface IDependencyLocator {
 
-	enum JavaVersion {
-		Java5, Java6;
-	}
+    enum JavaVersion {
+        Java5, Java6;
+    }
 
-	Map<File, List<String>> locateDependencies(BundleManifest manifest) throws DependencyLocationException;
+    Map<File, List<String>> locateDependencies(BundleManifest manifest) throws DependencyLocationException;
 
-	Set<? extends BundleDefinition> getBundles();
+    Set<? extends BundleDefinition> getBundles();
 
-	Set<? extends LibraryDefinition> getLibraries();
+    Set<? extends LibraryDefinition> getLibraries();
 
-	void shutdown();
+    void shutdown();
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportBundleHeader.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportBundleHeader.java
index af5040d..599e47e 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportBundleHeader.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportBundleHeader.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core.editor.model;
 
 import org.eclipse.osgi.util.ManifestElement;
@@ -21,43 +22,43 @@
  */
 public class ImportBundleHeader extends CompositeManifestHeader {
 
-	private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-	public ImportBundleHeader(String name, String value, IBundle bundle, String lineDelimiter) {
-		super(name, value, bundle, lineDelimiter);
-	}
+    public ImportBundleHeader(String name, String value, IBundle bundle, String lineDelimiter) {
+        super(name, value, bundle, lineDelimiter);
+    }
 
-	public void addBundle(String id) {
-		addBundle(id, null);
-	}
+    public void addBundle(String id) {
+        addBundle(id, null);
+    }
 
-	public void addBundle(String id, String version) {
-		ImportBundleObject element = new ImportBundleObject(this, id);
+    public void addBundle(String id, String version) {
+        ImportBundleObject element = new ImportBundleObject(this, id);
 
-		if (version != null && version.trim().length() > 0) {
-			element.setAttribute(Constants.VERSION_ATTRIBUTE, version.trim());
-		}
+        if (version != null && version.trim().length() > 0) {
+            element.setAttribute(Constants.VERSION_ATTRIBUTE, version.trim());
+        }
 
-		addManifestElement(element);
-	}
+        addManifestElement(element);
+    }
 
-	public void removeBundle(String id) {
-		removeManifestElement(id);
-	}
+    public void removeBundle(String id) {
+        removeManifestElement(id);
+    }
 
-	public void removeBundle(ImportBundleObject bundle) {
-		removeManifestElement(bundle);
-	}
+    public void removeBundle(ImportBundleObject bundle) {
+        removeManifestElement(bundle);
+    }
 
-	@Override
-	protected PDEManifestElement createElement(ManifestElement element) {
-		return new ImportBundleObject(this, element);
-	}
+    @Override
+    protected PDEManifestElement createElement(ManifestElement element) {
+        return new ImportBundleObject(this, element);
+    }
 
-	public ImportBundleObject[] getImportedBundles() {
-		PDEManifestElement[] elements = getElements();
-		ImportBundleObject[] result = new ImportBundleObject[elements.length];
-		System.arraycopy(elements, 0, result, 0, elements.length);
-		return result;
-	}
+    public ImportBundleObject[] getImportedBundles() {
+        PDEManifestElement[] elements = getElements();
+        ImportBundleObject[] result = new ImportBundleObject[elements.length];
+        System.arraycopy(elements, 0, result, 0, elements.length);
+        return result;
+    }
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportBundleObject.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportBundleObject.java
index fa8daa7..71d721a 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportBundleObject.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportBundleObject.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core.editor.model;
 
 import org.eclipse.osgi.util.ManifestElement;
@@ -21,74 +22,74 @@
  */
 public class ImportBundleObject extends PDEManifestElement {
 
-	private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-	public ImportBundleObject(ManifestHeader header, ManifestElement manifestElement) {
-		super(header, manifestElement);
-	}
+    public ImportBundleObject(ManifestHeader header, ManifestElement manifestElement) {
+        super(header, manifestElement);
+    }
 
-	public ImportBundleObject(ManifestHeader header, String value) {
-		super(header, value);
-	}
+    public ImportBundleObject(ManifestHeader header, String value) {
+        super(header, value);
+    }
 
-	public void setId(String id) {
-		String old = getId();
-		setValue(id);
-		fHeader.update();
-		firePropertyChanged(this, fHeader.getName(), old, id);
-	}
+    public void setId(String id) {
+        String old = getId();
+        setValue(id);
+        this.fHeader.update();
+        firePropertyChanged(this, this.fHeader.getName(), old, id);
+    }
 
-	public String getId() {
-		return getValue();
-	}
+    public String getId() {
+        return getValue();
+    }
 
-	public void setVersion(String version) {
-		String old = getVersion();
-		// Reset the previous value
-		setAttribute(Constants.VERSION_ATTRIBUTE, null);
-		// Parse the version String into segments
-		String[] values = ManifestElement.getArrayFromList(version);
-		// If there are values, add them
-		if ((values != null) && (values.length > 0)) {
-			for (String element : values) {
-				addAttribute(Constants.VERSION_ATTRIBUTE, element);
-			}
-		}
-		fHeader.update();
-		firePropertyChanged(this, Constants.VERSION_ATTRIBUTE, old, version);
-	}
+    public void setVersion(String version) {
+        String old = getVersion();
+        // Reset the previous value
+        setAttribute(Constants.VERSION_ATTRIBUTE, null);
+        // Parse the version String into segments
+        String[] values = ManifestElement.getArrayFromList(version);
+        // If there are values, add them
+        if (values != null && values.length > 0) {
+            for (String element : values) {
+                addAttribute(Constants.VERSION_ATTRIBUTE, element);
+            }
+        }
+        this.fHeader.update();
+        firePropertyChanged(this, Constants.VERSION_ATTRIBUTE, old, version);
+    }
 
-	public String getVersion() {
-		String[] versionSegments = getAttributes(Constants.VERSION_ATTRIBUTE);
-		StringBuffer version = new StringBuffer();
-		if (versionSegments == null) {
-			return null;
-		} else if (versionSegments.length == 0) {
-			return null;
-		} else if (versionSegments.length == 1) {
-			version.append(versionSegments[0]);
-		} else if (versionSegments.length == 2) {
-			version.append(versionSegments[0]);
-			version.append(',');
-			version.append(versionSegments[1]);
-		}
-		return version.toString();
-	}
+    public String getVersion() {
+        String[] versionSegments = getAttributes(Constants.VERSION_ATTRIBUTE);
+        StringBuffer version = new StringBuffer();
+        if (versionSegments == null) {
+            return null;
+        } else if (versionSegments.length == 0) {
+            return null;
+        } else if (versionSegments.length == 1) {
+            version.append(versionSegments[0]);
+        } else if (versionSegments.length == 2) {
+            version.append(versionSegments[0]);
+            version.append(',');
+            version.append(versionSegments[1]);
+        }
+        return version.toString();
+    }
 
-	public boolean isOptional() {
-		return Constants.RESOLUTION_OPTIONAL.equals(getDirective(Constants.RESOLUTION_DIRECTIVE));
+    public boolean isOptional() {
+        return Constants.RESOLUTION_OPTIONAL.equals(getDirective(Constants.RESOLUTION_DIRECTIVE));
 
-	}
+    }
 
-	public void setOptional(boolean optional) {
-		boolean old = isOptional();
-		if (optional) {
-			setDirective(Constants.RESOLUTION_DIRECTIVE, Constants.RESOLUTION_OPTIONAL);
-		} else {
-			setDirective(Constants.RESOLUTION_DIRECTIVE, null);
-			setAttribute(ICoreConstants.OPTIONAL_ATTRIBUTE, null);
-		}
-		fHeader.update();
-		firePropertyChanged(this, Constants.RESOLUTION_DIRECTIVE, Boolean.toString(old), Boolean.toString(optional));
-	}
+    public void setOptional(boolean optional) {
+        boolean old = isOptional();
+        if (optional) {
+            setDirective(Constants.RESOLUTION_DIRECTIVE, Constants.RESOLUTION_OPTIONAL);
+        } else {
+            setDirective(Constants.RESOLUTION_DIRECTIVE, null);
+            setAttribute(ICoreConstants.OPTIONAL_ATTRIBUTE, null);
+        }
+        this.fHeader.update();
+        firePropertyChanged(this, Constants.RESOLUTION_DIRECTIVE, Boolean.toString(old), Boolean.toString(optional));
+    }
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportLibraryHeader.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportLibraryHeader.java
index d4246db..39f21bb 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportLibraryHeader.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportLibraryHeader.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core.editor.model;
 
 import org.eclipse.osgi.util.ManifestElement;
@@ -21,44 +22,44 @@
  */
 public class ImportLibraryHeader extends CompositeManifestHeader {
 
-	private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-	public ImportLibraryHeader(String name, String value, IBundle bundle, String lineDelimiter) {
-		super(name, value, bundle, lineDelimiter);
-	}
+    public ImportLibraryHeader(String name, String value, IBundle bundle, String lineDelimiter) {
+        super(name, value, bundle, lineDelimiter);
+    }
 
-	public void addLibrary(String id) {
-		addLibrary(id, null);
-	}
+    public void addLibrary(String id) {
+        addLibrary(id, null);
+    }
 
-	public void addLibrary(String id, String version) {
-		ImportLibraryObject element = new ImportLibraryObject(this, id);
+    public void addLibrary(String id, String version) {
+        ImportLibraryObject element = new ImportLibraryObject(this, id);
 
-		if (version != null && version.trim().length() > 0) {
-			element.setAttribute(Constants.VERSION_ATTRIBUTE, version.trim());
-		}
+        if (version != null && version.trim().length() > 0) {
+            element.setAttribute(Constants.VERSION_ATTRIBUTE, version.trim());
+        }
 
-		addManifestElement(element);
-	}
+        addManifestElement(element);
+    }
 
-	public void removeLibrary(String id) {
-		removeManifestElement(id);
-	}
+    public void removeLibrary(String id) {
+        removeManifestElement(id);
+    }
 
-	public void removeLibrary(ImportLibraryObject bundle) {
-		removeManifestElement(bundle);
-	}
+    public void removeLibrary(ImportLibraryObject bundle) {
+        removeManifestElement(bundle);
+    }
 
-	@Override
-	protected PDEManifestElement createElement(ManifestElement element) {
-		return new ImportLibraryObject(this, element);
-	}
+    @Override
+    protected PDEManifestElement createElement(ManifestElement element) {
+        return new ImportLibraryObject(this, element);
+    }
 
-	public ImportLibraryObject[] getImportedLibraries() {
-		PDEManifestElement[] elements = getElements();
-		ImportLibraryObject[] result = new ImportLibraryObject[elements.length];
-		System.arraycopy(elements, 0, result, 0, elements.length);
-		return result;
-	}
+    public ImportLibraryObject[] getImportedLibraries() {
+        PDEManifestElement[] elements = getElements();
+        ImportLibraryObject[] result = new ImportLibraryObject[elements.length];
+        System.arraycopy(elements, 0, result, 0, elements.length);
+        return result;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportLibraryObject.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportLibraryObject.java
index 10085f7..f5b186b 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportLibraryObject.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/ImportLibraryObject.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core.editor.model;
 
 import org.eclipse.osgi.util.ManifestElement;
@@ -21,75 +22,75 @@
  */
 public class ImportLibraryObject extends PDEManifestElement {
 
-	private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-	public ImportLibraryObject(ManifestHeader header, ManifestElement manifestElement) {
-		super(header, manifestElement);
-	}
+    public ImportLibraryObject(ManifestHeader header, ManifestElement manifestElement) {
+        super(header, manifestElement);
+    }
 
-	public ImportLibraryObject(ManifestHeader header, String value) {
-		super(header, value);
-	}
+    public ImportLibraryObject(ManifestHeader header, String value) {
+        super(header, value);
+    }
 
-	public void setId(String id) {
-		String old = getId();
-		setValue(id);
-		fHeader.update();
-		firePropertyChanged(this, fHeader.getName(), old, id);
-	}
+    public void setId(String id) {
+        String old = getId();
+        setValue(id);
+        this.fHeader.update();
+        firePropertyChanged(this, this.fHeader.getName(), old, id);
+    }
 
-	public String getId() {
-		return getValue();
-	}
+    public String getId() {
+        return getValue();
+    }
 
-	public void setVersion(String version) {
-		String old = getVersion();
-		// Reset the previous value
-		setAttribute(Constants.VERSION_ATTRIBUTE, null);
-		// Parse the version String into segments
-		String[] values = ManifestElement.getArrayFromList(version);
-		// If there are values, add them
-		if ((values != null) && (values.length > 0)) {
-			for (String element : values) {
-				addAttribute(Constants.VERSION_ATTRIBUTE, element);
-			}
-		}
-		fHeader.update();
-		firePropertyChanged(this, Constants.VERSION_ATTRIBUTE, old, version);
-	}
+    public void setVersion(String version) {
+        String old = getVersion();
+        // Reset the previous value
+        setAttribute(Constants.VERSION_ATTRIBUTE, null);
+        // Parse the version String into segments
+        String[] values = ManifestElement.getArrayFromList(version);
+        // If there are values, add them
+        if (values != null && values.length > 0) {
+            for (String element : values) {
+                addAttribute(Constants.VERSION_ATTRIBUTE, element);
+            }
+        }
+        this.fHeader.update();
+        firePropertyChanged(this, Constants.VERSION_ATTRIBUTE, old, version);
+    }
 
-	public String getVersion() {
-		String[] versionSegments = getAttributes(Constants.VERSION_ATTRIBUTE);
-		StringBuffer version = new StringBuffer();
-		if (versionSegments == null) {
-			return null;
-		} else if (versionSegments.length == 0) {
-			return null;
-		} else if (versionSegments.length == 1) {
-			version.append(versionSegments[0]);
-		} else if (versionSegments.length == 2) {
-			version.append(versionSegments[0]);
-			version.append(',');
-			version.append(versionSegments[1]);
-		}
-		return version.toString();
-	}
+    public String getVersion() {
+        String[] versionSegments = getAttributes(Constants.VERSION_ATTRIBUTE);
+        StringBuffer version = new StringBuffer();
+        if (versionSegments == null) {
+            return null;
+        } else if (versionSegments.length == 0) {
+            return null;
+        } else if (versionSegments.length == 1) {
+            version.append(versionSegments[0]);
+        } else if (versionSegments.length == 2) {
+            version.append(versionSegments[0]);
+            version.append(',');
+            version.append(versionSegments[1]);
+        }
+        return version.toString();
+    }
 
-	public boolean isOptional() {
-		return Constants.RESOLUTION_OPTIONAL.equals(getDirective(Constants.RESOLUTION_DIRECTIVE));
+    public boolean isOptional() {
+        return Constants.RESOLUTION_OPTIONAL.equals(getDirective(Constants.RESOLUTION_DIRECTIVE));
 
-	}
+    }
 
-	public void setOptional(boolean optional) {
-		boolean old = isOptional();
-		if (optional) {
-			setDirective(Constants.RESOLUTION_DIRECTIVE, Constants.RESOLUTION_OPTIONAL);
-		} else {
-			setDirective(Constants.RESOLUTION_DIRECTIVE, null);
-			setAttribute(ICoreConstants.OPTIONAL_ATTRIBUTE, null);
-		}
-		fHeader.update();
-		firePropertyChanged(this, Constants.RESOLUTION_DIRECTIVE, Boolean.toString(old), Boolean.toString(optional));
-	}
+    public void setOptional(boolean optional) {
+        boolean old = isOptional();
+        if (optional) {
+            setDirective(Constants.RESOLUTION_DIRECTIVE, Constants.RESOLUTION_OPTIONAL);
+        } else {
+            setDirective(Constants.RESOLUTION_DIRECTIVE, null);
+            setAttribute(ICoreConstants.OPTIONAL_ATTRIBUTE, null);
+        }
+        this.fHeader.update();
+        firePropertyChanged(this, Constants.RESOLUTION_DIRECTIVE, Boolean.toString(old), Boolean.toString(optional));
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/SpringBundleModel.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/SpringBundleModel.java
index 3bb1f93..0486537 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/SpringBundleModel.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/SpringBundleModel.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core.editor.model;
 
 import org.eclipse.jface.text.Document;
@@ -20,22 +21,22 @@
  */
 public class SpringBundleModel extends BundleModel {
 
-	private IBundleModelFactory fFactory;
+    private IBundleModelFactory fFactory;
 
-	public SpringBundleModel(String string, boolean isReconciling) {
-		this(new Document(string), isReconciling);
-	}
+    public SpringBundleModel(String string, boolean isReconciling) {
+        this(new Document(string), isReconciling);
+    }
 
-	public SpringBundleModel(IDocument document, boolean isReconciling) {
-		super(document, isReconciling);
-	}
+    public SpringBundleModel(IDocument document, boolean isReconciling) {
+        super(document, isReconciling);
+    }
 
-	@Override
-	public IBundleModelFactory getFactory() {
-		if (fFactory == null) {
-			fFactory = new SpringBundleModelFactory(this);
-		}
-		return fFactory;
-	}
+    @Override
+    public IBundleModelFactory getFactory() {
+        if (this.fFactory == null) {
+            this.fFactory = new SpringBundleModelFactory(this);
+        }
+        return this.fFactory;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/SpringBundleModelFactory.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/SpringBundleModelFactory.java
index 1883ae5..b4ada78 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/SpringBundleModelFactory.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/core/editor/model/SpringBundleModelFactory.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.core.editor.model;
 
 import org.eclipse.jface.text.TextUtilities;
@@ -39,81 +40,79 @@
  */
 public class SpringBundleModelFactory implements IBundleModelFactory {
 
-	private final IBundleModel fModel;
+    private final IBundleModel fModel;
 
-	public SpringBundleModelFactory(IBundleModel model) {
-		fModel = model;
-	}
+    public SpringBundleModelFactory(IBundleModel model) {
+        this.fModel = model;
+    }
 
-	public IManifestHeader createHeader() {
-		return null;
-	}
+    public IManifestHeader createHeader() {
+        return null;
+    }
 
-	public IManifestHeader createHeader(String key, String value) {
-		ManifestHeader header = null;
-		IBundle bundle = null;
-		if (fModel != null) {
-			bundle = fModel.getBundle();
-		}
-		String newLine;
-		if (fModel instanceof BundleModel) {
-			newLine = TextUtilities.getDefaultLineDelimiter(((BundleModel) fModel).getDocument());
-		} else {
-			newLine = System.getProperty("line.separator"); //$NON-NLS-1$
-		}
+    public IManifestHeader createHeader(String key, String value) {
+        ManifestHeader header = null;
+        IBundle bundle = null;
+        if (this.fModel != null) {
+            bundle = this.fModel.getBundle();
+        }
+        String newLine;
+        if (this.fModel instanceof BundleModel) {
+            newLine = TextUtilities.getDefaultLineDelimiter(((BundleModel) this.fModel).getDocument());
+        } else {
+            newLine = System.getProperty("line.separator"); //$NON-NLS-1$
+        }
 
-		if (key.equalsIgnoreCase(Constants.BUNDLE_ACTIVATOR)) {
-			header = new BundleActivatorHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(Constants.BUNDLE_LOCALIZATION)) {
-			header = new BundleLocalizationHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(Constants.BUNDLE_NAME)) {
-			header = new BundleNameHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT)) {
-			header = new RequiredExecutionEnvironmentHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(Constants.BUNDLE_SYMBOLICNAME)) {
-			header = new BundleSymbolicNameHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(Constants.BUNDLE_VENDOR)) {
-			header = new BundleVendorHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(Constants.BUNDLE_VERSION)) {
-			header = new BundleVersionHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(Constants.BUNDLE_CLASSPATH)) {
-			header = new BundleClasspathHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(ICoreConstants.ECLIPSE_LAZYSTART)
-				|| key.equalsIgnoreCase(ICoreConstants.ECLIPSE_AUTOSTART)) {
-			header = new LazyStartHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(Constants.EXPORT_PACKAGE)
-				|| key.equalsIgnoreCase(ICoreConstants.PROVIDE_PACKAGE)) {
-			header = new ExportPackageHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(Constants.FRAGMENT_HOST)) {
-			header = new FragmentHostHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(Constants.IMPORT_PACKAGE)) {
-			header = new ImportPackageHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(Constants.REQUIRE_BUNDLE)) {
-			header = new RequireBundleHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(IHeaderConstants.IMPORT_BUNDLE)) {
-			header = new ImportBundleHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(IHeaderConstants.IMPORT_LIBRARY)) {
-			header = new ImportLibraryHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(IHeaderConstants.IMPORT_TEMPLATE)) {
-			header = new ImportPackageHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(IHeaderConstants.EXPORT_TEMPLATE)) {
-			header = new ExportPackageHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(IHeaderConstants.EXCLUDED_IMPORTS)) {
-			header = new ImportPackageHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(IHeaderConstants.EXCLUDED_EXPORTS)) {
-			header = new ExportPackageHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(IHeaderConstants.UNVERSIONED_IMPORTS)) {
-			header = new ImportPackageHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(IHeaderConstants.TEST_IMPORT_BUNDLE)) {
-			header = new ImportBundleHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(IHeaderConstants.TEST_IMPORT_LIBRARY)) {
-			header = new ImportLibraryHeader(key, value, bundle, newLine);
-		} else if (key.equalsIgnoreCase(IHeaderConstants.TEST_IMPORT_PACKAGE)) {
-			header = new ImportPackageHeader(key, value, bundle, newLine);
-		} else {
-			header = new ManifestHeader(key, value, bundle, newLine);
-		}
-		return header;
-	}
+        if (key.equalsIgnoreCase(Constants.BUNDLE_ACTIVATOR)) {
+            header = new BundleActivatorHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(Constants.BUNDLE_LOCALIZATION)) {
+            header = new BundleLocalizationHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(Constants.BUNDLE_NAME)) {
+            header = new BundleNameHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT)) {
+            header = new RequiredExecutionEnvironmentHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(Constants.BUNDLE_SYMBOLICNAME)) {
+            header = new BundleSymbolicNameHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(Constants.BUNDLE_VENDOR)) {
+            header = new BundleVendorHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(Constants.BUNDLE_VERSION)) {
+            header = new BundleVersionHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(Constants.BUNDLE_CLASSPATH)) {
+            header = new BundleClasspathHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(ICoreConstants.ECLIPSE_LAZYSTART) || key.equalsIgnoreCase(ICoreConstants.ECLIPSE_AUTOSTART)) {
+            header = new LazyStartHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(Constants.EXPORT_PACKAGE) || key.equalsIgnoreCase(ICoreConstants.PROVIDE_PACKAGE)) {
+            header = new ExportPackageHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(Constants.FRAGMENT_HOST)) {
+            header = new FragmentHostHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(Constants.IMPORT_PACKAGE)) {
+            header = new ImportPackageHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(Constants.REQUIRE_BUNDLE)) {
+            header = new RequireBundleHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(IHeaderConstants.IMPORT_BUNDLE)) {
+            header = new ImportBundleHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(IHeaderConstants.IMPORT_LIBRARY)) {
+            header = new ImportLibraryHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(IHeaderConstants.IMPORT_TEMPLATE)) {
+            header = new ImportPackageHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(IHeaderConstants.EXPORT_TEMPLATE)) {
+            header = new ExportPackageHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(IHeaderConstants.EXCLUDED_IMPORTS)) {
+            header = new ImportPackageHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(IHeaderConstants.EXCLUDED_EXPORTS)) {
+            header = new ExportPackageHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(IHeaderConstants.UNVERSIONED_IMPORTS)) {
+            header = new ImportPackageHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(IHeaderConstants.TEST_IMPORT_BUNDLE)) {
+            header = new ImportBundleHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(IHeaderConstants.TEST_IMPORT_LIBRARY)) {
+            header = new ImportLibraryHeader(key, value, bundle, newLine);
+        } else if (key.equalsIgnoreCase(IHeaderConstants.TEST_IMPORT_PACKAGE)) {
+            header = new ImportPackageHeader(key, value, bundle, newLine);
+        } else {
+            header = new ManifestHeader(key, value, bundle, newLine);
+        }
+        return header;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/BundleManifestDiffer.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/BundleManifestDiffer.java
index 689bc93..a904737 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/BundleManifestDiffer.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/BundleManifestDiffer.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.internal.core;
 
 import java.util.Collections;
@@ -27,70 +28,66 @@
 
 /**
  * Utility that checks two {@link BundleManifest} instances for equality.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.1
  */
 class BundleManifestDiffer {
 
-	/**
-	 * Diffs the two given bundles and provides a set of changes.
-	 * 
-	 * @param bundleManifest1
-	 *            the first manifest to check
-	 * @param bundleManifest2
-	 *            the second manifest to check
-	 * @return {@link Set} of {@link IBundleManifestChangeListener.Type} expressing the actual change.
-	 */
-	static Set<Type> diff(BundleManifest bundleManifest1, BundleManifest bundleManifest2) {
-		if (bundleManifest1 == null && bundleManifest2 == null) {
-			return Collections.emptySet();
-		} else if ((bundleManifest1 == null && bundleManifest2 != null)
-				|| (bundleManifest1 != null && bundleManifest2 == null)) {
-			return BundleManifestManager.IMPORTS_CHANGED;
-		}
+    /**
+     * Diffs the two given bundles and provides a set of changes.
+     *
+     * @param bundleManifest1 the first manifest to check
+     * @param bundleManifest2 the second manifest to check
+     * @return {@link Set} of {@link IBundleManifestChangeListener.Type} expressing the actual change.
+     */
+    static Set<Type> diff(BundleManifest bundleManifest1, BundleManifest bundleManifest2) {
+        if (bundleManifest1 == null && bundleManifest2 == null) {
+            return Collections.emptySet();
+        } else if (bundleManifest1 == null && bundleManifest2 != null || bundleManifest1 != null && bundleManifest2 == null) {
+            return BundleManifestManager.IMPORTS_CHANGED;
+        }
 
-		ImportPackage importPackageHeader1 = bundleManifest1.getImportPackage();
-		ImportPackage importPackageHeader2 = bundleManifest2.getImportPackage();
+        ImportPackage importPackageHeader1 = bundleManifest1.getImportPackage();
+        ImportPackage importPackageHeader2 = bundleManifest2.getImportPackage();
 
-		ExportPackage exportPackageHeader1 = bundleManifest1.getExportPackage();
-		ExportPackage exportPackageHeader2 = bundleManifest2.getExportPackage();
+        ExportPackage exportPackageHeader1 = bundleManifest1.getExportPackage();
+        ExportPackage exportPackageHeader2 = bundleManifest2.getExportPackage();
 
-		ImportLibrary importLibraryHeader1 = bundleManifest1.getImportLibrary();
-		ImportLibrary importLibraryHeader2 = bundleManifest2.getImportLibrary();
+        ImportLibrary importLibraryHeader1 = bundleManifest1.getImportLibrary();
+        ImportLibrary importLibraryHeader2 = bundleManifest2.getImportLibrary();
 
-		ImportBundle importBundleHeader1 = bundleManifest1.getImportBundle();
-		ImportBundle importBundleHeader2 = bundleManifest2.getImportBundle();
+        ImportBundle importBundleHeader1 = bundleManifest1.getImportBundle();
+        ImportBundle importBundleHeader2 = bundleManifest2.getImportBundle();
 
-		RequireBundle requireBundleHeader1 = bundleManifest1.getRequireBundle();
-		RequireBundle requireBundleHeader2 = bundleManifest2.getRequireBundle();
+        RequireBundle requireBundleHeader1 = bundleManifest1.getRequireBundle();
+        RequireBundle requireBundleHeader2 = bundleManifest2.getRequireBundle();
 
-		String execEnvironment1 = bundleManifest1.toDictionary().get(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-		String execEnvironment2 = bundleManifest2.toDictionary().get(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
+        String execEnvironment1 = bundleManifest1.toDictionary().get(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
+        String execEnvironment2 = bundleManifest2.toDictionary().get(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
 
-		Set<Type> differences = new HashSet<Type>();
+        Set<Type> differences = new HashSet<Type>();
 
-		if (!ObjectUtils.equals(importPackageHeader1.getImportedPackages(), importPackageHeader2.getImportedPackages())) {
-			differences.add(Type.IMPORT_PACKAGE);
-		}
-		if (!ObjectUtils.equals(execEnvironment1, execEnvironment2)) {
-			differences.add(Type.IMPORT_PACKAGE);
-		}
-		if (!ObjectUtils.equals(exportPackageHeader1.getExportedPackages(), exportPackageHeader2.getExportedPackages())) {
-			differences.add(Type.EXPORT_PACKAGE);
-		}
-		if (!ObjectUtils.equals(importLibraryHeader1.getImportedLibraries(),
-				importLibraryHeader2.getImportedLibraries())) {
-			differences.add(Type.IMPORT_LIBRARY);
-		}
-		if (!ObjectUtils.equals(importBundleHeader1.getImportedBundles(), importBundleHeader2.getImportedBundles())) {
-			differences.add(Type.IMPORT_BUNDLE);
-		}
-		if (!ObjectUtils.equals(requireBundleHeader1.getRequiredBundles(), requireBundleHeader2.getRequiredBundles())) {
-			differences.add(Type.REQUIRE_BUNDLE);
-		}
+        if (!ObjectUtils.equals(importPackageHeader1.getImportedPackages(), importPackageHeader2.getImportedPackages())) {
+            differences.add(Type.IMPORT_PACKAGE);
+        }
+        if (!ObjectUtils.equals(execEnvironment1, execEnvironment2)) {
+            differences.add(Type.IMPORT_PACKAGE);
+        }
+        if (!ObjectUtils.equals(exportPackageHeader1.getExportedPackages(), exportPackageHeader2.getExportedPackages())) {
+            differences.add(Type.EXPORT_PACKAGE);
+        }
+        if (!ObjectUtils.equals(importLibraryHeader1.getImportedLibraries(), importLibraryHeader2.getImportedLibraries())) {
+            differences.add(Type.IMPORT_LIBRARY);
+        }
+        if (!ObjectUtils.equals(importBundleHeader1.getImportedBundles(), importBundleHeader2.getImportedBundles())) {
+            differences.add(Type.IMPORT_BUNDLE);
+        }
+        if (!ObjectUtils.equals(requireBundleHeader1.getRequiredBundles(), requireBundleHeader2.getRequiredBundles())) {
+            differences.add(Type.REQUIRE_BUNDLE);
+        }
 
-		return differences;
-	}
+        return differences;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/BundleManifestManager.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/BundleManifestManager.java
index e7822ea..08b39ff 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/BundleManifestManager.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/BundleManifestManager.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.internal.core;
 
 import java.util.Collections;
@@ -52,493 +53,479 @@
 /**
  * Default {@link IBundleManifestManager} implementation used to manage the life-cycle of the {@link BundleManifest}
  * instances.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @since 1.0.0
  */
 public class BundleManifestManager implements IBundleManifestMangerWorkingCopy {
 
-	public static final Set<IBundleManifestChangeListener.Type> IMPORTS_CHANGED;
+    public static final Set<IBundleManifestChangeListener.Type> IMPORTS_CHANGED;
 
-	static {
-		IMPORTS_CHANGED = new HashSet<IBundleManifestChangeListener.Type>();
-		IMPORTS_CHANGED.add(IBundleManifestChangeListener.Type.IMPORT_PACKAGE);
-		IMPORTS_CHANGED.add(IBundleManifestChangeListener.Type.IMPORT_BUNDLE);
-		IMPORTS_CHANGED.add(IBundleManifestChangeListener.Type.IMPORT_LIBRARY);
-		IMPORTS_CHANGED.add(IBundleManifestChangeListener.Type.REQUIRE_BUNDLE);
-	}
+    static {
+        IMPORTS_CHANGED = new HashSet<IBundleManifestChangeListener.Type>();
+        IMPORTS_CHANGED.add(IBundleManifestChangeListener.Type.IMPORT_PACKAGE);
+        IMPORTS_CHANGED.add(IBundleManifestChangeListener.Type.IMPORT_BUNDLE);
+        IMPORTS_CHANGED.add(IBundleManifestChangeListener.Type.IMPORT_LIBRARY);
+        IMPORTS_CHANGED.add(IBundleManifestChangeListener.Type.REQUIRE_BUNDLE);
+    }
 
-	/** Internal read write lock to protect the read and write operations of the internal caches */
-	private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
+    /** Internal read write lock to protect the read and write operations of the internal caches */
+    private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
 
-	/** Write lock to protect the model from concurrent write operations */
-	private final Lock w = rwl.writeLock();
+    /** Write lock to protect the model from concurrent write operations */
+    private final Lock w = this.rwl.writeLock();
 
-	/** Read lock to protect from reading while writing to the model resources */
-	private final Lock r = rwl.readLock();
+    /** Read lock to protect from reading while writing to the model resources */
+    private final Lock r = this.rwl.readLock();
 
-	/** Internal cache of {@link BundleManifest} keyed by {@link IJavaProject} */
-	private Map<IJavaProject, BundleManifest> bundles = new ConcurrentHashMap<IJavaProject, BundleManifest>();
+    /** Internal cache of {@link BundleManifest} keyed by {@link IJavaProject} */
+    private Map<IJavaProject, BundleManifest> bundles = new ConcurrentHashMap<IJavaProject, BundleManifest>();
 
-	/** Internal cache of {@link BundleManifest} keyed by {@link IJavaProject}; these represent the */
-	private final Map<IJavaProject, BundleManifest> testBundles = new ConcurrentHashMap<IJavaProject, BundleManifest>();
+    /** Internal cache of {@link BundleManifest} keyed by {@link IJavaProject}; these represent the */
+    private final Map<IJavaProject, BundleManifest> testBundles = new ConcurrentHashMap<IJavaProject, BundleManifest>();
 
-	/** Internal cache of resolved package imports keyed by {@link IJavaProject} */
-	private Map<IJavaProject, Set<String>> packageImports = new ConcurrentHashMap<IJavaProject, Set<String>>();
+    /** Internal cache of resolved package imports keyed by {@link IJavaProject} */
+    private Map<IJavaProject, Set<String>> packageImports = new ConcurrentHashMap<IJavaProject, Set<String>>();
 
-	/** Internal listener list */
-	private final List<IBundleManifestChangeListener> bundleManifestChangeListeners = new CopyOnWriteArrayList<IBundleManifestChangeListener>();
+    /** Internal listener list */
+    private final List<IBundleManifestChangeListener> bundleManifestChangeListeners = new CopyOnWriteArrayList<IBundleManifestChangeListener>();
 
-	private final Map<IJavaProject, Long> bundleTimestamps = new ConcurrentHashMap<IJavaProject, Long>();
+    private final Map<IJavaProject, Long> bundleTimestamps = new ConcurrentHashMap<IJavaProject, Long>();
 
-	private final Map<IJavaProject, Long> testBundleTimestamps = new ConcurrentHashMap<IJavaProject, Long>();
+    private final Map<IJavaProject, Long> testBundleTimestamps = new ConcurrentHashMap<IJavaProject, Long>();
 
-	/**
-	 * Resource change listener that listens to changes of Eclipse file resources and triggers a refresh for
-	 * corresponding class path container
-	 */
-	private IResourceChangeListener resourceChangeListener = null;
+    /**
+     * Resource change listener that listens to changes of Eclipse file resources and triggers a refresh for
+     * corresponding class path container
+     */
+    private IResourceChangeListener resourceChangeListener = null;
 
-	private IResourceChangeListener parChangeListener = null;
+    private IResourceChangeListener parChangeListener = null;
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public BundleManifest getBundleManifest(IJavaProject javaProject) {
-		try {
-			r.lock();
-			if (bundles.containsKey(javaProject)) {
-				return bundles.get(javaProject);
-			}
-		} finally {
-			r.unlock();
-		}
-		// Load and store the bundle if not found; loadBundleManifest will acquire write lock.
-		return loadBundleManifest(javaProject, false);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public BundleManifest getBundleManifest(IJavaProject javaProject) {
+        try {
+            this.r.lock();
+            if (this.bundles.containsKey(javaProject)) {
+                return this.bundles.get(javaProject);
+            }
+        } finally {
+            this.r.unlock();
+        }
+        // Load and store the bundle if not found; loadBundleManifest will acquire write lock.
+        return loadBundleManifest(javaProject, false);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public BundleManifest getTestBundleManifest(IJavaProject javaProject) {
-		try {
-			r.lock();
-			if (testBundles.containsKey(javaProject)) {
-				return testBundles.get(javaProject);
-			}
-		} finally {
-			r.unlock();
-		}
-		// Load and store the bundle if not found; loadBundleManifest will acquire write lock.
-		return loadBundleManifest(javaProject, true);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public BundleManifest getTestBundleManifest(IJavaProject javaProject) {
+        try {
+            this.r.lock();
+            if (this.testBundles.containsKey(javaProject)) {
+                return this.testBundles.get(javaProject);
+            }
+        } finally {
+            this.r.unlock();
+        }
+        // Load and store the bundle if not found; loadBundleManifest will acquire write lock.
+        return loadBundleManifest(javaProject, true);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public Set<String> getPackageExports(IJavaProject javaProject) {
-		try {
-			r.lock();
-			if (bundles.containsKey(javaProject)) {
-				BundleManifest bundleManifest = bundles.get(javaProject);
-				if (bundleManifest.getExportPackage() != null
-						&& bundleManifest.getExportPackage().getExportedPackages() != null) {
-					Set<String> packageExports = new LinkedHashSet<String>();
-					for (ExportedPackage packageExport : bundleManifest.getExportPackage().getExportedPackages()) {
-						packageExports.add(packageExport.getPackageName());
-					}
-					return packageExports;
-				}
-			}
-			return Collections.emptySet();
-		} finally {
-			r.unlock();
-		}
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public Set<String> getPackageExports(IJavaProject javaProject) {
+        try {
+            this.r.lock();
+            if (this.bundles.containsKey(javaProject)) {
+                BundleManifest bundleManifest = this.bundles.get(javaProject);
+                if (bundleManifest.getExportPackage() != null && bundleManifest.getExportPackage().getExportedPackages() != null) {
+                    Set<String> packageExports = new LinkedHashSet<String>();
+                    for (ExportedPackage packageExport : bundleManifest.getExportPackage().getExportedPackages()) {
+                        packageExports.add(packageExport.getPackageName());
+                    }
+                    return packageExports;
+                }
+            }
+            return Collections.emptySet();
+        } finally {
+            this.r.unlock();
+        }
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public Set<String> getResolvedPackageImports(IJavaProject javaProject) {
-		try {
-			r.lock();
-			if (packageImports.containsKey(javaProject)) {
-				return packageImports.get(javaProject);
-			}
-			return Collections.emptySet();
-		} finally {
-			r.unlock();
-		}
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public Set<String> getResolvedPackageImports(IJavaProject javaProject) {
+        try {
+            this.r.lock();
+            if (this.packageImports.containsKey(javaProject)) {
+                return this.packageImports.get(javaProject);
+            }
+            return Collections.emptySet();
+        } finally {
+            this.r.unlock();
+        }
+    }
 
-	/**
-	 * Starts the model.
-	 */
-	public void start() {
-		this.resourceChangeListener = new ManifestResourceChangeListener();
-		this.parChangeListener = new ParChangeListener();
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener);
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(parChangeListener);
-	}
+    /**
+     * Starts the model.
+     */
+    public void start() {
+        this.resourceChangeListener = new ManifestResourceChangeListener();
+        this.parChangeListener = new ParChangeListener();
+        ResourcesPlugin.getWorkspace().addResourceChangeListener(this.resourceChangeListener);
+        ResourcesPlugin.getWorkspace().addResourceChangeListener(this.parChangeListener);
+    }
 
-	/**
-	 * Stops the model.
-	 */
-	public void stop() {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(parChangeListener);
-		bundles = null;
-		packageImports = null;
-	}
+    /**
+     * Stops the model.
+     */
+    public void stop() {
+        ResourcesPlugin.getWorkspace().removeResourceChangeListener(this.resourceChangeListener);
+        ResourcesPlugin.getWorkspace().removeResourceChangeListener(this.parChangeListener);
+        this.bundles = null;
+        this.packageImports = null;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public void updateResolvedPackageImports(IJavaProject javaProject, Set<String> resolvedPackageImports) {
-		try {
-			w.lock();
-			packageImports.put(javaProject, resolvedPackageImports);
-		} finally {
-			w.unlock();
-		}
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public void updateResolvedPackageImports(IJavaProject javaProject, Set<String> resolvedPackageImports) {
+        try {
+            this.w.lock();
+            this.packageImports.put(javaProject, resolvedPackageImports);
+        } finally {
+            this.w.unlock();
+        }
+    }
 
-	/**
-	 * Internal method to locate and load {@link BundleManifest}s for given {@link IJavaProject}.
-	 * 
-	 * @param testBundle
-	 */
-	private BundleManifest loadBundleManifest(IJavaProject javaProject, boolean testBundle) {
-		IFile manifestFile = BundleManifestUtils.locateManifest(javaProject, testBundle);
-		BundleManifest oldBundleManifest = null;
+    /**
+     * Internal method to locate and load {@link BundleManifest}s for given {@link IJavaProject}.
+     *
+     * @param testBundle
+     */
+    private BundleManifest loadBundleManifest(IJavaProject javaProject, boolean testBundle) {
+        IFile manifestFile = BundleManifestUtils.locateManifest(javaProject, testBundle);
+        BundleManifest oldBundleManifest = null;
 
-		Map<IJavaProject, BundleManifest> manifests = (testBundle ? testBundles : bundles);
-		Map<IJavaProject, Long> timestamps = (testBundle ? testBundleTimestamps : bundleTimestamps);
+        Map<IJavaProject, BundleManifest> manifests = testBundle ? this.testBundles : this.bundles;
+        Map<IJavaProject, Long> timestamps = testBundle ? this.testBundleTimestamps : this.bundleTimestamps;
 
-		if (manifestFile == null) {
-			try {
-				w.lock();
-				manifests.remove(javaProject);
-				timestamps.remove(javaProject);
-				bundleManifestChanged(null, null, null, null, IMPORTS_CHANGED, javaProject);
-			} finally {
-				w.unlock();
-			}
-		}
+        if (manifestFile == null) {
+            try {
+                this.w.lock();
+                manifests.remove(javaProject);
+                timestamps.remove(javaProject);
+                bundleManifestChanged(null, null, null, null, IMPORTS_CHANGED, javaProject);
+            } finally {
+                this.w.unlock();
+            }
+        }
 
-		if (manifestFile != null) {
-			r.lock();
-			try {
-				if (timestamps.containsKey(javaProject)) {
-					Long oldTimestamp = timestamps.get(javaProject);
-					oldBundleManifest = manifests.get(javaProject);
-					if (oldTimestamp.longValue() >= manifestFile.getLocalTimeStamp()) {
-						return oldBundleManifest;
-					}
-				}
-			} finally {
-				r.unlock();
-			}
-			BundleManifest bundleManifest = BundleManifestUtils.getBundleManifest(javaProject, testBundle);
-			try {
-				w.lock();
-				if (bundleManifest != null) {
-					manifests.put(javaProject, bundleManifest);
-				} else {
-					manifests.remove(javaProject);
-				}
-				timestamps.put(javaProject, manifestFile.getLocalTimeStamp());
-			} finally {
-				w.unlock();
-			}
-			if (testBundle) {
-				bundleManifestChanged(null, null, bundleManifest, oldBundleManifest, javaProject);
-			} else {
-				bundleManifestChanged(bundleManifest, oldBundleManifest, null, null, javaProject);
-			}
-			return bundleManifest;
-		}
-		return null;
-	}
+        if (manifestFile != null) {
+            this.r.lock();
+            try {
+                if (timestamps.containsKey(javaProject)) {
+                    Long oldTimestamp = timestamps.get(javaProject);
+                    oldBundleManifest = manifests.get(javaProject);
+                    if (oldTimestamp.longValue() >= manifestFile.getLocalTimeStamp()) {
+                        return oldBundleManifest;
+                    }
+                }
+            } finally {
+                this.r.unlock();
+            }
+            BundleManifest bundleManifest = BundleManifestUtils.getBundleManifest(javaProject, testBundle);
+            try {
+                this.w.lock();
+                if (bundleManifest != null) {
+                    manifests.put(javaProject, bundleManifest);
+                } else {
+                    manifests.remove(javaProject);
+                }
+                timestamps.put(javaProject, manifestFile.getLocalTimeStamp());
+            } finally {
+                this.w.unlock();
+            }
+            if (testBundle) {
+                bundleManifestChanged(null, null, bundleManifest, oldBundleManifest, javaProject);
+            } else {
+                bundleManifestChanged(bundleManifest, oldBundleManifest, null, null, javaProject);
+            }
+            return bundleManifest;
+        }
+        return null;
+    }
 
-	/**
-	 * Triggers an update to the saved {@link BundleManifest} for the given <code>javaProject</code>
-	 */
-	private void updateBundleManifest(IJavaProject javaProject, boolean testBundle) {
-		// Re-load the bundle manifest
-		loadBundleManifest(javaProject, testBundle);
-	}
+    /**
+     * Triggers an update to the saved {@link BundleManifest} for the given <code>javaProject</code>
+     */
+    private void updateBundleManifest(IJavaProject javaProject, boolean testBundle) {
+        // Re-load the bundle manifest
+        loadBundleManifest(javaProject, testBundle);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public void addBundleManifestChangeListener(IBundleManifestChangeListener bundleManifestChangeListener) {
-		this.bundleManifestChangeListeners.add(bundleManifestChangeListener);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public void addBundleManifestChangeListener(IBundleManifestChangeListener bundleManifestChangeListener) {
+        this.bundleManifestChangeListeners.add(bundleManifestChangeListener);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public void removeBundleManifestChangeListener(IBundleManifestChangeListener bundleManifestChangeListener) {
-		if (bundleManifestChangeListeners.contains(bundleManifestChangeListener)) {
-			bundleManifestChangeListeners.remove(bundleManifestChangeListener);
-		}
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public void removeBundleManifestChangeListener(IBundleManifestChangeListener bundleManifestChangeListener) {
+        if (this.bundleManifestChangeListeners.contains(bundleManifestChangeListener)) {
+            this.bundleManifestChangeListeners.remove(bundleManifestChangeListener);
+        }
+    }
 
-	/**
-	 * Notifies {@link IBundleManifestChangeListener} of changes.
-	 */
-	private void bundleManifestChanged(BundleManifest newBundleManifest, BundleManifest oldBundleManifest,
-			BundleManifest newTestBundleManifest, BundleManifest oldTestBundleManifest, IJavaProject javaProject) {
-		Set<IBundleManifestChangeListener.Type> types = new HashSet<IBundleManifestChangeListener.Type>();
-		types.addAll(BundleManifestDiffer.diff(newBundleManifest, oldBundleManifest));
-		types.addAll(BundleManifestDiffer.diff(newTestBundleManifest, oldTestBundleManifest));
-		bundleManifestChanged(newBundleManifest, oldBundleManifest, newTestBundleManifest, oldTestBundleManifest,
-				types, javaProject);
-	}
+    /**
+     * Notifies {@link IBundleManifestChangeListener} of changes.
+     */
+    private void bundleManifestChanged(BundleManifest newBundleManifest, BundleManifest oldBundleManifest, BundleManifest newTestBundleManifest,
+        BundleManifest oldTestBundleManifest, IJavaProject javaProject) {
+        Set<IBundleManifestChangeListener.Type> types = new HashSet<IBundleManifestChangeListener.Type>();
+        types.addAll(BundleManifestDiffer.diff(newBundleManifest, oldBundleManifest));
+        types.addAll(BundleManifestDiffer.diff(newTestBundleManifest, oldTestBundleManifest));
+        bundleManifestChanged(newBundleManifest, oldBundleManifest, newTestBundleManifest, oldTestBundleManifest, types, javaProject);
+    }
 
-	/**
-	 * Notifies {@link IBundleManifestChangeListener} of changes.
-	 */
-	private void bundleManifestChanged(BundleManifest newBundleManifest, BundleManifest oldBundleManifest,
-			BundleManifest newTestBundleManifest, BundleManifest oldTestBundleManifest,
-			Set<IBundleManifestChangeListener.Type> types, IJavaProject javaProject) {
-		for (IBundleManifestChangeListener listener : bundleManifestChangeListeners) {
-			listener.bundleManifestChanged(newBundleManifest, oldBundleManifest, newTestBundleManifest,
-					oldTestBundleManifest, types, javaProject);
-		}
-	}
+    /**
+     * Notifies {@link IBundleManifestChangeListener} of changes.
+     */
+    private void bundleManifestChanged(BundleManifest newBundleManifest, BundleManifest oldBundleManifest, BundleManifest newTestBundleManifest,
+        BundleManifest oldTestBundleManifest, Set<IBundleManifestChangeListener.Type> types, IJavaProject javaProject) {
+        for (IBundleManifestChangeListener listener : this.bundleManifestChangeListeners) {
+            listener.bundleManifestChanged(newBundleManifest, oldBundleManifest, newTestBundleManifest, oldTestBundleManifest, types, javaProject);
+        }
+    }
 
-	private void updateBundleManifestForResource(IResource resource) {
-		IJavaProject javaProject = JavaCore.create(resource.getProject());
-		BundleManifest bundleManifest = getBundleManifest(javaProject);
-		BundleManifest testBundleManifest = getTestBundleManifest(javaProject);
-		bundleManifestChanged(bundleManifest, bundleManifest, testBundleManifest, testBundleManifest, IMPORTS_CHANGED,
-				javaProject);
-	}
+    private void updateBundleManifestForResource(IResource resource) {
+        IJavaProject javaProject = JavaCore.create(resource.getProject());
+        BundleManifest bundleManifest = getBundleManifest(javaProject);
+        BundleManifest testBundleManifest = getTestBundleManifest(javaProject);
+        bundleManifestChanged(bundleManifest, bundleManifest, testBundleManifest, testBundleManifest, IMPORTS_CHANGED, javaProject);
+    }
 
-	private void updateParLinkedBundleManifests(Par par) {
-		if (par != null && par.getBundle() != null) {
-			for (Bundle bundle : par.getBundle()) {
-				IProject bundleProject = ResourcesPlugin.getWorkspace().getRoot().getProject(bundle.getSymbolicName());
-				if (FacetUtils.isBundleProject(bundleProject)) {
-					updateBundleManifestForResource(bundleProject);
-				}
-			}
-		}
-	}
+    private void updateParLinkedBundleManifests(Par par) {
+        if (par != null && par.getBundle() != null) {
+            for (Bundle bundle : par.getBundle()) {
+                IProject bundleProject = ResourcesPlugin.getWorkspace().getRoot().getProject(bundle.getSymbolicName());
+                if (FacetUtils.isBundleProject(bundleProject)) {
+                    updateBundleManifestForResource(bundleProject);
+                }
+            }
+        }
+    }
 
-	/**
-	 * {@link IResourceChangeListener} that listens to changes to PAR project deletions. Collects information about
-	 * dependent bundles during the pre-delete phase, then updates those bundles' classpath containers during the
-	 * post-change phase.
-	 */
-	class ParChangeListener implements IResourceChangeListener, IResourceDeltaVisitor {
+    /**
+     * {@link IResourceChangeListener} that listens to changes to PAR project deletions. Collects information about
+     * dependent bundles during the pre-delete phase, then updates those bundles' classpath containers during the
+     * post-change phase.
+     */
+    class ParChangeListener implements IResourceChangeListener, IResourceDeltaVisitor {
 
-		private final Map<IResource, Par> parProjects = new HashMap<IResource, Par>();
+        private final Map<IResource, Par> parProjects = new HashMap<IResource, Par>();
 
-		public void resourceChanged(IResourceChangeEvent event) {
-			if (event.getSource() instanceof IWorkspace) {
-				int eventType = event.getType();
-				switch (eventType) {
-				case IResourceChangeEvent.PRE_DELETE:
-					// capture information about the par contents before deletion
-					IResource resource = event.getResource();
-					if (resource != null && FacetUtils.isParProject(resource)) {
-						Par par = FacetUtils.getParDefinition(resource.getProject());
-						if (par != null) {
-							parProjects.put(resource, par);
-						}
-					}
-					break;
-				case IResourceChangeEvent.POST_CHANGE:
-					// then update bundle manifests post deletion
-					IResourceDelta delta = event.getDelta();
-					if (delta != null) {
-						try {
-							delta.accept(this);
-						} catch (CoreException e) {
-							StatusManager.getManager().handle(
-									new Status(IStatus.ERROR, BundleManifestCorePlugin.PLUGIN_ID,
-											"Error while traversing resource change delta", e));
-						}
-					}
-					break;
-				}
-			}
-		}
+        public void resourceChanged(IResourceChangeEvent event) {
+            if (event.getSource() instanceof IWorkspace) {
+                int eventType = event.getType();
+                switch (eventType) {
+                    case IResourceChangeEvent.PRE_DELETE:
+                        // capture information about the par contents before deletion
+                        IResource resource = event.getResource();
+                        if (resource != null && FacetUtils.isParProject(resource)) {
+                            Par par = FacetUtils.getParDefinition(resource.getProject());
+                            if (par != null) {
+                                this.parProjects.put(resource, par);
+                            }
+                        }
+                        break;
+                    case IResourceChangeEvent.POST_CHANGE:
+                        // then update bundle manifests post deletion
+                        IResourceDelta delta = event.getDelta();
+                        if (delta != null) {
+                            try {
+                                delta.accept(this);
+                            } catch (CoreException e) {
+                                StatusManager.getManager().handle(
+                                    new Status(IStatus.ERROR, BundleManifestCorePlugin.PLUGIN_ID, "Error while traversing resource change delta", e));
+                            }
+                        }
+                        break;
+                }
+            }
+        }
 
-		public boolean visit(IResourceDelta delta) throws CoreException {
-			IResource resource = delta.getResource();
-			if (delta.getKind() == IResourceDelta.REMOVED) {
-				if (parProjects.containsKey(resource)) {
-					updateParLinkedBundleManifests(parProjects.get(resource));
-					parProjects.remove(resource);
-					return false;
-				}
-			}
-			return true;
-		}
-	};
+        public boolean visit(IResourceDelta delta) throws CoreException {
+            IResource resource = delta.getResource();
+            if (delta.getKind() == IResourceDelta.REMOVED) {
+                if (this.parProjects.containsKey(resource)) {
+                    updateParLinkedBundleManifests(this.parProjects.get(resource));
+                    this.parProjects.remove(resource);
+                    return false;
+                }
+            }
+            return true;
+        }
+    };
 
-	/**
-	 * {@link IResourceChangeListener} that listens to changes to the MANIFEST.MF resources.
-	 */
-	class ManifestResourceChangeListener implements IResourceChangeListener {
+    /**
+     * {@link IResourceChangeListener} that listens to changes to the MANIFEST.MF resources.
+     */
+    class ManifestResourceChangeListener implements IResourceChangeListener {
 
-		/**
-		 * Internal resource delta visitor.
-		 */
-		protected class ManifestResourceVisitor implements IResourceDeltaVisitor {
+        /**
+         * Internal resource delta visitor.
+         */
+        protected class ManifestResourceVisitor implements IResourceDeltaVisitor {
 
-			protected int eventType;
+            protected int eventType;
 
-			public ManifestResourceVisitor(int eventType) {
-				this.eventType = eventType;
-			}
+            public ManifestResourceVisitor(int eventType) {
+                this.eventType = eventType;
+            }
 
-			public final boolean visit(IResourceDelta delta) throws CoreException {
-				IResource resource = delta.getResource();
-				switch (delta.getKind()) {
-				case IResourceDelta.ADDED:
-					return resourceAdded(resource);
+            public final boolean visit(IResourceDelta delta) throws CoreException {
+                IResource resource = delta.getResource();
+                switch (delta.getKind()) {
+                    case IResourceDelta.ADDED:
+                        return resourceAdded(resource);
 
-				case IResourceDelta.OPEN:
-					return resourceOpened(resource);
+                    case IResourceDelta.OPEN:
+                        return resourceOpened(resource);
 
-				case IResourceDelta.CHANGED:
-					return resourceChanged(resource, delta.getFlags());
+                    case IResourceDelta.CHANGED:
+                        return resourceChanged(resource, delta.getFlags());
 
-				case IResourceDelta.REMOVED:
-					return resourceRemoved(resource);
-				}
-				return true;
-			}
+                    case IResourceDelta.REMOVED:
+                        return resourceRemoved(resource);
+                }
+                return true;
+            }
 
-			protected boolean resourceAdded(IResource resource) {
-				if (resource instanceof IFile && isParXml(resource)) {
-					parResourceChanged(resource);
-				}
-				return true;
-			}
+            protected boolean resourceAdded(IResource resource) {
+                if (resource instanceof IFile && isParXml(resource)) {
+                    parResourceChanged(resource);
+                }
+                return true;
+            }
 
-			protected boolean resourceChanged(IResource resource, int flags) {
-				if (resource instanceof IFile) {
-					if ((flags & IResourceDelta.CONTENT) != 0) {
-						if ((FacetUtils.isBundleProject(resource) || FacetUtils.hasProjectFacet(resource,
-								FacetCorePlugin.WEB_FACET_ID))) {
-							if (isManifest(resource)) {
-								updateBundleManifest(JavaCore.create(resource.getProject()), false);
-							} else if (isTestManifest(resource)) {
-								updateBundleManifest(JavaCore.create(resource.getProject()), true);
-							} else if (resource.getName().equals(".classpath")
-									&& resource.getParent() instanceof IProject) {
-								updateBundleManifest(JavaCore.create(resource.getProject()), false);
-								updateBundleManifest(JavaCore.create(resource.getProject()), true);
-							}
-						}
+            protected boolean resourceChanged(IResource resource, int flags) {
+                if (resource instanceof IFile) {
+                    if ((flags & IResourceDelta.CONTENT) != 0) {
+                        if (FacetUtils.isBundleProject(resource) || FacetUtils.hasProjectFacet(resource, FacetCorePlugin.WEB_FACET_ID)) {
+                            if (isManifest(resource)) {
+                                updateBundleManifest(JavaCore.create(resource.getProject()), false);
+                            } else if (isTestManifest(resource)) {
+                                updateBundleManifest(JavaCore.create(resource.getProject()), true);
+                            } else if (resource.getName().equals(".classpath") && resource.getParent() instanceof IProject) {
+                                updateBundleManifest(JavaCore.create(resource.getProject()), false);
+                                updateBundleManifest(JavaCore.create(resource.getProject()), true);
+                            }
+                        }
 
-						if (isParXml(resource)) {
-							parResourceChanged(resource);
-						}
-					}
-					return false;
-				}
-				return true;
-			}
+                        if (isParXml(resource)) {
+                            parResourceChanged(resource);
+                        }
+                    }
+                    return false;
+                }
+                return true;
+            }
 
-			private void parResourceChanged(IResource resource) {
-				// target of a par project or par bundles has changed
-				if (FacetUtils.isParProject(resource)) {
-					Par par = FacetUtils.getParDefinition(resource.getProject());
-					updateParLinkedBundleManifests(par);
-				}
-				// target of bundle project could have changed
-				else if (FacetUtils.isBundleProject(resource)) {
-					updateBundleManifestForResource(resource);
-				}
-			}
+            private void parResourceChanged(IResource resource) {
+                // target of a par project or par bundles has changed
+                if (FacetUtils.isParProject(resource)) {
+                    Par par = FacetUtils.getParDefinition(resource.getProject());
+                    updateParLinkedBundleManifests(par);
+                }
+                // target of bundle project could have changed
+                else if (FacetUtils.isBundleProject(resource)) {
+                    updateBundleManifestForResource(resource);
+                }
+            }
 
-			protected boolean resourceOpened(IResource resource) {
-				return true;
-			}
+            protected boolean resourceOpened(IResource resource) {
+                return true;
+            }
 
-			protected boolean resourceRemoved(IResource resource) {
-				if (isManifest(resource)) {
-					updateBundleManifest(JavaCore.create(resource.getProject()), false);
-				} else if (isTestManifest(resource)) {
-					updateBundleManifest(JavaCore.create(resource.getProject()), true);
-				}
-				return true;
-			}
-		}
+            protected boolean resourceRemoved(IResource resource) {
+                if (isManifest(resource)) {
+                    updateBundleManifest(JavaCore.create(resource.getProject()), false);
+                } else if (isTestManifest(resource)) {
+                    updateBundleManifest(JavaCore.create(resource.getProject()), true);
+                }
+                return true;
+            }
+        }
 
-		public static final int LISTENER_FLAGS = IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE
-				| IResourceChangeEvent.PRE_BUILD;
+        public static final int LISTENER_FLAGS = IResourceChangeEvent.PRE_CLOSE | IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.PRE_BUILD;
 
-		private static final int VISITOR_FLAGS = IResourceDelta.ADDED | IResourceDelta.CHANGED | IResourceDelta.REMOVED;
+        private static final int VISITOR_FLAGS = IResourceDelta.ADDED | IResourceDelta.CHANGED | IResourceDelta.REMOVED;
 
-		public void resourceChanged(IResourceChangeEvent event) {
-			if (event.getSource() instanceof IWorkspace) {
-				int eventType = event.getType();
-				switch (eventType) {
-				case IResourceChangeEvent.POST_CHANGE:
-					IResourceDelta delta = event.getDelta();
-					if (delta != null) {
-						try {
-							delta.accept(getVisitor(eventType), VISITOR_FLAGS);
-						} catch (CoreException e) {
-							StatusManager.getManager().handle(
-									new Status(IStatus.ERROR, BundleManifestCorePlugin.PLUGIN_ID,
-											"Error while traversing resource change delta", e));
-						}
-					}
-					break;
-				}
-			} else if (event.getSource() instanceof IProject) {
-				int eventType = event.getType();
-				switch (eventType) {
-				case IResourceChangeEvent.POST_CHANGE:
-					IResourceDelta delta = event.getDelta();
-					if (delta != null) {
-						try {
-							delta.accept(getVisitor(eventType), VISITOR_FLAGS);
-						} catch (CoreException e) {
-							StatusManager.getManager().handle(
-									new Status(IStatus.ERROR, BundleManifestCorePlugin.PLUGIN_ID,
-											"Error while traversing resource change delta", e));
-						}
-					}
-					break;
-				}
-			}
+        public void resourceChanged(IResourceChangeEvent event) {
+            if (event.getSource() instanceof IWorkspace) {
+                int eventType = event.getType();
+                switch (eventType) {
+                    case IResourceChangeEvent.POST_CHANGE:
+                        IResourceDelta delta = event.getDelta();
+                        if (delta != null) {
+                            try {
+                                delta.accept(getVisitor(eventType), VISITOR_FLAGS);
+                            } catch (CoreException e) {
+                                StatusManager.getManager().handle(
+                                    new Status(IStatus.ERROR, BundleManifestCorePlugin.PLUGIN_ID, "Error while traversing resource change delta", e));
+                            }
+                        }
+                        break;
+                }
+            } else if (event.getSource() instanceof IProject) {
+                int eventType = event.getType();
+                switch (eventType) {
+                    case IResourceChangeEvent.POST_CHANGE:
+                        IResourceDelta delta = event.getDelta();
+                        if (delta != null) {
+                            try {
+                                delta.accept(getVisitor(eventType), VISITOR_FLAGS);
+                            } catch (CoreException e) {
+                                StatusManager.getManager().handle(
+                                    new Status(IStatus.ERROR, BundleManifestCorePlugin.PLUGIN_ID, "Error while traversing resource change delta", e));
+                            }
+                        }
+                        break;
+                }
+            }
 
-		}
+        }
 
-		protected IResourceDeltaVisitor getVisitor(int eventType) {
-			return new ManifestResourceVisitor(eventType);
-		}
+        protected IResourceDeltaVisitor getVisitor(int eventType) {
+            return new ManifestResourceVisitor(eventType);
+        }
 
-		public boolean isTestManifest(IResource resource) {
-			return resource != null && resource.isAccessible() && resource.getType() == IResource.FILE
-					&& resource.getName().equals("TEST.MF") && resource.getParent() != null
-					&& resource.getParent().getProjectRelativePath().lastSegment().equals("META-INF");
-		}
+        public boolean isTestManifest(IResource resource) {
+            return resource != null && resource.isAccessible() && resource.getType() == IResource.FILE && resource.getName().equals("TEST.MF")
+                && resource.getParent() != null && resource.getParent().getProjectRelativePath().lastSegment().equals("META-INF");
+        }
 
-		public boolean isManifest(IResource resource) {
-			return resource != null && resource.isAccessible() && resource.getType() == IResource.FILE
-					&& resource.getName().equals(BundleManifestCorePlugin.MANIFEST_FILE_NAME)
-					&& resource.getParent() != null
-					&& resource.getParent().getProjectRelativePath().lastSegment().equals("META-INF");
-		}
+        public boolean isManifest(IResource resource) {
+            return resource != null && resource.isAccessible() && resource.getType() == IResource.FILE
+                && resource.getName().equals(BundleManifestCorePlugin.MANIFEST_FILE_NAME) && resource.getParent() != null
+                && resource.getParent().getProjectRelativePath().lastSegment().equals("META-INF");
+        }
 
-		public boolean isParXml(IResource resource) {
-			return resource != null
-					&& (resource.getName().equals("org.eclipse.wst.common.project.facet.core.xml") || resource.getName()
-							.equals("org.eclipse.virgo.ide.runtime.core.par.xml"));
-		}
+        public boolean isParXml(IResource resource) {
+            return resource != null && (resource.getName().equals("org.eclipse.wst.common.project.facet.core.xml")
+                || resource.getName().equals("org.eclipse.virgo.ide.runtime.core.par.xml"));
+        }
 
-	}
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/AbstractManifestElement.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/AbstractManifestElement.java
index e26eed0..7463ba6 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/AbstractManifestElement.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/AbstractManifestElement.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.internal.core.model;
 
 /**
@@ -15,71 +16,71 @@
  */
 public class AbstractManifestElement {
 
-	private AbstractManifestElement parent;
+    private AbstractManifestElement parent;
 
-	private String name;
+    private String name;
 
-	public AbstractManifestElement(AbstractManifestElement parent, String name) {
-		this.parent = parent;
-		this.name = name;
-	}
+    public AbstractManifestElement(AbstractManifestElement parent, String name) {
+        this.parent = parent;
+        this.name = name;
+    }
 
-	public AbstractManifestElement[] getChildren() {
-		return new AbstractManifestElement[0];
-	}
+    public AbstractManifestElement[] getChildren() {
+        return new AbstractManifestElement[0];
+    }
 
-	public String getName() {
-		return name;
-	}
+    public String getName() {
+        return this.name;
+    }
 
-	public AbstractManifestElement getParent() {
-		return parent;
-	}
+    public AbstractManifestElement getParent() {
+        return this.parent;
+    }
 
-	public void setName(String name) {
-		this.name = name;
-	}
+    public void setName(String name) {
+        this.name = name;
+    }
 
-	public void setParent(AbstractManifestElement parent) {
-		this.parent = parent;
-	}
+    public void setParent(AbstractManifestElement parent) {
+        this.parent = parent;
+    }
 
-	@Override
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + ((name == null) ? 0 : name.hashCode());
-		result = prime * result + ((parent == null) ? 0 : parent.hashCode());
-		return result;
-	}
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + (this.name == null ? 0 : this.name.hashCode());
+        result = prime * result + (this.parent == null ? 0 : this.parent.hashCode());
+        return result;
+    }
 
-	@Override
-	public boolean equals(Object obj) {
-		if (this == obj) {
-			return true;
-		}
-		if (obj == null) {
-			return false;
-		}
-		if (getClass() != obj.getClass()) {
-			return false;
-		}
-		AbstractManifestElement other = (AbstractManifestElement) obj;
-		if (name == null) {
-			if (other.name != null) {
-				return false;
-			}
-		} else if (!name.equals(other.name)) {
-			return false;
-		}
-		if (parent == null) {
-			if (other.parent != null) {
-				return false;
-			}
-		} else if (!parent.equals(other.parent)) {
-			return false;
-		}
-		return true;
-	}
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        AbstractManifestElement other = (AbstractManifestElement) obj;
+        if (this.name == null) {
+            if (other.name != null) {
+                return false;
+            }
+        } else if (!this.name.equals(other.name)) {
+            return false;
+        }
+        if (this.parent == null) {
+            if (other.parent != null) {
+                return false;
+            }
+        } else if (!this.parent.equals(other.parent)) {
+            return false;
+        }
+        return true;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/BundleManifest.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/BundleManifest.java
index 9aa3be6..0cc0e72 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/BundleManifest.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/BundleManifest.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.internal.core.model;
 
 import java.io.BufferedReader;
@@ -42,234 +43,231 @@
  */
 public class BundleManifest extends AbstractManifestElement {
 
-	private static final int BUNDLE_MANIFEST_TYPE = 1;
+    private static final int BUNDLE_MANIFEST_TYPE = 1;
 
-	private IFile file;
+    private final IFile file;
 
-	private Map<String, BundleManifestHeader> headerMap;
+    private Map<String, BundleManifestHeader> headerMap;
 
-//	private Set<ValidationProblem> problems;
+    // private Set<ValidationProblem> problems;
 
-	private IDocument textDocument;
+    private IDocument textDocument;
 
-	public BundleManifest(IFile file) {
-		super(null, file.getName());
-		this.file = file;
-//		this.problems = new LinkedHashSet<ValidationProblem>();
-		init();
-	}
+    public BundleManifest(IFile file) {
+        super(null, file.getName());
+        this.file = file;
+        // this.problems = new LinkedHashSet<ValidationProblem>();
+        init();
+    }
 
-	public IDocument getDocument() {
-		return textDocument;
-	}
+    public IDocument getDocument() {
+        return this.textDocument;
+    }
 
-	@Override
-	public AbstractManifestElement[] getChildren() {
-		List<BundleManifestHeader> headers = new ArrayList<BundleManifestHeader>(this.headerMap.values());
-		Collections.sort(headers, new Comparator<BundleManifestHeader>() {
+    @Override
+    public AbstractManifestElement[] getChildren() {
+        List<BundleManifestHeader> headers = new ArrayList<BundleManifestHeader>(this.headerMap.values());
+        Collections.sort(headers, new Comparator<BundleManifestHeader>() {
 
-			public int compare(BundleManifestHeader o1, BundleManifestHeader o2) {
-				return new Integer(o1.getLineNumber()).compareTo(new Integer(o2.getLineNumber()));
-			}
-		});
+            public int compare(BundleManifestHeader o1, BundleManifestHeader o2) {
+                return new Integer(o1.getLineNumber()).compareTo(new Integer(o2.getLineNumber()));
+            }
+        });
 
-		return headers.toArray(new BundleManifestHeader[this.headerMap.size()]);
-	}
+        return headers.toArray(new BundleManifestHeader[this.headerMap.size()]);
+    }
 
-	public IResource getElementResource() {
-		return this.file;
-	}
+    public IResource getElementResource() {
+        return this.file;
+    }
 
-	public int getElementType() {
-		return BUNDLE_MANIFEST_TYPE;
-	}
+    public int getElementType() {
+        return BUNDLE_MANIFEST_TYPE;
+    }
 
-	public BundleManifestHeader getHeader(String key) {
-		return this.headerMap.get(key.toLowerCase());
-	}
+    public BundleManifestHeader getHeader(String key) {
+        return this.headerMap.get(key.toLowerCase());
+    }
 
-//	public Set<ValidationProblem> getProblems() {
-//		return problems;
-//	}
+    // public Set<ValidationProblem> getProblems() {
+    // return problems;
+    // }
 
-	public boolean isElementArchived() {
-		return false;
-	}
+    public boolean isElementArchived() {
+        return false;
+    }
 
-	public boolean isExternal() {
-		return false;
-	}
+    public boolean isExternal() {
+        return false;
+    }
 
-	@Override
-	public String toString() {
-		StringBuilder builder = new StringBuilder();
-		builder.append(file.getLocation().toString()).append("\n");
-		for (AbstractManifestElement element : getChildren()) {
-			builder.append(element.toString()).append("\n");
-		}
-		return builder.toString();
-	}
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append(this.file.getLocation().toString()).append("\n");
+        for (AbstractManifestElement element : getChildren()) {
+            builder.append(element.toString()).append("\n");
+        }
+        return builder.toString();
+    }
 
-	private String getHeaderName(String line) {
-		for (int i = 0; i < line.length(); i++) {
-			char c = line.charAt(i);
-			if (c == ':') {
-				return line.substring(0, i);
-			}
-			if ((c < 'A' || 'Z' < c) && (c < 'a' || 'z' < c) && (c < '0' || '9' < c)) {
-				if (i == 0) {
-					return null;
-				}
-				if (c != '-' && c != '_') {
-					return null;
-				}
-			}
-		}
-		return null;
-	}
+    private String getHeaderName(String line) {
+        for (int i = 0; i < line.length(); i++) {
+            char c = line.charAt(i);
+            if (c == ':') {
+                return line.substring(0, i);
+            }
+            if ((c < 'A' || 'Z' < c) && (c < 'a' || 'z' < c) && (c < '0' || '9' < c)) {
+                if (i == 0) {
+                    return null;
+                }
+                if (c != '-' && c != '_') {
+                    return null;
+                }
+            }
+        }
+        return null;
+    }
 
-	protected IDocument createDocument(IFile file) {
-		if (!file.exists()) {
-			return null;
-		}
-		try {
-			// brute force here as we need to get the final file contents as it might have been
-			// updated by bundlor
-			String contents = convertStreamToString(file.getContents(true));
-			return new Document(contents);
-		} catch (CoreException e) {
-		}
-		return null;
-	}
+    protected IDocument createDocument(IFile file) {
+        if (!file.exists()) {
+            return null;
+        }
+        try {
+            // brute force here as we need to get the final file contents as it might have been
+            // updated by bundlor
+            String contents = convertStreamToString(file.getContents(true));
+            return new Document(contents);
+        } catch (CoreException e) {
+        }
+        return null;
+    }
 
-	protected void error(int severity, String message, int line) {
-		// TODO: re-implement validation with Eclipse APIs
-//		problems.add(new ValidationProblem(severity, message, file, line));
-	}
+    protected void error(int severity, String message, int line) {
+        // TODO: re-implement validation with Eclipse APIs
+        // problems.add(new ValidationProblem(severity, message, file, line));
+    }
 
-	protected void init() {
-		this.textDocument = createDocument(file);
-		parseManifest(textDocument);
-	}
+    protected void init() {
+        this.textDocument = createDocument(this.file);
+        parseManifest(this.textDocument);
+    }
 
-	protected void parseManifest(IDocument document) {
-		try {
-			headerMap = new HashMap<String, BundleManifestHeader>();
-			BundleManifestHeader header = null;
-			int l = 0;
-			for (; l < document.getNumberOfLines(); l++) {
-				IRegion lineInfo = document.getLineInformation(l);
-				String line = document.get(lineInfo.getOffset(), lineInfo.getLength());
-				// test lines' length
-				Charset charset = Charset.forName("UTF-8"); //$NON-NLS-1$
-				String lineDelimiter = document.getLineDelimiter(l);
-				if (lineDelimiter == null) {
-					lineDelimiter = ""; //$NON-NLS-1$
-				}
-				ByteBuffer byteBuf = charset.encode(line);
-				if (byteBuf.limit() + lineDelimiter.length() > 512) {
-					error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_lineTooLong, l + 1);
-					return;
-				}
-				// parse
-				if (line.length() == 0) {
-					// Empty Line
-					if (l == 0) {
-						error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_noMainSection, 1);
-						return;
-					}
-					/* flush last line */
-					if (header != null) {
-						headerMap.put(header.getName().toLowerCase(), header);
-						header = null;
-					}
-					break; /* done processing main attributes */
-				}
-				if (line.charAt(0) == ' ') {
-					// Continuation Line
-					if (l == 0) { /* if no previous line */
-						error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_noMainSection, 1);
-						return;
-					}
-					if (header != null) {
-						header.append(line.substring(1));
-					}
+    protected void parseManifest(IDocument document) {
+        try {
+            this.headerMap = new HashMap<String, BundleManifestHeader>();
+            BundleManifestHeader header = null;
+            int l = 0;
+            for (; l < document.getNumberOfLines(); l++) {
+                IRegion lineInfo = document.getLineInformation(l);
+                String line = document.get(lineInfo.getOffset(), lineInfo.getLength());
+                // test lines' length
+                Charset charset = Charset.forName("UTF-8"); //$NON-NLS-1$
+                String lineDelimiter = document.getLineDelimiter(l);
+                if (lineDelimiter == null) {
+                    lineDelimiter = ""; //$NON-NLS-1$
+                }
+                ByteBuffer byteBuf = charset.encode(line);
+                if (byteBuf.limit() + lineDelimiter.length() > 512) {
+                    error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_lineTooLong, l + 1);
+                    return;
+                }
+                // parse
+                if (line.length() == 0) {
+                    // Empty Line
+                    if (l == 0) {
+                        error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_noMainSection, 1);
+                        return;
+                    }
+                    /* flush last line */
+                    if (header != null) {
+                        this.headerMap.put(header.getName().toLowerCase(), header);
+                        header = null;
+                    }
+                    break; /* done processing main attributes */
+                }
+                if (line.charAt(0) == ' ') {
+                    // Continuation Line
+                    if (l == 0) { /* if no previous line */
+                        error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_noMainSection, 1);
+                        return;
+                    }
+                    if (header != null) {
+                        header.append(line.substring(1));
+                    }
 
-					continue;
-				}
-				// Expecting New Header
-				if (header != null) {
-					headerMap.put(header.getName().toLowerCase(), header);
-					header = null;
-				}
+                    continue;
+                }
+                // Expecting New Header
+                if (header != null) {
+                    this.headerMap.put(header.getName().toLowerCase(), header);
+                    header = null;
+                }
 
-				int colon = line.indexOf(':');
-				if (colon == -1) { /* no colon */
-					error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_noColon, l + 1);
-					return;
-				}
-				String headerName = getHeaderName(line);
-				if (headerName == null) {
-					error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_invalidHeaderName,
-							l + 1);
-					return;
-				}
-				if (line.length() < colon + 2 || line.charAt(colon + 1) != ' ') {
-					error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_noSpaceValue, l + 1);
-					return;
-				}
-				if ("Name".equals(headerName)) { //$NON-NLS-1$
-					error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_nameHeaderInMain,
-							l + 1);
-					return;
-				}
-				header = new BundleManifestHeader(this, headerName, line.substring(colon + 2), l);
-				if (headerMap.containsKey(header.getName().toLowerCase())) {
-					error(IMarker.SEVERITY_WARNING, BundleManifestCoreMessages.BundleErrorReporter_duplicateHeader,
-							l + 1);
-				}
+                int colon = line.indexOf(':');
+                if (colon == -1) { /* no colon */
+                    error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_noColon, l + 1);
+                    return;
+                }
+                String headerName = getHeaderName(line);
+                if (headerName == null) {
+                    error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_invalidHeaderName, l + 1);
+                    return;
+                }
+                if (line.length() < colon + 2 || line.charAt(colon + 1) != ' ') {
+                    error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_noSpaceValue, l + 1);
+                    return;
+                }
+                if ("Name".equals(headerName)) { //$NON-NLS-1$
+                    error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_nameHeaderInMain, l + 1);
+                    return;
+                }
+                header = new BundleManifestHeader(this, headerName, line.substring(colon + 2), l);
+                if (this.headerMap.containsKey(header.getName().toLowerCase())) {
+                    error(IMarker.SEVERITY_WARNING, BundleManifestCoreMessages.BundleErrorReporter_duplicateHeader, l + 1);
+                }
 
-			}
-			if (header != null) {
-				// lingering header, line not terminated
-				error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_noLineTermination, l + 1);
-				return;
-			}
-			// If there is any more headers, not starting with a Name header
-			// the empty lines are a mistake, report it.
-			for (; l < document.getNumberOfLines(); l++) {
-				IRegion lineInfo = document.getLineInformation(l);
-				String line = document.get(lineInfo.getOffset(), lineInfo.getLength());
-				if (line.length() == 0) {
-					continue;
-				}
-				if (!line.startsWith("Name:")) { //$NON-NLS-1$
-					error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_noNameHeader, l);
-				}
-				break;
-			}
+            }
+            if (header != null) {
+                // lingering header, line not terminated
+                error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_noLineTermination, l + 1);
+                return;
+            }
+            // If there is any more headers, not starting with a Name header
+            // the empty lines are a mistake, report it.
+            for (; l < document.getNumberOfLines(); l++) {
+                IRegion lineInfo = document.getLineInformation(l);
+                String line = document.get(lineInfo.getOffset(), lineInfo.getLength());
+                if (line.length() == 0) {
+                    continue;
+                }
+                if (!line.startsWith("Name:")) { //$NON-NLS-1$
+                    error(IMarker.SEVERITY_ERROR, BundleManifestCoreMessages.BundleErrorReporter_noNameHeader, l);
+                }
+                break;
+            }
 
-		} catch (BadLocationException ble) {
-		}
-	}
+        } catch (BadLocationException ble) {
+        }
+    }
 
-	public String convertStreamToString(InputStream is) {
-		BufferedReader reader = new BufferedReader(new InputStreamReader(is));
-		StringBuilder sb = new StringBuilder();
+    public String convertStreamToString(InputStream is) {
+        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+        StringBuilder sb = new StringBuilder();
 
-		String line = null;
-		try {
-			while ((line = reader.readLine()) != null) {
-				sb.append(line + "\n");
-			}
-		} catch (IOException e) {
-		} finally {
-			try {
-				is.close();
-			} catch (IOException e) {
-			}
-		}
+        String line = null;
+        try {
+            while ((line = reader.readLine()) != null) {
+                sb.append(line + "\n");
+            }
+        } catch (IOException e) {
+        } finally {
+            try {
+                is.close();
+            } catch (IOException e) {
+            }
+        }
 
-		return sb.toString();
-	}
+        return sb.toString();
+    }
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/BundleManifestHeader.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/BundleManifestHeader.java
index 1215a1e..1e0edc7 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/BundleManifestHeader.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/BundleManifestHeader.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.internal.core.model;
 
 import java.util.ArrayList;
@@ -29,96 +30,90 @@
  */
 public class BundleManifestHeader extends AbstractManifestElement {
 
-	private static final int BUNDLE_MANIFEST_HEADER_TYPE = 1;
+    private static final int BUNDLE_MANIFEST_HEADER_TYPE = 1;
 
-	private int lineNumber;
+    private final int lineNumber;
 
-	private int lines;
+    private int lines;
 
-	private BundleManifestHeaderElement[] manifestElements;
+    private BundleManifestHeaderElement[] manifestElements;
 
-	private String value;
+    private String value;
 
-	protected BundleManifestHeader(BundleManifest parent, String name, String value, int lineNumber) {
-		super(parent, name);
-		this.value = value;
-		this.lineNumber = lineNumber;
-		this.lines = 1;
-	}
+    protected BundleManifestHeader(BundleManifest parent, String name, String value, int lineNumber) {
+        super(parent, name);
+        this.value = value;
+        this.lineNumber = lineNumber;
+        this.lines = 1;
+    }
 
-	public void append(String value) {
-		this.value += value;
-		lines++;
-	}
+    public void append(String value) {
+        this.value += value;
+        this.lines++;
+    }
 
-	public BundleManifestHeaderElement[] getBundleManifestHeaderElements() {
-		if (this.manifestElements == null) {
-			init();
-		}
-		return this.manifestElements;
-	}
+    public BundleManifestHeaderElement[] getBundleManifestHeaderElements() {
+        if (this.manifestElements == null) {
+            init();
+        }
+        return this.manifestElements;
+    }
 
-	@Override
-	public AbstractManifestElement[] getChildren() {
-		return getBundleManifestHeaderElements();
-	}
+    @Override
+    public AbstractManifestElement[] getChildren() {
+        return getBundleManifestHeaderElements();
+    }
 
-	public int getElementType() {
-		return BUNDLE_MANIFEST_HEADER_TYPE;
-	}
+    public int getElementType() {
+        return BUNDLE_MANIFEST_HEADER_TYPE;
+    }
 
-	public int getLineNumber() {
-		return lineNumber;
-	}
+    public int getLineNumber() {
+        return this.lineNumber;
+    }
 
-	public int getLinesSpan() {
-		return lines;
-	}
+    public int getLinesSpan() {
+        return this.lines;
+    }
 
-	public String getValue() {
-		return value;
-	}
+    public String getValue() {
+        return this.value;
+    }
 
-	public void init() {
-		if (this.manifestElements == null) {
-			if (getValue().trim().length() > 0) {
-				try {
+    public void init() {
+        if (this.manifestElements == null) {
+            if (getValue().trim().length() > 0) {
+                try {
 
-					// Make sure the every " is closed
-					if (StringUtils.countMatches(getValue(), "\"") % 2 != 0) {
-						throw new BundleException("");
-					}
+                    // Make sure the every " is closed
+                    if (StringUtils.countMatches(getValue(), "\"") % 2 != 0) {
+                        throw new BundleException("");
+                    }
 
-					List<BundleManifestHeaderElement> headerElements = new ArrayList<BundleManifestHeaderElement>();
-					ManifestElement[] elements = ManifestElement.parseHeader(getName(), getValue());
-					for (ManifestElement element : elements) {
-						headerElements.add(new BundleManifestHeaderElement(this, element));
-					}
-					this.manifestElements = headerElements.toArray(new BundleManifestHeaderElement[headerElements.size()]);
-				} catch (BundleException be) {
-					String message = NLS.bind(BundleManifestCoreMessages.BundleErrorReporter_parseHeader, getName());
-					((BundleManifest) getParent()).error(IMarker.SEVERITY_ERROR, message, getLineNumber() + 1);
-					this.manifestElements = new BundleManifestHeaderElement[0];
-				}
-			} else {
-				this.manifestElements = new BundleManifestHeaderElement[0];
-			}
-		}
-	}
+                    List<BundleManifestHeaderElement> headerElements = new ArrayList<BundleManifestHeaderElement>();
+                    ManifestElement[] elements = ManifestElement.parseHeader(getName(), getValue());
+                    for (ManifestElement element : elements) {
+                        headerElements.add(new BundleManifestHeaderElement(this, element));
+                    }
+                    this.manifestElements = headerElements.toArray(new BundleManifestHeaderElement[headerElements.size()]);
+                } catch (BundleException be) {
+                    String message = NLS.bind(BundleManifestCoreMessages.BundleErrorReporter_parseHeader, getName());
+                    ((BundleManifest) getParent()).error(IMarker.SEVERITY_ERROR, message, getLineNumber() + 1);
+                    this.manifestElements = new BundleManifestHeaderElement[0];
+                }
+            } else {
+                this.manifestElements = new BundleManifestHeaderElement[0];
+            }
+        }
+    }
 
-	@Override
-	public String toString() {
-		StringBuilder builder = new StringBuilder();
-		builder.append("[")
-				.append(lineNumber)
-				.append("] ")
-				.append(getName())
-				.append(" <")
-				.append(lines)
-				.append("> :\n");
-		for (AbstractManifestElement element : getChildren()) {
-			builder.append("   ").append(element.toString());
-		}
-		return builder.toString();
-	}
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("[").append(this.lineNumber).append("] ").append(getName()).append(" <").append(this.lines).append("> :\n");
+        for (AbstractManifestElement element : getChildren()) {
+            builder.append("   ").append(element.toString());
+        }
+        return builder.toString();
+    }
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/BundleManifestHeaderElement.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/BundleManifestHeaderElement.java
index 50d3560..dd01d34 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/BundleManifestHeaderElement.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/model/BundleManifestHeaderElement.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.internal.core.model;
 
 import org.eclipse.osgi.util.ManifestElement;
@@ -21,26 +22,26 @@
  */
 public class BundleManifestHeaderElement extends AbstractManifestElement {
 
-	private static final int BUNDLE_MANIFEST_HEADER_ELEMENT_TYPE = 2;
+    private static final int BUNDLE_MANIFEST_HEADER_ELEMENT_TYPE = 2;
 
-	private ManifestElement manifestElement;
+    private final ManifestElement manifestElement;
 
-	public BundleManifestHeaderElement(BundleManifestHeader parent, ManifestElement manifestElement) {
-		super(parent, manifestElement.toString());
-		this.manifestElement = manifestElement;
-	}
+    public BundleManifestHeaderElement(BundleManifestHeader parent, ManifestElement manifestElement) {
+        super(parent, manifestElement.toString());
+        this.manifestElement = manifestElement;
+    }
 
-	public int getElementType() {
-		return BUNDLE_MANIFEST_HEADER_ELEMENT_TYPE;
-	}
+    public int getElementType() {
+        return BUNDLE_MANIFEST_HEADER_ELEMENT_TYPE;
+    }
 
-	public ManifestElement getManifestElement() {
-		return manifestElement;
-	}
+    public ManifestElement getManifestElement() {
+        return this.manifestElement;
+    }
 
-	@Override
-	public String toString() {
-		return new StringBuilder().append(manifestElement.getValue()).toString();
-	}
+    @Override
+    public String toString() {
+        return new StringBuilder().append(this.manifestElement.getValue()).toString();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/BundleManifestValidationContext.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/BundleManifestValidationContext.java
index f90f308..7067138 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/BundleManifestValidationContext.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/BundleManifestValidationContext.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,150 +6,151 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation;
 //
-//import java.util.ArrayList;
-//import java.util.Arrays;
-//import java.util.List;
+// import java.util.ArrayList;
+// import java.util.Arrays;
+// import java.util.List;
 //
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//public class BundleManifestValidationContext extends AbstractValidationContext {
+// public class BundleManifestValidationContext extends AbstractValidationContext {
 //
-//	public static final String[] BOOLEAN_VALUES = new String[] { "true", "false" };
+// public static final String[] BOOLEAN_VALUES = new String[] { "true", "false" };
 //
-//	public BundleManifestValidationContext(IResourceModelElement rootElement,
-//			IResourceModelElement contextElement) {
-//		super(rootElement, contextElement);
-//	}
+// public BundleManifestValidationContext(IResourceModelElement rootElement,
+// IResourceModelElement contextElement) {
+// super(rootElement, contextElement);
+// }
 //
-//	public void error(String problemId, String msg, int line, ValidationProblemAttribute... attributes) {
-//		error(getRootElement(), problemId, msg, mergeAttributes(line, attributes));
-//	}
+// public void error(String problemId, String msg, int line, ValidationProblemAttribute... attributes) {
+// error(getRootElement(), problemId, msg, mergeAttributes(line, attributes));
+// }
 //
-//	public void errorIllegalAttributeValue(BundleManifestHeader header, ManifestElement element,
-//			String key, String value) {
-//		String msg = NLS.bind(BundleManifestCoreMessages.BundleErrorReporter_att_value,
-//				(new String[] { value, key }));
-//		error(getRootElement(), "ILLEGAL_ATTRIBUTE_VALUE", msg, new ValidationProblemAttribute(
-//				IMarker.LINE_NUMBER, BundleManifestUtils.getLineNumber(getDocument(), header, key
-//						+ "=")));
-//	}
+// public void errorIllegalAttributeValue(BundleManifestHeader header, ManifestElement element,
+// String key, String value) {
+// String msg = NLS.bind(BundleManifestCoreMessages.BundleErrorReporter_att_value,
+// (new String[] { value, key }));
+// error(getRootElement(), "ILLEGAL_ATTRIBUTE_VALUE", msg, new ValidationProblemAttribute(
+// IMarker.LINE_NUMBER, BundleManifestUtils.getLineNumber(getDocument(), header, key
+// + "=")));
+// }
 //
-//	public void errorIllegalDirectiveValue(BundleManifestHeader header, ManifestElement element,
-//			String key, String value) {
-//		String msg = NLS.bind(BundleManifestCoreMessages.BundleErrorReporter_dir_value,
-//				(new String[] { value, key }));
-//		error(getRootElement(), "ILLEGAL_DIRECTIVE_VALUE", msg, new ValidationProblemAttribute(
-//				IMarker.LINE_NUMBER, BundleManifestUtils.getLineNumber(getDocument(), header, key
-//						+ ":=")));
-//	}
+// public void errorIllegalDirectiveValue(BundleManifestHeader header, ManifestElement element,
+// String key, String value) {
+// String msg = NLS.bind(BundleManifestCoreMessages.BundleErrorReporter_dir_value,
+// (new String[] { value, key }));
+// error(getRootElement(), "ILLEGAL_DIRECTIVE_VALUE", msg, new ValidationProblemAttribute(
+// IMarker.LINE_NUMBER, BundleManifestUtils.getLineNumber(getDocument(), header, key
+// + ":=")));
+// }
 //
-//	public void errorIllegalValue(BundleManifestHeader header, ManifestElement element, String illegalValue, String errorId) {
-//		String msg = NLS.bind(BundleManifestCoreMessages.BundleErrorReporter_illegal_value, illegalValue);
-//		error(getRootElement(), errorId, msg, new ValidationProblemAttribute(
-//				IMarker.LINE_NUMBER, BundleManifestUtils
-//						.getLineNumber(getDocument(), header, illegalValue)));
-//	}
+// public void errorIllegalValue(BundleManifestHeader header, ManifestElement element, String illegalValue, String
+/// errorId) {
+// String msg = NLS.bind(BundleManifestCoreMessages.BundleErrorReporter_illegal_value, illegalValue);
+// error(getRootElement(), errorId, msg, new ValidationProblemAttribute(
+// IMarker.LINE_NUMBER, BundleManifestUtils
+// .getLineNumber(getDocument(), header, illegalValue)));
+// }
 //
-//	public BundleManifest getBundleManifest() {
-//		return (BundleManifest) getRootElement();
-//	}
+// public BundleManifest getBundleManifest() {
+// return (BundleManifest) getRootElement();
+// }
 //
-//	public void info(String problemId, String msg, int line, ValidationProblemAttribute... attributes) {
-//		info(getRootElement(), problemId, msg, mergeAttributes(line, attributes));
-//	}
+// public void info(String problemId, String msg, int line, ValidationProblemAttribute... attributes) {
+// info(getRootElement(), problemId, msg, mergeAttributes(line, attributes));
+// }
 //
-//	public void validateAttributeValue(BundleManifestHeader header, ManifestElement element,
-//			String key, String[] allowedValues) {
-//		String value = element.getAttribute(key);
-//		if (value == null) {
-//			return;
-//		}
-//		for (int i = 0; i < allowedValues.length; i++) {
-//			if (allowedValues[i].equals(value)) {
-//				return;
-//			}
-//		}
-//		errorIllegalAttributeValue(header, element, key, value);
-//	}
+// public void validateAttributeValue(BundleManifestHeader header, ManifestElement element,
+// String key, String[] allowedValues) {
+// String value = element.getAttribute(key);
+// if (value == null) {
+// return;
+// }
+// for (int i = 0; i < allowedValues.length; i++) {
+// if (allowedValues[i].equals(value)) {
+// return;
+// }
+// }
+// errorIllegalAttributeValue(header, element, key, value);
+// }
 //
-//	public void validateBooleanAttributeValue(BundleManifestHeader header, ManifestElement element,
-//			String key) {
-//		validateAttributeValue(header, element, key, BOOLEAN_VALUES);
-//	}
+// public void validateBooleanAttributeValue(BundleManifestHeader header, ManifestElement element,
+// String key) {
+// validateAttributeValue(header, element, key, BOOLEAN_VALUES);
+// }
 //
-//	public void validateBooleanDirectiveValue(BundleManifestHeader header, ManifestElement element,
-//			String key) {
-//		validateDirectiveValue(header, element, key, BOOLEAN_VALUES);
-//	}
+// public void validateBooleanDirectiveValue(BundleManifestHeader header, ManifestElement element,
+// String key) {
+// validateDirectiveValue(header, element, key, BOOLEAN_VALUES);
+// }
 //
-//	public void validateBooleanValue(BundleManifestHeader header) {
-//		validateHeaderValue(header, BOOLEAN_VALUES, "ILLEGAL_VALUE");
-//	}
+// public void validateBooleanValue(BundleManifestHeader header) {
+// validateHeaderValue(header, BOOLEAN_VALUES, "ILLEGAL_VALUE");
+// }
 //
-//	public void validateDirectiveValue(BundleManifestHeader header, ManifestElement element,
-//			String key, String[] allowedValues) {
-//		String value = element.getDirective(key);
-//		if (value == null) {
-//			return;
-//		}
-//		for (int i = 0; i < allowedValues.length; i++) {
-//			if (allowedValues[i].equals(value)) {
-//				return;
-//			}
-//		}
-//		errorIllegalDirectiveValue(header, element, key, value);
-//	}
+// public void validateDirectiveValue(BundleManifestHeader header, ManifestElement element,
+// String key, String[] allowedValues) {
+// String value = element.getDirective(key);
+// if (value == null) {
+// return;
+// }
+// for (int i = 0; i < allowedValues.length; i++) {
+// if (allowedValues[i].equals(value)) {
+// return;
+// }
+// }
+// errorIllegalDirectiveValue(header, element, key, value);
+// }
 //
-//	public void validateHeaderValue(BundleManifestHeader header, String[] allowedValues, String errorId) {
-//		BundleManifestHeaderElement[] elements = header.getBundleManifestHeaderElements();
-//		if (elements != null && elements.length > 0) {
-//			for (int i = 0; i < allowedValues.length; i++) {
-//				if (allowedValues[i].equals(elements[0].getManifestElement().getValue())) {
-//					return;
-//				}
-//			}
-//			errorIllegalValue(header, elements[0].getManifestElement(), elements[0]
-//					.getManifestElement().getValue(), errorId);
-//		}
-//	}
+// public void validateHeaderValue(BundleManifestHeader header, String[] allowedValues, String errorId) {
+// BundleManifestHeaderElement[] elements = header.getBundleManifestHeaderElements();
+// if (elements != null && elements.length > 0) {
+// for (int i = 0; i < allowedValues.length; i++) {
+// if (allowedValues[i].equals(elements[0].getManifestElement().getValue())) {
+// return;
+// }
+// }
+// errorIllegalValue(header, elements[0].getManifestElement(), elements[0]
+// .getManifestElement().getValue(), errorId);
+// }
+// }
 //
-//	public BundleManifestHeader validateRequiredHeader(String name, String missingRequiredHeaderErrorId) {
-//		BundleManifestHeader header = getBundleManifest().getHeader(name);
-//		if (header == null) {
-//			String msg = NLS.bind(BundleManifestCoreMessages.BundleErrorReporter_headerMissing,
-//					name);
-//			error(getRootElement(), missingRequiredHeaderErrorId, msg, new ValidationProblemAttribute(
-//					IMarker.LINE_NUMBER, new Integer(1)));
-//		}
-//		return header;
-//	}
+// public BundleManifestHeader validateRequiredHeader(String name, String missingRequiredHeaderErrorId) {
+// BundleManifestHeader header = getBundleManifest().getHeader(name);
+// if (header == null) {
+// String msg = NLS.bind(BundleManifestCoreMessages.BundleErrorReporter_headerMissing,
+// name);
+// error(getRootElement(), missingRequiredHeaderErrorId, msg, new ValidationProblemAttribute(
+// IMarker.LINE_NUMBER, new Integer(1)));
+// }
+// return header;
+// }
 //
-//	public void warning(String problemId, String msg, int line, ValidationProblemAttribute... attributes) {
-//		warning(getRootElement(), problemId, msg, mergeAttributes(line, attributes));
-//	}
+// public void warning(String problemId, String msg, int line, ValidationProblemAttribute... attributes) {
+// warning(getRootElement(), problemId, msg, mergeAttributes(line, attributes));
+// }
 //
-//	private ValidationProblemAttribute[] mergeAttributes(int line, ValidationProblemAttribute... attributes) {
-//		List<ValidationProblemAttribute> attributeList = new ArrayList<ValidationProblemAttribute>();
-//		if (attributes != null && attributes.length > 0) {
-//			 attributeList.addAll(Arrays.asList(attributes));
-//		}
-//		attributeList.add(new ValidationProblemAttribute(IMarker.LINE_NUMBER, line));
-//		return attributeList.toArray(new ValidationProblemAttribute[attributeList.size()]);
-//	}
+// private ValidationProblemAttribute[] mergeAttributes(int line, ValidationProblemAttribute... attributes) {
+// List<ValidationProblemAttribute> attributeList = new ArrayList<ValidationProblemAttribute>();
+// if (attributes != null && attributes.length > 0) {
+// attributeList.addAll(Arrays.asList(attributes));
+// }
+// attributeList.add(new ValidationProblemAttribute(IMarker.LINE_NUMBER, line));
+// return attributeList.toArray(new ValidationProblemAttribute[attributeList.size()]);
+// }
 //
-//	private IDocument getDocument() {
-//		return getBundleManifest().getDocument();
-//	}
-//	
-//}
+// private IDocument getDocument() {
+// return getBundleManifest().getDocument();
+// }
+//
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/BundleManifestValidator.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/BundleManifestValidator.java
index e42ab61..dc7b1fb 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/BundleManifestValidator.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/BundleManifestValidator.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,100 +6,100 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation;
 //
 //
 //
-///**
+/// **
 // * {@link AbstractValidator} that handles validation of MANIFEST.MF.
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-//public class BundleManifestValidator extends AbstractValidator {
+// public class BundleManifestValidator extends AbstractValidator {
 //
-//	/**
-//	 * {@inheritDoc}
-//	 */
-//	public Set<IResource> deriveResources(Object object) {
-//		return Collections.emptySet();
-//	}
+// /**
+// * {@inheritDoc}
+// */
+// public Set<IResource> deriveResources(Object object) {
+// return Collections.emptySet();
+// }
 //
-//	/**
-//	 * {@inheritDoc}
-//	 */
-//	public Set<IResource> getAffectedResources(IResource resource, int kind, int deltaKind) throws CoreException {
-//		IJavaProject javaProject = JavaCore.create(resource.getProject());
-//		IResource bundleManifest = BundleManifestUtils.locateManifest(javaProject, false);
-//		Set<IResource> resources = new LinkedHashSet<IResource>();
-//		if ((FacetUtils.isBundleProject(resource) && resource.equals(bundleManifest))
-//				|| (FacetUtils.isParProject(resource) && SpringCoreUtils.isManifest(resource))) {
-//			resources.add(resource);
-//		}
-//		else if (FacetUtils.isBundleProject(resource)
-//				&& resource.getProjectRelativePath().toString().equals("template.mf")) {
-//			resources.add(resource);
-//		}
-//		return resources;
-//	}
+// /**
+// * {@inheritDoc}
+// */
+// public Set<IResource> getAffectedResources(IResource resource, int kind, int deltaKind) throws CoreException {
+// IJavaProject javaProject = JavaCore.create(resource.getProject());
+// IResource bundleManifest = BundleManifestUtils.locateManifest(javaProject, false);
+// Set<IResource> resources = new LinkedHashSet<IResource>();
+// if ((FacetUtils.isBundleProject(resource) && resource.equals(bundleManifest))
+// || (FacetUtils.isParProject(resource) && SpringCoreUtils.isManifest(resource))) {
+// resources.add(resource);
+// }
+// else if (FacetUtils.isBundleProject(resource)
+// && resource.getProjectRelativePath().toString().equals("template.mf")) {
+// resources.add(resource);
+// }
+// return resources;
+// }
 //
-//	/**
-//	 * {@inheritDoc}
-//	 */
-//	@Override
-//	protected IValidationContext createContext(IResourceModelElement rootElement, IResourceModelElement contextElement) {
-//		return new BundleManifestValidationContext(rootElement, contextElement);
-//	}
+// /**
+// * {@inheritDoc}
+// */
+// @Override
+// protected IValidationContext createContext(IResourceModelElement rootElement, IResourceModelElement contextElement) {
+// return new BundleManifestValidationContext(rootElement, contextElement);
+// }
 //
-//	/**
-//	 * {@inheritDoc}
-//	 */
-//	@Override
-//	protected IValidationElementLifecycleManager createValidationElementLifecycleManager() {
-//		return new BundleManifestElementLifecycleManager();
-//	}
+// /**
+// * {@inheritDoc}
+// */
+// @Override
+// protected IValidationElementLifecycleManager createValidationElementLifecycleManager() {
+// return new BundleManifestElementLifecycleManager();
+// }
 //
-//	/**
-//	 * {@inheritDoc}
-//	 */
-//	@Override
-//	protected boolean supports(IModelElement element) {
-//		return element instanceof BundleManifest || element instanceof BundleManifestHeader;
-//	}
+// /**
+// * {@inheritDoc}
+// */
+// @Override
+// protected boolean supports(IModelElement element) {
+// return element instanceof BundleManifest || element instanceof BundleManifestHeader;
+// }
 //
-//	static class BundleManifestElementLifecycleManager implements IValidationElementLifecycleManager {
+// static class BundleManifestElementLifecycleManager implements IValidationElementLifecycleManager {
 //
-//		private IResourceModelElement rootElement = null;
+// private IResourceModelElement rootElement = null;
 //
-//		/**
-//		 * {@inheritDoc}
-//		 */
-//		public void destory() {
-//			// nothing to do
-//		}
+// /**
+// * {@inheritDoc}
+// */
+// public void destory() {
+// // nothing to do
+// }
 //
-//		/**
-//		 * {@inheritDoc}
-//		 */
-//		public Set<IResourceModelElement> getContextElements() {
-//			Set<IResourceModelElement> contextElements = new HashSet<IResourceModelElement>();
-//			contextElements.add(getRootElement());
-//			return contextElements;
-//		}
+// /**
+// * {@inheritDoc}
+// */
+// public Set<IResourceModelElement> getContextElements() {
+// Set<IResourceModelElement> contextElements = new HashSet<IResourceModelElement>();
+// contextElements.add(getRootElement());
+// return contextElements;
+// }
 //
-//		/**
-//		 * {@inheritDoc}
-//		 */
-//		public IResourceModelElement getRootElement() {
-//			return rootElement;
-//		}
+// /**
+// * {@inheritDoc}
+// */
+// public IResourceModelElement getRootElement() {
+// return rootElement;
+// }
 //
-//		public void init(IResource resource) {
-//			if (resource instanceof IFile) {
-//				rootElement = new BundleManifest((IFile) resource);
-//			}
-//		}
-//	}
+// public void init(IResource resource) {
+// if (resource instanceof IFile) {
+// rootElement = new BundleManifest((IFile) resource);
+// }
+// }
+// }
 //
-//}
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/AbstractApplicationManifestHeaderRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/AbstractApplicationManifestHeaderRule.java
index 690e4db..fb345d8 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/AbstractApplicationManifestHeaderRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/AbstractApplicationManifestHeaderRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,26 +6,26 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
-//import org.eclipse.virgo.ide.facet.core.FacetUtils;
-//import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
+// import org.eclipse.virgo.ide.facet.core.FacetUtils;
+// import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//public abstract class AbstractApplicationManifestHeaderRule extends AbstractManifestHeaderRule {
+// public abstract class AbstractApplicationManifestHeaderRule extends AbstractManifestHeaderRule {
 //
-//	@Override
-//	protected boolean supportsContext(BundleManifestValidationContext context) {
-//		return FacetUtils.isParProject(context.getRootElement().getElementResource());
-//	}
+// @Override
+// protected boolean supportsContext(BundleManifestValidationContext context) {
+// return FacetUtils.isParProject(context.getRootElement().getElementResource());
+// }
 //
-//}
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/AbstractBundleManifestHeaderRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/AbstractBundleManifestHeaderRule.java
index 03a5f01..b26c690 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/AbstractBundleManifestHeaderRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/AbstractBundleManifestHeaderRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,38 +6,38 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
-//import org.eclipse.core.resources.IResource;
-//import org.eclipse.jdt.core.IJavaProject;
-//import org.eclipse.jdt.core.JavaCore;
-//import org.eclipse.virgo.ide.facet.core.FacetUtils;
-//import org.eclipse.virgo.ide.manifest.core.BundleManifestUtils;
-//import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
-//import org.osgi.framework.Version;
+// import org.eclipse.core.resources.IResource;
+// import org.eclipse.jdt.core.IJavaProject;
+// import org.eclipse.jdt.core.JavaCore;
+// import org.eclipse.virgo.ide.facet.core.FacetUtils;
+// import org.eclipse.virgo.ide.manifest.core.BundleManifestUtils;
+// import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
+// import org.osgi.framework.Version;
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//public abstract class AbstractBundleManifestHeaderRule extends AbstractManifestHeaderRule {
+// public abstract class AbstractBundleManifestHeaderRule extends AbstractManifestHeaderRule {
 //
-//	protected static final Version MAX_VERSION = new Version(Integer.MAX_VALUE, 
-//			Integer.MAX_VALUE, Integer.MAX_VALUE);
+// protected static final Version MAX_VERSION = new Version(Integer.MAX_VALUE,
+// Integer.MAX_VALUE, Integer.MAX_VALUE);
 //
-//	@Override
-//	protected boolean supportsContext(BundleManifestValidationContext context) {
-//		IResource resource = context.getRootElement().getElementResource();
-//		IJavaProject javaProject = JavaCore.create(resource.getProject());
-//		
-//		return FacetUtils.isBundleProject(context.getRootElement().getElementResource())
-//				&& (resource.equals(BundleManifestUtils.locateManifest(javaProject, false)) || resource
-//						.equals(BundleManifestUtils.locateManifest(javaProject, true)));
-//	}
-//}
+// @Override
+// protected boolean supportsContext(BundleManifestValidationContext context) {
+// IResource resource = context.getRootElement().getElementResource();
+// IJavaProject javaProject = JavaCore.create(resource.getProject());
+//
+// return FacetUtils.isBundleProject(context.getRootElement().getElementResource())
+// && (resource.equals(BundleManifestUtils.locateManifest(javaProject, false)) || resource
+// .equals(BundleManifestUtils.locateManifest(javaProject, true)));
+// }
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/AbstractManifestHeaderRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/AbstractManifestHeaderRule.java
index 462e51e..d903a72 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/AbstractManifestHeaderRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/AbstractManifestHeaderRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,59 +6,60 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//public abstract class AbstractManifestHeaderRule implements
-//		IValidationRule<BundleManifest, BundleManifestValidationContext> {
+// public abstract class AbstractManifestHeaderRule implements
+// IValidationRule<BundleManifest, BundleManifestValidationContext> {
 //
-//	public boolean supports(IModelElement element, IValidationContext context) {
-//		return element instanceof BundleManifest && context instanceof BundleManifestValidationContext
-//				&& ((BundleManifest) element).getProblems().size() == 0
-//				&& supportsContext((BundleManifestValidationContext) context);
-//	}
+// public boolean supports(IModelElement element, IValidationContext context) {
+// return element instanceof BundleManifest && context instanceof BundleManifestValidationContext
+// && ((BundleManifest) element).getProblems().size() == 0
+// && supportsContext((BundleManifestValidationContext) context);
+// }
 //
-//	public final void validate(BundleManifest element, BundleManifestValidationContext context, IProgressMonitor monitor) {
-//		IResource resource = context.getRootElement().getElementResource();
+// public final void validate(BundleManifest element, BundleManifestValidationContext context, IProgressMonitor monitor)
+/// {
+// IResource resource = context.getRootElement().getElementResource();
 //
-//		for (String headerName : getHeaderName()) {
-//			BundleManifestHeader header = null;
-//			if (isRequiredHeader(resource)) {
-//				header = context.validateRequiredHeader(headerName, getMissingRequiredHeaderErrorId());
-//			}
-//			else {
-//				header = context.getBundleManifest().getHeader(headerName);
-//			}
-//			if (header != null) {
-//				validateHeader(header, context);
-//			}
-//		}
-//	}
+// for (String headerName : getHeaderName()) {
+// BundleManifestHeader header = null;
+// if (isRequiredHeader(resource)) {
+// header = context.validateRequiredHeader(headerName, getMissingRequiredHeaderErrorId());
+// }
+// else {
+// header = context.getBundleManifest().getHeader(headerName);
+// }
+// if (header != null) {
+// validateHeader(header, context);
+// }
+// }
+// }
 //
-//	/**
-//	 * Intended to be overridden by validation rules to provide a unique error id that will be added to the marker in
-//	 * the case that the header is required and missing.
-//	 */
-//	protected String getMissingRequiredHeaderErrorId() {
-//		return "MISSING_REQUIRED_HEADER";
-//	}
+// /**
+// * Intended to be overridden by validation rules to provide a unique error id that will be added to the marker in
+// * the case that the header is required and missing.
+// */
+// protected String getMissingRequiredHeaderErrorId() {
+// return "MISSING_REQUIRED_HEADER";
+// }
 //
-//	protected abstract String[] getHeaderName();
+// protected abstract String[] getHeaderName();
 //
-//	protected boolean isRequiredHeader(IResource resource) {
-//		return false;
-//	}
+// protected boolean isRequiredHeader(IResource resource) {
+// return false;
+// }
 //
-//	protected abstract boolean supportsContext(BundleManifestValidationContext context);
+// protected abstract boolean supportsContext(BundleManifestValidationContext context);
 //
-//	protected abstract void validateHeader(BundleManifestHeader header, BundleManifestValidationContext context);
-//}
+// protected abstract void validateHeader(BundleManifestHeader header, BundleManifestValidationContext context);
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ApplicationSymbolicNameRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ApplicationSymbolicNameRule.java
index bc8fb93..60ef5f8 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ApplicationSymbolicNameRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ApplicationSymbolicNameRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,54 +6,54 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//@SuppressWarnings("restriction")
-//public class ApplicationSymbolicNameRule extends AbstractApplicationManifestHeaderRule {
+// @SuppressWarnings("restriction")
+// public class ApplicationSymbolicNameRule extends AbstractApplicationManifestHeaderRule {
 //
-//	private static final String[] APPLICATION_SYMBOLIC_NAME_MANIFEST_HEADER = 
-//		new String[] { "Application-SymbolicName" };
+// private static final String[] APPLICATION_SYMBOLIC_NAME_MANIFEST_HEADER =
+// new String[] { "Application-SymbolicName" };
 //
-//	@Override
-//	protected String[] getHeaderName() {
-//		return APPLICATION_SYMBOLIC_NAME_MANIFEST_HEADER;
-//	}
+// @Override
+// protected String[] getHeaderName() {
+// return APPLICATION_SYMBOLIC_NAME_MANIFEST_HEADER;
+// }
 //
-//	@Override
-//	protected boolean isRequiredHeader(IResource resource) {
-//		return true;
-//	}
+// @Override
+// protected boolean isRequiredHeader(IResource resource) {
+// return true;
+// }
 //
-//	@Override
-//	protected void validateHeader(BundleManifestHeader header,
-//			BundleManifestValidationContext context) {
+// @Override
+// protected void validateHeader(BundleManifestHeader header,
+// BundleManifestValidationContext context) {
 //
-//		BundleManifestHeaderElement[] elements = header.getBundleManifestHeaderElements();
-//		String id = elements.length > 0 ? elements[0].getManifestElement().getValue() : null;
-//		if (id == null || id.length() == 0) {
-//			context.error("NO_SYMBOLIC_NAME",
-//					BundleManifestCoreMessages.BundleErrorReporter_NoSymbolicName, header
-//							.getLineNumber() + 1);
-//		}
+// BundleManifestHeaderElement[] elements = header.getBundleManifestHeaderElements();
+// String id = elements.length > 0 ? elements[0].getManifestElement().getValue() : null;
+// if (id == null || id.length() == 0) {
+// context.error("NO_SYMBOLIC_NAME",
+// BundleManifestCoreMessages.BundleErrorReporter_NoSymbolicName, header
+// .getLineNumber() + 1);
+// }
 //
-//		if (StringUtils.hasText(id) && !IdUtil.isValidCompositeID3_0(id)) {
-//			context.error("ILLAGEL_SYMBOLIC_NAME",
-//					BundleManifestCoreMessages.BundleErrorReporter_InvalidSymbolicName,
-//					BundleManifestUtils.getLineNumber(context.getBundleManifest().getDocument(),
-//							header, id));
-//		}
+// if (StringUtils.hasText(id) && !IdUtil.isValidCompositeID3_0(id)) {
+// context.error("ILLAGEL_SYMBOLIC_NAME",
+// BundleManifestCoreMessages.BundleErrorReporter_InvalidSymbolicName,
+// BundleManifestUtils.getLineNumber(context.getBundleManifest().getDocument(),
+// header, id));
+// }
 //
-//	}
+// }
 //
-//}
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ApplicationVersionRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ApplicationVersionRule.java
index 69a5956..48eaeba 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ApplicationVersionRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ApplicationVersionRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,48 +6,48 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
-//import org.eclipse.core.resources.IResource;
-//import org.eclipse.core.runtime.IStatus;
-//import org.eclipse.pde.internal.core.util.VersionUtil;
-//import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
-//import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
+// import org.eclipse.core.resources.IResource;
+// import org.eclipse.core.runtime.IStatus;
+// import org.eclipse.pde.internal.core.util.VersionUtil;
+// import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
+// import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//@SuppressWarnings("restriction")
-//public class ApplicationVersionRule extends AbstractApplicationManifestHeaderRule {
+// @SuppressWarnings("restriction")
+// public class ApplicationVersionRule extends AbstractApplicationManifestHeaderRule {
 //
-//	private static final String[] APPLICATION_VERSION_MANIFEST_HEADER = 
-//		new String[] { "Application-Version" };
+// private static final String[] APPLICATION_VERSION_MANIFEST_HEADER =
+// new String[] { "Application-Version" };
 //
-//	@Override
-//	protected String[] getHeaderName() {
-//		return APPLICATION_VERSION_MANIFEST_HEADER;
-//	}
+// @Override
+// protected String[] getHeaderName() {
+// return APPLICATION_VERSION_MANIFEST_HEADER;
+// }
 //
-//	@Override
-//	protected boolean isRequiredHeader(IResource resource) {
-//		return true;
-//	}
+// @Override
+// protected boolean isRequiredHeader(IResource resource) {
+// return true;
+// }
 //
-//	@Override
-//	protected void validateHeader(BundleManifestHeader header,
-//			BundleManifestValidationContext context) {
-//		IStatus status = VersionUtil.validateVersion(header.getValue());
-//		if (!status.isOK()) {
-//			context.error("ILLEGAL_BUNDLE_VERSION", status.getMessage(),
-//				header.getLineNumber() + 1);
-//		}
-//	}
+// @Override
+// protected void validateHeader(BundleManifestHeader header,
+// BundleManifestValidationContext context) {
+// IStatus status = VersionUtil.validateVersion(header.getValue());
+// if (!status.isOK()) {
+// context.error("ILLEGAL_BUNDLE_VERSION", status.getMessage(),
+// header.getLineNumber() + 1);
+// }
+// }
 //
-//}
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleActivationPolicyRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleActivationPolicyRule.java
index 4ed662b..ae702be 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleActivationPolicyRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleActivationPolicyRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,33 +6,34 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
-//import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
-//import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
-//import org.osgi.framework.Constants;
+// import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
+// import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
+// import org.osgi.framework.Constants;
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//public class BundleActivationPolicyRule extends AbstractBundleManifestHeaderRule {
+// public class BundleActivationPolicyRule extends AbstractBundleManifestHeaderRule {
 //
-//	@Override
-//	protected String[] getHeaderName() {
-//		return new String[] { Constants.BUNDLE_ACTIVATIONPOLICY };
-//	}
+// @Override
+// protected String[] getHeaderName() {
+// return new String[] { Constants.BUNDLE_ACTIVATIONPOLICY };
+// }
 //
-//	@Override
-//	protected void validateHeader(BundleManifestHeader header,
-//			BundleManifestValidationContext context) {
-//		context.validateHeaderValue(header, new String[] { Constants.ACTIVATION_LAZY }, ManifestValidationRuleConstants.ILLEGAL_BUNDLE_ACTIVATION_POLICY);
-//	}
+// @Override
+// protected void validateHeader(BundleManifestHeader header,
+// BundleManifestValidationContext context) {
+// context.validateHeaderValue(header, new String[] { Constants.ACTIVATION_LAZY },
+/// ManifestValidationRuleConstants.ILLEGAL_BUNDLE_ACTIVATION_POLICY);
+// }
 //
-//}
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleActivatorRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleActivatorRule.java
index b91d37c..3450979 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleActivatorRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleActivatorRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,46 +6,47 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//public class BundleActivatorRule extends AbstractBundleManifestHeaderRule {
+// public class BundleActivatorRule extends AbstractBundleManifestHeaderRule {
 //
-//	@Override
-//	protected String[] getHeaderName() {
-//		return new String[] { Constants.BUNDLE_ACTIVATOR };
-//	}
+// @Override
+// protected String[] getHeaderName() {
+// return new String[] { Constants.BUNDLE_ACTIVATOR };
+// }
 //
-//	@Override
-//	protected void validateHeader(BundleManifestHeader header,
-//			BundleManifestValidationContext context) {
-//		String activatorClass = header.getValue();
-//		//TODO -- not sure if this logic is ok, it is much simpler than old logic, but assuming that the class needs to be in the same bundle as Manifest
-//		IProject project = context.getRootElement().getElementResource().getProject();
-//		IJavaProject javaProject = JavaCore.create(project);
-//		IType findType;
-//		try {
-//			findType = javaProject.findType(activatorClass, new NullProgressMonitor());
-//			if (findType == null) {
-//				context.error("ILLEGAL_ACTIVATOR_CLASS", NLS.bind(
-//						BundleManifestCoreMessages.BundleErrorReporter_NoExist, activatorClass), header
-//						.getLineNumber() + 1);
-//			}
-//		} catch (JavaModelException e) {
-//			context.error("ILLEGAL_ACTIVATOR_CLASS", NLS.bind(
-//			                              					BundleManifestCoreMessages.BundleErrorReporter_NoExist, activatorClass), header
-//			                              					.getLineNumber() + 1);
-//		}
-//	}
+// @Override
+// protected void validateHeader(BundleManifestHeader header,
+// BundleManifestValidationContext context) {
+// String activatorClass = header.getValue();
+// //TODO -- not sure if this logic is ok, it is much simpler than old logic, but assuming that the class needs to be in
+/// the same bundle as Manifest
+// IProject project = context.getRootElement().getElementResource().getProject();
+// IJavaProject javaProject = JavaCore.create(project);
+// IType findType;
+// try {
+// findType = javaProject.findType(activatorClass, new NullProgressMonitor());
+// if (findType == null) {
+// context.error("ILLEGAL_ACTIVATOR_CLASS", NLS.bind(
+// BundleManifestCoreMessages.BundleErrorReporter_NoExist, activatorClass), header
+// .getLineNumber() + 1);
+// }
+// } catch (JavaModelException e) {
+// context.error("ILLEGAL_ACTIVATOR_CLASS", NLS.bind(
+// BundleManifestCoreMessages.BundleErrorReporter_NoExist, activatorClass), header
+// .getLineNumber() + 1);
+// }
+// }
 //
-//}
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleManifestVersionRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleManifestVersionRule.java
index abad2f7..ca70148 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleManifestVersionRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleManifestVersionRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,61 +6,61 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
-//import org.eclipse.core.resources.IResource;
-//import org.eclipse.virgo.ide.facet.core.FacetCorePlugin;
-//import org.eclipse.virgo.ide.facet.core.FacetUtils;
-//import org.eclipse.virgo.ide.manifest.core.BundleManifestCoreMessages;
-//import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
-//import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
-//import org.osgi.framework.Constants;
+// import org.eclipse.core.resources.IResource;
+// import org.eclipse.virgo.ide.facet.core.FacetCorePlugin;
+// import org.eclipse.virgo.ide.facet.core.FacetUtils;
+// import org.eclipse.virgo.ide.manifest.core.BundleManifestCoreMessages;
+// import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
+// import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
+// import org.osgi.framework.Constants;
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//public class BundleManifestVersionRule extends AbstractBundleManifestHeaderRule {
+// public class BundleManifestVersionRule extends AbstractBundleManifestHeaderRule {
 //
-//	@Override
-//	protected boolean supportsContext(BundleManifestValidationContext context) {
-//		if (super.supportsContext(context)) {
-//			IResource resource = context.getRootElement().getElementResource();
-//			return !FacetUtils.hasProjectFacet(resource, FacetCorePlugin.WEB_FACET_ID);
-//		}
-//		return false;
-//	}
-//	
-//	@Override
-//	protected String[] getHeaderName() {
-//		return new String[] { Constants.BUNDLE_MANIFESTVERSION };
-//	}
+// @Override
+// protected boolean supportsContext(BundleManifestValidationContext context) {
+// if (super.supportsContext(context)) {
+// IResource resource = context.getRootElement().getElementResource();
+// return !FacetUtils.hasProjectFacet(resource, FacetCorePlugin.WEB_FACET_ID);
+// }
+// return false;
+// }
 //
-//	@Override
-//	protected boolean isRequiredHeader(IResource resource) {
-//		return true;
-//	}
+// @Override
+// protected String[] getHeaderName() {
+// return new String[] { Constants.BUNDLE_MANIFESTVERSION };
+// }
 //
-//	@Override
-//	protected void validateHeader(BundleManifestHeader header,
-//			BundleManifestValidationContext context) {
-//		String version = header.getValue();
-//		if (!"2".equals(version)) {
-//			context.warning(ManifestValidationRuleConstants.ILLEGAL_BUNDLE_MANIFEST_VERSION,
-//					BundleManifestCoreMessages.BundleErrorReporter_illegalManifestVersion, header
-//							.getLineNumber() + 1);
-//		}
-//	}
-//	
-//	@Override
-//	protected String getMissingRequiredHeaderErrorId() {
-//		return ManifestValidationRuleConstants.MISSING_BUNDLE_MANIFEST_VERSION;
-//	}
+// @Override
+// protected boolean isRequiredHeader(IResource resource) {
+// return true;
+// }
 //
-//}
+// @Override
+// protected void validateHeader(BundleManifestHeader header,
+// BundleManifestValidationContext context) {
+// String version = header.getValue();
+// if (!"2".equals(version)) {
+// context.warning(ManifestValidationRuleConstants.ILLEGAL_BUNDLE_MANIFEST_VERSION,
+// BundleManifestCoreMessages.BundleErrorReporter_illegalManifestVersion, header
+// .getLineNumber() + 1);
+// }
+// }
+//
+// @Override
+// protected String getMissingRequiredHeaderErrorId() {
+// return ManifestValidationRuleConstants.MISSING_BUNDLE_MANIFEST_VERSION;
+// }
+//
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleNameRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleNameRule.java
index 7d846b3..1d19b76 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleNameRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleNameRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,44 +6,44 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
-//import org.eclipse.core.resources.IResource;
-//import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
-//import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
-//import org.osgi.framework.Constants;
+// import org.eclipse.core.resources.IResource;
+// import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
+// import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
+// import org.osgi.framework.Constants;
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//public class BundleNameRule extends AbstractBundleManifestHeaderRule {
+// public class BundleNameRule extends AbstractBundleManifestHeaderRule {
 //
-//	@Override
-//	protected String[] getHeaderName() {
-//		return new String[] { Constants.BUNDLE_NAME };
-//	}
+// @Override
+// protected String[] getHeaderName() {
+// return new String[] { Constants.BUNDLE_NAME };
+// }
 //
-//	@Override
-//	protected boolean isRequiredHeader(IResource resource) {
-//		return true;
-//	}
+// @Override
+// protected boolean isRequiredHeader(IResource resource) {
+// return true;
+// }
 //
-//	@Override
-//	protected void validateHeader(BundleManifestHeader header,
-//			BundleManifestValidationContext context) {
-//		// nothing to validate on the bundle name
-//	}
-//	
-//	@Override
-//	protected String getMissingRequiredHeaderErrorId() {
-//		return ManifestValidationRuleConstants.MISSING_BUNDLE_NAME;
-//	}
+// @Override
+// protected void validateHeader(BundleManifestHeader header,
+// BundleManifestValidationContext context) {
+// // nothing to validate on the bundle name
+// }
 //
-//}
+// @Override
+// protected String getMissingRequiredHeaderErrorId() {
+// return ManifestValidationRuleConstants.MISSING_BUNDLE_NAME;
+// }
+//
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleSymbolicNameRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleSymbolicNameRule.java
index becf662..b018cfc 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleSymbolicNameRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleSymbolicNameRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,69 +6,69 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//@SuppressWarnings("restriction")
-//public class BundleSymbolicNameRule extends AbstractBundleManifestHeaderRule {
+// @SuppressWarnings("restriction")
+// public class BundleSymbolicNameRule extends AbstractBundleManifestHeaderRule {
 //
-//	private static final String[] FRAGMENT_ATTACHMENT_DIRECTIVE_ALLOWED_VALUES = new String[] {
-//			Constants.FRAGMENT_ATTACHMENT_ALWAYS, Constants.FRAGMENT_ATTACHMENT_NEVER,
-//			Constants.FRAGMENT_ATTACHMENT_RESOLVETIME };
+// private static final String[] FRAGMENT_ATTACHMENT_DIRECTIVE_ALLOWED_VALUES = new String[] {
+// Constants.FRAGMENT_ATTACHMENT_ALWAYS, Constants.FRAGMENT_ATTACHMENT_NEVER,
+// Constants.FRAGMENT_ATTACHMENT_RESOLVETIME };
 //
-//	@Override
-//	protected String[] getHeaderName() {
-//		return new String[] { Constants.BUNDLE_SYMBOLICNAME };
-//	}
+// @Override
+// protected String[] getHeaderName() {
+// return new String[] { Constants.BUNDLE_SYMBOLICNAME };
+// }
 //
-//	@Override
-//	protected boolean isRequiredHeader(IResource resource) {
-//		return !FacetUtils.hasProjectFacet(resource, FacetCorePlugin.WEB_FACET_ID);
-//	}
+// @Override
+// protected boolean isRequiredHeader(IResource resource) {
+// return !FacetUtils.hasProjectFacet(resource, FacetCorePlugin.WEB_FACET_ID);
+// }
 //
-//	@Override
-//	protected void validateHeader(BundleManifestHeader header, BundleManifestValidationContext context) {
+// @Override
+// protected void validateHeader(BundleManifestHeader header, BundleManifestValidationContext context) {
 //
-//		BundleManifestHeaderElement[] elements = header.getBundleManifestHeaderElements();
-//		String id = elements.length > 0 ? elements[0].getManifestElement().getValue() : null;
-//		if (id == null || id.length() == 0) {
-//			context.error("NO_SYMBOLIC_NAME", BundleManifestCoreMessages.BundleErrorReporter_NoSymbolicName, header
-//					.getLineNumber() + 1);
-//		}
+// BundleManifestHeaderElement[] elements = header.getBundleManifestHeaderElements();
+// String id = elements.length > 0 ? elements[0].getManifestElement().getValue() : null;
+// if (id == null || id.length() == 0) {
+// context.error("NO_SYMBOLIC_NAME", BundleManifestCoreMessages.BundleErrorReporter_NoSymbolicName, header
+// .getLineNumber() + 1);
+// }
 //
-//		if (StringUtils.hasText(id) && !IdUtil.isValidCompositeID3_0(id)) {
-//			context.error("ILLAGEL_SYMBOLIC_NAME", BundleManifestCoreMessages.BundleErrorReporter_InvalidSymbolicName,
-//					BundleManifestUtils.getLineNumber(context.getBundleManifest().getDocument(), header, id));
-//		}
+// if (StringUtils.hasText(id) && !IdUtil.isValidCompositeID3_0(id)) {
+// context.error("ILLAGEL_SYMBOLIC_NAME", BundleManifestCoreMessages.BundleErrorReporter_InvalidSymbolicName,
+// BundleManifestUtils.getLineNumber(context.getBundleManifest().getDocument(), header, id));
+// }
 //
-//		if (elements.length > 0) {
-//			// validate singleton directive
-//			context.validateBooleanAttributeValue(header, elements[0].getManifestElement(),
-//					Constants.SINGLETON_DIRECTIVE);
-//			context.validateBooleanDirectiveValue(header, elements[0].getManifestElement(),
-//					Constants.SINGLETON_DIRECTIVE);
+// if (elements.length > 0) {
+// // validate singleton directive
+// context.validateBooleanAttributeValue(header, elements[0].getManifestElement(),
+// Constants.SINGLETON_DIRECTIVE);
+// context.validateBooleanDirectiveValue(header, elements[0].getManifestElement(),
+// Constants.SINGLETON_DIRECTIVE);
 //
-//			// validate fragment-attachment directive
-//			context.validateAttributeValue(header, elements[0].getManifestElement(),
-//					Constants.FRAGMENT_ATTACHMENT_DIRECTIVE, FRAGMENT_ATTACHMENT_DIRECTIVE_ALLOWED_VALUES);
-//			context.validateDirectiveValue(header, elements[0].getManifestElement(),
-//					Constants.FRAGMENT_ATTACHMENT_DIRECTIVE, FRAGMENT_ATTACHMENT_DIRECTIVE_ALLOWED_VALUES);
-//		}
-//	}
+// // validate fragment-attachment directive
+// context.validateAttributeValue(header, elements[0].getManifestElement(),
+// Constants.FRAGMENT_ATTACHMENT_DIRECTIVE, FRAGMENT_ATTACHMENT_DIRECTIVE_ALLOWED_VALUES);
+// context.validateDirectiveValue(header, elements[0].getManifestElement(),
+// Constants.FRAGMENT_ATTACHMENT_DIRECTIVE, FRAGMENT_ATTACHMENT_DIRECTIVE_ALLOWED_VALUES);
+// }
+// }
 //
-//	@Override
-//	protected String getMissingRequiredHeaderErrorId() {
-//		return ManifestValidationRuleConstants.MISSING_BUNDLE_SYMBOLIC_NAME;
-//	}
+// @Override
+// protected String getMissingRequiredHeaderErrorId() {
+// return ManifestValidationRuleConstants.MISSING_BUNDLE_SYMBOLIC_NAME;
+// }
 //
-//}
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleVersionRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleVersionRule.java
index 4d0bc01..a516bbb 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleVersionRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/BundleVersionRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,51 +6,51 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
-//import org.eclipse.core.resources.IResource;
-//import org.eclipse.core.runtime.IStatus;
-//import org.eclipse.pde.internal.core.util.VersionUtil;
-//import org.eclipse.virgo.ide.facet.core.FacetCorePlugin;
-//import org.eclipse.virgo.ide.facet.core.FacetUtils;
-//import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
-//import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
-//import org.osgi.framework.Constants;
+// import org.eclipse.core.resources.IResource;
+// import org.eclipse.core.runtime.IStatus;
+// import org.eclipse.pde.internal.core.util.VersionUtil;
+// import org.eclipse.virgo.ide.facet.core.FacetCorePlugin;
+// import org.eclipse.virgo.ide.facet.core.FacetUtils;
+// import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
+// import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
+// import org.osgi.framework.Constants;
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//@SuppressWarnings("restriction")
-//public class BundleVersionRule extends AbstractBundleManifestHeaderRule {
+// @SuppressWarnings("restriction")
+// public class BundleVersionRule extends AbstractBundleManifestHeaderRule {
 //
-//	@Override
-//	protected String[] getHeaderName() {
-//		return new String[] { Constants.BUNDLE_VERSION };
-//	}
+// @Override
+// protected String[] getHeaderName() {
+// return new String[] { Constants.BUNDLE_VERSION };
+// }
 //
-//	@Override
-//	protected boolean isRequiredHeader(IResource resource) {
-//		return !FacetUtils.hasProjectFacet(resource, FacetCorePlugin.WEB_FACET_ID);
-//	}
+// @Override
+// protected boolean isRequiredHeader(IResource resource) {
+// return !FacetUtils.hasProjectFacet(resource, FacetCorePlugin.WEB_FACET_ID);
+// }
 //
-//	@Override
-//	protected void validateHeader(BundleManifestHeader header, BundleManifestValidationContext context) {
-//		IStatus status = VersionUtil.validateVersion(header.getValue());
-//		if (!status.isOK()) {
-//			context.error("ILLEGAL_BUNDLE_VERSION", status.getMessage(), header.getLineNumber() + 1);
-//		}
-//	}
+// @Override
+// protected void validateHeader(BundleManifestHeader header, BundleManifestValidationContext context) {
+// IStatus status = VersionUtil.validateVersion(header.getValue());
+// if (!status.isOK()) {
+// context.error("ILLEGAL_BUNDLE_VERSION", status.getMessage(), header.getLineNumber() + 1);
+// }
+// }
 //
-//	@Override
-//	protected String getMissingRequiredHeaderErrorId() {
-//		return ManifestValidationRuleConstants.MISSING_BUNDLE_VERSION;
-//	}
+// @Override
+// protected String getMissingRequiredHeaderErrorId() {
+// return ManifestValidationRuleConstants.MISSING_BUNDLE_VERSION;
+// }
 //
-//}
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ExportPackageRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ExportPackageRule.java
index 04ade2a..b67b39e 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ExportPackageRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ExportPackageRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,99 +6,99 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
-//import org.eclipse.core.runtime.IStatus;
-//import org.eclipse.jdt.core.IJavaElement;
-//import org.eclipse.jdt.core.IPackageFragment;
-//import org.eclipse.jdt.core.IPackageFragmentRoot;
-//import org.eclipse.jdt.core.JavaCore;
-//import org.eclipse.jdt.core.JavaModelException;
-//import org.eclipse.osgi.util.ManifestElement;
-//import org.eclipse.pde.internal.core.util.VersionUtil;
-//import org.eclipse.virgo.ide.manifest.core.BundleManifestUtils;
-//import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
-//import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeaderElement;
-//import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
-//import org.osgi.framework.Constants;
+// import org.eclipse.core.runtime.IStatus;
+// import org.eclipse.jdt.core.IJavaElement;
+// import org.eclipse.jdt.core.IPackageFragment;
+// import org.eclipse.jdt.core.IPackageFragmentRoot;
+// import org.eclipse.jdt.core.JavaCore;
+// import org.eclipse.jdt.core.JavaModelException;
+// import org.eclipse.osgi.util.ManifestElement;
+// import org.eclipse.pde.internal.core.util.VersionUtil;
+// import org.eclipse.virgo.ide.manifest.core.BundleManifestUtils;
+// import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
+// import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeaderElement;
+// import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
+// import org.osgi.framework.Constants;
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//@SuppressWarnings("restriction")
-//public class ExportPackageRule extends AbstractBundleManifestHeaderRule {
+// @SuppressWarnings("restriction")
+// public class ExportPackageRule extends AbstractBundleManifestHeaderRule {
 //
-//	private void validateExportPackage(BundleManifestHeader header, ManifestElement element,
-//			BundleManifestValidationContext context) {
-//		boolean found = false;
-//		try {
-//			IPackageFragmentRoot[] roots = JavaCore.create(
-//					context.getRootElement().getElementResource().getProject()).getPackageFragmentRoots();
+// private void validateExportPackage(BundleManifestHeader header, ManifestElement element,
+// BundleManifestValidationContext context) {
+// boolean found = false;
+// try {
+// IPackageFragmentRoot[] roots = JavaCore.create(
+// context.getRootElement().getElementResource().getProject()).getPackageFragmentRoots();
 //
-//			for (IPackageFragmentRoot root : roots) {
-//				int kind = root.getKind();
-//				if (kind == IPackageFragmentRoot.K_SOURCE
-//						|| (kind == IPackageFragmentRoot.K_BINARY && !root.isExternal())) {
-//					IJavaElement[] javaElements = root.getChildren();
-//					for (int j = 0; j < javaElements.length; j++)
-//						if (javaElements[j] instanceof IPackageFragment) {
-//							IPackageFragment fragment = (IPackageFragment) javaElements[j];
-//							String name = fragment.getElementName();
-//							if (name.length() == 0) {
-//								name = ".";
-//							}
-//							if (fragment.containsJavaResources()
-//									|| fragment.getNonJavaResources().length > 0) {
-//								if (name.equals(element.getValue())) {
-//									found = true;
-//								}
-//							}
-//						}
-//				}
-//			}
-//		}
-//		catch (JavaModelException e) {
-//		}
+// for (IPackageFragmentRoot root : roots) {
+// int kind = root.getKind();
+// if (kind == IPackageFragmentRoot.K_SOURCE
+// || (kind == IPackageFragmentRoot.K_BINARY && !root.isExternal())) {
+// IJavaElement[] javaElements = root.getChildren();
+// for (int j = 0; j < javaElements.length; j++)
+// if (javaElements[j] instanceof IPackageFragment) {
+// IPackageFragment fragment = (IPackageFragment) javaElements[j];
+// String name = fragment.getElementName();
+// if (name.length() == 0) {
+// name = ".";
+// }
+// if (fragment.containsJavaResources()
+// || fragment.getNonJavaResources().length > 0) {
+// if (name.equals(element.getValue())) {
+// found = true;
+// }
+// }
+// }
+// }
+// }
+// }
+// catch (JavaModelException e) {
+// }
 //
-//		// if we actually have packages to add
-//		if (!found) {
-//			context.warning("MISSING_PACKAGE_EXPORT", "Bundle does export non-existing package", header
-//							.getLineNumber() + 1);
-//		}
-//	}
+// // if we actually have packages to add
+// if (!found) {
+// context.warning("MISSING_PACKAGE_EXPORT", "Bundle does export non-existing package", header
+// .getLineNumber() + 1);
+// }
+// }
 //
-//	private void validateVersionAttribute(BundleManifestHeader header, ManifestElement element,
-//			BundleManifestValidationContext context) {
-//		String version = element.getAttribute(Constants.VERSION_ATTRIBUTE);
-//		if (version == null)
-//			return;
-//		IStatus status = VersionUtil.validateVersion(version);
-//		if (!status.isOK()) {
-//			context.error("ILLEGAL_VERSION_RANGE", status.getMessage(), BundleManifestUtils
-//					.getPackageLineNumber(context.getBundleManifest().getDocument(), header,
-//							element));
-//		}
-//	}
+// private void validateVersionAttribute(BundleManifestHeader header, ManifestElement element,
+// BundleManifestValidationContext context) {
+// String version = element.getAttribute(Constants.VERSION_ATTRIBUTE);
+// if (version == null)
+// return;
+// IStatus status = VersionUtil.validateVersion(version);
+// if (!status.isOK()) {
+// context.error("ILLEGAL_VERSION_RANGE", status.getMessage(), BundleManifestUtils
+// .getPackageLineNumber(context.getBundleManifest().getDocument(), header,
+// element));
+// }
+// }
 //
-//	@Override
-//	protected String[] getHeaderName() {
-//		return new String[] { Constants.EXPORT_PACKAGE };
-//	}
+// @Override
+// protected String[] getHeaderName() {
+// return new String[] { Constants.EXPORT_PACKAGE };
+// }
 //
-//	@Override
-//	protected void validateHeader(BundleManifestHeader header,
-//			BundleManifestValidationContext context) {
-//		for (BundleManifestHeaderElement element : header.getBundleManifestHeaderElements()) {
-//			validateVersionAttribute(header, element.getManifestElement(), context);
-//			validateExportPackage(header, element.getManifestElement(), context);
-//		}
-//	}
+// @Override
+// protected void validateHeader(BundleManifestHeader header,
+// BundleManifestValidationContext context) {
+// for (BundleManifestHeaderElement element : header.getBundleManifestHeaderElements()) {
+// validateVersionAttribute(header, element.getManifestElement(), context);
+// validateExportPackage(header, element.getManifestElement(), context);
+// }
+// }
 //
-//}
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ImportPackageBundleAndLibraryRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ImportPackageBundleAndLibraryRule.java
index 808bf3d..5fab77e 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ImportPackageBundleAndLibraryRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ImportPackageBundleAndLibraryRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,76 +6,76 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//@SuppressWarnings("restriction")
-//public class ImportPackageBundleAndLibraryRule extends AbstractBundleManifestHeaderRule {
+// @SuppressWarnings("restriction")
+// public class ImportPackageBundleAndLibraryRule extends AbstractBundleManifestHeaderRule {
 //
-//	private void validateResolutionDirective(BundleManifestHeader header, ManifestElement element,
-//			BundleManifestValidationContext context) {
-//		String resolution = element.getDirective(Constants.RESOLUTION_DIRECTIVE);
-//		if (resolution != null) {
-//			context.validateDirectiveValue(header, element, Constants.RESOLUTION_DIRECTIVE,
-//					new String[] { Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL });
-//		}
-//	}
+// private void validateResolutionDirective(BundleManifestHeader header, ManifestElement element,
+// BundleManifestValidationContext context) {
+// String resolution = element.getDirective(Constants.RESOLUTION_DIRECTIVE);
+// if (resolution != null) {
+// context.validateDirectiveValue(header, element, Constants.RESOLUTION_DIRECTIVE,
+// new String[] { Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL });
+// }
+// }
 //
-//	private void validateVersionAttribute(BundleManifestHeader header, ManifestElement element,
-//			BundleManifestValidationContext context) {
-//		String version = null;
-//		if (Constants.REQUIRE_BUNDLE.equals(header.getElementName())) {
-//			version = element.getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE);
-//		} else {
-//			version = element.getAttribute(Constants.VERSION_ATTRIBUTE);
-//		}
-//		
-//		if (version == null)
-//			return;
-//		IStatus status = VersionUtil.validateVersionRange(version);
-//		if (!status.isOK()) {
-//			String errorId = getIllegalVersionErrorId(header);
-//			String artifactName = element.getValue();
-//			context.error(errorId, status.getMessage(), BundleManifestUtils
-//					.getPackageLineNumber(context.getBundleManifest().getDocument(), header,
-//							element), new ValidationProblemAttribute(ManifestValidationRuleConstants.IMPORT_ARTIFACT_NAME, artifactName));
-//		}
-//	}
-//	
-//	protected String getIllegalVersionErrorId(BundleManifestHeader header) {
-//		if (header.getElementName().equals(Constants.IMPORT_PACKAGE)) {
-//			return ManifestValidationRuleConstants.ILLEGAL_IMPORT_PACKAGE_VERSION;
-//		} else if (header.getElementName().equals("Import-Bundle")) {
-//			return ManifestValidationRuleConstants.ILLEGAL_IMPORT_BUNDLE_VERSION;
-//		} else if (header.getElementName().equals("Require-Bundle")) {
-//			return ManifestValidationRuleConstants.ILLEGAL_REQUIRE_BUNDLE_VERSION;
-//		} else if (header.getElementName().equals("Import-Library")) {
-//			return ManifestValidationRuleConstants.ILLEGAL_IMPORT_LIBRARY_VERSION;
-//		}
-//		return "";
-//	}
+// private void validateVersionAttribute(BundleManifestHeader header, ManifestElement element,
+// BundleManifestValidationContext context) {
+// String version = null;
+// if (Constants.REQUIRE_BUNDLE.equals(header.getElementName())) {
+// version = element.getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE);
+// } else {
+// version = element.getAttribute(Constants.VERSION_ATTRIBUTE);
+// }
 //
-//	@Override
-//	protected String[] getHeaderName() {
-//		return new String[] { Constants.IMPORT_PACKAGE, "Import-Bundle", "Import-Library", Constants.REQUIRE_BUNDLE };
-//	}
+// if (version == null)
+// return;
+// IStatus status = VersionUtil.validateVersionRange(version);
+// if (!status.isOK()) {
+// String errorId = getIllegalVersionErrorId(header);
+// String artifactName = element.getValue();
+// context.error(errorId, status.getMessage(), BundleManifestUtils
+// .getPackageLineNumber(context.getBundleManifest().getDocument(), header,
+// element), new ValidationProblemAttribute(ManifestValidationRuleConstants.IMPORT_ARTIFACT_NAME, artifactName));
+// }
+// }
 //
-//	@Override
-//	protected void validateHeader(BundleManifestHeader header,
-//			BundleManifestValidationContext context) {
-//		for (BundleManifestHeaderElement element : header.getBundleManifestHeaderElements()) {
-//			validateResolutionDirective(header, element.getManifestElement(), context);
-//			validateVersionAttribute(header, element.getManifestElement(), context);
-//		}
-//	}
+// protected String getIllegalVersionErrorId(BundleManifestHeader header) {
+// if (header.getElementName().equals(Constants.IMPORT_PACKAGE)) {
+// return ManifestValidationRuleConstants.ILLEGAL_IMPORT_PACKAGE_VERSION;
+// } else if (header.getElementName().equals("Import-Bundle")) {
+// return ManifestValidationRuleConstants.ILLEGAL_IMPORT_BUNDLE_VERSION;
+// } else if (header.getElementName().equals("Require-Bundle")) {
+// return ManifestValidationRuleConstants.ILLEGAL_REQUIRE_BUNDLE_VERSION;
+// } else if (header.getElementName().equals("Import-Library")) {
+// return ManifestValidationRuleConstants.ILLEGAL_IMPORT_LIBRARY_VERSION;
+// }
+// return "";
+// }
 //
-//}
+// @Override
+// protected String[] getHeaderName() {
+// return new String[] { Constants.IMPORT_PACKAGE, "Import-Bundle", "Import-Library", Constants.REQUIRE_BUNDLE };
+// }
+//
+// @Override
+// protected void validateHeader(BundleManifestHeader header,
+// BundleManifestValidationContext context) {
+// for (BundleManifestHeaderElement element : header.getBundleManifestHeaderElements()) {
+// validateResolutionDirective(header, element.getManifestElement(), context);
+// validateVersionAttribute(header, element.getManifestElement(), context);
+// }
+// }
+//
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ManifestParsingProblemsRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ManifestParsingProblemsRule.java
index 874d856..3ef236d 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ManifestParsingProblemsRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ManifestParsingProblemsRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,28 +6,28 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//public class ManifestParsingProblemsRule implements
-//		IValidationRule<BundleManifest, BundleManifestValidationContext> {
+// public class ManifestParsingProblemsRule implements
+// IValidationRule<BundleManifest, BundleManifestValidationContext> {
 //
-//	public boolean supports(IModelElement element, IValidationContext context) {
-//		return element instanceof BundleManifest
-//				&& context instanceof BundleManifestValidationContext;
-//	}
+// public boolean supports(IModelElement element, IValidationContext context) {
+// return element instanceof BundleManifest
+// && context instanceof BundleManifestValidationContext;
+// }
 //
-//	public void validate(BundleManifest element, BundleManifestValidationContext context,
-//			IProgressMonitor monitor) {
-//		context.addProblems(element.getProblems().toArray(new ValidationProblem[element.getProblems().size()]));
-//	}
-//}
+// public void validate(BundleManifest element, BundleManifestValidationContext context,
+// IProgressMonitor monitor) {
+// context.addProblems(element.getProblems().toArray(new ValidationProblem[element.getProblems().size()]));
+// }
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ManifestValidationRuleConstants.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ManifestValidationRuleConstants.java
index f90d446..9ef6e9a 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ManifestValidationRuleConstants.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/ManifestValidationRuleConstants.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 
 /**
@@ -15,26 +16,26 @@
  */
 public interface ManifestValidationRuleConstants {
 
-	String MISSING_BUNDLE_SYMBOLIC_NAME = "MISSING_BUNDLE_SYMBOLIC_NAME";
+    String MISSING_BUNDLE_SYMBOLIC_NAME = "MISSING_BUNDLE_SYMBOLIC_NAME";
 
-	String MISSING_BUNDLE_NAME = "MISSING_BUNDLE_NAME";
+    String MISSING_BUNDLE_NAME = "MISSING_BUNDLE_NAME";
 
-	String MISSING_BUNDLE_VERSION = "MISSING_BUNDLE_VERSION";
+    String MISSING_BUNDLE_VERSION = "MISSING_BUNDLE_VERSION";
 
-	String MISSING_BUNDLE_MANIFEST_VERSION = "MISSING_BUNDLE_MANIFEST_VERSION";
+    String MISSING_BUNDLE_MANIFEST_VERSION = "MISSING_BUNDLE_MANIFEST_VERSION";
 
-	String ILLEGAL_BUNDLE_MANIFEST_VERSION = "ILLEGAL_BUNDLE_MANIFEST_VERSION";
+    String ILLEGAL_BUNDLE_MANIFEST_VERSION = "ILLEGAL_BUNDLE_MANIFEST_VERSION";
 
-	String ILLEGAL_BUNDLE_ACTIVATION_POLICY = "ILLEGAL_BUNDLE_ACTIVATION_POLICY";
+    String ILLEGAL_BUNDLE_ACTIVATION_POLICY = "ILLEGAL_BUNDLE_ACTIVATION_POLICY";
 
-	String ILLEGAL_IMPORT_BUNDLE_VERSION = "ILLEGAL_IMPORT_BUNDLE_VERSION";
+    String ILLEGAL_IMPORT_BUNDLE_VERSION = "ILLEGAL_IMPORT_BUNDLE_VERSION";
 
-	String ILLEGAL_REQUIRE_BUNDLE_VERSION = "ILLEGAL_REQUIRE_BUNDLE_VERSION";
+    String ILLEGAL_REQUIRE_BUNDLE_VERSION = "ILLEGAL_REQUIRE_BUNDLE_VERSION";
 
-	String ILLEGAL_IMPORT_LIBRARY_VERSION = "ILLEGAL_IMPORT_LIBRARY_VERSION";
+    String ILLEGAL_IMPORT_LIBRARY_VERSION = "ILLEGAL_IMPORT_LIBRARY_VERSION";
 
-	String ILLEGAL_IMPORT_PACKAGE_VERSION = "ILLEGAL_IMPORT_PACKAGE_VERSION";
+    String ILLEGAL_IMPORT_PACKAGE_VERSION = "ILLEGAL_IMPORT_PACKAGE_VERSION";
 
-	String IMPORT_ARTIFACT_NAME = "IMPORT_ARTIFACT_NAME";
+    String IMPORT_ARTIFACT_NAME = "IMPORT_ARTIFACT_NAME";
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/RequireBundleRule.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/RequireBundleRule.java
index 106ad69..78cbdaf 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/RequireBundleRule.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/manifest/internal/core/validation/rules/RequireBundleRule.java
@@ -1,4 +1,4 @@
-///*******************************************************************************
+/// *******************************************************************************
 // * Copyright (c) 2009, 2012 SpringSource, a divison of VMware, Inc.
 // * All rights reserved. This program and the accompanying materials
 // * are made available under the terms of the Eclipse Public License v1.0
@@ -6,72 +6,72 @@
 // * http://www.eclipse.org/legal/epl-v10.html
 // *
 // * Contributors:
-// *     SpringSource, a division of VMware, Inc. - initial API and implementation
+// * SpringSource, a division of VMware, Inc. - initial API and implementation
 // *******************************************************************************/
-//package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
+// package org.eclipse.virgo.ide.manifest.internal.core.validation.rules;
 //
-//import org.eclipse.osgi.util.ManifestElement;
-//import org.eclipse.pde.internal.core.util.VersionUtil;
-//import org.eclipse.virgo.ide.manifest.core.BundleManifestCoreMessages;
-//import org.eclipse.virgo.ide.manifest.core.BundleManifestUtils;
-//import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
-//import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeaderElement;
-//import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
-//import org.osgi.framework.Constants;
+// import org.eclipse.osgi.util.ManifestElement;
+// import org.eclipse.pde.internal.core.util.VersionUtil;
+// import org.eclipse.virgo.ide.manifest.core.BundleManifestCoreMessages;
+// import org.eclipse.virgo.ide.manifest.core.BundleManifestUtils;
+// import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeader;
+// import org.eclipse.virgo.ide.manifest.internal.core.model.BundleManifestHeaderElement;
+// import org.eclipse.virgo.ide.manifest.internal.core.validation.BundleManifestValidationContext;
+// import org.osgi.framework.Constants;
 //
 //
-///**
+/// **
 // * @author Christian Dupuis
 // * @since 1.0.0
 // */
-///**
+/// **
 // * TODO CD add comments
 // */
-//@SuppressWarnings("restriction")
-//public class RequireBundleRule extends AbstractBundleManifestHeaderRule {
+// @SuppressWarnings("restriction")
+// public class RequireBundleRule extends AbstractBundleManifestHeaderRule {
 //
-//	private void validateBundleVersionAttribute(BundleManifestHeader header,
-//			ManifestElement element, BundleManifestValidationContext context) {
-//		String versionRange = element.getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE);
-//		if (versionRange != null && !VersionUtil.validateVersionRange(versionRange).isOK()) {
-//			context.error("ILLEGAL_BUNDLE_VERSION",
-//					BundleManifestCoreMessages.BundleErrorReporter_InvalidFormatInBundleVersion,
-//					BundleManifestUtils.getPackageLineNumber(context.getBundleManifest()
-//							.getDocument(), header, element));
-//		}
-//	}
+// private void validateBundleVersionAttribute(BundleManifestHeader header,
+// ManifestElement element, BundleManifestValidationContext context) {
+// String versionRange = element.getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE);
+// if (versionRange != null && !VersionUtil.validateVersionRange(versionRange).isOK()) {
+// context.error("ILLEGAL_BUNDLE_VERSION",
+// BundleManifestCoreMessages.BundleErrorReporter_InvalidFormatInBundleVersion,
+// BundleManifestUtils.getPackageLineNumber(context.getBundleManifest()
+// .getDocument(), header, element));
+// }
+// }
 //
-//	private void validateResolutionDirective(BundleManifestHeader header, ManifestElement element,
-//			BundleManifestValidationContext context) {
-//		String resolution = element.getDirective(Constants.RESOLUTION_DIRECTIVE);
-//		if (resolution != null) {
-//			context.validateDirectiveValue(header, element, Constants.RESOLUTION_DIRECTIVE,
-//					new String[] { Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL });
-//		}
-//	}
+// private void validateResolutionDirective(BundleManifestHeader header, ManifestElement element,
+// BundleManifestValidationContext context) {
+// String resolution = element.getDirective(Constants.RESOLUTION_DIRECTIVE);
+// if (resolution != null) {
+// context.validateDirectiveValue(header, element, Constants.RESOLUTION_DIRECTIVE,
+// new String[] { Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL });
+// }
+// }
 //
-//	private void validateVisibilityDirective(BundleManifestHeader header, ManifestElement element,
-//			BundleManifestValidationContext context) {
-//		String visibility = element.getDirective(Constants.VISIBILITY_DIRECTIVE);
-//		if (visibility != null) {
-//			context.validateDirectiveValue(header, element, Constants.VISIBILITY_DIRECTIVE,
-//					new String[] { Constants.VISIBILITY_PRIVATE, Constants.VISIBILITY_REEXPORT });
-//		}
-//	}
+// private void validateVisibilityDirective(BundleManifestHeader header, ManifestElement element,
+// BundleManifestValidationContext context) {
+// String visibility = element.getDirective(Constants.VISIBILITY_DIRECTIVE);
+// if (visibility != null) {
+// context.validateDirectiveValue(header, element, Constants.VISIBILITY_DIRECTIVE,
+// new String[] { Constants.VISIBILITY_PRIVATE, Constants.VISIBILITY_REEXPORT });
+// }
+// }
 //
-//	@Override
-//	protected String[] getHeaderName() {
-//		return new String[] { Constants.REQUIRE_BUNDLE };
-//	}
+// @Override
+// protected String[] getHeaderName() {
+// return new String[] { Constants.REQUIRE_BUNDLE };
+// }
 //
-//	@Override
-//	protected void validateHeader(BundleManifestHeader header,
-//			BundleManifestValidationContext context) {
-//		for (BundleManifestHeaderElement element : header.getBundleManifestHeaderElements()) {
-//			validateBundleVersionAttribute(header, element.getManifestElement(), context);
-//			validateVisibilityDirective(header, element.getManifestElement(), context);
-//			validateResolutionDirective(header, element.getManifestElement(), context);
-//		}
-//	}
+// @Override
+// protected void validateHeader(BundleManifestHeader header,
+// BundleManifestValidationContext context) {
+// for (BundleManifestHeaderElement element : header.getBundleManifestHeaderElements()) {
+// validateBundleVersionAttribute(header, element.getManifestElement(), context);
+// validateVisibilityDirective(header, element.getManifestElement(), context);
+// validateResolutionDirective(header, element.getManifestElement(), context);
+// }
+// }
 //
-//}
+// }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/module/core/ServerModuleArtifactAdapterDelegate.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/module/core/ServerModuleArtifactAdapterDelegate.java
index d02e619..39ddae3 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/module/core/ServerModuleArtifactAdapterDelegate.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/module/core/ServerModuleArtifactAdapterDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.module.core;
 
 import org.eclipse.core.resources.IProject;
@@ -21,62 +22,63 @@
 
 /**
  * {@link ModuleArtifactAdapterDelegate} implementation for dm Server specific project types.
- * 
+ *
  * @author Christian Dupuis
  * @author Terry Hon
  * @since 2.0.0
  */
 public class ServerModuleArtifactAdapterDelegate extends ModuleArtifactAdapterDelegate {
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public IModuleArtifact getModuleArtifact(Object obj) {
-		IResource resource = null;
-		if (obj instanceof IAdaptable) {
-			resource = (IResource) ((IAdaptable) obj).getAdapter(IResource.class);
-		}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public IModuleArtifact getModuleArtifact(Object obj) {
+        IResource resource = null;
+        if (obj instanceof IAdaptable) {
+            resource = ((IAdaptable) obj).getAdapter(IResource.class);
+        }
 
-		if (resource != null) {
-			IProject project = resource.getProject();
-			for (IModule module : ServerUtil.getModules(FacetCorePlugin.WEB_FACET_ID)) {
-				if (module.getProject().equals(project)) {
-					return new ServerModuleArtifact(module);
-				}
-			}
-			for (IModule module : ServerUtil.getModules(FacetCorePlugin.BUNDLE_FACET_ID)) {
-				if (module.getProject().equals(project)) {
-					return new ServerModuleArtifact(module);
-				}
-			}
-			for (IModule module : ServerUtil.getModules(FacetCorePlugin.PAR_FACET_ID)) {
-				if (module.getProject().equals(project)) {
-					return new ServerModuleArtifact(module);
-				}
-			}
-			for (IModule module : ServerUtil.getModules(FacetCorePlugin.PLAN_FACET_ID)) {
-				if (module.getProject().equals(project)) {
-					return new ServerModuleArtifact(module);
-				}
-			}
-		}
-		System.out.println(obj);
-		return null;
-	}
+        if (resource != null) {
+            IProject project = resource.getProject();
+            for (IModule module : ServerUtil.getModules(FacetCorePlugin.WEB_FACET_ID)) {
+                if (module.getProject().equals(project)) {
+                    return new ServerModuleArtifact(module);
+                }
+            }
+            for (IModule module : ServerUtil.getModules(FacetCorePlugin.BUNDLE_FACET_ID)) {
+                if (module.getProject().equals(project)) {
+                    return new ServerModuleArtifact(module);
+                }
+            }
+            for (IModule module : ServerUtil.getModules(FacetCorePlugin.PAR_FACET_ID)) {
+                if (module.getProject().equals(project)) {
+                    return new ServerModuleArtifact(module);
+                }
+            }
+            for (IModule module : ServerUtil.getModules(FacetCorePlugin.PLAN_FACET_ID)) {
+                if (module.getProject().equals(project)) {
+                    return new ServerModuleArtifact(module);
+                }
+            }
+        }
+        System.out.println(obj);
+        return null;
+    }
 
-	/**
-	 * {@link IModuleArtifact} implementation carrying {@link IModule} instances.
-	 */
-	class ServerModuleArtifact implements IModuleArtifact {
-		private final IModule module;
+    /**
+     * {@link IModuleArtifact} implementation carrying {@link IModule} instances.
+     */
+    class ServerModuleArtifact implements IModuleArtifact {
 
-		public ServerModuleArtifact(IModule module) {
-			this.module = module;
-		}
+        private final IModule module;
 
-		public IModule getModule() {
-			return module;
-		}
-	}
+        public ServerModuleArtifact(IModule module) {
+            this.module = module;
+        }
+
+        public IModule getModule() {
+            return this.module;
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/module/core/ServerModuleDelegate.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/module/core/ServerModuleDelegate.java
index b1304d1..2f3cfab 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/module/core/ServerModuleDelegate.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/module/core/ServerModuleDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.module.core;
 
 import java.io.IOException;
@@ -64,7 +65,7 @@
 
 /**
  * {@link ProjectModule} extension that knows how to handle par and bundle projects.
- * 
+ *
  * @author Christian Dupuis
  * @author Terry Hon
  * @since 1.0.0
@@ -72,490 +73,473 @@
 @SuppressWarnings({ "deprecation", "restriction" })
 public class ServerModuleDelegate extends ProjectModule {
 
-	/** Make */
-	public static final String TEST_CLASSPATH_ENTRY_ATTRIBUTE = "org.eclipse.virgo.ide.jdt.core.test.classpathentry";
+    /** Make */
+    public static final String TEST_CLASSPATH_ENTRY_ATTRIBUTE = "org.eclipse.virgo.ide.jdt.core.test.classpathentry";
 
-	public ServerModuleDelegate(IProject project) {
-		super(project);
-	}
+    public ServerModuleDelegate(IProject project) {
+        super(project);
+    }
 
-	@Override
-	public IModuleResource[] members() throws CoreException {
-		IPath moduleRelativePath = Path.EMPTY;
+    @Override
+    public IModuleResource[] members() throws CoreException {
+        IPath moduleRelativePath = Path.EMPTY;
 
-		// Handle simple case of project being a bundle first
-		final Set<IModuleResource> resources = new LinkedHashSet<IModuleResource>();
-		if (getModule().getModuleType().getId().equals(FacetCorePlugin.BUNDLE_FACET_ID)) {
-			if (FacetUtils.hasProjectFacet(getProject(), FacetCorePlugin.WEB_FACET_ID)) {
-				IModule[] modules = ServerUtil.getModules(getProject());
-				for (IModule webModule : modules) {
-					if (webModule.getModuleType().getId().equals(FacetCorePlugin.WEB_FACET_ID)) {
-						ModuleDelegate delegate = (ModuleDelegate) webModule.loadAdapter(ModuleDelegate.class, null);
-						resources.addAll(Arrays.asList(delegate.members()));
-					}
-				}
-			}
-			resources.addAll(getMembers(getProject(), moduleRelativePath));
-		}
-		// More complex handling of PAR and nested bundle project
-		else if (getModule().getModuleType().getId().equals(FacetCorePlugin.PAR_FACET_ID)) {
+        // Handle simple case of project being a bundle first
+        final Set<IModuleResource> resources = new LinkedHashSet<IModuleResource>();
+        if (getModule().getModuleType().getId().equals(FacetCorePlugin.BUNDLE_FACET_ID)) {
+            if (FacetUtils.hasProjectFacet(getProject(), FacetCorePlugin.WEB_FACET_ID)) {
+                IModule[] modules = ServerUtil.getModules(getProject());
+                for (IModule webModule : modules) {
+                    if (webModule.getModuleType().getId().equals(FacetCorePlugin.WEB_FACET_ID)) {
+                        ModuleDelegate delegate = (ModuleDelegate) webModule.loadAdapter(ModuleDelegate.class, null);
+                        resources.addAll(Arrays.asList(delegate.members()));
+                    }
+                }
+            }
+            resources.addAll(getMembers(getProject(), moduleRelativePath));
+        }
+        // More complex handling of PAR and nested bundle project
+        else if (getModule().getModuleType().getId().equals(FacetCorePlugin.PAR_FACET_ID)) {
 
-			// Get the META-INF folder of the PAR first
-			IResource metaInfFolder = getProject().findMember(BundleManifestCorePlugin.MANIFEST_FOLDER_NAME);
-			if (metaInfFolder instanceof IContainer) {
-				String moduleFolderName = BundleManifestCorePlugin.MANIFEST_FOLDER_NAME;
-				moduleRelativePath = new Path(moduleFolderName);
-				ModuleFolder folder = new ModuleFolder(null, moduleFolderName, Path.EMPTY);
-				folder.setMembers(getModuleResources(moduleRelativePath, (IContainer) metaInfFolder));
-				resources.add(folder);
-			} else {
-				StatusManager.getManager().handle(
-						new Status(IStatus.ERROR, BundleManifestCorePlugin.PLUGIN_ID,
-								"Cannot find META-INF/MANIFEST.MF in project [" + getProject().getName() + "]"));
-			}
+            // Get the META-INF folder of the PAR first
+            IResource metaInfFolder = getProject().findMember(BundleManifestCorePlugin.MANIFEST_FOLDER_NAME);
+            if (metaInfFolder instanceof IContainer) {
+                String moduleFolderName = BundleManifestCorePlugin.MANIFEST_FOLDER_NAME;
+                moduleRelativePath = new Path(moduleFolderName);
+                ModuleFolder folder = new ModuleFolder(null, moduleFolderName, Path.EMPTY);
+                folder.setMembers(getModuleResources(moduleRelativePath, (IContainer) metaInfFolder));
+                resources.add(folder);
+            } else {
+                StatusManager.getManager().handle(new Status(IStatus.ERROR, BundleManifestCorePlugin.PLUGIN_ID,
+                    "Cannot find META-INF/MANIFEST.MF in project [" + getProject().getName() + "]"));
+            }
 
-			// Find linked or nested jars and add them to the deployment
-			getProject().accept(new IResourceVisitor() {
+            // Find linked or nested jars and add them to the deployment
+            getProject().accept(new IResourceVisitor() {
 
-				public boolean visit(IResource resource) throws CoreException {
-					if (resource instanceof IFile && resource.getFileExtension().equals("jar")) {
-						resources.add(new ModuleFile((IFile) resource, resource.getName(), Path.EMPTY));
-					}
-					return true;
-				}
-			}, IResource.DEPTH_ONE, false);
+                public boolean visit(IResource resource) throws CoreException {
+                    if (resource instanceof IFile && resource.getFileExtension().equals("jar")) {
+                        resources.add(new ModuleFile((IFile) resource, resource.getName(), Path.EMPTY));
+                    }
+                    return true;
+                }
+            }, IResource.DEPTH_ONE, false);
 
-			// Iterate nested bundle projects
-			for (IModule module : getChildModules()) {
+            // Iterate nested bundle projects
+            for (IModule module : getChildModules()) {
 
-				// Special handling of par nested wars with bundle nature
-				if (FacetUtils.hasProjectFacet(module.getProject(), FacetCorePlugin.WEB_FACET_ID)) {
-					moduleRelativePath = new Path(module.getProject().getName() + ".war");
-					ModuleDelegate delegate = (ModuleDelegate) module.loadAdapter(ModuleDelegate.class, null);
+                // Special handling of par nested wars with bundle nature
+                if (FacetUtils.hasProjectFacet(module.getProject(), FacetCorePlugin.WEB_FACET_ID)) {
+                    moduleRelativePath = new Path(module.getProject().getName() + ".war");
+                    ModuleDelegate delegate = (ModuleDelegate) module.loadAdapter(ModuleDelegate.class, null);
 
-					IModuleResource[] members = delegate.members();
-					for (IModuleResource member : members) {
-						if (member instanceof IModuleFile) {
-							resources.add(new ParModuleFile((IModuleFile) member, moduleRelativePath));
-						} else if (member instanceof IModuleFolder) {
-							resources.add(new ParModuleFolder((IModuleFolder) member, moduleRelativePath));
-						}
-					}
-				}
-				// All other bundles project nested in a par
-				else if (FacetUtils.isBundleProject(module.getProject())) {
-					String moduleFolderName = module.getProject().getName() + ".jar";
-					moduleRelativePath = new Path(moduleFolderName);
-					ModuleFolder folder = new ModuleFolder(null, moduleFolderName, Path.EMPTY);
-					folder.setMembers(getMembers(module.getProject(), moduleRelativePath).toArray(
-							new IModuleResource[0]));
-					resources.add(folder);
-				}
-			}
-		}
-		// handling for plan projects
-		else if (getModule().getModuleType().getId().equals(FacetCorePlugin.PLAN_FACET_ID)) {
+                    IModuleResource[] members = delegate.members();
+                    for (IModuleResource member : members) {
+                        if (member instanceof IModuleFile) {
+                            resources.add(new ParModuleFile((IModuleFile) member, moduleRelativePath));
+                        } else if (member instanceof IModuleFolder) {
+                            resources.add(new ParModuleFolder((IModuleFolder) member, moduleRelativePath));
+                        }
+                    }
+                }
+                // All other bundles project nested in a par
+                else if (FacetUtils.isBundleProject(module.getProject())) {
+                    String moduleFolderName = module.getProject().getName() + ".jar";
+                    moduleRelativePath = new Path(moduleFolderName);
+                    ModuleFolder folder = new ModuleFolder(null, moduleFolderName, Path.EMPTY);
+                    folder.setMembers(getMembers(module.getProject(), moduleRelativePath).toArray(new IModuleResource[0]));
+                    resources.add(folder);
+                }
+            }
+        }
+        // handling for plan projects
+        else if (getModule().getModuleType().getId().equals(FacetCorePlugin.PLAN_FACET_ID)) {
 
-			// Get the plan file
-			String fileName = getModule().getId();
-			fileName = fileName.substring(fileName.indexOf(':') + 1);
-			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(fileName));
-			if (!file.exists()) {
-				return resources.toArray(new IModuleResource[resources.size()]);
-			}
+            // Get the plan file
+            String fileName = getModule().getId();
+            fileName = fileName.substring(fileName.indexOf(':') + 1);
+            IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(fileName));
+            if (!file.exists()) {
+                return resources.toArray(new IModuleResource[resources.size()]);
+            }
 
-			ModuleFile planFile = new ModuleFile(file, file.getName(), moduleRelativePath);
-			resources.add(planFile);
+            ModuleFile planFile = new ModuleFile(file, file.getName(), moduleRelativePath);
+            resources.add(planFile);
 
-			// Iterate nested bundle projects
-			for (IModule module : getChildModules()) {
+            // Iterate nested bundle projects
+            for (IModule module : getChildModules()) {
 
-				// Special handling of par nested wars with bundle nature
-				if (FacetUtils.hasProjectFacet(module.getProject(), FacetCorePlugin.WEB_FACET_ID)) {
-					moduleRelativePath = new Path(module.getProject().getName() + ".war");
-					ModuleDelegate delegate = (ModuleDelegate) module.loadAdapter(ModuleDelegate.class, null);
+                // Special handling of par nested wars with bundle nature
+                if (FacetUtils.hasProjectFacet(module.getProject(), FacetCorePlugin.WEB_FACET_ID)) {
+                    moduleRelativePath = new Path(module.getProject().getName() + ".war");
+                    ModuleDelegate delegate = (ModuleDelegate) module.loadAdapter(ModuleDelegate.class, null);
 
-					IModuleResource[] members = delegate.members();
-					for (IModuleResource member : members) {
-						if (member instanceof IModuleFile) {
-							resources.add(new ParModuleFile((IModuleFile) member, moduleRelativePath));
-						} else if (member instanceof IModuleFolder) {
-							resources.add(new ParModuleFolder((IModuleFolder) member, moduleRelativePath));
-						}
-					}
-				}
-				// All other bundles project nested in a par
-				else if (FacetUtils.isBundleProject(module.getProject())) {
-					String moduleFolderName = module.getProject().getName() + ".jar";
-					moduleRelativePath = new Path(moduleFolderName);
-					ModuleFolder folder = new ModuleFolder(null, moduleFolderName, Path.EMPTY);
-					folder.setMembers(getMembers(module.getProject(), moduleRelativePath).toArray(
-							new IModuleResource[0]));
-					resources.add(folder);
-				} else if (FacetUtils.isParProject(module.getProject())) {
-					moduleRelativePath = new Path(module.getProject().getName() + ".par");
-					ModuleDelegate delegate = (ModuleDelegate) module.loadAdapter(ModuleDelegate.class, null);
+                    IModuleResource[] members = delegate.members();
+                    for (IModuleResource member : members) {
+                        if (member instanceof IModuleFile) {
+                            resources.add(new ParModuleFile((IModuleFile) member, moduleRelativePath));
+                        } else if (member instanceof IModuleFolder) {
+                            resources.add(new ParModuleFolder((IModuleFolder) member, moduleRelativePath));
+                        }
+                    }
+                }
+                // All other bundles project nested in a par
+                else if (FacetUtils.isBundleProject(module.getProject())) {
+                    String moduleFolderName = module.getProject().getName() + ".jar";
+                    moduleRelativePath = new Path(moduleFolderName);
+                    ModuleFolder folder = new ModuleFolder(null, moduleFolderName, Path.EMPTY);
+                    folder.setMembers(getMembers(module.getProject(), moduleRelativePath).toArray(new IModuleResource[0]));
+                    resources.add(folder);
+                } else if (FacetUtils.isParProject(module.getProject())) {
+                    moduleRelativePath = new Path(module.getProject().getName() + ".par");
+                    ModuleDelegate delegate = (ModuleDelegate) module.loadAdapter(ModuleDelegate.class, null);
 
-					IModuleResource[] members = delegate.members();
-					for (IModuleResource member : members) {
-						if (member instanceof IModuleFile) {
-							resources.add(new ParModuleFile((IModuleFile) member, moduleRelativePath));
-						} else if (member instanceof IModuleFolder) {
-							resources.add(new ParModuleFolder((IModuleFolder) member, moduleRelativePath));
-						}
-					}
-				}
-			}
-		}
+                    IModuleResource[] members = delegate.members();
+                    for (IModuleResource member : members) {
+                        if (member instanceof IModuleFile) {
+                            resources.add(new ParModuleFile((IModuleFile) member, moduleRelativePath));
+                        } else if (member instanceof IModuleFolder) {
+                            resources.add(new ParModuleFolder((IModuleFolder) member, moduleRelativePath));
+                        }
+                    }
+                }
+            }
+        }
 
-		return resources.toArray(new IModuleResource[resources.size()]);
-	}
+        return resources.toArray(new IModuleResource[resources.size()]);
+    }
 
-	/**
-	 * Get all resources from project's output locations
-	 */
-	private Set<IModuleResource> getMembers(IProject project, IPath moduleRelativePath) throws JavaModelException,
-			CoreException {
-		Set<IModuleResource> resources = new LinkedHashSet<IModuleResource>();
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IJavaProject javaProject = JavaCore.create(project);
+    /**
+     * Get all resources from project's output locations
+     */
+    private Set<IModuleResource> getMembers(IProject project, IPath moduleRelativePath) throws JavaModelException, CoreException {
+        Set<IModuleResource> resources = new LinkedHashSet<IModuleResource>();
+        IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+        IJavaProject javaProject = JavaCore.create(project);
 
-		// Add default output location
-		IResource defaultBinFolder = root.findMember(javaProject.getOutputLocation());
-		if (defaultBinFolder instanceof IContainer) {
-			resources.addAll(Arrays.asList(getModuleResources(moduleRelativePath, (IContainer) defaultBinFolder)));
-		}
+        // Add default output location
+        IResource defaultBinFolder = root.findMember(javaProject.getOutputLocation());
+        if (defaultBinFolder instanceof IContainer) {
+            resources.addAll(Arrays.asList(getModuleResources(moduleRelativePath, (IContainer) defaultBinFolder)));
+        }
 
-		// Add output for every source entry
-		for (IClasspathEntry entry : getSourceClasspathEntries(project, false)) {
-			IResource binFolder = root.findMember(entry.getOutputLocation());
-			if (binFolder instanceof IContainer && !(binFolder instanceof IWorkspaceRoot)) {
-				resources.addAll(Arrays.asList(getModuleResources(moduleRelativePath, (IContainer) defaultBinFolder)));
-			}
-		}
+        // Add output for every source entry
+        for (IClasspathEntry entry : getSourceClasspathEntries(project, false)) {
+            IResource binFolder = root.findMember(entry.getOutputLocation());
+            if (binFolder instanceof IContainer && !(binFolder instanceof IWorkspaceRoot)) {
+                resources.addAll(Arrays.asList(getModuleResources(moduleRelativePath, (IContainer) defaultBinFolder)));
+            }
+        }
 
-		// Add Bundle-ClassPath entries
-		BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(javaProject);
-		if (manifest != null) {
-			List<String> bundleClassPathEntries = manifest.getBundleClasspath();
-			if (bundleClassPathEntries != null) {
-				// remove the . for the class folder from the bundle classpath entries
-				bundleClassPathEntries.remove(".");
+        // Add Bundle-ClassPath entries
+        BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(javaProject);
+        if (manifest != null) {
+            List<String> bundleClassPathEntries = manifest.getBundleClasspath();
+            if (bundleClassPathEntries != null) {
+                // remove the . for the class folder from the bundle classpath entries
+                bundleClassPathEntries.remove(".");
 
-				// get all resources that match the given Bundle-ClassPath header
-				resources.addAll(Arrays.asList(getModuleResources(moduleRelativePath, javaProject.getProject(),
-						bundleClassPathEntries)));
-			}
-		}
-		return resources;
-	}
+                // get all resources that match the given Bundle-ClassPath header
+                resources.addAll(Arrays.asList(getModuleResources(moduleRelativePath, javaProject.getProject(), bundleClassPathEntries)));
+            }
+        }
+        return resources;
+    }
 
-	/**
-	 * Gets all resources of the given <code>container</code> but filters against names given by <code>filters</code>.
-	 */
-	protected IModuleResource[] getModuleResources(IPath path, IContainer container, List<String> filters)
-			throws CoreException {
-		IResource[] resources = container.members();
-		if (resources != null) {
-			int size = resources.length;
-			List<IModuleResource> list = new ArrayList<IModuleResource>(size);
-			for (int i = 0; i < size; i++) {
-				IResource resource = resources[i];
-				if (resource != null && resource.exists()) {
-					String name = resource.getName();
-					String relativePath = resource.getProjectRelativePath().toString();
-					if (resource instanceof IContainer) {
-						for (String filter : filters) {
-							if (filter.trim().startsWith(relativePath)) {
-								IContainer container2 = (IContainer) resource;
-								ModuleFolder mf = new org.eclipse.wst.server.core.internal.ModuleFolder(container2,
-										name, path);
-								mf.setMembers(getModuleResources(path.append(name), container2, filters));
-								list.add(mf);
-								break;
-							}
-						}
-					} else if (resource instanceof IFile) {
-						for (String filter : filters) {
-							if (relativePath.equals(filter.trim())) {
-								list.add(new ModuleFile((IFile) resource, name, path));
-								break;
-							}
-						}
-					}
-				}
-			}
-			IModuleResource[] moduleResources = new IModuleResource[list.size()];
-			list.toArray(moduleResources);
-			return moduleResources;
-		}
-		return new IModuleResource[0];
-	}
+    /**
+     * Gets all resources of the given <code>container</code> but filters against names given by <code>filters</code>.
+     */
+    protected IModuleResource[] getModuleResources(IPath path, IContainer container, List<String> filters) throws CoreException {
+        IResource[] resources = container.members();
+        if (resources != null) {
+            int size = resources.length;
+            List<IModuleResource> list = new ArrayList<IModuleResource>(size);
+            for (int i = 0; i < size; i++) {
+                IResource resource = resources[i];
+                if (resource != null && resource.exists()) {
+                    String name = resource.getName();
+                    String relativePath = resource.getProjectRelativePath().toString();
+                    if (resource instanceof IContainer) {
+                        for (String filter : filters) {
+                            if (filter.trim().startsWith(relativePath)) {
+                                IContainer container2 = (IContainer) resource;
+                                ModuleFolder mf = new org.eclipse.wst.server.core.internal.ModuleFolder(container2, name, path);
+                                mf.setMembers(getModuleResources(path.append(name), container2, filters));
+                                list.add(mf);
+                                break;
+                            }
+                        }
+                    } else if (resource instanceof IFile) {
+                        for (String filter : filters) {
+                            if (relativePath.equals(filter.trim())) {
+                                list.add(new ModuleFile((IFile) resource, name, path));
+                                break;
+                            }
+                        }
+                    }
+                }
+            }
+            IModuleResource[] moduleResources = new IModuleResource[list.size()];
+            list.toArray(moduleResources);
+            return moduleResources;
+        }
+        return new IModuleResource[0];
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public IModule[] getChildModules() {
-		if (FacetUtils.isParProject(getProject())) {
-			Set<IModule> modules = new LinkedHashSet<IModule>();
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public IModule[] getChildModules() {
+        if (FacetUtils.isParProject(getProject())) {
+            Set<IModule> modules = new LinkedHashSet<IModule>();
 
-			Par par = FacetUtils.getParDefinition(getProject());
-			if (par != null && par.getBundle() != null) {
-				for (Bundle bundle : par.getBundle()) {
-					IProject bundleProject = ResourcesPlugin.getWorkspace()
-							.getRoot()
-							.getProject(bundle.getSymbolicName());
-					if (FacetUtils.isBundleProject(bundleProject)) {
-						for (IModule module : ServerUtil.getModules(bundleProject)) {
-							if (module.getId().equals(
-									ServerModuleFactoryDelegate.MODULE_FACTORY_ID + ":" + getProject().getName() + "$"
-											+ bundleProject.getName())) {
-								modules.add(module);
-							}
-						}
-					}
-				}
-			}
-			return modules.toArray(new IModule[modules.size()]);
-		} else if (FacetUtils.isPlanProject(getProject())) {
-			String fileName = getModule().getId();
-			fileName = fileName.substring(fileName.indexOf(':') + 1);
-			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(fileName));
-			if (!file.exists()) {
-				return new IModule[0];
-			}
+            Par par = FacetUtils.getParDefinition(getProject());
+            if (par != null && par.getBundle() != null) {
+                for (Bundle bundle : par.getBundle()) {
+                    IProject bundleProject = ResourcesPlugin.getWorkspace().getRoot().getProject(bundle.getSymbolicName());
+                    if (FacetUtils.isBundleProject(bundleProject)) {
+                        for (IModule module : ServerUtil.getModules(bundleProject)) {
+                            if (module.getId().equals(
+                                ServerModuleFactoryDelegate.MODULE_FACTORY_ID + ":" + getProject().getName() + "$" + bundleProject.getName())) {
+                                modules.add(module);
+                            }
+                        }
+                    }
+                }
+            }
+            return modules.toArray(new IModule[modules.size()]);
+        } else if (FacetUtils.isPlanProject(getProject())) {
+            String fileName = getModule().getId();
+            fileName = fileName.substring(fileName.indexOf(':') + 1);
+            IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(fileName));
+            if (!file.exists()) {
+                return new IModule[0];
+            }
 
-			return getPlanDependencies(file).toArray(new IModule[0]);
+            return getPlanDependencies(file).toArray(new IModule[0]);
 
-		}
-		return new IModule[0];
-	}
+        }
+        return new IModule[0];
+    }
 
-	/**
-	 * {@link IModuleFile} implementation that wraps another {@link IModuleFile} but moves the relative path into a sub
-	 * directory of a nested par module.
-	 */
-	static class ParModuleFile implements IModuleFile {
+    /**
+     * {@link IModuleFile} implementation that wraps another {@link IModuleFile} but moves the relative path into a sub
+     * directory of a nested par module.
+     */
+    static class ParModuleFile implements IModuleFile {
 
-		private final IModuleFile wrappedFile;
+        private final IModuleFile wrappedFile;
 
-		private final IPath modulePath;
+        private final IPath modulePath;
 
-		public ParModuleFile(IModuleFile wrappedFile, IPath modulePath) {
-			this.wrappedFile = wrappedFile;
-			this.modulePath = modulePath;
-		}
+        public ParModuleFile(IModuleFile wrappedFile, IPath modulePath) {
+            this.wrappedFile = wrappedFile;
+            this.modulePath = modulePath;
+        }
 
-		public long getModificationStamp() {
-			return wrappedFile.getModificationStamp();
-		}
+        public long getModificationStamp() {
+            return this.wrappedFile.getModificationStamp();
+        }
 
-		public IPath getModuleRelativePath() {
-			return modulePath.append(wrappedFile.getModuleRelativePath());
-		}
+        public IPath getModuleRelativePath() {
+            return this.modulePath.append(this.wrappedFile.getModuleRelativePath());
+        }
 
-		public String getName() {
-			return wrappedFile.getName();
-		}
+        public String getName() {
+            return this.wrappedFile.getName();
+        }
 
-		@SuppressWarnings("unchecked")
-		public Object getAdapter(Class adapter) {
-			return wrappedFile.getAdapter(adapter);
-		}
+        @SuppressWarnings("unchecked")
+        public Object getAdapter(Class adapter) {
+            return this.wrappedFile.getAdapter(adapter);
+        }
 
-		@Override
-		public int hashCode() {
-			return modulePath.hashCode() * 37 + wrappedFile.hashCode();
-		}
+        @Override
+        public int hashCode() {
+            return this.modulePath.hashCode() * 37 + this.wrappedFile.hashCode();
+        }
 
-		@Override
-		public boolean equals(Object obj) {
-			if (!(obj instanceof ParModuleFile)) {
-				return false;
-			}
-			ParModuleFile other = (ParModuleFile) obj;
-			if (!ObjectUtils.equals(modulePath, other.modulePath)) {
-				return false;
-			}
-			return ObjectUtils.equals(wrappedFile, other.wrappedFile);
-		}
+        @Override
+        public boolean equals(Object obj) {
+            if (!(obj instanceof ParModuleFile)) {
+                return false;
+            }
+            ParModuleFile other = (ParModuleFile) obj;
+            if (!ObjectUtils.equals(this.modulePath, other.modulePath)) {
+                return false;
+            }
+            return ObjectUtils.equals(this.wrappedFile, other.wrappedFile);
+        }
 
-		@Override
-		public String toString() {
-			return "ModuleFile [" + modulePath + "/" + wrappedFile.getModuleRelativePath() + ", "
-					+ wrappedFile.getName() + ", " + wrappedFile.getModificationStamp() + "]";
-		}
+        @Override
+        public String toString() {
+            return "ModuleFile [" + this.modulePath + "/" + this.wrappedFile.getModuleRelativePath() + ", " + this.wrappedFile.getName() + ", "
+                + this.wrappedFile.getModificationStamp() + "]";
+        }
 
-	}
+    }
 
-	/**
-	 * {@link IModuleFolder} implementation that wraps another {@link IModuleFolder} but moves the relative path into a
-	 * sub directory of a nested par module.
-	 * 
-	 * @see ParModuleFolder#members()
-	 */
-	static class ParModuleFolder implements IModuleFolder {
+    /**
+     * {@link IModuleFolder} implementation that wraps another {@link IModuleFolder} but moves the relative path into a
+     * sub directory of a nested par module.
+     *
+     * @see ParModuleFolder#members()
+     */
+    static class ParModuleFolder implements IModuleFolder {
 
-		private final IModuleFolder wrappedFolder;
+        private final IModuleFolder wrappedFolder;
 
-		private final IPath modulePath;
+        private final IPath modulePath;
 
-		public ParModuleFolder(IModuleFolder wrappedFolder, IPath modulePath) {
-			this.wrappedFolder = wrappedFolder;
-			this.modulePath = modulePath;
-		}
+        public ParModuleFolder(IModuleFolder wrappedFolder, IPath modulePath) {
+            this.wrappedFolder = wrappedFolder;
+            this.modulePath = modulePath;
+        }
 
-		public IModuleResource[] members() {
-			Set<IModuleResource> members = new LinkedHashSet<IModuleResource>();
-			for (IModuleResource resource : wrappedFolder.members()) {
-				if (resource instanceof IModuleFile) {
-					members.add(new ParModuleFile((IModuleFile) resource, modulePath));
-				} else if (resource instanceof IModuleFolder) {
-					members.add(new ParModuleFolder((IModuleFolder) resource, modulePath));
-				}
-			}
-			return members.toArray(new IModuleResource[members.size()]);
-		}
+        public IModuleResource[] members() {
+            Set<IModuleResource> members = new LinkedHashSet<IModuleResource>();
+            for (IModuleResource resource : this.wrappedFolder.members()) {
+                if (resource instanceof IModuleFile) {
+                    members.add(new ParModuleFile((IModuleFile) resource, this.modulePath));
+                } else if (resource instanceof IModuleFolder) {
+                    members.add(new ParModuleFolder((IModuleFolder) resource, this.modulePath));
+                }
+            }
+            return members.toArray(new IModuleResource[members.size()]);
+        }
 
-		public IPath getModuleRelativePath() {
-			return modulePath.append(wrappedFolder.getModuleRelativePath());
-		}
+        public IPath getModuleRelativePath() {
+            return this.modulePath.append(this.wrappedFolder.getModuleRelativePath());
+        }
 
-		public String getName() {
-			return wrappedFolder.getName();
-		}
+        public String getName() {
+            return this.wrappedFolder.getName();
+        }
 
-		@SuppressWarnings("unchecked")
-		public Object getAdapter(Class adapter) {
-			return wrappedFolder.getAdapter(adapter);
-		}
+        @SuppressWarnings("unchecked")
+        public Object getAdapter(Class adapter) {
+            return this.wrappedFolder.getAdapter(adapter);
+        }
 
-		@Override
-		public int hashCode() {
-			return modulePath.hashCode() * 37 + wrappedFolder.hashCode();
-		}
+        @Override
+        public int hashCode() {
+            return this.modulePath.hashCode() * 37 + this.wrappedFolder.hashCode();
+        }
 
-		@Override
-		public boolean equals(Object obj) {
-			if (!(obj instanceof ParModuleFolder)) {
-				return false;
-			}
-			ParModuleFolder other = (ParModuleFolder) obj;
-			if (!ObjectUtils.equals(modulePath, other.modulePath)) {
-				return false;
-			}
-			return ObjectUtils.equals(wrappedFolder, other.wrappedFolder);
-		}
+        @Override
+        public boolean equals(Object obj) {
+            if (!(obj instanceof ParModuleFolder)) {
+                return false;
+            }
+            ParModuleFolder other = (ParModuleFolder) obj;
+            if (!ObjectUtils.equals(this.modulePath, other.modulePath)) {
+                return false;
+            }
+            return ObjectUtils.equals(this.wrappedFolder, other.wrappedFolder);
+        }
 
-		@Override
-		public String toString() {
-			return "ModuleFile [" + modulePath + "/" + wrappedFolder.getModuleRelativePath() + ", "
-					+ wrappedFolder.getName() + "]";
-		}
-	}
+        @Override
+        public String toString() {
+            return "ModuleFile [" + this.modulePath + "/" + this.wrappedFolder.getModuleRelativePath() + ", " + this.wrappedFolder.getName() + "]";
+        }
+    }
 
-	public static Set<IClasspathEntry> getSourceClasspathEntries(IProject project, boolean onlyTestFolders) {
-		IJavaProject javaProject = JavaCore.create(project);
-		if (javaProject == null) {
-			return Collections.emptySet();
-		}
-		Set<IClasspathEntry> entries = new LinkedHashSet<IClasspathEntry>();
-		try {
-			for (IClasspathEntry entry : javaProject.getRawClasspath()) {
-				if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-					if ((onlyTestFolders && !isSourceFolder(entry.getExtraAttributes()))
-							|| (!onlyTestFolders && isSourceFolder(entry.getExtraAttributes()))) {
-						entries.add(entry);
-					}
-				}
-			}
-		} catch (JavaModelException e) {
-		}
-		return entries;
-	}
+    public static Set<IClasspathEntry> getSourceClasspathEntries(IProject project, boolean onlyTestFolders) {
+        IJavaProject javaProject = JavaCore.create(project);
+        if (javaProject == null) {
+            return Collections.emptySet();
+        }
+        Set<IClasspathEntry> entries = new LinkedHashSet<IClasspathEntry>();
+        try {
+            for (IClasspathEntry entry : javaProject.getRawClasspath()) {
+                if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
+                    if (onlyTestFolders && !isSourceFolder(entry.getExtraAttributes())
+                        || !onlyTestFolders && isSourceFolder(entry.getExtraAttributes())) {
+                        entries.add(entry);
+                    }
+                }
+            }
+        } catch (JavaModelException e) {
+        }
+        return entries;
+    }
 
-	private static boolean isSourceFolder(IClasspathAttribute[] extraAttributes) {
-		for (IClasspathAttribute attribute : extraAttributes) {
-			if (TEST_CLASSPATH_ENTRY_ATTRIBUTE.equals(attribute.getName())) {
-				return !Boolean.valueOf(attribute.getValue());
-			}
-		}
-		return true;
-	}
+    private static boolean isSourceFolder(IClasspathAttribute[] extraAttributes) {
+        for (IClasspathAttribute attribute : extraAttributes) {
+            if (TEST_CLASSPATH_ENTRY_ATTRIBUTE.equals(attribute.getName())) {
+                return !Boolean.valueOf(attribute.getValue());
+            }
+        }
+        return true;
+    }
 
-	public Set<IModule> getPlanDependencies(IFile file) {
-		if (file == null || !file.exists()) {
-			return Collections.emptySet();
-		}
+    public Set<IModule> getPlanDependencies(IFile file) {
+        if (file == null || !file.exists()) {
+            return Collections.emptySet();
+        }
 
-		Set<IModule> modules = new HashSet<IModule>();
+        Set<IModule> modules = new HashSet<IModule>();
 
-		try {
-			DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-			Document doc = docBuilder.parse(file.getContents(true));
-			NodeList artifactNodes = doc.getDocumentElement().getElementsByTagName("artifact");
-			for (int i = 0; i < artifactNodes.getLength(); i++) {
-				Element artifact = (Element) artifactNodes.item(i);
-				String type = artifact.getAttribute("type");
-				String name = artifact.getAttribute("name");
+        try {
+            DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+            Document doc = docBuilder.parse(file.getContents(true));
+            NodeList artifactNodes = doc.getDocumentElement().getElementsByTagName("artifact");
+            for (int i = 0; i < artifactNodes.getLength(); i++) {
+                Element artifact = (Element) artifactNodes.item(i);
+                String type = artifact.getAttribute("type");
+                String name = artifact.getAttribute("name");
 
-				if ("bundle".equals(type)) {
-					IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-					for (IProject candidate : projects) {
+                if ("bundle".equals(type)) {
+                    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
+                    for (IProject candidate : projects) {
 
-						if (FacetUtils.isBundleProject(candidate)
-								|| FacetUtils.hasProjectFacet(candidate, FacetCorePlugin.WEB_FACET_ID)) {
+                        if (FacetUtils.isBundleProject(candidate) || FacetUtils.hasProjectFacet(candidate, FacetCorePlugin.WEB_FACET_ID)) {
 
-							BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager()
-									.getBundleManifest(JavaCore.create(candidate));
+                            BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(
+                                JavaCore.create(candidate));
 
-							if ((manifest != null && manifest.getBundleSymbolicName() != null
-									&& manifest.getBundleSymbolicName().getSymbolicName() != null && manifest.getBundleSymbolicName()
-									.getSymbolicName()
-									.equals(name))
-									|| candidate.getName().equals(name)) {
-								for (IModule module : ServerUtil.getModules(candidate)) {
-									if (!module.getId().contains("$")) {
-										modules.add(module);
-										break;
-									}
-								}
-							}
-						}
-					}
-				} else if ("par".equals(type)) {
-					IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-					for (IProject candidate : projects) {
+                            if (manifest != null && manifest.getBundleSymbolicName() != null
+                                && manifest.getBundleSymbolicName().getSymbolicName() != null
+                                && manifest.getBundleSymbolicName().getSymbolicName().equals(name) || candidate.getName().equals(name)) {
+                                for (IModule module : ServerUtil.getModules(candidate)) {
+                                    if (!module.getId().contains("$")) {
+                                        modules.add(module);
+                                        break;
+                                    }
+                                }
+                            }
+                        }
+                    }
+                } else if ("par".equals(type)) {
+                    IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
+                    for (IProject candidate : projects) {
 
-						if (FacetUtils.isParProject(candidate)) {
+                        if (FacetUtils.isParProject(candidate)) {
 
-							if (candidate.getName().equals(name)) {
-								for (IModule module : ServerUtil.getModules(candidate)) {
-									modules.add(module);
-									break;
-								}
-							}
-						}
-					}
-				}
-			}
-		} catch (SAXException e) {
-			StatusManager.getManager().handle(
-					new Status(IStatus.ERROR, "Problem while getting plan dependencies.",
-							BundleManifestCorePlugin.PLUGIN_ID, e));
-		} catch (IOException e) {
-			StatusManager.getManager().handle(
-					new Status(IStatus.ERROR, "Problem while getting plan dependencies.",
-							BundleManifestCorePlugin.PLUGIN_ID, e));
-		} catch (CoreException e) {
-			StatusManager.getManager().handle(e, BundleManifestCorePlugin.PLUGIN_ID);
-		} catch (ParserConfigurationException e) {
-			StatusManager.getManager().handle(
-					new Status(IStatus.ERROR, "Problem while getting plan dependencies.",
-							BundleManifestCorePlugin.PLUGIN_ID, e));
-		}
+                            if (candidate.getName().equals(name)) {
+                                for (IModule module : ServerUtil.getModules(candidate)) {
+                                    modules.add(module);
+                                    break;
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        } catch (SAXException e) {
+            StatusManager.getManager().handle(
+                new Status(IStatus.ERROR, "Problem while getting plan dependencies.", BundleManifestCorePlugin.PLUGIN_ID, e));
+        } catch (IOException e) {
+            StatusManager.getManager().handle(
+                new Status(IStatus.ERROR, "Problem while getting plan dependencies.", BundleManifestCorePlugin.PLUGIN_ID, e));
+        } catch (CoreException e) {
+            StatusManager.getManager().handle(e, BundleManifestCorePlugin.PLUGIN_ID);
+        } catch (ParserConfigurationException e) {
+            StatusManager.getManager().handle(
+                new Status(IStatus.ERROR, "Problem while getting plan dependencies.", BundleManifestCorePlugin.PLUGIN_ID, e));
+        }
 
-		return modules;
-	}
+        return modules;
+    }
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/module/core/ServerModuleFactoryDelegate.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/module/core/ServerModuleFactoryDelegate.java
index 4be5581..2f82438 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/module/core/ServerModuleFactoryDelegate.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/ide/module/core/ServerModuleFactoryDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.module.core;
 
 import java.util.ArrayList;
@@ -35,119 +36,118 @@
 
 /**
  * {@link ProjectModuleFactoryDelegate} extension that knows how to handle par and bundle projects.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ServerModuleFactoryDelegate extends ProjectModuleFactoryDelegate {
 
-	public static final String MODULE_FACTORY_ID = "org.eclipse.virgo.server.modulefactory";
+    public static final String MODULE_FACTORY_ID = "org.eclipse.virgo.server.modulefactory";
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public ModuleDelegate getModuleDelegate(IModule module) {
-		return new ServerModuleDelegate(module.getProject());
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public ModuleDelegate getModuleDelegate(IModule module) {
+        return new ServerModuleDelegate(module.getProject());
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	protected IModule[] createModules(final IProject project) {
-		final Set<IModule> modules = new HashSet<IModule>();
-		if (FacetUtils.isBundleProject(project)) {
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected IModule[] createModules(final IProject project) {
+        final Set<IModule> modules = new HashSet<IModule>();
+        if (FacetUtils.isBundleProject(project)) {
 
-			// Add module for bundle deployment
-			modules.add(createModule(project.getName(), project.getName(), FacetCorePlugin.BUNDLE_FACET_ID, "1.0",
-					project));
+            // Add module for bundle deployment
+            modules.add(createModule(project.getName(), project.getName(), FacetCorePlugin.BUNDLE_FACET_ID, "1.0", project));
 
-			// Add module for par deployment
-			for (IProject parProject : FacetUtils.getParProjects(project)) {
-				modules.add(createModule(parProject.getName() + "$" + project.getName(), project.getName(),
-						FacetCorePlugin.BUNDLE_FACET_ID, "1.0", project));
-			}
+            // Add module for par deployment
+            for (IProject parProject : FacetUtils.getParProjects(project)) {
+                modules.add(
+                    createModule(parProject.getName() + "$" + project.getName(), project.getName(), FacetCorePlugin.BUNDLE_FACET_ID, "1.0", project));
+            }
 
-		} else if (FacetUtils.isParProject(project)) {
-			modules.add(createModule(project.getName(), project.getName(), FacetCorePlugin.PAR_FACET_ID, "1.0", project));
-		}
+        } else if (FacetUtils.isParProject(project)) {
+            modules.add(createModule(project.getName(), project.getName(), FacetCorePlugin.PAR_FACET_ID, "1.0", project));
+        }
 
-		// Every project can also be a plan project
-		if (FacetUtils.isPlanProject(project)) {
+        // Every project can also be a plan project
+        if (FacetUtils.isPlanProject(project)) {
 
-			// Collect output locations if java project
-			final Set<IPath> outputLocations = new HashSet<IPath>();
-			try {
-				if (FacetUtils.hasNature(project, JavaCore.NATURE_ID)) {
-					IJavaProject je = JavaCore.create(project);
-					try {
-						outputLocations.add(je.getOutputLocation());
-						for (IClasspathEntry entry : je.getRawClasspath()) {
-							if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-								if (entry.getOutputLocation() != null) {
-									outputLocations.add(entry.getOutputLocation());
-								}
-							}
-						}
-					} catch (JavaModelException e) {
-						//safe to ignore
-					}
-				}
-				project.accept(new IResourceVisitor() {
+            // Collect output locations if java project
+            final Set<IPath> outputLocations = new HashSet<IPath>();
+            try {
+                if (FacetUtils.hasNature(project, JavaCore.NATURE_ID)) {
+                    IJavaProject je = JavaCore.create(project);
+                    try {
+                        outputLocations.add(je.getOutputLocation());
+                        for (IClasspathEntry entry : je.getRawClasspath()) {
+                            if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
+                                if (entry.getOutputLocation() != null) {
+                                    outputLocations.add(entry.getOutputLocation());
+                                }
+                            }
+                        }
+                    } catch (JavaModelException e) {
+                        // safe to ignore
+                    }
+                }
+                project.accept(new IResourceVisitor() {
 
-					public boolean visit(IResource resource) throws CoreException {
-						if (resource instanceof IFile && resource.getName().endsWith(".plan")) {
-							modules.add(createModule(resource.getFullPath().toString(), resource.getProject().getName()
-									+ "/" + resource.getProjectRelativePath().toString(),
-									FacetCorePlugin.PLAN_FACET_ID, "2.0", project));
-						} else if (resource instanceof IContainer) {
-							IPath path = ((IContainer) resource).getFullPath();
-							for (IPath outputLocation : outputLocations) {
-								if (outputLocation.isPrefixOf(path)) {
-									return false;
-								}
-							}
-							return true;
-						}
-						return true;
-					}
-				});
-			} catch (CoreException e) {
-				// TODO CD log exception
-			}
-		}
-		return modules.toArray(new IModule[modules.size()]);
-	}
+                    public boolean visit(IResource resource) throws CoreException {
+                        if (resource instanceof IFile && resource.getName().endsWith(".plan")) {
+                            modules.add(createModule(resource.getFullPath().toString(),
+                                resource.getProject().getName() + "/" + resource.getProjectRelativePath().toString(), FacetCorePlugin.PLAN_FACET_ID,
+                                "2.0", project));
+                        } else if (resource instanceof IContainer) {
+                            IPath path = ((IContainer) resource).getFullPath();
+                            for (IPath outputLocation : outputLocations) {
+                                if (outputLocation.isPrefixOf(path)) {
+                                    return false;
+                                }
+                            }
+                            return true;
+                        }
+                        return true;
+                    }
+                });
+            } catch (CoreException e) {
+                // TODO CD log exception
+            }
+        }
+        return modules.toArray(new IModule[modules.size()]);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	protected IPath[] getListenerPaths() {
-		final List<IPath> paths = new ArrayList<IPath>();
-		for (IModule module : getModules()) {
-			if (FacetUtils.isPlanProject(module.getProject())) {
-				try {
-					module.getProject().accept(new IResourceVisitor() {
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected IPath[] getListenerPaths() {
+        final List<IPath> paths = new ArrayList<IPath>();
+        for (IModule module : getModules()) {
+            if (FacetUtils.isPlanProject(module.getProject())) {
+                try {
+                    module.getProject().accept(new IResourceVisitor() {
 
-						public boolean visit(IResource resource) throws CoreException {
-							if (resource instanceof IFile && resource.getName().endsWith(".plan")) {
-								paths.add(resource.getProjectRelativePath());
-							}
-							return true;
-						}
-					});
-				} catch (CoreException e) {
-				}
+                        public boolean visit(IResource resource) throws CoreException {
+                            if (resource instanceof IFile && resource.getName().endsWith(".plan")) {
+                                paths.add(resource.getProjectRelativePath());
+                            }
+                            return true;
+                        }
+                    });
+                } catch (CoreException e) {
+                }
 
-			}
-		}
-		paths.add(new Path(".settings/org.eclipse.wst.common.project.facet.core.xml"));
-		paths.add(new Path(".project"));
-		paths.add(new Path(".settings"));
-		paths.add(new Path(".classpath"));
-		return paths.toArray(new IPath[paths.size()]);
-	}
+            }
+        }
+        paths.add(new Path(".settings/org.eclipse.wst.common.project.facet.core.xml"));
+        paths.add(new Path(".project"));
+        paths.add(new Path(".settings"));
+        paths.add(new Path(".classpath"));
+        return paths.toArray(new IPath[paths.size()]);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/kernel/osgi/provisioning/tools/DependencyLocatorVirgo.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/kernel/osgi/provisioning/tools/DependencyLocatorVirgo.java
index 0b763a2..a55b087 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/kernel/osgi/provisioning/tools/DependencyLocatorVirgo.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/kernel/osgi/provisioning/tools/DependencyLocatorVirgo.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.kernel.osgi.provisioning.tools;
 
 import java.io.File;
@@ -28,36 +29,35 @@
  */
 public class DependencyLocatorVirgo implements IDependencyLocator {
 
-	private final DependencyLocator dependencyLocator;
+    private final DependencyLocator dependencyLocator;
 
-	public DependencyLocatorVirgo(String serverHomePath, String[] additionalSearchPaths, String indexDirectoryPath,
-			JavaVersion javaVersion) throws IOException {
-		// Some platform dependent string matching
-		if (Platform.getOS().equals(Platform.OS_WIN32)) {
-			serverHomePath = serverHomePath.replace('/', '\\');
-			indexDirectoryPath = indexDirectoryPath.replace('/', '\\');
-			for (int i = 0; i < additionalSearchPaths.length; i++) {
-				additionalSearchPaths[i] = additionalSearchPaths[i].replace('/', '\\');
-			}
-		}
-		dependencyLocator = new DependencyLocator(serverHomePath, additionalSearchPaths, indexDirectoryPath,
-				new NoOpEventLogger());
-	}
+    public DependencyLocatorVirgo(String serverHomePath, String[] additionalSearchPaths, String indexDirectoryPath, JavaVersion javaVersion)
+        throws IOException {
+        // Some platform dependent string matching
+        if (Platform.getOS().equals(Platform.OS_WIN32)) {
+            serverHomePath = serverHomePath.replace('/', '\\');
+            indexDirectoryPath = indexDirectoryPath.replace('/', '\\');
+            for (int i = 0; i < additionalSearchPaths.length; i++) {
+                additionalSearchPaths[i] = additionalSearchPaths[i].replace('/', '\\');
+            }
+        }
+        this.dependencyLocator = new DependencyLocator(serverHomePath, additionalSearchPaths, indexDirectoryPath, new NoOpEventLogger());
+    }
 
-	public Map<File, List<String>> locateDependencies(BundleManifest manifest) throws DependencyLocationException {
-		return dependencyLocator.locateDependencies(manifest);
-	}
+    public Map<File, List<String>> locateDependencies(BundleManifest manifest) throws DependencyLocationException {
+        return this.dependencyLocator.locateDependencies(manifest);
+    }
 
-	public Set<? extends BundleDefinition> getBundles() {
-		return dependencyLocator.getBundles();
-	}
+    public Set<? extends BundleDefinition> getBundles() {
+        return this.dependencyLocator.getBundles();
+    }
 
-	public Set<? extends LibraryDefinition> getLibraries() {
-		return dependencyLocator.getLibraries();
-	}
+    public Set<? extends LibraryDefinition> getLibraries() {
+        return this.dependencyLocator.getLibraries();
+    }
 
-	public void shutdown() {
-		dependencyLocator.shutdown();
-	}
+    public void shutdown() {
+        this.dependencyLocator.shutdown();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/kernel/osgi/provisioning/tools/NoOpEventLogger.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/kernel/osgi/provisioning/tools/NoOpEventLogger.java
index 1dbe54d..e0fc937 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/kernel/osgi/provisioning/tools/NoOpEventLogger.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/kernel/osgi/provisioning/tools/NoOpEventLogger.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.kernel.osgi.provisioning.tools;
 
 import org.eclipse.virgo.medic.eventlog.EventLogger;
@@ -16,22 +17,22 @@
 
 /**
  * NoOp {@link EventLogger} implementation
- * 
+ *
  * @author Christian Dupuis
  * @since 2.1.1
  */
 public class NoOpEventLogger implements EventLogger {
 
-	public void log(LogEvent arg0, Object... arg1) {
-	}
+    public void log(LogEvent arg0, Object... arg1) {
+    }
 
-	public void log(String arg0, Level arg1, Object... arg2) {
-	}
+    public void log(String arg0, Level arg1, Object... arg2) {
+    }
 
-	public void log(LogEvent arg0, Throwable arg1, Object... arg2) {
-	}
+    public void log(LogEvent arg0, Throwable arg1, Object... arg2) {
+    }
 
-	public void log(String arg0, Level arg1, Throwable arg2, Object... arg3) {
-	}
+    public void log(String arg0, Level arg1, Throwable arg2, Object... arg3) {
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/kernel/osgi/provisioning/tools/Pre35DependencyLocatorVirgo.java b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/kernel/osgi/provisioning/tools/Pre35DependencyLocatorVirgo.java
index 4c48a67..f07a65c 100644
--- a/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/kernel/osgi/provisioning/tools/Pre35DependencyLocatorVirgo.java
+++ b/org.eclipse.virgo.ide.manifest.core/src/org/eclipse/virgo/kernel/osgi/provisioning/tools/Pre35DependencyLocatorVirgo.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.kernel.osgi.provisioning.tools;
 
 import java.io.File;
@@ -27,36 +28,35 @@
  */
 public class Pre35DependencyLocatorVirgo implements IDependencyLocator {
 
-	private final Pre35DependencyLocator dependencyLocator;
+    private final Pre35DependencyLocator dependencyLocator;
 
-	public Pre35DependencyLocatorVirgo(String serverHomePath, String[] additionalSearchPaths,
-			String indexDirectoryPath, JavaVersion javaVersion) throws IOException {
-		// Some platform dependent string matching
-		if (Platform.getOS().equals(Platform.OS_WIN32)) {
-			serverHomePath = serverHomePath.replace('/', '\\');
-			indexDirectoryPath = indexDirectoryPath.replace('/', '\\');
-			for (int i = 0; i < additionalSearchPaths.length; i++) {
-				additionalSearchPaths[i] = additionalSearchPaths[i].replace('/', '\\');
-			}
-		}
-		dependencyLocator = new Pre35DependencyLocator(serverHomePath, additionalSearchPaths, indexDirectoryPath,
-				new NoOpEventLogger());
-	}
+    public Pre35DependencyLocatorVirgo(String serverHomePath, String[] additionalSearchPaths, String indexDirectoryPath, JavaVersion javaVersion)
+        throws IOException {
+        // Some platform dependent string matching
+        if (Platform.getOS().equals(Platform.OS_WIN32)) {
+            serverHomePath = serverHomePath.replace('/', '\\');
+            indexDirectoryPath = indexDirectoryPath.replace('/', '\\');
+            for (int i = 0; i < additionalSearchPaths.length; i++) {
+                additionalSearchPaths[i] = additionalSearchPaths[i].replace('/', '\\');
+            }
+        }
+        this.dependencyLocator = new Pre35DependencyLocator(serverHomePath, additionalSearchPaths, indexDirectoryPath, new NoOpEventLogger());
+    }
 
-	public Map<File, List<String>> locateDependencies(BundleManifest manifest) throws DependencyLocationException {
-		return dependencyLocator.locateDependencies(manifest);
-	}
+    public Map<File, List<String>> locateDependencies(BundleManifest manifest) throws DependencyLocationException {
+        return this.dependencyLocator.locateDependencies(manifest);
+    }
 
-	public Set<? extends BundleDefinition> getBundles() {
-		return dependencyLocator.getBundles();
-	}
+    public Set<? extends BundleDefinition> getBundles() {
+        return this.dependencyLocator.getBundles();
+    }
 
-	public Set<? extends LibraryDefinition> getLibraries() {
-		return dependencyLocator.getLibraries();
-	}
+    public Set<? extends LibraryDefinition> getLibraries() {
+        return this.dependencyLocator.getLibraries();
+    }
 
-	public void shutdown() {
-		dependencyLocator.shutdown();
-	}
+    public void shutdown() {
+        this.dependencyLocator.shutdown();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.par.edit/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.par.edit/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..d41ee9d 100644
--- a/org.eclipse.virgo.ide.par.edit/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.par.edit/.settings/org.eclipse.jdt.core.prefs
@@ -1,13 +1,4 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +73,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +114,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +152,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +160,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +212,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +231,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +262,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +290,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +319,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +345,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.par.edit/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.par.edit/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..15b3fdb 100644
--- a/org.eclipse.virgo.ide.par.edit/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.par.edit/.settings/org.eclipse.jdt.ui.prefs
@@ -1,13 +1,67 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
 sp_cleanup.add_default_serial_version_id=true
 sp_cleanup.add_generated_serial_version_id=false
 sp_cleanup.add_missing_annotations=true
diff --git a/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/BundleItemProvider.java b/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/BundleItemProvider.java
index 9bb8548..30b85f9 100644
--- a/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/BundleItemProvider.java
+++ b/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/BundleItemProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par.provider;
 
 import java.util.Collection;
@@ -32,109 +33,107 @@
 /**
  * This is the item provider adapter for a {@link org.eclipse.virgo.ide.par.Bundle} object. <!-- begin-user-doc --> <!--
  * end-user-doc -->
- * 
+ *
  * @generated
  */
-public class BundleItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
-		IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public BundleItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
+public class BundleItemProvider extends ItemProviderAdapter
+    implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
 
-	/**
-	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
+    /**
+     * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public BundleItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
 
-			addSymbolicNamePropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
+    /**
+     * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+        if (this.itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
 
-	/**
-	 * This adds a property descriptor for the Symbolic Name feature. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void addSymbolicNamePropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add(createItemPropertyDescriptor(
-				((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(),
-				getString("_UI_Bundle_symbolicName_feature"),
-				getString("_UI_PropertyDescriptor_description", "_UI_Bundle_symbolicName_feature", "_UI_Bundle_type"),
-				ParPackage.Literals.BUNDLE__SYMBOLIC_NAME, true, false, false,
-				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
-	}
+            addSymbolicNamePropertyDescriptor(object);
+        }
+        return this.itemPropertyDescriptors;
+    }
 
-	/**
-	 * This returns Bundle.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/Bundle"));
-	}
+    /**
+     * This adds a property descriptor for the Symbolic Name feature. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected void addSymbolicNamePropertyDescriptor(Object object) {
+        this.itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) this.adapterFactory).getRootAdapterFactory(),
+            getResourceLocator(), getString("_UI_Bundle_symbolicName_feature"),
+            getString("_UI_PropertyDescriptor_description", "_UI_Bundle_symbolicName_feature", "_UI_Bundle_type"),
+            ParPackage.Literals.BUNDLE__SYMBOLIC_NAME, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+    }
 
-	/**
-	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((Bundle) object).getSymbolicName();
-		return label == null || label.length() == 0 ? getString("_UI_Bundle_type") : getString("_UI_Bundle_type") + " "
-				+ label;
-	}
+    /**
+     * This returns Bundle.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/Bundle"));
+    }
 
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating
-	 * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
+    /**
+     * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        String label = ((Bundle) object).getSymbolicName();
+        return label == null || label.length() == 0 ? getString("_UI_Bundle_type") : getString("_UI_Bundle_type") + " " + label;
+    }
 
-		switch (notification.getFeatureID(Bundle.class)) {
-		case ParPackage.BUNDLE__SYMBOLIC_NAME:
-			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-			return;
-		}
-		super.notifyChanged(notification);
-	}
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating
+     * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc
+     * -->
+     *
+     * @generated
+     */
+    @Override
+    public void notifyChanged(Notification notification) {
+        updateChildren(notification);
 
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created
-	 * under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
+        switch (notification.getFeatureID(Bundle.class)) {
+            case ParPackage.BUNDLE__SYMBOLIC_NAME:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
 
-	/**
-	 * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public ResourceLocator getResourceLocator() {
-		return ParEditPlugin.INSTANCE;
-	}
+    /**
+     * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created
+     * under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+        super.collectNewChildDescriptors(newChildDescriptors, object);
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return ParEditPlugin.INSTANCE;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/ParEditPlugin.java b/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/ParEditPlugin.java
index b50169a..8a9edcd 100644
--- a/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/ParEditPlugin.java
+++ b/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/ParEditPlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par.provider;
 
 import org.eclipse.emf.common.EMFPlugin;
@@ -15,72 +16,74 @@
 
 /**
  * This is the central singleton for the Par edit plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
- * 
+ *
  * @generated
  */
 public final class ParEditPlugin extends EMFPlugin {
-	/**
-	 * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public static final ParEditPlugin INSTANCE = new ParEditPlugin();
 
-	/**
-	 * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	private static Implementation plugin;
+    /**
+     * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public static final ParEditPlugin INSTANCE = new ParEditPlugin();
 
-	/**
-	 * Create the instance. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ParEditPlugin() {
-		super(new ResourceLocator[] {});
-	}
+    /**
+     * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    private static Implementation plugin;
 
-	/**
-	 * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @return the singleton instance.
-	 * @generated
-	 */
-	@Override
-	public ResourceLocator getPluginResourceLocator() {
-		return plugin;
-	}
+    /**
+     * Create the instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public ParEditPlugin() {
+        super(new ResourceLocator[] {});
+    }
 
-	/**
-	 * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @return the singleton instance.
-	 * @generated
-	 */
-	public static Implementation getPlugin() {
-		return plugin;
-	}
+    /**
+     * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @return the singleton instance.
+     * @generated
+     */
+    @Override
+    public ResourceLocator getPluginResourceLocator() {
+        return plugin;
+    }
 
-	/**
-	 * The actual implementation of the Eclipse <b>Plugin</b>. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public static class Implementation extends EclipsePlugin {
-		/**
-		 * Creates an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
-		 * 
-		 * @generated
-		 */
-		public Implementation() {
-			super();
+    /**
+     * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @return the singleton instance.
+     * @generated
+     */
+    public static Implementation getPlugin() {
+        return plugin;
+    }
 
-			// Remember the static instance.
-			//
-			plugin = this;
-		}
-	}
+    /**
+     * The actual implementation of the Eclipse <b>Plugin</b>. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public static class Implementation extends EclipsePlugin {
+
+        /**
+         * Creates an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+         *
+         * @generated
+         */
+        public Implementation() {
+            super();
+
+            // Remember the static instance.
+            //
+            plugin = this;
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/ParItemProvider.java b/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/ParItemProvider.java
index fa9776e..2873b08 100644
--- a/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/ParItemProvider.java
+++ b/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/ParItemProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par.provider;
 
 import java.util.Collection;
@@ -32,125 +33,125 @@
 /**
  * This is the item provider adapter for a {@link org.eclipse.virgo.ide.par.Par} object. <!-- begin-user-doc --> <!--
  * end-user-doc -->
- * 
+ *
  * @generated
  */
-public class ParItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
-		IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ParItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
+public class ParItemProvider extends ItemProviderAdapter
+    implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
 
-	/**
-	 * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
+    /**
+     * This constructs an instance from a factory and a notifier. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public ParItemProvider(AdapterFactory adapterFactory) {
+        super(adapterFactory);
+    }
 
-		}
-		return itemPropertyDescriptors;
-	}
+    /**
+     * This returns the property descriptors for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+        if (this.itemPropertyDescriptors == null) {
+            super.getPropertyDescriptors(object);
 
-	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(ParPackage.Literals.PAR__BUNDLE);
-		}
-		return childrenFeatures;
-	}
+        }
+        return this.itemPropertyDescriptors;
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		// Check the type of the specified child object and return the proper feature to use for
-		// adding (see {@link AddCommand}) it as a child.
+    /**
+     * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+     * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+     * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. <!-- begin-user-doc --> <!--
+     * end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
+        if (this.childrenFeatures == null) {
+            super.getChildrenFeatures(object);
+            this.childrenFeatures.add(ParPackage.Literals.PAR__BUNDLE);
+        }
+        return this.childrenFeatures;
+    }
 
-		return super.getChildFeature(object, child);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    protected EStructuralFeature getChildFeature(Object object, Object child) {
+        // Check the type of the specified child object and return the proper feature to use for
+        // adding (see {@link AddCommand}) it as a child.
 
-	/**
-	 * This returns Par.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/Par"));
-	}
+        return super.getChildFeature(object, child);
+    }
 
-	/**
-	 * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		return getString("_UI_Par_type");
-	}
+    /**
+     * This returns Par.gif. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public Object getImage(Object object) {
+        return overlayImage(object, getResourceLocator().getImage("full/obj16/Par"));
+    }
 
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating
-	 * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
+    /**
+     * This returns the label text for the adapted class. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public String getText(Object object) {
+        return getString("_UI_Par_type");
+    }
 
-		switch (notification.getFeatureID(Par.class)) {
-		case ParPackage.PAR__BUNDLE:
-			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-			return;
-		}
-		super.notifyChanged(notification);
-	}
+    /**
+     * This handles model notifications by calling {@link #updateChildren} to update any cached children and by creating
+     * a viewer notification, which it passes to {@link #fireNotifyChanged}. <!-- begin-user-doc --> <!-- end-user-doc
+     * -->
+     *
+     * @generated
+     */
+    @Override
+    public void notifyChanged(Notification notification) {
+        updateChildren(notification);
 
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created
-	 * under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
+        switch (notification.getFeatureID(Par.class)) {
+            case ParPackage.PAR__BUNDLE:
+                fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+                return;
+        }
+        super.notifyChanged(notification);
+    }
 
-		newChildDescriptors.add(createChildParameter(ParPackage.Literals.PAR__BUNDLE,
-				ParFactory.eINSTANCE.createBundle()));
-	}
+    /**
+     * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children that can be created
+     * under this object. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+        super.collectNewChildDescriptors(newChildDescriptors, object);
 
-	/**
-	 * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public ResourceLocator getResourceLocator() {
-		return ParEditPlugin.INSTANCE;
-	}
+        newChildDescriptors.add(createChildParameter(ParPackage.Literals.PAR__BUNDLE, ParFactory.eINSTANCE.createBundle()));
+    }
+
+    /**
+     * Return the resource locator for this item provider's resources. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public ResourceLocator getResourceLocator() {
+        return ParEditPlugin.INSTANCE;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/ParItemProviderAdapterFactory.java b/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/ParItemProviderAdapterFactory.java
index cfabc8f..4bafc07 100644
--- a/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/ParItemProviderAdapterFactory.java
+++ b/org.eclipse.virgo.ide.par.edit/src/org/eclipse/virgo/ide/par/provider/ParItemProviderAdapterFactory.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par.provider;
 
 import java.util.ArrayList;
@@ -34,194 +35,194 @@
  * factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. The adapters
  * also support Eclipse property sheets. Note that most of the adapters are shared among multiple instances. <!--
  * begin-user-doc --> <!-- end-user-doc -->
- * 
+ *
  * @generated
  */
-public class ParItemProviderAdapterFactory extends ParAdapterFactory implements ComposeableAdapterFactory,
-		IChangeNotifier, IDisposable {
-	/**
-	 * This keeps track of the root adapter factory that delegates to this adapter factory. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ComposedAdapterFactory parentAdapterFactory;
+public class ParItemProviderAdapterFactory extends ParAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
 
-	/**
-	 * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IChangeNotifier changeNotifier = new ChangeNotifier();
+    /**
+     * This keeps track of the root adapter factory that delegates to this adapter factory. <!-- begin-user-doc --> <!--
+     * end-user-doc -->
+     *
+     * @generated
+     */
+    protected ComposedAdapterFactory parentAdapterFactory;
 
-	/**
-	 * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection<Object> supportedTypes = new ArrayList<Object>();
+    /**
+     * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. <!-- begin-user-doc --> <!--
+     * end-user-doc -->
+     *
+     * @generated
+     */
+    protected IChangeNotifier changeNotifier = new ChangeNotifier();
 
-	/**
-	 * This constructs an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ParItemProviderAdapterFactory() {
-		supportedTypes.add(IEditingDomainItemProvider.class);
-		supportedTypes.add(IStructuredItemContentProvider.class);
-		supportedTypes.add(ITreeItemContentProvider.class);
-		supportedTypes.add(IItemLabelProvider.class);
-		supportedTypes.add(IItemPropertySource.class);
-	}
+    /**
+     * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. <!--
+     * begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected Collection<Object> supportedTypes = new ArrayList<Object>();
 
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.virgo.ide.par.Par} instances. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ParItemProvider parItemProvider;
+    /**
+     * This constructs an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public ParItemProviderAdapterFactory() {
+        this.supportedTypes.add(IEditingDomainItemProvider.class);
+        this.supportedTypes.add(IStructuredItemContentProvider.class);
+        this.supportedTypes.add(ITreeItemContentProvider.class);
+        this.supportedTypes.add(IItemLabelProvider.class);
+        this.supportedTypes.add(IItemPropertySource.class);
+    }
 
-	/**
-	 * This creates an adapter for a {@link org.eclipse.virgo.ide.par.Par}. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public Adapter createParAdapter() {
-		if (parItemProvider == null) {
-			parItemProvider = new ParItemProvider(this);
-		}
+    /**
+     * This keeps track of the one adapter used for all {@link org.eclipse.virgo.ide.par.Par} instances. <!--
+     * begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected ParItemProvider parItemProvider;
 
-		return parItemProvider;
-	}
+    /**
+     * This creates an adapter for a {@link org.eclipse.virgo.ide.par.Par}. <!-- begin-user-doc --> <!-- end-user-doc
+     * -->
+     *
+     * @generated
+     */
+    @Override
+    public Adapter createParAdapter() {
+        if (this.parItemProvider == null) {
+            this.parItemProvider = new ParItemProvider(this);
+        }
 
-	/**
-	 * This keeps track of the one adapter used for all {@link org.eclipse.virgo.ide.par.Bundle} instances. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected BundleItemProvider bundleItemProvider;
+        return this.parItemProvider;
+    }
 
-	/**
-	 * This creates an adapter for a {@link org.eclipse.virgo.ide.par.Bundle}. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public Adapter createBundleAdapter() {
-		if (bundleItemProvider == null) {
-			bundleItemProvider = new BundleItemProvider(this);
-		}
+    /**
+     * This keeps track of the one adapter used for all {@link org.eclipse.virgo.ide.par.Bundle} instances. <!--
+     * begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected BundleItemProvider bundleItemProvider;
 
-		return bundleItemProvider;
-	}
+    /**
+     * This creates an adapter for a {@link org.eclipse.virgo.ide.par.Bundle}. <!-- begin-user-doc --> <!-- end-user-doc
+     * -->
+     *
+     * @generated
+     */
+    @Override
+    public Adapter createBundleAdapter() {
+        if (this.bundleItemProvider == null) {
+            this.bundleItemProvider = new BundleItemProvider(this);
+        }
 
-	/**
-	 * This returns the root adapter factory that contains this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ComposeableAdapterFactory getRootAdapterFactory() {
-		return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
-	}
+        return this.bundleItemProvider;
+    }
 
-	/**
-	 * This sets the composed adapter factory that contains this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
-		this.parentAdapterFactory = parentAdapterFactory;
-	}
+    /**
+     * This returns the root adapter factory that contains this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public ComposeableAdapterFactory getRootAdapterFactory() {
+        return this.parentAdapterFactory == null ? this : this.parentAdapterFactory.getRootAdapterFactory();
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public boolean isFactoryForType(Object type) {
-		return supportedTypes.contains(type) || super.isFactoryForType(type);
-	}
+    /**
+     * This sets the composed adapter factory that contains this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+        this.parentAdapterFactory = parentAdapterFactory;
+    }
 
-	/**
-	 * This implementation substitutes the factory itself as the key for the adapter. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public Adapter adapt(Notifier notifier, Object type) {
-		return super.adapt(notifier, this);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public boolean isFactoryForType(Object type) {
+        return this.supportedTypes.contains(type) || super.isFactoryForType(type);
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public Object adapt(Object object, Object type) {
-		if (isFactoryForType(type)) {
-			Object adapter = super.adapt(object, type);
-			if (!(type instanceof Class<?>) || (((Class<?>) type).isInstance(adapter))) {
-				return adapter;
-			}
-		}
+    /**
+     * This implementation substitutes the factory itself as the key for the adapter. <!-- begin-user-doc --> <!--
+     * end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public Adapter adapt(Notifier notifier, Object type) {
+        return super.adapt(notifier, this);
+    }
 
-		return null;
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public Object adapt(Object object, Object type) {
+        if (isFactoryForType(type)) {
+            Object adapter = super.adapt(object, type);
+            if (!(type instanceof Class<?>) || ((Class<?>) type).isInstance(adapter)) {
+                return adapter;
+            }
+        }
 
-	/**
-	 * This adds a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void addListener(INotifyChangedListener notifyChangedListener) {
-		changeNotifier.addListener(notifyChangedListener);
-	}
+        return null;
+    }
 
-	/**
-	 * This removes a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void removeListener(INotifyChangedListener notifyChangedListener) {
-		changeNotifier.removeListener(notifyChangedListener);
-	}
+    /**
+     * This adds a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public void addListener(INotifyChangedListener notifyChangedListener) {
+        this.changeNotifier.addListener(notifyChangedListener);
+    }
 
-	/**
-	 * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void fireNotifyChanged(Notification notification) {
-		changeNotifier.fireNotifyChanged(notification);
+    /**
+     * This removes a listener. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public void removeListener(INotifyChangedListener notifyChangedListener) {
+        this.changeNotifier.removeListener(notifyChangedListener);
+    }
 
-		if (parentAdapterFactory != null) {
-			parentAdapterFactory.fireNotifyChanged(notification);
-		}
-	}
+    /**
+     * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. <!-- begin-user-doc --> <!--
+     * end-user-doc -->
+     *
+     * @generated
+     */
+    public void fireNotifyChanged(Notification notification) {
+        this.changeNotifier.fireNotifyChanged(notification);
 
-	/**
-	 * This disposes all of the item providers created by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void dispose() {
-		if (parItemProvider != null) {
-			parItemProvider.dispose();
-		}
-		if (bundleItemProvider != null) {
-			bundleItemProvider.dispose();
-		}
-	}
+        if (this.parentAdapterFactory != null) {
+            this.parentAdapterFactory.fireNotifyChanged(notification);
+        }
+    }
+
+    /**
+     * This disposes all of the item providers created by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public void dispose() {
+        if (this.parItemProvider != null) {
+            this.parItemProvider.dispose();
+        }
+        if (this.bundleItemProvider != null) {
+            this.bundleItemProvider.dispose();
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.par/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.par/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.par/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.par/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.par/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.par/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.par/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.par/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/Bundle.java b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/Bundle.java
index be85eb0..b4b5714 100644
--- a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/Bundle.java
+++ b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/Bundle.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par;
 
 import org.eclipse.emf.ecore.EObject;
@@ -20,37 +21,37 @@
  * <li>{@link org.eclipse.virgo.ide.par.Bundle#getSymbolicName <em>Symbolic Name</em>}</li>
  * </ul>
  * </p>
- * 
+ *
  * @see org.eclipse.virgo.ide.par.ParPackage#getBundle()
  * @model
  * @generated
  */
 public interface Bundle extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Symbolic Name</b></em>' attribute. <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Symbolic Name</em>' attribute isn't clear, there really should be more of a
-	 * description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * 
-	 * @return the value of the '<em>Symbolic Name</em>' attribute.
-	 * @see #setSymbolicName(String)
-	 * @see org.eclipse.virgo.ide.par.ParPackage#getBundle_SymbolicName()
-	 * @model
-	 * @generated
-	 */
-	String getSymbolicName();
 
-	/**
-	 * Sets the value of the '{@link org.eclipse.virgo.ide.par.Bundle#getSymbolicName <em>Symbolic Name</em>}'
-	 * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @param value
-	 *            the new value of the '<em>Symbolic Name</em>' attribute.
-	 * @see #getSymbolicName()
-	 * @generated
-	 */
-	void setSymbolicName(String value);
+    /**
+     * Returns the value of the '<em><b>Symbolic Name</b></em>' attribute. <!-- begin-user-doc -->
+     * <p>
+     * If the meaning of the '<em>Symbolic Name</em>' attribute isn't clear, there really should be more of a
+     * description here...
+     * </p>
+     * <!-- end-user-doc -->
+     *
+     * @return the value of the '<em>Symbolic Name</em>' attribute.
+     * @see #setSymbolicName(String)
+     * @see org.eclipse.virgo.ide.par.ParPackage#getBundle_SymbolicName()
+     * @model
+     * @generated
+     */
+    String getSymbolicName();
+
+    /**
+     * Sets the value of the '{@link org.eclipse.virgo.ide.par.Bundle#getSymbolicName <em>Symbolic Name</em>}'
+     * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @param value the new value of the '<em>Symbolic Name</em>' attribute.
+     * @see #getSymbolicName()
+     * @generated
+     */
+    void setSymbolicName(String value);
 
 } // Bundle
diff --git a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/Par.java b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/Par.java
index e66f53d..981e27f 100644
--- a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/Par.java
+++ b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/Par.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par;
 
 import org.eclipse.emf.common.util.EList;
@@ -21,26 +22,27 @@
  * <li>{@link org.eclipse.virgo.ide.par.Par#getBundle <em>Bundle</em>}</li>
  * </ul>
  * </p>
- * 
+ *
  * @see org.eclipse.virgo.ide.par.ParPackage#getPar()
  * @model
  * @generated
  */
 public interface Par extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Bundle</b></em>' containment reference list. The list contents are of type
-	 * {@link org.eclipse.virgo.ide.par.Bundle}. <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Bundle</em>' containment reference list isn't clear, there really should be more of a
-	 * description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * 
-	 * @return the value of the '<em>Bundle</em>' containment reference list.
-	 * @see org.eclipse.virgo.ide.par.ParPackage#getPar_Bundle()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<Bundle> getBundle();
+
+    /**
+     * Returns the value of the '<em><b>Bundle</b></em>' containment reference list. The list contents are of type
+     * {@link org.eclipse.virgo.ide.par.Bundle}. <!-- begin-user-doc -->
+     * <p>
+     * If the meaning of the '<em>Bundle</em>' containment reference list isn't clear, there really should be more of a
+     * description here...
+     * </p>
+     * <!-- end-user-doc -->
+     *
+     * @return the value of the '<em>Bundle</em>' containment reference list.
+     * @see org.eclipse.virgo.ide.par.ParPackage#getPar_Bundle()
+     * @model containment="true"
+     * @generated
+     */
+    EList<Bundle> getBundle();
 
 } // Par
diff --git a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/ParFactory.java b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/ParFactory.java
index e017450..a45eeaf 100644
--- a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/ParFactory.java
+++ b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/ParFactory.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par;
 
 import org.eclipse.emf.ecore.EFactory;
@@ -15,40 +16,41 @@
 /**
  * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a create method for each non-abstract class of
  * the model. <!-- end-user-doc -->
- * 
+ *
  * @see org.eclipse.virgo.ide.par.ParPackage
  * @generated
  */
 public interface ParFactory extends EFactory {
-	/**
-	 * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	ParFactory eINSTANCE = org.eclipse.virgo.ide.par.impl.ParFactoryImpl.init();
 
-	/**
-	 * Returns a new object of class '<em>Par</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @return a new object of class '<em>Par</em>'.
-	 * @generated
-	 */
-	Par createPar();
+    /**
+     * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    ParFactory eINSTANCE = org.eclipse.virgo.ide.par.impl.ParFactoryImpl.init();
 
-	/**
-	 * Returns a new object of class '<em>Bundle</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @return a new object of class '<em>Bundle</em>'.
-	 * @generated
-	 */
-	Bundle createBundle();
+    /**
+     * Returns a new object of class '<em>Par</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @return a new object of class '<em>Par</em>'.
+     * @generated
+     */
+    Par createPar();
 
-	/**
-	 * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @return the package supported by this factory.
-	 * @generated
-	 */
-	ParPackage getParPackage();
+    /**
+     * Returns a new object of class '<em>Bundle</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @return a new object of class '<em>Bundle</em>'.
+     * @generated
+     */
+    Bundle createBundle();
 
-} //ParFactory
+    /**
+     * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @return the package supported by this factory.
+     * @generated
+     */
+    ParPackage getParPackage();
+
+} // ParFactory
diff --git a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/ParPackage.java b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/ParPackage.java
index 1699f27..d793495 100644
--- a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/ParPackage.java
+++ b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/ParPackage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par;
 
 import org.eclipse.emf.ecore.EAttribute;
@@ -24,192 +25,194 @@
  * <li>and each data type</li>
  * </ul>
  * <!-- end-user-doc -->
- * 
+ *
  * @see org.eclipse.virgo.ide.par.ParFactory
  * @model kind="package"
  * @generated
  */
 public interface ParPackage extends EPackage {
-	/**
-	 * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	String eNAME = "par";
 
-	/**
-	 * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	String eNS_URI = "http://eclipse.org/virgo/par.ecore";
+    /**
+     * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    String eNAME = "par";
 
-	/**
-	 * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	String eNS_PREFIX = "org.eclipse.virgo.ide.par";
+    /**
+     * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    String eNS_URI = "http://eclipse.org/virgo/par.ecore";
 
-	/**
-	 * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	ParPackage eINSTANCE = org.eclipse.virgo.ide.par.impl.ParPackageImpl.init();
+    /**
+     * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    String eNS_PREFIX = "org.eclipse.virgo.ide.par";
 
-	/**
-	 * The meta object id for the '{@link org.eclipse.virgo.ide.par.impl.ParImpl <em>Par</em>}' class. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @see org.eclipse.virgo.ide.par.impl.ParImpl
-	 * @see org.eclipse.virgo.ide.par.impl.ParPackageImpl#getPar()
-	 * @generated
-	 */
-	int PAR = 0;
+    /**
+     * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    ParPackage eINSTANCE = org.eclipse.virgo.ide.par.impl.ParPackageImpl.init();
 
-	/**
-	 * The feature id for the '<em><b>Bundle</b></em>' containment reference list. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 * @ordered
-	 */
-	int PAR__BUNDLE = 0;
+    /**
+     * The meta object id for the '{@link org.eclipse.virgo.ide.par.impl.ParImpl <em>Par</em>}' class. <!--
+     * begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @see org.eclipse.virgo.ide.par.impl.ParImpl
+     * @see org.eclipse.virgo.ide.par.impl.ParPackageImpl#getPar()
+     * @generated
+     */
+    int PAR = 0;
 
-	/**
-	 * The number of structural features of the '<em>Par</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 * @ordered
-	 */
-	int PAR_FEATURE_COUNT = 1;
+    /**
+     * The feature id for the '<em><b>Bundle</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+     * end-user-doc -->
+     *
+     * @generated
+     * @ordered
+     */
+    int PAR__BUNDLE = 0;
 
-	/**
-	 * The meta object id for the '{@link org.eclipse.virgo.ide.par.impl.BundleImpl <em>Bundle</em>}' class. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @see org.eclipse.virgo.ide.par.impl.BundleImpl
-	 * @see org.eclipse.virgo.ide.par.impl.ParPackageImpl#getBundle()
-	 * @generated
-	 */
-	int BUNDLE = 1;
+    /**
+     * The number of structural features of the '<em>Par</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     * @ordered
+     */
+    int PAR_FEATURE_COUNT = 1;
 
-	/**
-	 * The feature id for the '<em><b>Symbolic Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 * @ordered
-	 */
-	int BUNDLE__SYMBOLIC_NAME = 0;
+    /**
+     * The meta object id for the '{@link org.eclipse.virgo.ide.par.impl.BundleImpl <em>Bundle</em>}' class. <!--
+     * begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @see org.eclipse.virgo.ide.par.impl.BundleImpl
+     * @see org.eclipse.virgo.ide.par.impl.ParPackageImpl#getBundle()
+     * @generated
+     */
+    int BUNDLE = 1;
 
-	/**
-	 * The number of structural features of the '<em>Bundle</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 * @ordered
-	 */
-	int BUNDLE_FEATURE_COUNT = 1;
+    /**
+     * The feature id for the '<em><b>Symbolic Name</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     * @ordered
+     */
+    int BUNDLE__SYMBOLIC_NAME = 0;
 
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.virgo.ide.par.Par <em>Par</em>}'. <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * 
-	 * @return the meta object for class '<em>Par</em>'.
-	 * @see org.eclipse.virgo.ide.par.Par
-	 * @generated
-	 */
-	EClass getPar();
+    /**
+     * The number of structural features of the '<em>Bundle</em>' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     * @ordered
+     */
+    int BUNDLE_FEATURE_COUNT = 1;
 
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.virgo.ide.par.Par#getBundle
-	 * <em>Bundle</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @return the meta object for the containment reference list '<em>Bundle</em>'.
-	 * @see org.eclipse.virgo.ide.par.Par#getBundle()
-	 * @see #getPar()
-	 * @generated
-	 */
-	EReference getPar_Bundle();
+    /**
+     * Returns the meta object for class '{@link org.eclipse.virgo.ide.par.Par <em>Par</em>}'. <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     *
+     * @return the meta object for class '<em>Par</em>'.
+     * @see org.eclipse.virgo.ide.par.Par
+     * @generated
+     */
+    EClass getPar();
 
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.virgo.ide.par.Bundle <em>Bundle</em>}'. <!-- begin-user-doc
-	 * --> <!-- end-user-doc -->
-	 * 
-	 * @return the meta object for class '<em>Bundle</em>'.
-	 * @see org.eclipse.virgo.ide.par.Bundle
-	 * @generated
-	 */
-	EClass getBundle();
+    /**
+     * Returns the meta object for the containment reference list '{@link org.eclipse.virgo.ide.par.Par#getBundle
+     * <em>Bundle</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @return the meta object for the containment reference list '<em>Bundle</em>'.
+     * @see org.eclipse.virgo.ide.par.Par#getBundle()
+     * @see #getPar()
+     * @generated
+     */
+    EReference getPar_Bundle();
 
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.virgo.ide.par.Bundle#getSymbolicName
-	 * <em>Symbolic Name</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @return the meta object for the attribute '<em>Symbolic Name</em>'.
-	 * @see org.eclipse.virgo.ide.par.Bundle#getSymbolicName()
-	 * @see #getBundle()
-	 * @generated
-	 */
-	EAttribute getBundle_SymbolicName();
+    /**
+     * Returns the meta object for class '{@link org.eclipse.virgo.ide.par.Bundle <em>Bundle</em>}'. <!-- begin-user-doc
+     * --> <!-- end-user-doc -->
+     *
+     * @return the meta object for class '<em>Bundle</em>'.
+     * @see org.eclipse.virgo.ide.par.Bundle
+     * @generated
+     */
+    EClass getBundle();
 
-	/**
-	 * Returns the factory that creates the instances of the model. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @return the factory that creates the instances of the model.
-	 * @generated
-	 */
-	ParFactory getParFactory();
+    /**
+     * Returns the meta object for the attribute '{@link org.eclipse.virgo.ide.par.Bundle#getSymbolicName
+     * <em>Symbolic Name</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @return the meta object for the attribute '<em>Symbolic Name</em>'.
+     * @see org.eclipse.virgo.ide.par.Bundle#getSymbolicName()
+     * @see #getBundle()
+     * @generated
+     */
+    EAttribute getBundle_SymbolicName();
 
-	/**
-	 * <!-- begin-user-doc --> Defines literals for the meta objects that represent
-	 * <ul>
-	 * <li>each class,</li>
-	 * <li>each feature of each class,</li>
-	 * <li>each enum,</li>
-	 * <li>and each data type</li>
-	 * </ul>
-	 * <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	interface Literals {
-		/**
-		 * The meta object literal for the '{@link org.eclipse.virgo.ide.par.impl.ParImpl <em>Par</em>}' class. <!--
-		 * begin-user-doc --> <!-- end-user-doc -->
-		 * 
-		 * @see org.eclipse.virgo.ide.par.impl.ParImpl
-		 * @see org.eclipse.virgo.ide.par.impl.ParPackageImpl#getPar()
-		 * @generated
-		 */
-		EClass PAR = eINSTANCE.getPar();
+    /**
+     * Returns the factory that creates the instances of the model. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @return the factory that creates the instances of the model.
+     * @generated
+     */
+    ParFactory getParFactory();
 
-		/**
-		 * The meta object literal for the '<em><b>Bundle</b></em>' containment reference list feature. <!--
-		 * begin-user-doc --> <!-- end-user-doc -->
-		 * 
-		 * @generated
-		 */
-		EReference PAR__BUNDLE = eINSTANCE.getPar_Bundle();
+    /**
+     * <!-- begin-user-doc --> Defines literals for the meta objects that represent
+     * <ul>
+     * <li>each class,</li>
+     * <li>each feature of each class,</li>
+     * <li>each enum,</li>
+     * <li>and each data type</li>
+     * </ul>
+     * <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    interface Literals {
 
-		/**
-		 * The meta object literal for the '{@link org.eclipse.virgo.ide.par.impl.BundleImpl <em>Bundle</em>}' class.
-		 * <!-- begin-user-doc --> <!-- end-user-doc -->
-		 * 
-		 * @see org.eclipse.virgo.ide.par.impl.BundleImpl
-		 * @see org.eclipse.virgo.ide.par.impl.ParPackageImpl#getBundle()
-		 * @generated
-		 */
-		EClass BUNDLE = eINSTANCE.getBundle();
+        /**
+         * The meta object literal for the '{@link org.eclipse.virgo.ide.par.impl.ParImpl <em>Par</em>}' class. <!--
+         * begin-user-doc --> <!-- end-user-doc -->
+         *
+         * @see org.eclipse.virgo.ide.par.impl.ParImpl
+         * @see org.eclipse.virgo.ide.par.impl.ParPackageImpl#getPar()
+         * @generated
+         */
+        EClass PAR = eINSTANCE.getPar();
 
-		/**
-		 * The meta object literal for the '<em><b>Symbolic Name</b></em>' attribute feature. <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * 
-		 * @generated
-		 */
-		EAttribute BUNDLE__SYMBOLIC_NAME = eINSTANCE.getBundle_SymbolicName();
+        /**
+         * The meta object literal for the '<em><b>Bundle</b></em>' containment reference list feature. <!--
+         * begin-user-doc --> <!-- end-user-doc -->
+         *
+         * @generated
+         */
+        EReference PAR__BUNDLE = eINSTANCE.getPar_Bundle();
 
-	}
+        /**
+         * The meta object literal for the '{@link org.eclipse.virgo.ide.par.impl.BundleImpl <em>Bundle</em>}' class.
+         * <!-- begin-user-doc --> <!-- end-user-doc -->
+         *
+         * @see org.eclipse.virgo.ide.par.impl.BundleImpl
+         * @see org.eclipse.virgo.ide.par.impl.ParPackageImpl#getBundle()
+         * @generated
+         */
+        EClass BUNDLE = eINSTANCE.getBundle();
 
-} //ParPackage
+        /**
+         * The meta object literal for the '<em><b>Symbolic Name</b></em>' attribute feature. <!-- begin-user-doc -->
+         * <!-- end-user-doc -->
+         *
+         * @generated
+         */
+        EAttribute BUNDLE__SYMBOLIC_NAME = eINSTANCE.getBundle_SymbolicName();
+
+    }
+
+} // ParPackage
diff --git a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/BundleImpl.java b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/BundleImpl.java
index 106c626..9eb57c0 100644
--- a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/BundleImpl.java
+++ b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/BundleImpl.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par.impl;
 
 import org.eclipse.emf.common.notify.Notification;
@@ -25,146 +26,146 @@
  * <li>{@link org.eclipse.virgo.ide.par.impl.BundleImpl#getSymbolicName <em>Symbolic Name</em>}</li>
  * </ul>
  * </p>
- * 
+ *
  * @generated
  */
 public class BundleImpl extends EObjectImpl implements Bundle {
-	/**
-	 * The default value of the '{@link #getSymbolicName() <em>Symbolic Name</em>}' attribute. <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * 
-	 * @see #getSymbolicName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String SYMBOLIC_NAME_EDEFAULT = null;
 
-	/**
-	 * The cached value of the '{@link #getSymbolicName() <em>Symbolic Name</em>}' attribute. <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * 
-	 * @see #getSymbolicName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String symbolicName = SYMBOLIC_NAME_EDEFAULT;
+    /**
+     * The default value of the '{@link #getSymbolicName() <em>Symbolic Name</em>}' attribute. <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     *
+     * @see #getSymbolicName()
+     * @generated
+     * @ordered
+     */
+    protected static final String SYMBOLIC_NAME_EDEFAULT = null;
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected BundleImpl() {
-		super();
-	}
+    /**
+     * The cached value of the '{@link #getSymbolicName() <em>Symbolic Name</em>}' attribute. <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     *
+     * @see #getSymbolicName()
+     * @generated
+     * @ordered
+     */
+    protected String symbolicName = SYMBOLIC_NAME_EDEFAULT;
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ParPackage.Literals.BUNDLE;
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected BundleImpl() {
+        super();
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public String getSymbolicName() {
-		return symbolicName;
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    protected EClass eStaticClass() {
+        return ParPackage.Literals.BUNDLE;
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setSymbolicName(String newSymbolicName) {
-		String oldSymbolicName = symbolicName;
-		symbolicName = newSymbolicName;
-		if (eNotificationRequired()) {
-			eNotify(new ENotificationImpl(this, Notification.SET, ParPackage.BUNDLE__SYMBOLIC_NAME, oldSymbolicName,
-					symbolicName));
-		}
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public String getSymbolicName() {
+        return this.symbolicName;
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-		case ParPackage.BUNDLE__SYMBOLIC_NAME:
-			return getSymbolicName();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public void setSymbolicName(String newSymbolicName) {
+        String oldSymbolicName = this.symbolicName;
+        this.symbolicName = newSymbolicName;
+        if (eNotificationRequired()) {
+            eNotify(new ENotificationImpl(this, Notification.SET, ParPackage.BUNDLE__SYMBOLIC_NAME, oldSymbolicName, this.symbolicName));
+        }
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-		case ParPackage.BUNDLE__SYMBOLIC_NAME:
-			setSymbolicName((String) newValue);
-			return;
-		}
-		super.eSet(featureID, newValue);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public Object eGet(int featureID, boolean resolve, boolean coreType) {
+        switch (featureID) {
+            case ParPackage.BUNDLE__SYMBOLIC_NAME:
+                return getSymbolicName();
+        }
+        return super.eGet(featureID, resolve, coreType);
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-		case ParPackage.BUNDLE__SYMBOLIC_NAME:
-			setSymbolicName(SYMBOLIC_NAME_EDEFAULT);
-			return;
-		}
-		super.eUnset(featureID);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public void eSet(int featureID, Object newValue) {
+        switch (featureID) {
+            case ParPackage.BUNDLE__SYMBOLIC_NAME:
+                setSymbolicName((String) newValue);
+                return;
+        }
+        super.eSet(featureID, newValue);
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-		case ParPackage.BUNDLE__SYMBOLIC_NAME:
-			return SYMBOLIC_NAME_EDEFAULT == null ? symbolicName != null : !SYMBOLIC_NAME_EDEFAULT.equals(symbolicName);
-		}
-		return super.eIsSet(featureID);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public void eUnset(int featureID) {
+        switch (featureID) {
+            case ParPackage.BUNDLE__SYMBOLIC_NAME:
+                setSymbolicName(SYMBOLIC_NAME_EDEFAULT);
+                return;
+        }
+        super.eUnset(featureID);
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) {
-			return super.toString();
-		}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public boolean eIsSet(int featureID) {
+        switch (featureID) {
+            case ParPackage.BUNDLE__SYMBOLIC_NAME:
+                return SYMBOLIC_NAME_EDEFAULT == null ? this.symbolicName != null : !SYMBOLIC_NAME_EDEFAULT.equals(this.symbolicName);
+        }
+        return super.eIsSet(featureID);
+    }
 
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (symbolicName: ");
-		result.append(symbolicName);
-		result.append(')');
-		return result.toString();
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public String toString() {
+        if (eIsProxy()) {
+            return super.toString();
+        }
 
-} //BundleImpl
+        StringBuffer result = new StringBuffer(super.toString());
+        result.append(" (symbolicName: ");
+        result.append(this.symbolicName);
+        result.append(')');
+        return result.toString();
+    }
+
+} // BundleImpl
diff --git a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/ParFactoryImpl.java b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/ParFactoryImpl.java
index 516d75e..da81ba5 100644
--- a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/ParFactoryImpl.java
+++ b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/ParFactoryImpl.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par.impl;
 
 import org.eclipse.emf.ecore.EClass;
@@ -22,91 +23,92 @@
 
 /**
  * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
- * 
+ *
  * @generated
  */
 public class ParFactoryImpl extends EFactoryImpl implements ParFactory {
-	/**
-	 * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public static ParFactory init() {
-		try {
-			ParFactory theParFactory = (ParFactory) EPackage.Registry.INSTANCE.getEFactory("http://eclipse.org/virgo/par.ecore");
-			if (theParFactory != null) {
-				return theParFactory;
-			}
-		} catch (Exception exception) {
-			EcorePlugin.INSTANCE.log(exception);
-		}
-		return new ParFactoryImpl();
-	}
 
-	/**
-	 * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ParFactoryImpl() {
-		super();
-	}
+    /**
+     * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public static ParFactory init() {
+        try {
+            ParFactory theParFactory = (ParFactory) EPackage.Registry.INSTANCE.getEFactory("http://eclipse.org/virgo/par.ecore");
+            if (theParFactory != null) {
+                return theParFactory;
+            }
+        } catch (Exception exception) {
+            EcorePlugin.INSTANCE.log(exception);
+        }
+        return new ParFactoryImpl();
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public EObject create(EClass eClass) {
-		switch (eClass.getClassifierID()) {
-		case ParPackage.PAR:
-			return createPar();
-		case ParPackage.BUNDLE:
-			return createBundle();
-		default:
-			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
-		}
-	}
+    /**
+     * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public ParFactoryImpl() {
+        super();
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public Par createPar() {
-		ParImpl par = new ParImpl();
-		return par;
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public EObject create(EClass eClass) {
+        switch (eClass.getClassifierID()) {
+            case ParPackage.PAR:
+                return createPar();
+            case ParPackage.BUNDLE:
+                return createBundle();
+            default:
+                throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+        }
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public Bundle createBundle() {
-		BundleImpl bundle = new BundleImpl();
-		return bundle;
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public Par createPar() {
+        ParImpl par = new ParImpl();
+        return par;
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ParPackage getParPackage() {
-		return (ParPackage) getEPackage();
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public Bundle createBundle() {
+        BundleImpl bundle = new BundleImpl();
+        return bundle;
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @deprecated
-	 * @generated
-	 */
-	@Deprecated
-	public static ParPackage getPackage() {
-		return ParPackage.eINSTANCE;
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public ParPackage getParPackage() {
+        return (ParPackage) getEPackage();
+    }
 
-} //ParFactoryImpl
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @deprecated
+     * @generated
+     */
+    @Deprecated
+    public static ParPackage getPackage() {
+        return ParPackage.eINSTANCE;
+    }
+
+} // ParFactoryImpl
diff --git a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/ParImpl.java b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/ParImpl.java
index 8f78b0d..eb05f7d 100644
--- a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/ParImpl.java
+++ b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/ParImpl.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par.impl;
 
 import java.util.Collection;
@@ -31,123 +32,124 @@
  * <li>{@link org.eclipse.virgo.ide.par.impl.ParImpl#getBundle <em>Bundle</em>}</li>
  * </ul>
  * </p>
- * 
+ *
  * @generated
  */
 public class ParImpl extends EObjectImpl implements Par {
-	/**
-	 * The cached value of the '{@link #getBundle() <em>Bundle</em>}' containment reference list. <!-- begin-user-doc
-	 * --> <!-- end-user-doc -->
-	 * 
-	 * @see #getBundle()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<Bundle> bundle;
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ParImpl() {
-		super();
-	}
+    /**
+     * The cached value of the '{@link #getBundle() <em>Bundle</em>}' containment reference list. <!-- begin-user-doc
+     * --> <!-- end-user-doc -->
+     *
+     * @see #getBundle()
+     * @generated
+     * @ordered
+     */
+    protected EList<Bundle> bundle;
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return ParPackage.Literals.PAR;
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected ParImpl() {
+        super();
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public EList<Bundle> getBundle() {
-		if (bundle == null) {
-			bundle = new EObjectContainmentEList<Bundle>(Bundle.class, this, ParPackage.PAR__BUNDLE);
-		}
-		return bundle;
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    protected EClass eStaticClass() {
+        return ParPackage.Literals.PAR;
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-		case ParPackage.PAR__BUNDLE:
-			return ((InternalEList<?>) getBundle()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public EList<Bundle> getBundle() {
+        if (this.bundle == null) {
+            this.bundle = new EObjectContainmentEList<Bundle>(Bundle.class, this, ParPackage.PAR__BUNDLE);
+        }
+        return this.bundle;
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-		case ParPackage.PAR__BUNDLE:
-			return getBundle();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+        switch (featureID) {
+            case ParPackage.PAR__BUNDLE:
+                return ((InternalEList<?>) getBundle()).basicRemove(otherEnd, msgs);
+        }
+        return super.eInverseRemove(otherEnd, featureID, msgs);
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-		case ParPackage.PAR__BUNDLE:
-			getBundle().clear();
-			getBundle().addAll((Collection<? extends Bundle>) newValue);
-			return;
-		}
-		super.eSet(featureID, newValue);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public Object eGet(int featureID, boolean resolve, boolean coreType) {
+        switch (featureID) {
+            case ParPackage.PAR__BUNDLE:
+                return getBundle();
+        }
+        return super.eGet(featureID, resolve, coreType);
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-		case ParPackage.PAR__BUNDLE:
-			getBundle().clear();
-			return;
-		}
-		super.eUnset(featureID);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @SuppressWarnings("unchecked")
+    @Override
+    public void eSet(int featureID, Object newValue) {
+        switch (featureID) {
+            case ParPackage.PAR__BUNDLE:
+                getBundle().clear();
+                getBundle().addAll((Collection<? extends Bundle>) newValue);
+                return;
+        }
+        super.eSet(featureID, newValue);
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-		case ParPackage.PAR__BUNDLE:
-			return bundle != null && !bundle.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public void eUnset(int featureID) {
+        switch (featureID) {
+            case ParPackage.PAR__BUNDLE:
+                getBundle().clear();
+                return;
+        }
+        super.eUnset(featureID);
+    }
 
-} //ParImpl
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public boolean eIsSet(int featureID) {
+        switch (featureID) {
+            case ParPackage.PAR__BUNDLE:
+                return this.bundle != null && !this.bundle.isEmpty();
+        }
+        return super.eIsSet(featureID);
+    }
+
+} // ParImpl
diff --git a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/ParPackageImpl.java b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/ParPackageImpl.java
index 6adab44..23cd717 100644
--- a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/ParPackageImpl.java
+++ b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/impl/ParPackageImpl.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par.impl;
 
 import org.eclipse.emf.ecore.EAttribute;
@@ -22,200 +23,199 @@
 
 /**
  * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
- * 
+ *
  * @generated
  */
 public class ParPackageImpl extends EPackageImpl implements ParPackage {
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	private EClass parEClass = null;
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	private EClass bundleEClass = null;
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    private EClass parEClass = null;
 
-	/**
-	 * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
-	 * EPackage.Registry} by the package package URI value.
-	 * <p>
-	 * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
-	 * performs initialization of the package, or returns the registered package, if one already exists. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @see org.eclipse.emf.ecore.EPackage.Registry
-	 * @see org.eclipse.virgo.ide.par.ParPackage#eNS_URI
-	 * @see #init()
-	 * @generated
-	 */
-	private ParPackageImpl() {
-		super(eNS_URI, ParFactory.eINSTANCE);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    private EClass bundleEClass = null;
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	private static boolean isInited = false;
+    /**
+     * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
+     * EPackage.Registry} by the package package URI value.
+     * <p>
+     * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
+     * performs initialization of the package, or returns the registered package, if one already exists. <!--
+     * begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @see org.eclipse.emf.ecore.EPackage.Registry
+     * @see org.eclipse.virgo.ide.par.ParPackage#eNS_URI
+     * @see #init()
+     * @generated
+     */
+    private ParPackageImpl() {
+        super(eNS_URI, ParFactory.eINSTANCE);
+    }
 
-	/**
-	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
-	 * <p>
-	 * This method is used to initialize {@link ParPackage#eINSTANCE} when that field is accessed. Clients should not
-	 * invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * 
-	 * @see #eNS_URI
-	 * @see #createPackageContents()
-	 * @see #initializePackageContents()
-	 * @generated
-	 */
-	public static ParPackage init() {
-		if (isInited) {
-			return (ParPackage) EPackage.Registry.INSTANCE.getEPackage(ParPackage.eNS_URI);
-		}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    private static boolean isInited = false;
 
-		// Obtain or create and register package
-		ParPackageImpl theParPackage = (ParPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ParPackageImpl
-				? EPackage.Registry.INSTANCE.get(eNS_URI)
-				: new ParPackageImpl());
+    /**
+     * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+     * <p>
+     * This method is used to initialize {@link ParPackage#eINSTANCE} when that field is accessed. Clients should not
+     * invoke it directly. Instead, they should simply access that field to obtain the package. <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     *
+     * @see #eNS_URI
+     * @see #createPackageContents()
+     * @see #initializePackageContents()
+     * @generated
+     */
+    public static ParPackage init() {
+        if (isInited) {
+            return (ParPackage) EPackage.Registry.INSTANCE.getEPackage(ParPackage.eNS_URI);
+        }
 
-		isInited = true;
+        // Obtain or create and register package
+        ParPackageImpl theParPackage = (ParPackageImpl) (EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ParPackageImpl
+            ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ParPackageImpl());
 
-		// Create package meta-data objects
-		theParPackage.createPackageContents();
+        isInited = true;
 
-		// Initialize created meta-data
-		theParPackage.initializePackageContents();
+        // Create package meta-data objects
+        theParPackage.createPackageContents();
 
-		// Mark meta-data to indicate it can't be changed
-		theParPackage.freeze();
+        // Initialize created meta-data
+        theParPackage.initializePackageContents();
 
-		// Update the registry and return the package
-		EPackage.Registry.INSTANCE.put(ParPackage.eNS_URI, theParPackage);
-		return theParPackage;
-	}
+        // Mark meta-data to indicate it can't be changed
+        theParPackage.freeze();
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public EClass getPar() {
-		return parEClass;
-	}
+        // Update the registry and return the package
+        EPackage.Registry.INSTANCE.put(ParPackage.eNS_URI, theParPackage);
+        return theParPackage;
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public EReference getPar_Bundle() {
-		return (EReference) parEClass.getEStructuralFeatures().get(0);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public EClass getPar() {
+        return this.parEClass;
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public EClass getBundle() {
-		return bundleEClass;
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public EReference getPar_Bundle() {
+        return (EReference) this.parEClass.getEStructuralFeatures().get(0);
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public EAttribute getBundle_SymbolicName() {
-		return (EAttribute) bundleEClass.getEStructuralFeatures().get(0);
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public EClass getBundle() {
+        return this.bundleEClass;
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ParFactory getParFactory() {
-		return (ParFactory) getEFactoryInstance();
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public EAttribute getBundle_SymbolicName() {
+        return (EAttribute) this.bundleEClass.getEStructuralFeatures().get(0);
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	private boolean isCreated = false;
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public ParFactory getParFactory() {
+        return (ParFactory) getEFactoryInstance();
+    }
 
-	/**
-	 * Creates the meta-model objects for the package. This method is guarded to have no affect on any invocation but
-	 * its first. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void createPackageContents() {
-		if (isCreated) {
-			return;
-		}
-		isCreated = true;
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    private boolean isCreated = false;
 
-		// Create classes and their features
-		parEClass = createEClass(PAR);
-		createEReference(parEClass, PAR__BUNDLE);
+    /**
+     * Creates the meta-model objects for the package. This method is guarded to have no affect on any invocation but
+     * its first. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public void createPackageContents() {
+        if (this.isCreated) {
+            return;
+        }
+        this.isCreated = true;
 
-		bundleEClass = createEClass(BUNDLE);
-		createEAttribute(bundleEClass, BUNDLE__SYMBOLIC_NAME);
-	}
+        // Create classes and their features
+        this.parEClass = createEClass(PAR);
+        createEReference(this.parEClass, PAR__BUNDLE);
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	private boolean isInitialized = false;
+        this.bundleEClass = createEClass(BUNDLE);
+        createEAttribute(this.bundleEClass, BUNDLE__SYMBOLIC_NAME);
+    }
 
-	/**
-	 * Complete the initialization of the package and its meta-model. This method is guarded to have no affect on any
-	 * invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void initializePackageContents() {
-		if (isInitialized) {
-			return;
-		}
-		isInitialized = true;
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    private boolean isInitialized = false;
 
-		// Initialize package
-		setName(eNAME);
-		setNsPrefix(eNS_PREFIX);
-		setNsURI(eNS_URI);
+    /**
+     * Complete the initialization of the package and its meta-model. This method is guarded to have no affect on any
+     * invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public void initializePackageContents() {
+        if (this.isInitialized) {
+            return;
+        }
+        this.isInitialized = true;
 
-		// Create type parameters
+        // Initialize package
+        setName(eNAME);
+        setNsPrefix(eNS_PREFIX);
+        setNsURI(eNS_URI);
 
-		// Set bounds for type parameters
+        // Create type parameters
 
-		// Add supertypes to classes
+        // Set bounds for type parameters
 
-		// Initialize classes and features; add operations and parameters
-		initEClass(parEClass, Par.class, "Par", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getPar_Bundle(), this.getBundle(), null, "bundle", null, 0, -1, Par.class, !IS_TRANSIENT,
-				!IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
-				IS_ORDERED);
+        // Add supertypes to classes
 
-		initEClass(bundleEClass, Bundle.class, "Bundle", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getBundle_SymbolicName(), ecorePackage.getEString(), "symbolicName", null, 0, 1, Bundle.class,
-				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+        // Initialize classes and features; add operations and parameters
+        initEClass(this.parEClass, Par.class, "Par", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+        initEReference(getPar_Bundle(), this.getBundle(), null, "bundle", null, 0, -1, Par.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE,
+            IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		// Create resource
-		createResource(eNS_URI);
-	}
+        initEClass(this.bundleEClass, Bundle.class, "Bundle", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+        initEAttribute(getBundle_SymbolicName(), this.ecorePackage.getEString(), "symbolicName", null, 0, 1, Bundle.class, !IS_TRANSIENT,
+            !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-} //ParPackageImpl
+        // Create resource
+        createResource(eNS_URI);
+    }
+
+} // ParPackageImpl
diff --git a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/util/ParAdapterFactory.java b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/util/ParAdapterFactory.java
index 03aaaeb..9bb4bbd 100644
--- a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/util/ParAdapterFactory.java
+++ b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/util/ParAdapterFactory.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par.util;
 
 import org.eclipse.emf.common.notify.Adapter;
@@ -21,118 +22,119 @@
 /**
  * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides an adapter <code>createXXX</code>
  * method for each class of the model. <!-- end-user-doc -->
- * 
+ *
  * @see org.eclipse.virgo.ide.par.ParPackage
  * @generated
  */
 public class ParAdapterFactory extends AdapterFactoryImpl {
-	/**
-	 * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected static ParPackage modelPackage;
 
-	/**
-	 * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ParAdapterFactory() {
-		if (modelPackage == null) {
-			modelPackage = ParPackage.eINSTANCE;
-		}
-	}
+    /**
+     * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected static ParPackage modelPackage;
 
-	/**
-	 * Returns whether this factory is applicable for the type of the object. <!-- begin-user-doc --> This
-	 * implementation returns <code>true</code> if the object is either the model's package or is an instance object of
-	 * the model. <!-- end-user-doc -->
-	 * 
-	 * @return whether this factory is applicable for the type of the object.
-	 * @generated
-	 */
-	@Override
-	public boolean isFactoryForType(Object object) {
-		if (object == modelPackage) {
-			return true;
-		}
-		if (object instanceof EObject) {
-			return ((EObject) object).eClass().getEPackage() == modelPackage;
-		}
-		return false;
-	}
+    /**
+     * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public ParAdapterFactory() {
+        if (modelPackage == null) {
+            modelPackage = ParPackage.eINSTANCE;
+        }
+    }
 
-	/**
-	 * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ParSwitch<Adapter> modelSwitch = new ParSwitch<Adapter>() {
-		@Override
-		public Adapter casePar(Par object) {
-			return createParAdapter();
-		}
+    /**
+     * Returns whether this factory is applicable for the type of the object. <!-- begin-user-doc --> This
+     * implementation returns <code>true</code> if the object is either the model's package or is an instance object of
+     * the model. <!-- end-user-doc -->
+     *
+     * @return whether this factory is applicable for the type of the object.
+     * @generated
+     */
+    @Override
+    public boolean isFactoryForType(Object object) {
+        if (object == modelPackage) {
+            return true;
+        }
+        if (object instanceof EObject) {
+            return ((EObject) object).eClass().getEPackage() == modelPackage;
+        }
+        return false;
+    }
 
-		@Override
-		public Adapter caseBundle(Bundle object) {
-			return createBundleAdapter();
-		}
+    /**
+     * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected ParSwitch<Adapter> modelSwitch = new ParSwitch<Adapter>() {
 
-		@Override
-		public Adapter defaultCase(EObject object) {
-			return createEObjectAdapter();
-		}
-	};
+        @Override
+        public Adapter casePar(Par object) {
+            return createParAdapter();
+        }
 
-	/**
-	 * Creates an adapter for the <code>target</code>. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @param target
-	 *            the object to adapt.
-	 * @return the adapter for the <code>target</code>.
-	 * @generated
-	 */
-	@Override
-	public Adapter createAdapter(Notifier target) {
-		return modelSwitch.doSwitch((EObject) target);
-	}
+        @Override
+        public Adapter caseBundle(Bundle object) {
+            return createBundleAdapter();
+        }
 
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.virgo.ide.par.Par <em>Par</em>}'. <!--
-	 * begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful to
-	 * ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
-	 * 
-	 * @return the new adapter.
-	 * @see org.eclipse.virgo.ide.par.Par
-	 * @generated
-	 */
-	public Adapter createParAdapter() {
-		return null;
-	}
+        @Override
+        public Adapter defaultCase(EObject object) {
+            return createEObjectAdapter();
+        }
+    };
 
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.virgo.ide.par.Bundle <em>Bundle</em>}'. <!--
-	 * begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful to
-	 * ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
-	 * 
-	 * @return the new adapter.
-	 * @see org.eclipse.virgo.ide.par.Bundle
-	 * @generated
-	 */
-	public Adapter createBundleAdapter() {
-		return null;
-	}
+    /**
+     * Creates an adapter for the <code>target</code>. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @param target the object to adapt.
+     * @return the adapter for the <code>target</code>.
+     * @generated
+     */
+    @Override
+    public Adapter createAdapter(Notifier target) {
+        return this.modelSwitch.doSwitch((EObject) target);
+    }
 
-	/**
-	 * Creates a new adapter for the default case. <!-- begin-user-doc --> This default implementation returns null.
-	 * <!-- end-user-doc -->
-	 * 
-	 * @return the new adapter.
-	 * @generated
-	 */
-	public Adapter createEObjectAdapter() {
-		return null;
-	}
+    /**
+     * Creates a new adapter for an object of class '{@link org.eclipse.virgo.ide.par.Par <em>Par</em>}'. <!--
+     * begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful to
+     * ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+     *
+     * @return the new adapter.
+     * @see org.eclipse.virgo.ide.par.Par
+     * @generated
+     */
+    public Adapter createParAdapter() {
+        return null;
+    }
 
-} //ParAdapterFactory
+    /**
+     * Creates a new adapter for an object of class '{@link org.eclipse.virgo.ide.par.Bundle <em>Bundle</em>}'. <!--
+     * begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful to
+     * ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+     *
+     * @return the new adapter.
+     * @see org.eclipse.virgo.ide.par.Bundle
+     * @generated
+     */
+    public Adapter createBundleAdapter() {
+        return null;
+    }
+
+    /**
+     * Creates a new adapter for the default case. <!-- begin-user-doc --> This default implementation returns null.
+     * <!-- end-user-doc -->
+     *
+     * @return the new adapter.
+     * @generated
+     */
+    public Adapter createEObjectAdapter() {
+        return null;
+    }
+
+} // ParAdapterFactory
diff --git a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/util/ParSwitch.java b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/util/ParSwitch.java
index b78cd81..f8664e9 100644
--- a/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/util/ParSwitch.java
+++ b/org.eclipse.virgo.ide.par/src/org/eclipse/virgo/ide/par/util/ParSwitch.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.par.util;
 
 import java.util.List;
@@ -23,127 +24,125 @@
  * {@link #doSwitch(EObject) doSwitch(object)}to invoke the <code>caseXXX</code> method for each class of the model,
  * starting with the actual class of the object and proceeding up the inheritance hierarchy until a non-null result is
  * returned, which is the result of the switch. <!-- end-user-doc -->
- * 
+ *
  * @see org.eclipse.virgo.ide.par.ParPackage
  * @generated
  */
 public class ParSwitch<T> {
-	/**
-	 * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected static ParPackage modelPackage;
 
-	/**
-	 * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ParSwitch() {
-		if (modelPackage == null) {
-			modelPackage = ParPackage.eINSTANCE;
-		}
-	}
+    /**
+     * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected static ParPackage modelPackage;
 
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
-	 * result. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	public T doSwitch(EObject theEObject) {
-		return doSwitch(theEObject.eClass(), theEObject);
-	}
+    /**
+     * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public ParSwitch() {
+        if (modelPackage == null) {
+            modelPackage = ParPackage.eINSTANCE;
+        }
+    }
 
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
-	 * result. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	protected T doSwitch(EClass theEClass, EObject theEObject) {
-		if (theEClass.eContainer() == modelPackage) {
-			return doSwitch(theEClass.getClassifierID(), theEObject);
-		} else {
-			List<EClass> eSuperTypes = theEClass.getESuperTypes();
-			return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
-		}
-	}
+    /**
+     * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+     * result. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @return the first non-null result returned by a <code>caseXXX</code> call.
+     * @generated
+     */
+    public T doSwitch(EObject theEObject) {
+        return doSwitch(theEObject.eClass(), theEObject);
+    }
 
-	/**
-	 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
-	 * result. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @return the first non-null result returned by a <code>caseXXX</code> call.
-	 * @generated
-	 */
-	protected T doSwitch(int classifierID, EObject theEObject) {
-		switch (classifierID) {
-		case ParPackage.PAR: {
-			Par par = (Par) theEObject;
-			T result = casePar(par);
-			if (result == null) {
-				result = defaultCase(theEObject);
-			}
-			return result;
-		}
-		case ParPackage.BUNDLE: {
-			Bundle bundle = (Bundle) theEObject;
-			T result = caseBundle(bundle);
-			if (result == null) {
-				result = defaultCase(theEObject);
-			}
-			return result;
-		}
-		default:
-			return defaultCase(theEObject);
-		}
-	}
+    /**
+     * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+     * result. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @return the first non-null result returned by a <code>caseXXX</code> call.
+     * @generated
+     */
+    protected T doSwitch(EClass theEClass, EObject theEObject) {
+        if (theEClass.eContainer() == modelPackage) {
+            return doSwitch(theEClass.getClassifierID(), theEObject);
+        } else {
+            List<EClass> eSuperTypes = theEClass.getESuperTypes();
+            return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
+        }
+    }
 
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Par</em>'. <!-- begin-user-doc --> This
-	 * implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
-	 * 
-	 * @param object
-	 *            the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Par</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T casePar(Par object) {
-		return null;
-	}
+    /**
+     * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that
+     * result. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @return the first non-null result returned by a <code>caseXXX</code> call.
+     * @generated
+     */
+    protected T doSwitch(int classifierID, EObject theEObject) {
+        switch (classifierID) {
+            case ParPackage.PAR: {
+                Par par = (Par) theEObject;
+                T result = casePar(par);
+                if (result == null) {
+                    result = defaultCase(theEObject);
+                }
+                return result;
+            }
+            case ParPackage.BUNDLE: {
+                Bundle bundle = (Bundle) theEObject;
+                T result = caseBundle(bundle);
+                if (result == null) {
+                    result = defaultCase(theEObject);
+                }
+                return result;
+            }
+            default:
+                return defaultCase(theEObject);
+        }
+    }
 
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Bundle</em>'. <!-- begin-user-doc --> This
-	 * implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
-	 * 
-	 * @param object
-	 *            the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Bundle</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseBundle(Bundle object) {
-		return null;
-	}
+    /**
+     * Returns the result of interpreting the object as an instance of '<em>Par</em>'. <!-- begin-user-doc --> This
+     * implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
+     *
+     * @param object the target of the switch.
+     * @return the result of interpreting the object as an instance of '<em>Par</em>'.
+     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+     * @generated
+     */
+    public T casePar(Par object) {
+        return null;
+    }
 
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. <!-- begin-user-doc --> This
-	 * implementation returns null; returning a non-null result will terminate the switch, but this is the last case
-	 * anyway. <!-- end-user-doc -->
-	 * 
-	 * @param object
-	 *            the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
-	 * @generated
-	 */
-	public T defaultCase(EObject object) {
-		return null;
-	}
+    /**
+     * Returns the result of interpreting the object as an instance of '<em>Bundle</em>'. <!-- begin-user-doc --> This
+     * implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
+     *
+     * @param object the target of the switch.
+     * @return the result of interpreting the object as an instance of '<em>Bundle</em>'.
+     * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+     * @generated
+     */
+    public T caseBundle(Bundle object) {
+        return null;
+    }
 
-} //ParSwitch
+    /**
+     * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. <!-- begin-user-doc --> This
+     * implementation returns null; returning a non-null result will terminate the switch, but this is the last case
+     * anyway. <!-- end-user-doc -->
+     *
+     * @param object the target of the switch.
+     * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+     * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+     * @generated
+     */
+    public T defaultCase(EObject object) {
+        return null;
+    }
+
+} // ParSwitch
diff --git a/org.eclipse.virgo.ide.runtime.core/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.runtime.core/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.runtime.core/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.runtime.core/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.runtime.core/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.runtime.core/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.runtime.core/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.runtime.core/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/BundleImport.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/BundleImport.java
index 916645c..fb1eac1 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/BundleImport.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/BundleImport.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlerepository.domain;
 
 import org.eclipse.virgo.ide.runtime.core.artefacts.ArtefactRepositoryManager;
@@ -16,45 +17,45 @@
 
 /**
  * Represents an bundle import in a library definition.
- * 
+ *
  * @author acolyer
  */
 public class BundleImport {
 
-	private byte[] symbolicName; // matching bundle symbolic name
+    private byte[] symbolicName; // matching bundle symbolic name
 
-	private VersionRange versionRange; // acceptable range for matching versions
+    private VersionRange versionRange; // acceptable range for matching versions
 
-	private LibraryArtefact library; // the library declaring this import
+    private LibraryArtefact library; // the library declaring this import
 
-	protected BundleImport() {
-	} // for persistence use only
+    protected BundleImport() {
+    } // for persistence use only
 
-	public BundleImport(LibraryArtefact lib, String symbolicName, VersionRange versionRange) {
-		this.library = lib;
-		this.symbolicName = ArtefactRepositoryManager.convert(symbolicName);
-		this.versionRange = versionRange;
-	}
+    public BundleImport(LibraryArtefact lib, String symbolicName, VersionRange versionRange) {
+        this.library = lib;
+        this.symbolicName = ArtefactRepositoryManager.convert(symbolicName);
+        this.versionRange = versionRange;
+    }
 
-	public String getSymbolicName() {
-		return (symbolicName != null ? new String(symbolicName) : null);
-	}
+    public String getSymbolicName() {
+        return this.symbolicName != null ? new String(this.symbolicName) : null;
+    }
 
-	public VersionRange getVersionRange() {
-		return versionRange;
-	}
+    public VersionRange getVersionRange() {
+        return this.versionRange;
+    }
 
-	public LibraryArtefact getLibrary() {
-		return library;
-	}
+    public LibraryArtefact getLibrary() {
+        return this.library;
+    }
 
-	public boolean isSatisfiedBy(BundleArtefact bundle) {
-		return (this.symbolicName.equals(bundle.getSymbolicName()) && this.versionRange.contains(bundle.getVersion()));
-	}
+    public boolean isSatisfiedBy(BundleArtefact bundle) {
+        return this.symbolicName.equals(bundle.getSymbolicName()) && this.versionRange.contains(bundle.getVersion());
+    }
 
-	@Override
-	public String toString() {
-		return String.format("Import-Bundle: %s;version=\"%s\"", symbolicName, versionRange);
-	}
+    @Override
+    public String toString() {
+        return String.format("Import-Bundle: %s;version=\"%s\"", this.symbolicName, this.versionRange);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/OsgiVersion.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/OsgiVersion.java
index 8f3ea11..8023eca 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/OsgiVersion.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/OsgiVersion.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlerepository.domain;
 
 import java.util.StringTokenizer;
@@ -17,175 +18,171 @@
 import org.osgi.framework.Version;
 
 /**
- * Persistable OSGi Version (with major, minor, service/micro and qualifier
- * levels)
+ * Persistable OSGi Version (with major, minor, service/micro and qualifier levels)
  */
 public class OsgiVersion implements Comparable<OsgiVersion> {
 
-	private int major;
+    private int major;
 
-	private int minor;
+    private int minor;
 
-	private int service;
+    private int service;
 
-	private String qualifier = "";
+    private String qualifier = "";
 
-	/* for persistence only */
-	protected OsgiVersion() {
-	}
+    /* for persistence only */
+    protected OsgiVersion() {
+    }
 
-	/**
-	 * Create an OsgiVersion from a Bundle by getting the BUNDLE_VERSION header
-	 * 
-	 * @param bundle
-	 * @return an OSGiVersion object representing the version of the bundle
-	 */
-	public static OsgiVersion ofBundle(Bundle bundle) {
-		String headerValue = bundle.getHeaders().get(Constants.BUNDLE_VERSION);
-		if (headerValue == null) {
-			return new OsgiVersion(0, 0, 0, "");
-		}
-		return new OsgiVersion(headerValue.replaceAll("\"", ""));
-	}
+    /**
+     * Create an OsgiVersion from a Bundle by getting the BUNDLE_VERSION header
+     *
+     * @param bundle
+     * @return an OSGiVersion object representing the version of the bundle
+     */
+    public static OsgiVersion ofBundle(Bundle bundle) {
+        String headerValue = bundle.getHeaders().get(Constants.BUNDLE_VERSION);
+        if (headerValue == null) {
+            return new OsgiVersion(0, 0, 0, "");
+        }
+        return new OsgiVersion(headerValue.replaceAll("\"", ""));
+    }
 
-	/**
-	 * Build an OsgiVersion from its String representation. Acceptable forms
-	 * are: 1 1.0 1.0.1 1.0.0.qualifier etc.
-	 * 
-	 * @param the string version
-	 * @throws IllegalArgumentException
-	 */
-	public OsgiVersion(String s) throws IllegalArgumentException {
-		if (s == null) {
-			throw new IllegalArgumentException("no version string specified");
-		}
+    /**
+     * Build an OsgiVersion from its String representation. Acceptable forms are: 1 1.0 1.0.1 1.0.0.qualifier etc.
+     *
+     * @param the string version
+     * @throws IllegalArgumentException
+     */
+    public OsgiVersion(String s) throws IllegalArgumentException {
+        if (s == null) {
+            throw new IllegalArgumentException("no version string specified");
+        }
 
-		s = s.trim();
-		StringTokenizer tokenizer = new StringTokenizer(s, ".");
-		if (!tokenizer.hasMoreTokens()) {
-			throw new IllegalArgumentException("Can't convert '" + s + "' into an OSGi version");
-		}
+        s = s.trim();
+        StringTokenizer tokenizer = new StringTokenizer(s, ".");
+        if (!tokenizer.hasMoreTokens()) {
+            throw new IllegalArgumentException("Can't convert '" + s + "' into an OSGi version");
+        }
 
-		try {
-			this.major = Integer.parseInt(tokenizer.nextToken());
-			this.minor = tokenizer.hasMoreTokens() ? Integer.parseInt(tokenizer.nextToken()) : 0;
-			this.service = tokenizer.hasMoreTokens() ? Integer.parseInt(tokenizer.nextToken()) : 0;
-			this.qualifier = tokenizer.hasMoreTokens() ? tokenizer.nextToken() : "";
-		} catch (NumberFormatException nfEx) {
-			throw new IllegalArgumentException("Can't convert '" + s + "' into an OSGi version");
-		}
-	}
+        try {
+            this.major = Integer.parseInt(tokenizer.nextToken());
+            this.minor = tokenizer.hasMoreTokens() ? Integer.parseInt(tokenizer.nextToken()) : 0;
+            this.service = tokenizer.hasMoreTokens() ? Integer.parseInt(tokenizer.nextToken()) : 0;
+            this.qualifier = tokenizer.hasMoreTokens() ? tokenizer.nextToken() : "";
+        } catch (NumberFormatException nfEx) {
+            throw new IllegalArgumentException("Can't convert '" + s + "' into an OSGi version");
+        }
+    }
 
-	/**
-	 * Create an OsgiVersion explicitly specifying all levels.
-	 * 
-	 * @param major
-	 * @param minor
-	 * @param service
-	 * @param qualifier
-	 */
-	public OsgiVersion(int major, int minor, int service, String qualifier) {
-		this.major = major;
-		this.minor = minor;
-		this.service = service;
-		this.qualifier = null != qualifier ? qualifier : "";
-	}
+    /**
+     * Create an OsgiVersion explicitly specifying all levels.
+     *
+     * @param major
+     * @param minor
+     * @param service
+     * @param qualifier
+     */
+    public OsgiVersion(int major, int minor, int service, String qualifier) {
+        this.major = major;
+        this.minor = minor;
+        this.service = service;
+        this.qualifier = null != qualifier ? qualifier : "";
+    }
 
-	/**
-	 * Create a persistable OsgiVersion from OSGi's own (non-persistent) Version
-	 * type
-	 * 
-	 * @param v
-	 */
-	public OsgiVersion(Version v) {
-		this.major = v.getMajor();
-		this.minor = v.getMinor();
-		this.service = v.getMicro();
-		this.qualifier = null != v.getQualifier() ? v.getQualifier() : "";
-	}
+    /**
+     * Create a persistable OsgiVersion from OSGi's own (non-persistent) Version type
+     *
+     * @param v
+     */
+    public OsgiVersion(Version v) {
+        this.major = v.getMajor();
+        this.minor = v.getMinor();
+        this.service = v.getMicro();
+        this.qualifier = null != v.getQualifier() ? v.getQualifier() : "";
+    }
 
-	public int getMajor() {
-		return major;
-	}
+    public int getMajor() {
+        return this.major;
+    }
 
-	public int getMinor() {
-		return minor;
-	}
+    public int getMinor() {
+        return this.minor;
+    }
 
-	public int getService() {
-		return service;
-	}
+    public int getService() {
+        return this.service;
+    }
 
-	public String getQualifier() {
-		return qualifier;
-	}
+    public String getQualifier() {
+        return this.qualifier;
+    }
 
-	@Override
-	public String toString() {
-		StringBuilder builder = new StringBuilder();
-		builder.append(this.major);
-		builder.append(".");
-		builder.append(this.minor);
-		builder.append(".");
-		builder.append(this.service);
-		if (this.qualifier != null && !this.qualifier.equals("")) {
-			builder.append(".");
-			builder.append(this.qualifier);
-		}
-		return builder.toString();
-	}
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append(this.major);
+        builder.append(".");
+        builder.append(this.minor);
+        builder.append(".");
+        builder.append(this.service);
+        if (this.qualifier != null && !this.qualifier.equals("")) {
+            builder.append(".");
+            builder.append(this.qualifier);
+        }
+        return builder.toString();
+    }
 
-	/**
-	 * Orders as you would expect for major,minor,service, and alphabetically
-	 * for qualifier.
-	 */
-	public int compareTo(OsgiVersion o) {
-		if (o == this) {
-			return 0;
-		}
-		if (this.major > o.major) {
-			return 1;
-		} else if (this.major < o.major) {
-			return -1;
-		} else if (this.minor > o.minor) { // major versions equal
-			return 1;
-		} else if (this.minor < o.minor) {
-			return -1;
-		} else if (this.service > o.service) { // major and minor versions equal
-			return 1;
-		} else if (this.service < o.service) {
-			return -1;
-		} else { // major, minor, and service versions equals
-			String myQualifier = this.qualifier;
-			String otherQualifier = o.qualifier;
-			if (myQualifier == null) {
-				myQualifier = "";
-			}
-			if (otherQualifier == null) {
-				otherQualifier = "";
-			}
-			return myQualifier.compareTo(otherQualifier);
-		}
-	}
+    /**
+     * Orders as you would expect for major,minor,service, and alphabetically for qualifier.
+     */
+    public int compareTo(OsgiVersion o) {
+        if (o == this) {
+            return 0;
+        }
+        if (this.major > o.major) {
+            return 1;
+        } else if (this.major < o.major) {
+            return -1;
+        } else if (this.minor > o.minor) { // major versions equal
+            return 1;
+        } else if (this.minor < o.minor) {
+            return -1;
+        } else if (this.service > o.service) { // major and minor versions equal
+            return 1;
+        } else if (this.service < o.service) {
+            return -1;
+        } else { // major, minor, and service versions equals
+            String myQualifier = this.qualifier;
+            String otherQualifier = o.qualifier;
+            if (myQualifier == null) {
+                myQualifier = "";
+            }
+            if (otherQualifier == null) {
+                otherQualifier = "";
+            }
+            return myQualifier.compareTo(otherQualifier);
+        }
+    }
 
-	@Override
-	public boolean equals(Object obj) {
-		if (this == obj) {
-			return true;
-		}
-		if (obj == null) {
-			return false;
-		}
-		if (!(obj instanceof OsgiVersion)) {
-			return false;
-		}
-		OsgiVersion version = (OsgiVersion) obj;
-		return this.toString().equals(version.toString());
-	}
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (!(obj instanceof OsgiVersion)) {
+            return false;
+        }
+        OsgiVersion version = (OsgiVersion) obj;
+        return this.toString().equals(version.toString());
+    }
 
-	@Override
-	public int hashCode() {
-		return this.toString().hashCode();
-	}
+    @Override
+    public int hashCode() {
+        return this.toString().hashCode();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageExport.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageExport.java
index 937e89b..c56def3 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageExport.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageExport.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlerepository.domain;
 
 import java.util.HashSet;
@@ -21,84 +22,83 @@
  */
 public class PackageExport {
 
-	private byte[] name; // the fully-qualified package name
+    private byte[] name; // the fully-qualified package name
 
-	private OsgiVersion version; // the version of the package as exported by
-									// the owning bundle
+    private OsgiVersion version; // the version of the package as exported by
+                                 // the owning bundle
 
-	private Set<PackageMember> exports; // the contents of the exported package
+    private Set<PackageMember> exports; // the contents of the exported package
 
-	private BundleArtefact bundle; // the bundle exporting this package
+    private BundleArtefact bundle; // the bundle exporting this package
 
-	/* for persistence only */
-	protected PackageExport() {
-	}
+    /* for persistence only */
+    protected PackageExport() {
+    }
 
-	/**
-	 * Create a new package exported by the given bundle, with the given name
-	 * and version
-	 * 
-	 * @param bundle bundle exporting the package
-	 * @param name the fully-qualified name of the package
-	 * @param version the exported version of the package
-	 */
-	public PackageExport(BundleArtefact bundle, String name, OsgiVersion version) {
-		this.bundle = bundle;
-		this.name = ArtefactRepositoryManager.convert(name);
-		this.version = version;
-		this.exports = new HashSet<PackageMember>();
-	}
+    /**
+     * Create a new package exported by the given bundle, with the given name and version
+     *
+     * @param bundle bundle exporting the package
+     * @param name the fully-qualified name of the package
+     * @param version the exported version of the package
+     */
+    public PackageExport(BundleArtefact bundle, String name, OsgiVersion version) {
+        this.bundle = bundle;
+        this.name = ArtefactRepositoryManager.convert(name);
+        this.version = version;
+        this.exports = new HashSet<PackageMember>();
+    }
 
-	/**
-	 * Return the bundle exporting this package
-	 */
-	public BundleArtefact getBundle() {
-		return this.bundle;
-	}
+    /**
+     * Return the bundle exporting this package
+     */
+    public BundleArtefact getBundle() {
+        return this.bundle;
+    }
 
-	/**
-	 * Return the bundle exporting this package
-	 */
-	public void setBundle(BundleArtefact bundle) {
-		this.bundle = bundle;
-	}
+    /**
+     * Return the bundle exporting this package
+     */
+    public void setBundle(BundleArtefact bundle) {
+        this.bundle = bundle;
+    }
 
-	/**
-	 * The fully-qualified name of the package
-	 */
-	public String getName() {
-		return (name != null ? new String(name) : null);
-	}
+    /**
+     * The fully-qualified name of the package
+     */
+    public String getName() {
+        return this.name != null ? new String(this.name) : null;
+    }
 
-	/**
-	 * The version of the package as exported by the owning bundle
-	 */
-	public OsgiVersion getVersion() {
-		return this.version;
-	}
+    /**
+     * The version of the package as exported by the owning bundle
+     */
+    public OsgiVersion getVersion() {
+        return this.version;
+    }
 
-	/**
-	 * The set of classes and resources exported by the package
-	 */
-	public Set<PackageMember> getExports() {
-		return this.exports;
-	}
+    /**
+     * The set of classes and resources exported by the package
+     */
+    public Set<PackageMember> getExports() {
+        return this.exports;
+    }
 
-	/**
-	 * Add a new class to the set of classes exported by this package
-	 * 
-	 * @param className the fully-qualified name of the class to add
-	 */
-	public void addClassExport(String className) {
-		this.exports.add(new PackageMember(className, PackageMemberType.CLASS, this));
-	}
+    /**
+     * Add a new class to the set of classes exported by this package
+     *
+     * @param className the fully-qualified name of the class to add
+     */
+    public void addClassExport(String className) {
+        this.exports.add(new PackageMember(className, PackageMemberType.CLASS, this));
+    }
 
-	/**
-	 * Add a new resource to the set of resources exported by this package
-	 * 
-	 * @param resourceName the full path to the resource in the exported package
-	 */
-	public void addResourceExport(String resourceName) {
-		this.exports.add(new PackageMember(resourceName, PackageMemberType.RESOURCE, this));
-	}
+    /**
+     * Add a new resource to the set of resources exported by this package
+     *
+     * @param resourceName the full path to the resource in the exported package
+     */
+    public void addResourceExport(String resourceName) {
+        this.exports.add(new PackageMember(resourceName, PackageMemberType.RESOURCE, this));
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageImport.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageImport.java
index 17b3918..e18563a 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageImport.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageImport.java
@@ -4,65 +4,66 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlerepository.domain;
 
 import org.eclipse.virgo.ide.runtime.core.artefacts.ArtefactRepositoryManager;
 
 /**
- * Represent an import-package declaration for an OSGi bundle. Ignores matching
- * attributes and only worries about version range and optionality.
- * 
+ * Represent an import-package declaration for an OSGi bundle. Ignores matching attributes and only worries about
+ * version range and optionality.
+ *
  * @author acolyer
  */
 public class PackageImport {
 
-	private byte[] name; // name of the package to be imported
+    private byte[] name; // name of the package to be imported
 
-	private boolean isOptional; // whether or not this import is optional
+    private boolean isOptional; // whether or not this import is optional
 
-	private VersionRange importRange; // the range of version that are
-										// acceptable
+    private VersionRange importRange; // the range of version that are
+                                      // acceptable
 
-	/** for persistence use only */
-	protected PackageImport() {
-	}
+    /** for persistence use only */
+    protected PackageImport() {
+    }
 
-	/**
-	 * Create a new package import.
-	 * 
-	 * @param name the name of the package to be imported
-	 * @param isOptional true if this is an optional import
-	 * @param range the range of versions that are acceptable
-	 */
-	public PackageImport(String name, boolean isOptional, VersionRange range) {
-		this.name = ArtefactRepositoryManager.convert(name);
-		this.isOptional = isOptional;
-		this.importRange = range;
-	}
+    /**
+     * Create a new package import.
+     *
+     * @param name the name of the package to be imported
+     * @param isOptional true if this is an optional import
+     * @param range the range of versions that are acceptable
+     */
+    public PackageImport(String name, boolean isOptional, VersionRange range) {
+        this.name = ArtefactRepositoryManager.convert(name);
+        this.isOptional = isOptional;
+        this.importRange = range;
+    }
 
-	public String getName() {
-		return (name != null ? new String(name) : null);
-	}
+    public String getName() {
+        return this.name != null ? new String(this.name) : null;
+    }
 
-	public boolean isOptional() {
-		return isOptional;
-	}
+    public boolean isOptional() {
+        return this.isOptional;
+    }
 
-	public VersionRange getImportRange() {
-		return importRange;
-	}
+    public VersionRange getImportRange() {
+        return this.importRange;
+    }
 
-	/**
-	 * Return true if this import can be satisfied by the given exported package
-	 * 
-	 * @param pkg the candidate package for satisfying this import
-	 */
-	public boolean isSatisfiedBy(PackageExport pkg) {
-		return (this.name.equals(pkg.getName()) && this.importRange.contains(pkg.getVersion()));
-	}
+    /**
+     * Return true if this import can be satisfied by the given exported package
+     *
+     * @param pkg the candidate package for satisfying this import
+     */
+    public boolean isSatisfiedBy(PackageExport pkg) {
+        return this.name.equals(pkg.getName()) && this.importRange.contains(pkg.getVersion());
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageMember.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageMember.java
index 99ee4dd..6f1255d 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageMember.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageMember.java
@@ -4,64 +4,65 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlerepository.domain;
 
 import org.eclipse.virgo.ide.runtime.core.artefacts.ArtefactRepositoryManager;
 
 /**
  * An exported member of an exported package (class or resource)
- * 
+ *
  */
 public class PackageMember {
 
-	private byte[] name; // fully-qualified name of the exported member
+    private byte[] name; // fully-qualified name of the exported member
 
-	private PackageExport exportingPackage; // the package exporting this member
+    private PackageExport exportingPackage; // the package exporting this member
 
-	private PackageMemberType memberType; // the member type (class or resource)
+    private PackageMemberType memberType; // the member type (class or resource)
 
-	/* for persistence only */
-	protected PackageMember() {
-	}
+    /* for persistence only */
+    protected PackageMember() {
+    }
 
-	/**
-	 * Construct a new package member
-	 * 
-	 * @param name the fully-qualified member name
-	 * @param memberType the member type (class or resource)
-	 * @param pkg the exporting package
-	 */
-	public PackageMember(String name, PackageMemberType memberType, PackageExport pkg) {
-		this.name = ArtefactRepositoryManager.convert(name);
-		this.exportingPackage = pkg;
-		this.memberType = memberType;
-	}
+    /**
+     * Construct a new package member
+     *
+     * @param name the fully-qualified member name
+     * @param memberType the member type (class or resource)
+     * @param pkg the exporting package
+     */
+    public PackageMember(String name, PackageMemberType memberType, PackageExport pkg) {
+        this.name = ArtefactRepositoryManager.convert(name);
+        this.exportingPackage = pkg;
+        this.memberType = memberType;
+    }
 
-	/**
-	 * The fully-qualified name of this member
-	 */
-	public String getName() {
-		return (name != null ? new String(this.name) : null);
-	}
+    /**
+     * The fully-qualified name of this member
+     */
+    public String getName() {
+        return this.name != null ? new String(this.name) : null;
+    }
 
-	/**
-	 * The type of member (class or resource)
-	 */
-	public PackageMemberType getMemberType() {
-		return this.memberType;
-	}
+    /**
+     * The type of member (class or resource)
+     */
+    public PackageMemberType getMemberType() {
+        return this.memberType;
+    }
 
-	/**
-	 * The package exporting this member
-	 * 
-	 * @return
-	 */
-	public PackageExport getExportingPackage() {
-		return this.exportingPackage;
-	}
+    /**
+     * The package exporting this member
+     *
+     * @return
+     */
+    public PackageExport getExportingPackage() {
+        return this.exportingPackage;
+    }
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageMemberType.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageMemberType.java
index 459f92d..e8364d8 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageMemberType.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/PackageMemberType.java
@@ -4,15 +4,16 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlerepository.domain;
 
 /**
  * The type of member exported by a package (Java Class or resource)
  */
 public enum PackageMemberType {
-	CLASS, RESOURCE
+    CLASS, RESOURCE
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/SpringSourceApplicationPlatform.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/SpringSourceApplicationPlatform.java
index e9cda66..fb33038 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/SpringSourceApplicationPlatform.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/SpringSourceApplicationPlatform.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlerepository.domain;
 
 import java.util.ArrayList;
@@ -16,37 +17,37 @@
 import java.util.StringTokenizer;
 
 /**
- * Represents the configuration of the SpringSourceApplicationPlatform osgi
- * profile
- * 
+ * Represents the configuration of the SpringSourceApplicationPlatform osgi profile
+ *
  * @author acolyer
- * 
+ *
  */
 public class SpringSourceApplicationPlatform {
-	private static final String AP_PROPS = "org.eclipse.virgo.ide.bundlerepository.domain.equinox.APProfile";
 
-	private static final OsgiVersion UNVERSIONED = new OsgiVersion("0.0.0");
+    private static final String AP_PROPS = "org.eclipse.virgo.ide.bundlerepository.domain.equinox.APProfile";
 
-	private ResourceBundle apProps;
+    private static final OsgiVersion UNVERSIONED = new OsgiVersion("0.0.0");
 
-	private List<String> exportedSystemPackages = new ArrayList<String>();
+    private final ResourceBundle apProps;
 
-	public SpringSourceApplicationPlatform() {
-		this.apProps = ResourceBundle.getBundle(AP_PROPS);
-		String systemPackages = apProps.getString("org.osgi.framework.system.packages");
-		parseSystemPackages(systemPackages);
-	}
+    private final List<String> exportedSystemPackages = new ArrayList<String>();
 
-	public boolean isSatisfiedViaSystemBundle(PackageImport imp) {
-		return (this.exportedSystemPackages.contains(imp.getName()) && imp.getImportRange().contains(UNVERSIONED));
-	}
+    public SpringSourceApplicationPlatform() {
+        this.apProps = ResourceBundle.getBundle(AP_PROPS);
+        String systemPackages = this.apProps.getString("org.osgi.framework.system.packages");
+        parseSystemPackages(systemPackages);
+    }
 
-	private void parseSystemPackages(String systemPackagesPropertyValue) {
-		StringTokenizer tokenizer = new StringTokenizer(systemPackagesPropertyValue, ",");
-		while (tokenizer.hasMoreTokens()) {
-			String token = tokenizer.nextToken().trim();
-			this.exportedSystemPackages.add(token);
-		}
-	}
+    public boolean isSatisfiedViaSystemBundle(PackageImport imp) {
+        return this.exportedSystemPackages.contains(imp.getName()) && imp.getImportRange().contains(UNVERSIONED);
+    }
+
+    private void parseSystemPackages(String systemPackagesPropertyValue) {
+        StringTokenizer tokenizer = new StringTokenizer(systemPackagesPropertyValue, ",");
+        while (tokenizer.hasMoreTokens()) {
+            String token = tokenizer.nextToken().trim();
+            this.exportedSystemPackages.add(token);
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/VersionRange.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/VersionRange.java
index 12c31f8..5cbb3e5 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/VersionRange.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/bundlerepository/domain/VersionRange.java
@@ -4,301 +4,296 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.bundlerepository.domain;
 
 /**
  * Represents a version range as specified in an import package header
- * 
+ *
  */
 public class VersionRange {
 
-	public static final OsgiVersion INFINITY = new OsgiVersion(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE,
-		"");
+    public static final OsgiVersion INFINITY = new OsgiVersion(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, "");
 
-	private transient OsgiVersion lowerBound;
+    private transient OsgiVersion lowerBound;
 
-	private transient OsgiVersion upperBound;
+    private transient OsgiVersion upperBound;
 
-	private boolean isInclusiveLowerBound = true; // if true then the a version
-													// == lowerBound will
-													// satisfy this range
+    private boolean isInclusiveLowerBound = true; // if true then the a version
+                                                  // == lowerBound will
+                                                  // satisfy this range
 
-	private boolean isInclusiveUpperBound = false; // if true then a version ==
-													// upperBound will satisfy
-													// this range
+    private boolean isInclusiveUpperBound = false; // if true then a version ==
+                                                   // upperBound will satisfy
+                                                   // this range
 
-	// these next shenanigans are because JPA can't persist an embeddable type
-	// nested in an embeddable type
-	// therefore we have to either fudge things in the database (by storing
-	// version ranges in their own table), or
-	// fudge things in the domain model (to allow version range and import
-	// package information to be stored in
-	// the same table). We've chosen the latter option here as we never want to
-	// retrieve PackageImports without their
-	// version ranges.
-	private int lowerBoundMajor;
+    // these next shenanigans are because JPA can't persist an embeddable type
+    // nested in an embeddable type
+    // therefore we have to either fudge things in the database (by storing
+    // version ranges in their own table), or
+    // fudge things in the domain model (to allow version range and import
+    // package information to be stored in
+    // the same table). We've chosen the latter option here as we never want to
+    // retrieve PackageImports without their
+    // version ranges.
+    private int lowerBoundMajor;
 
-	private int lowerBoundMinor;
+    private int lowerBoundMinor;
 
-	private int lowerBoundService;
+    private int lowerBoundService;
 
-	private String lowerBoundQualifier;
+    private String lowerBoundQualifier;
 
-	private int upperBoundMajor;
+    private int upperBoundMajor;
 
-	private int upperBoundMinor;
+    private int upperBoundMinor;
 
-	private int upperBoundService;
+    private int upperBoundService;
 
-	private String upperBoundQualifier;
+    private String upperBoundQualifier;
 
-	protected VersionRange() {
-	}
+    protected VersionRange() {
+    }
 
-	/**
-	 * Construct a version range from the String format found in the version
-	 * attribute of an import package header
-	 * 
-	 * @param osgiRangeSpecification range specification
-	 */
-	public VersionRange(String osgiRangeSpecification) {
-		if ((osgiRangeSpecification == null) || (osgiRangeSpecification.equals(""))) {
-			osgiRangeSpecification = "0.0.0";
-		}
-		// strip any surrounding quotes
-		if (osgiRangeSpecification.startsWith("\"")) {
-			osgiRangeSpecification = osgiRangeSpecification.substring(1, osgiRangeSpecification.length() - 1);
-		}
+    /**
+     * Construct a version range from the String format found in the version attribute of an import package header
+     *
+     * @param osgiRangeSpecification range specification
+     */
+    public VersionRange(String osgiRangeSpecification) {
+        if (osgiRangeSpecification == null || osgiRangeSpecification.equals("")) {
+            osgiRangeSpecification = "0.0.0";
+        }
+        // strip any surrounding quotes
+        if (osgiRangeSpecification.startsWith("\"")) {
+            osgiRangeSpecification = osgiRangeSpecification.substring(1, osgiRangeSpecification.length() - 1);
+        }
 
-		osgiRangeSpecification = extractLowerBoundCriteria(osgiRangeSpecification);
+        osgiRangeSpecification = extractLowerBoundCriteria(osgiRangeSpecification);
 
-		osgiRangeSpecification = extractUpperBoundCriteria(osgiRangeSpecification);
+        osgiRangeSpecification = extractUpperBoundCriteria(osgiRangeSpecification);
 
-		boolean isRange = (osgiRangeSpecification.indexOf(",") != -1);
-		if (isRange) {
-			int splitIndex = osgiRangeSpecification.indexOf(",");
-			setLowerBound(new OsgiVersion(osgiRangeSpecification.substring(0, splitIndex)));
-			try {
-				setUpperBound(new OsgiVersion(osgiRangeSpecification.substring(splitIndex + 1)));
-			} catch (IllegalArgumentException e) {
-				// default to infinity
-				setUpperBound(INFINITY);
-			}
-		} else {
-			setLowerBound(new OsgiVersion(osgiRangeSpecification));
-			setUpperBound(INFINITY);
-		}
-	}
+        boolean isRange = osgiRangeSpecification.indexOf(",") != -1;
+        if (isRange) {
+            int splitIndex = osgiRangeSpecification.indexOf(",");
+            setLowerBound(new OsgiVersion(osgiRangeSpecification.substring(0, splitIndex)));
+            try {
+                setUpperBound(new OsgiVersion(osgiRangeSpecification.substring(splitIndex + 1)));
+            } catch (IllegalArgumentException e) {
+                // default to infinity
+                setUpperBound(INFINITY);
+            }
+        } else {
+            setLowerBound(new OsgiVersion(osgiRangeSpecification));
+            setUpperBound(INFINITY);
+        }
+    }
 
-	/**
-	 * Create a version range object
-	 * 
-	 * @param lowerBound lower bound of range
-	 * @param lowerInclusive whether the lower bound is inclusive (true) or
-	 *        exclusive (false)
-	 * @param upperBound upper bound of range
-	 * @param upperInclusive whether the upper bound is inclusive (true) or
-	 *        exclusive (false)
-	 */
-	public VersionRange(OsgiVersion lowerBound, boolean lowerInclusive, OsgiVersion upperBound, boolean upperInclusive) {
-		setLowerBound(lowerBound);
-		setUpperBound(upperBound);
-		this.isInclusiveLowerBound = lowerInclusive;
-		this.isInclusiveUpperBound = upperInclusive;
-	}
+    /**
+     * Create a version range object
+     *
+     * @param lowerBound lower bound of range
+     * @param lowerInclusive whether the lower bound is inclusive (true) or exclusive (false)
+     * @param upperBound upper bound of range
+     * @param upperInclusive whether the upper bound is inclusive (true) or exclusive (false)
+     */
+    public VersionRange(OsgiVersion lowerBound, boolean lowerInclusive, OsgiVersion upperBound, boolean upperInclusive) {
+        setLowerBound(lowerBound);
+        setUpperBound(upperBound);
+        this.isInclusiveLowerBound = lowerInclusive;
+        this.isInclusiveUpperBound = upperInclusive;
+    }
 
-	/* shenanigans with version fields are because of JPA limitation */
-	public OsgiVersion getLowerBound() {
-		if (this.lowerBound == null) {
-			this.lowerBound = new OsgiVersion(lowerBoundMajor, lowerBoundMinor, lowerBoundService, lowerBoundQualifier);
-		}
-		return this.lowerBound;
-	}
+    /* shenanigans with version fields are because of JPA limitation */
+    public OsgiVersion getLowerBound() {
+        if (this.lowerBound == null) {
+            this.lowerBound = new OsgiVersion(this.lowerBoundMajor, this.lowerBoundMinor, this.lowerBoundService, this.lowerBoundQualifier);
+        }
+        return this.lowerBound;
+    }
 
-	/* shenanigans with version fields are because of JPA limitation */
-	public void setLowerBound(OsgiVersion bound) {
-		this.lowerBound = bound;
-		this.lowerBoundMajor = bound.getMajor();
-		this.lowerBoundMinor = bound.getMinor();
-		this.lowerBoundService = bound.getService();
-		this.lowerBoundQualifier = bound.getQualifier();
-	}
+    /* shenanigans with version fields are because of JPA limitation */
+    public void setLowerBound(OsgiVersion bound) {
+        this.lowerBound = bound;
+        this.lowerBoundMajor = bound.getMajor();
+        this.lowerBoundMinor = bound.getMinor();
+        this.lowerBoundService = bound.getService();
+        this.lowerBoundQualifier = bound.getQualifier();
+    }
 
-	/* shenanigans with version fields are because of JPA limitation */
-	public OsgiVersion getUpperBound() {
-		if (this.upperBound == null) {
-			this.upperBound = new OsgiVersion(upperBoundMajor, upperBoundMinor, upperBoundService, upperBoundQualifier);
-		}
-		return this.upperBound;
-	}
+    /* shenanigans with version fields are because of JPA limitation */
+    public OsgiVersion getUpperBound() {
+        if (this.upperBound == null) {
+            this.upperBound = new OsgiVersion(this.upperBoundMajor, this.upperBoundMinor, this.upperBoundService, this.upperBoundQualifier);
+        }
+        return this.upperBound;
+    }
 
-	public boolean isUpperBoundInfinity() {
-		return INFINITY.equals(this.upperBound);
-	}
+    public boolean isUpperBoundInfinity() {
+        return INFINITY.equals(this.upperBound);
+    }
 
-	/* shenanigans with version fields are because of JPA limitation */
-	public void setUpperBound(OsgiVersion bound) {
-		this.upperBound = bound;
-		this.upperBoundMajor = bound.getMajor();
-		this.upperBoundMinor = bound.getMinor();
-		this.upperBoundService = bound.getService();
-		this.upperBoundQualifier = bound.getQualifier();
-	}
+    /* shenanigans with version fields are because of JPA limitation */
+    public void setUpperBound(OsgiVersion bound) {
+        this.upperBound = bound;
+        this.upperBoundMajor = bound.getMajor();
+        this.upperBoundMinor = bound.getMinor();
+        this.upperBoundService = bound.getService();
+        this.upperBoundQualifier = bound.getQualifier();
+    }
 
-	public boolean isInclusiveLowerBound() {
-		return isInclusiveLowerBound;
-	}
+    public boolean isInclusiveLowerBound() {
+        return this.isInclusiveLowerBound;
+    }
 
-	public boolean isInclusiveUpperBound() {
-		return isInclusiveUpperBound;
-	}
+    public boolean isInclusiveUpperBound() {
+        return this.isInclusiveUpperBound;
+    }
 
-	/**
-	 * Return true if the given version falls within this range
-	 */
-	public boolean contains(OsgiVersion version) {
-		// check lower bound
-		int lowerBoundComparison = version.compareTo(getLowerBound());
-		if (lowerBoundComparison < 0) {
-			return false;
-		} else if ((lowerBoundComparison == 0) && !this.isInclusiveLowerBound) {
-			return false;
-		}
-		// we've passed the lower bound test, check the upper bound
-		int upperBoundComparison = version.compareTo(getUpperBound());
-		if (upperBoundComparison > 0) {
-			return false;
-		} else if ((upperBoundComparison == 0) && !this.isInclusiveUpperBound) {
-			return false;
-		}
-		return true;
-	}
+    /**
+     * Return true if the given version falls within this range
+     */
+    public boolean contains(OsgiVersion version) {
+        // check lower bound
+        int lowerBoundComparison = version.compareTo(getLowerBound());
+        if (lowerBoundComparison < 0) {
+            return false;
+        } else if (lowerBoundComparison == 0 && !this.isInclusiveLowerBound) {
+            return false;
+        }
+        // we've passed the lower bound test, check the upper bound
+        int upperBoundComparison = version.compareTo(getUpperBound());
+        if (upperBoundComparison > 0) {
+            return false;
+        } else if (upperBoundComparison == 0 && !this.isInclusiveUpperBound) {
+            return false;
+        }
+        return true;
+    }
 
-	@Override
-	public String toString() {
-		StringBuilder sb = new StringBuilder();
-		sb.append(isInclusiveLowerBound ? "[" : "(");
-		sb.append(getLowerBound().toString());
-		sb.append(", ");
-		if (getUpperBound().equals(INFINITY)) {
-			sb.append("infinity)");
-		} else {
-			sb.append(getUpperBound().toString());
-			sb.append(isInclusiveUpperBound ? "]" : ")");
-		}
-		return sb.toString();
-	}
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(this.isInclusiveLowerBound ? "[" : "(");
+        sb.append(getLowerBound().toString());
+        sb.append(", ");
+        if (getUpperBound().equals(INFINITY)) {
+            sb.append("infinity)");
+        } else {
+            sb.append(getUpperBound().toString());
+            sb.append(this.isInclusiveUpperBound ? "]" : ")");
+        }
+        return sb.toString();
+    }
 
-	/* generated */
-	@Override
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + (isInclusiveLowerBound ? 1231 : 1237);
-		result = prime * result + (isInclusiveUpperBound ? 1231 : 1237);
-		result = prime * result + lowerBoundMajor;
-		result = prime * result + lowerBoundMinor;
-		result = prime * result + ((lowerBoundQualifier == null) ? 0 : lowerBoundQualifier.hashCode());
-		result = prime * result + lowerBoundService;
-		result = prime * result + upperBoundMajor;
-		result = prime * result + upperBoundMinor;
-		result = prime * result + ((upperBoundQualifier == null) ? 0 : upperBoundQualifier.hashCode());
-		result = prime * result + upperBoundService;
-		return result;
-	}
+    /* generated */
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + (this.isInclusiveLowerBound ? 1231 : 1237);
+        result = prime * result + (this.isInclusiveUpperBound ? 1231 : 1237);
+        result = prime * result + this.lowerBoundMajor;
+        result = prime * result + this.lowerBoundMinor;
+        result = prime * result + (this.lowerBoundQualifier == null ? 0 : this.lowerBoundQualifier.hashCode());
+        result = prime * result + this.lowerBoundService;
+        result = prime * result + this.upperBoundMajor;
+        result = prime * result + this.upperBoundMinor;
+        result = prime * result + (this.upperBoundQualifier == null ? 0 : this.upperBoundQualifier.hashCode());
+        result = prime * result + this.upperBoundService;
+        return result;
+    }
 
-	/* generated */
-	@Override
-	public boolean equals(Object obj) {
-		if (this == obj) {
-			return true;
-		}
-		if (obj == null) {
-			return false;
-		}
-		if (getClass() != obj.getClass()) {
-			return false;
-		}
-		final VersionRange other = (VersionRange) obj;
-		if (isInclusiveLowerBound != other.isInclusiveLowerBound) {
-			return false;
-		}
-		if (isInclusiveUpperBound != other.isInclusiveUpperBound) {
-			return false;
-		}
-		if (lowerBoundMajor != other.lowerBoundMajor) {
-			return false;
-		}
-		if (lowerBoundMinor != other.lowerBoundMinor) {
-			return false;
-		}
-		if (lowerBoundQualifier == null) {
-			if (other.lowerBoundQualifier != null) {
-				return false;
-			}
-		} else if (!lowerBoundQualifier.equals(other.lowerBoundQualifier)) {
-			return false;
-		}
-		if (lowerBoundService != other.lowerBoundService) {
-			return false;
-		}
-		if (upperBoundMajor != other.upperBoundMajor) {
-			return false;
-		}
-		if (upperBoundMinor != other.upperBoundMinor) {
-			return false;
-		}
-		if (upperBoundQualifier == null) {
-			if (other.upperBoundQualifier != null) {
-				return false;
-			}
-		} else if (!upperBoundQualifier.equals(other.upperBoundQualifier)) {
-			return false;
-		}
-		if (upperBoundService != other.upperBoundService) {
-			return false;
-		}
-		return true;
-	}
+    /* generated */
+    @Override
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        final VersionRange other = (VersionRange) obj;
+        if (this.isInclusiveLowerBound != other.isInclusiveLowerBound) {
+            return false;
+        }
+        if (this.isInclusiveUpperBound != other.isInclusiveUpperBound) {
+            return false;
+        }
+        if (this.lowerBoundMajor != other.lowerBoundMajor) {
+            return false;
+        }
+        if (this.lowerBoundMinor != other.lowerBoundMinor) {
+            return false;
+        }
+        if (this.lowerBoundQualifier == null) {
+            if (other.lowerBoundQualifier != null) {
+                return false;
+            }
+        } else if (!this.lowerBoundQualifier.equals(other.lowerBoundQualifier)) {
+            return false;
+        }
+        if (this.lowerBoundService != other.lowerBoundService) {
+            return false;
+        }
+        if (this.upperBoundMajor != other.upperBoundMajor) {
+            return false;
+        }
+        if (this.upperBoundMinor != other.upperBoundMinor) {
+            return false;
+        }
+        if (this.upperBoundQualifier == null) {
+            if (other.upperBoundQualifier != null) {
+                return false;
+            }
+        } else if (!this.upperBoundQualifier.equals(other.upperBoundQualifier)) {
+            return false;
+        }
+        if (this.upperBoundService != other.upperBoundService) {
+            return false;
+        }
+        return true;
+    }
 
-	/**
-	 * Parse any inclusive "]" or exclusive ")" upper bound postfix and return
-	 * the input string with them stripped
-	 */
-	private String extractUpperBoundCriteria(String osgiRangeSpecification) {
-		// parse any ending inclusive / exclusive brackets
-		if (osgiRangeSpecification.endsWith(")")) {
-			this.isInclusiveUpperBound = false;
-			osgiRangeSpecification = osgiRangeSpecification.substring(0, osgiRangeSpecification.length() - 1);
-		} else if (osgiRangeSpecification.endsWith("]")) {
-			this.isInclusiveUpperBound = true;
-			osgiRangeSpecification = osgiRangeSpecification.substring(0, osgiRangeSpecification.length() - 1);
-		} else {
-			this.isInclusiveUpperBound = true;
-		}
-		return osgiRangeSpecification;
-	}
+    /**
+     * Parse any inclusive "]" or exclusive ")" upper bound postfix and return the input string with them stripped
+     */
+    private String extractUpperBoundCriteria(String osgiRangeSpecification) {
+        // parse any ending inclusive / exclusive brackets
+        if (osgiRangeSpecification.endsWith(")")) {
+            this.isInclusiveUpperBound = false;
+            osgiRangeSpecification = osgiRangeSpecification.substring(0, osgiRangeSpecification.length() - 1);
+        } else if (osgiRangeSpecification.endsWith("]")) {
+            this.isInclusiveUpperBound = true;
+            osgiRangeSpecification = osgiRangeSpecification.substring(0, osgiRangeSpecification.length() - 1);
+        } else {
+            this.isInclusiveUpperBound = true;
+        }
+        return osgiRangeSpecification;
+    }
 
-	/**
-	 * Parse any inclusive "[" or exclusive "(" lower bound prefix and return
-	 * the input string with them stripped.
-	 */
-	private String extractLowerBoundCriteria(String osgiRangeSpecification) {
-		// parse any opening inclusive / exclusive brackets
-		if (osgiRangeSpecification.startsWith("(")) {
-			this.isInclusiveLowerBound = false;
-			osgiRangeSpecification = osgiRangeSpecification.substring(1);
-		} else if (osgiRangeSpecification.startsWith("[")) {
-			osgiRangeSpecification = osgiRangeSpecification.substring(1);
-			this.isInclusiveLowerBound = true;
-		} else {
-			this.isInclusiveLowerBound = true;
-		}
-		return osgiRangeSpecification;
-	}
+    /**
+     * Parse any inclusive "[" or exclusive "(" lower bound prefix and return the input string with them stripped.
+     */
+    private String extractLowerBoundCriteria(String osgiRangeSpecification) {
+        // parse any opening inclusive / exclusive brackets
+        if (osgiRangeSpecification.startsWith("(")) {
+            this.isInclusiveLowerBound = false;
+            osgiRangeSpecification = osgiRangeSpecification.substring(1);
+        } else if (osgiRangeSpecification.startsWith("[")) {
+            osgiRangeSpecification = osgiRangeSpecification.substring(1);
+            this.isInclusiveLowerBound = true;
+        } else {
+            this.isInclusiveLowerBound = true;
+        }
+        return osgiRangeSpecification;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/internal/utils/json/JSONChildParser.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/internal/utils/json/JSONChildParser.java
index 2ff4660..49302a2 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/internal/utils/json/JSONChildParser.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/internal/utils/json/JSONChildParser.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.internal.utils.json;
 
 import org.json.JSONArray;
@@ -15,49 +16,49 @@
 import org.json.JSONObject;
 
 /**
- * Provides a simple parser that visits children objects safely, whether they
- * exist as single JSON objects, JSON arrays, or not at all.
- * 
- * Usage: Simply give the parser the parent object and child key, and implement
- * {@link #parse(JSONObject)} with the processing you need.
- * 
- * (The existing JSON files often store single value entities as objects not as
- * a JSON Array of size 1.)
- * 
+ * Provides a simple parser that visits children objects safely, whether they exist as single JSON objects, JSON arrays,
+ * or not at all.
+ *
+ * Usage: Simply give the parser the parent object and child key, and implement {@link #parse(JSONObject)} with the
+ * processing you need.
+ *
+ * (The existing JSON files often store single value entities as objects not as a JSON Array of size 1.)
+ *
  * @author Miles Parker
- * 
+ *
  */
 public abstract class JSONChildParser implements SimpleJSONParser {
-	String key;
-	JSONObject parent;
 
-	/**
-	 * Constructs and executes the parser.
-	 * 
-	 * @param parent Any parent JSON object.
-	 * @param key A key within the parent that identifies an object, an array,
-	 *        or nothing at all.
-	 */
-	public JSONChildParser(JSONObject parent, String key) throws JSONException {
-		super();
-		this.key = key;
-		this.parent = parent;
-		apply();
-	}
+    String key;
 
-	private void apply() throws JSONException {
-		if (parent.has(key)) {
-			Object packageNode = parent.get(key);
-			if (packageNode instanceof JSONObject) {
-				JSONObject packageObject = (JSONObject) packageNode;
-				parse(packageObject);
-			} else {
-				JSONArray packageArray = (JSONArray) packageNode;
-				for (int i = 0; i < packageArray.length(); i++) {
-					JSONObject packageObject = (JSONObject) packageArray.get(i);
-					parse(packageObject);
-				}
-			}
-		}
-	}
+    JSONObject parent;
+
+    /**
+     * Constructs and executes the parser.
+     *
+     * @param parent Any parent JSON object.
+     * @param key A key within the parent that identifies an object, an array, or nothing at all.
+     */
+    public JSONChildParser(JSONObject parent, String key) throws JSONException {
+        super();
+        this.key = key;
+        this.parent = parent;
+        apply();
+    }
+
+    private void apply() throws JSONException {
+        if (this.parent.has(this.key)) {
+            Object packageNode = this.parent.get(this.key);
+            if (packageNode instanceof JSONObject) {
+                JSONObject packageObject = (JSONObject) packageNode;
+                parse(packageObject);
+            } else {
+                JSONArray packageArray = (JSONArray) packageNode;
+                for (int i = 0; i < packageArray.length(); i++) {
+                    JSONObject packageObject = (JSONObject) packageArray.get(i);
+                    parse(packageObject);
+                }
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/internal/utils/json/JSONFileParser.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/internal/utils/json/JSONFileParser.java
index d660933..7662763 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/internal/utils/json/JSONFileParser.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/internal/utils/json/JSONFileParser.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.internal.utils.json;
 
 import java.io.File;
@@ -24,36 +25,33 @@
 
 /**
  * Safely reads a JSON file.
- * 
- * Usage: Just implement {@link #parse(JSONObject)} with the processing you need
- * and pass in a file.
- * 
+ *
+ * Usage: Just implement {@link #parse(JSONObject)} with the processing you need and pass in a file.
+ *
  * @author Miles Parker
- * 
+ *
  */
 public abstract class JSONFileParser implements SimpleJSONParser {
 
-	File file;
+    File file;
 
-	public JSONFileParser(File file) {
-		this.file = file;
-		// (perhaps we shouldn't do this as side effect of construction, but I'm
-		// growing tired of verbosity for its own sake.)
-		apply();
-	}
+    public JSONFileParser(File file) {
+        this.file = file;
+        // (perhaps we shouldn't do this as side effect of construction, but I'm
+        // growing tired of verbosity for its own sake.)
+        apply();
+    }
 
-	public void apply() {
-		try {
-			FileReader reader = new FileReader(file);
-			JSONTokener parser = new JSONTokener(reader);
-			JSONObject rootObject = new JSONObject(parser);
-			parse(rootObject);
-		} catch (FileNotFoundException e) {
-			StatusManager.getManager().handle(	new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID,
-													"Error while reading file: " + file, e));
-		} catch (JSONException e) {
-			StatusManager.getManager().handle(	new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID,
-													"Error while parsing file: " + file, e));
-		}
-	}
+    public void apply() {
+        try {
+            FileReader reader = new FileReader(this.file);
+            JSONTokener parser = new JSONTokener(reader);
+            JSONObject rootObject = new JSONObject(parser);
+            parse(rootObject);
+        } catch (FileNotFoundException e) {
+            StatusManager.getManager().handle(new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "Error while reading file: " + this.file, e));
+        } catch (JSONException e) {
+            StatusManager.getManager().handle(new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "Error while parsing file: " + this.file, e));
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/internal/utils/json/SimpleJSONParser.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/internal/utils/json/SimpleJSONParser.java
index 0b49f7e..6fcf1d1 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/internal/utils/json/SimpleJSONParser.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/internal/utils/json/SimpleJSONParser.java
@@ -8,22 +8,23 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.internal.utils.json;
 
 import org.json.JSONException;
 import org.json.JSONObject;
 
 /**
- * A common interface for very basic JSON parsing. But you shouldn't ever need
- * more than this, JSON just isn't that complicated!
- * 
+ * A common interface for very basic JSON parsing. But you shouldn't ever need more than this, JSON just isn't that
+ * complicated!
+ *
  * @author Miles Parker
- * 
+ *
  */
 public interface SimpleJSONParser {
 
-	/**
-	 * Implement to process the passed object.
-	 */
-	void parse(JSONObject object) throws JSONException;
+    /**
+     * Implement to process the passed object.
+     */
+    void parse(JSONObject object) throws JSONException;
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/Bundle.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/Bundle.java
index 4e155d4..406fe68 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/Bundle.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/Bundle.java
@@ -9,6 +9,7 @@
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *     SAP AG - moving to Eclipse Libra project and enhancements
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.management.remote;
 
 import java.io.Serializable;
@@ -29,119 +30,119 @@
  */
 public class Bundle implements IBundle, Serializable {
 
-	private static final long serialVersionUID = 228698327431610457L;
+    private static final long serialVersionUID = 228698327431610457L;
 
-	private final Set<IPackageExport> exports = new HashSet<IPackageExport>();
+    private final Set<IPackageExport> exports = new HashSet<IPackageExport>();
 
-	private final String id;
+    private final String id;
 
-	private final Set<IPackageImport> imports = new HashSet<IPackageImport>();
+    private final Set<IPackageImport> imports = new HashSet<IPackageImport>();
 
-	private final String state;
+    private final String state;
 
-	private final String symbolicName;
+    private final String symbolicName;
 
-	private final String version;
+    private final String version;
 
-	private final String location;
+    private final String location;
 
-	private final Map<String, String> headers = new HashMap<String, String>();
+    private final Map<String, String> headers = new HashMap<String, String>();
 
-	private final Set<IServiceReference> registeredServices = new HashSet<IServiceReference>();
+    private final Set<IServiceReference> registeredServices = new HashSet<IServiceReference>();
 
-	private final Set<IServiceReference> servicesInUse = new HashSet<IServiceReference>();
+    private final Set<IServiceReference> servicesInUse = new HashSet<IServiceReference>();
 
-	public Bundle(String id, String symbolicName, String version, String state, String location) {
-		this.symbolicName = symbolicName;
-		this.version = version;
-		this.id = id;
-		this.state = state;
-		this.location = location;
-	}
+    public Bundle(String id, String symbolicName, String version, String state, String location) {
+        this.symbolicName = symbolicName;
+        this.version = version;
+        this.id = id;
+        this.state = state;
+        this.location = location;
+    }
 
-	public Map<String, String> getHeaders() {
-		return headers;
-	}
+    public Map<String, String> getHeaders() {
+        return this.headers;
+    }
 
-	public Set<IPackageExport> getPackageExports() {
-		return exports;
-	}
+    public Set<IPackageExport> getPackageExports() {
+        return this.exports;
+    }
 
-	public String getId() {
-		return id;
-	}
+    public String getId() {
+        return this.id;
+    }
 
-	public Set<IPackageImport> getPackageImports() {
-		return imports;
-	}
+    public Set<IPackageImport> getPackageImports() {
+        return this.imports;
+    }
 
-	public String getState() {
-		return state;
-	}
+    public String getState() {
+        return this.state;
+    }
 
-	public String getSymbolicName() {
-		return symbolicName;
-	}
+    public String getSymbolicName() {
+        return this.symbolicName;
+    }
 
-	public String getVersion() {
-		return version;
-	}
+    public String getVersion() {
+        return this.version;
+    }
 
-	public void addPackageExport(PackageExport pe) {
-		this.exports.add(pe);
-	}
+    public void addPackageExport(PackageExport pe) {
+        this.exports.add(pe);
+    }
 
-	public void addPackageImport(PackageImport pi) {
-		this.imports.add(pi);
-	}
+    public void addPackageImport(PackageImport pi) {
+        this.imports.add(pi);
+    }
 
-	public void addRegisteredService(IServiceReference pi) {
-		this.registeredServices.add(pi);
-	}
+    public void addRegisteredService(IServiceReference pi) {
+        this.registeredServices.add(pi);
+    }
 
-	public void addUsingService(IServiceReference pi) {
-		this.servicesInUse.add(pi);
-	}
+    public void addUsingService(IServiceReference pi) {
+        this.servicesInUse.add(pi);
+    }
 
-	public void addHeader(String key, String value) {
-		this.headers.put(key, value);
-	}
+    public void addHeader(String key, String value) {
+        this.headers.put(key, value);
+    }
 
-	public String getLocation() {
-		return location;
-	}
+    public String getLocation() {
+        return this.location;
+    }
 
-	public Set<IServiceReference> getRegisteredServices() {
-		return registeredServices;
-	}
+    public Set<IServiceReference> getRegisteredServices() {
+        return this.registeredServices;
+    }
 
-	public Set<IServiceReference> getServicesInUse() {
-		return servicesInUse;
-	}
+    public Set<IServiceReference> getServicesInUse() {
+        return this.servicesInUse;
+    }
 
-	@Override
-	public int hashCode() {
-		int hashCode = 17;
-		hashCode = 31 * hashCode + id.hashCode();
-		hashCode = 31 * hashCode + symbolicName.hashCode();
-		return hashCode;
-	}
+    @Override
+    public int hashCode() {
+        int hashCode = 17;
+        hashCode = 31 * hashCode + this.id.hashCode();
+        hashCode = 31 * hashCode + this.symbolicName.hashCode();
+        return hashCode;
+    }
 
-	@Override
-	public boolean equals(Object other) {
-		if (this == other) {
-			return true;
-		}
-		if (!(other instanceof Bundle)) {
-			return false;
-		}
-		Bundle that = (Bundle) other;
-		if (!ObjectUtils.nullSafeEquals(this.id, that.id)) {
-			return false;
-		}
-		if (!ObjectUtils.nullSafeEquals(this.symbolicName, that.symbolicName)) {
-			return false;
-		}
-		return true;
-	}
+    @Override
+    public boolean equals(Object other) {
+        if (this == other) {
+            return true;
+        }
+        if (!(other instanceof Bundle)) {
+            return false;
+        }
+        Bundle that = (Bundle) other;
+        if (!ObjectUtils.nullSafeEquals(this.id, that.id)) {
+            return false;
+        }
+        if (!ObjectUtils.nullSafeEquals(this.symbolicName, that.symbolicName)) {
+            return false;
+        }
+        return true;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/PackageExport.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/PackageExport.java
index d88b15e..f991c9b 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/PackageExport.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/PackageExport.java
@@ -9,6 +9,7 @@
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *     SAP AG - moving to Eclipse Libra project and enhancements
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.management.remote;
 
 import java.io.Serializable;
@@ -21,23 +22,23 @@
  */
 public class PackageExport implements IPackageExport, Serializable {
 
-	private static final long serialVersionUID = -4798012781542524159L;
+    private static final long serialVersionUID = -4798012781542524159L;
 
-	private final String name;
+    private final String name;
 
-	private final String version;
+    private final String version;
 
-	public PackageExport(String name, String version) {
-		this.name = name;
-		this.version = version;
-	}
+    public PackageExport(String name, String version) {
+        this.name = name;
+        this.version = version;
+    }
 
-	public String getName() {
-		return name;
-	}
+    public String getName() {
+        return this.name;
+    }
 
-	public String getVersion() {
-		return version;
-	}
+    public String getVersion() {
+        return this.version;
+    }
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/PackageImport.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/PackageImport.java
index b4fd53f..1679f0c 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/PackageImport.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/PackageImport.java
@@ -9,6 +9,7 @@
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *     SAP AG - moving to Eclipse Libra project and enhancements
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.management.remote;
 
 import java.io.Serializable;
@@ -22,60 +23,60 @@
  */
 public class PackageImport implements IPackageImport, Serializable {
 
-	private static final long serialVersionUID = 8376491037926415151L;
+    private static final long serialVersionUID = 8376491037926415151L;
 
-	private final String name;
+    private final String name;
 
-	private final String version;
+    private final String version;
 
-	private final String supplierId;
+    private final String supplierId;
 
-	public PackageImport(String name, String version, String supplierId) {
-		this.name = name;
-		this.version = version;
-		this.supplierId = supplierId;
-	}
+    public PackageImport(String name, String version, String supplierId) {
+        this.name = name;
+        this.version = version;
+        this.supplierId = supplierId;
+    }
 
-	public String getName() {
-		return name;
-	}
+    public String getName() {
+        return this.name;
+    }
 
-	public String getVersion() {
-		return version;
-	}
+    public String getVersion() {
+        return this.version;
+    }
 
-	public String getSupplierId() {
-		return supplierId;
-	}
+    public String getSupplierId() {
+        return this.supplierId;
+    }
 
-	@Override
-	public int hashCode() {
-		int hashCode = 17;
-		hashCode = 31 * hashCode + name.hashCode();
-		hashCode = 31 * hashCode + version.hashCode();
-		hashCode = 31 * hashCode + supplierId.hashCode();
-		return hashCode;
-	}
+    @Override
+    public int hashCode() {
+        int hashCode = 17;
+        hashCode = 31 * hashCode + this.name.hashCode();
+        hashCode = 31 * hashCode + this.version.hashCode();
+        hashCode = 31 * hashCode + this.supplierId.hashCode();
+        return hashCode;
+    }
 
-	@Override
-	public boolean equals(Object other) {
-		if (this == other) {
-			return true;
-		}
-		if (!(other instanceof PackageImport)) {
-			return false;
-		}
-		PackageImport that = (PackageImport) other;
-		if (!ObjectUtils.nullSafeEquals(this.name, that.name)) {
-			return false;
-		}
-		if (!ObjectUtils.nullSafeEquals(this.version, that.version)) {
-			return false;
-		}
-		if (!ObjectUtils.nullSafeEquals(this.supplierId, that.supplierId)) {
-			return false;
-		}
-		return true;
-	}
+    @Override
+    public boolean equals(Object other) {
+        if (this == other) {
+            return true;
+        }
+        if (!(other instanceof PackageImport)) {
+            return false;
+        }
+        PackageImport that = (PackageImport) other;
+        if (!ObjectUtils.nullSafeEquals(this.name, that.name)) {
+            return false;
+        }
+        if (!ObjectUtils.nullSafeEquals(this.version, that.version)) {
+            return false;
+        }
+        if (!ObjectUtils.nullSafeEquals(this.supplierId, that.supplierId)) {
+            return false;
+        }
+        return true;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/ServiceReference.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/ServiceReference.java
index 14eb1a9..0151ac0 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/ServiceReference.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/management/remote/ServiceReference.java
@@ -9,6 +9,7 @@
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *     SAP AG - moving to Eclipse Libra project and enhancements
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.management.remote;
 
 import java.io.Serializable;
@@ -26,93 +27,91 @@
  */
 public class ServiceReference implements IServiceReference, Serializable {
 
-	/*
-	 * Although this enum is now defined in the IServiceReference interface, we
-	 * still need to keep it in this class definition for backward compatibility
-	 * with earlier version of this class. Otherwise, UnmarshalException will be
-	 * thrown.
-	 */
-	public enum Type {
-		IN_USE, REGISTERED
-	}
+    /*
+     * Although this enum is now defined in the IServiceReference interface, we still need to keep it in this class
+     * definition for backward compatibility with earlier version of this class. Otherwise, UnmarshalException will be
+     * thrown.
+     */
+    public enum Type {
+        IN_USE, REGISTERED
+    }
 
-	private static final long serialVersionUID = -4896924600246187914L;
+    private static final long serialVersionUID = -4896924600246187914L;
 
-	private final Long bundleId;
+    private final Long bundleId;
 
-	private final String[] clazzes;
+    private final String[] clazzes;
 
-	private final Map<String, String> properties = new HashMap<String, String>();
+    private final Map<String, String> properties = new HashMap<String, String>();
 
-	private final Set<Long> usingBundles = new HashSet<Long>();
+    private final Set<Long> usingBundles = new HashSet<Long>();
 
-	private final Type type;
+    private final Type type;
 
-	public ServiceReference(Type type, Long bundleId, String[] clazzes) {
-		this.bundleId = bundleId;
-		this.clazzes = clazzes;
-		this.type = type;
-	}
+    public ServiceReference(Type type, Long bundleId, String[] clazzes) {
+        this.bundleId = bundleId;
+        this.clazzes = clazzes;
+        this.type = type;
+    }
 
-	public Map<String, String> getProperties() {
-		return properties;
-	}
+    public Map<String, String> getProperties() {
+        return this.properties;
+    }
 
-	public String[] getClazzes() {
-		return clazzes;
-	}
+    public String[] getClazzes() {
+        return this.clazzes;
+    }
 
-	public Set<Long> getUsingBundleIds() {
-		return usingBundles;
-	}
+    public Set<Long> getUsingBundleIds() {
+        return this.usingBundles;
+    }
 
-	public void addProperty(String key, String value) {
-		this.properties.put(key, value);
-	}
+    public void addProperty(String key, String value) {
+        this.properties.put(key, value);
+    }
 
-	public void addUsingBundle(Long id) {
-		this.usingBundles.add(id);
-	}
+    public void addUsingBundle(Long id) {
+        this.usingBundles.add(id);
+    }
 
-	public Long getBundleId() {
-		return bundleId;
-	}
+    public Long getBundleId() {
+        return this.bundleId;
+    }
 
-	/*
-	 * Convert ServiceReference.Type returned by the JMX MBean into
-	 * IServiceReference.Type used by the bundle editor.
-	 */
-	public IServiceReference.Type getType() {
-		if (type == Type.REGISTERED) {
-			return IServiceReference.Type.REGISTERED;
-		} else {
-			return IServiceReference.Type.IN_USE;
-		}
-	}
+    /*
+     * Convert ServiceReference.Type returned by the JMX MBean into IServiceReference.Type used by the bundle editor.
+     */
+    public IServiceReference.Type getType() {
+        if (this.type == Type.REGISTERED) {
+            return IServiceReference.Type.REGISTERED;
+        } else {
+            return IServiceReference.Type.IN_USE;
+        }
+    }
 
-	@Override
-	public int hashCode() {
-		int hashCode = 17;
-		hashCode = 31 * hashCode + clazzes.hashCode();
-		hashCode = 31 * hashCode + type.hashCode();
-		return hashCode;
-	}
+    @Override
+    public int hashCode() {
+        int hashCode = 17;
+        hashCode = 31 * hashCode + this.clazzes.hashCode();
+        hashCode = 31 * hashCode + this.type.hashCode();
+        return hashCode;
+    }
 
-	@Override
-	public boolean equals(Object other) {
-		if (this == other) {
-			return true;
-		}
-		if (!(other instanceof ServiceReference)) {
-			return false;
-		}
-		ServiceReference that = (ServiceReference) other;
-		if (!ObjectUtils.nullSafeEquals(this.clazzes, that.clazzes)) {
-			return false;
-		}
-		if (!ObjectUtils.nullSafeEquals(this.type, that.type)) {
-			return false;
-		}
-		return true;
-	}
+    @Override
+    public boolean equals(Object other) {
+        if (this == other) {
+            return true;
+        }
+        if (!(other instanceof ServiceReference)) {
+            return false;
+        }
+        ServiceReference that = (ServiceReference) other;
+        if (!ObjectUtils.nullSafeEquals(this.clazzes, that.clazzes)) {
+            return false;
+        }
+        if (!ObjectUtils.nullSafeEquals(this.type, that.type)) {
+            return false;
+        }
+        return true;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/preferences/PreferenceConstants.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/preferences/PreferenceConstants.java
index d111562..b1f0cf5 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/preferences/PreferenceConstants.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/preferences/PreferenceConstants.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.preferences;
 
 /**
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/preferences/PreferenceInitializer.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/preferences/PreferenceInitializer.java
index 751f419..87341bd 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/preferences/PreferenceInitializer.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/preferences/PreferenceInitializer.java
@@ -8,10 +8,10 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.preferences;
 
 import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.virgo.ide.runtime.core.ServerCorePlugin;
 
 /**
@@ -19,14 +19,14 @@
  */
 public class PreferenceInitializer extends AbstractPreferenceInitializer {
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#
-	 * initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		IPreferenceStore store = ServerCorePlugin.getDefault().getPreferenceStore();
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer# initializeDefaultPreferences()
+     */
+    @Override
+    public void initializeDefaultPreferences() {
+        ServerCorePlugin.getDefault().getPreferenceStore();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/preferences/VirgoPreferencePage.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/preferences/VirgoPreferencePage.java
index 22a6a51..c2e18b1 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/preferences/VirgoPreferencePage.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/preferences/VirgoPreferencePage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.preferences;
 
 import org.eclipse.core.resources.IProject;
@@ -20,56 +21,51 @@
 import org.eclipse.virgo.ide.runtime.core.ServerCorePlugin;
 
 /**
- * This class represents a preference page that is contributed to the
- * Preferences and Project Properties dialogs. By subclassing
- * <samp>FieldEditorPreferencePage</samp>, we can use the field support built
- * into JFace that allows us to create a page that is small and knows how to
- * save, restore and apply itself.
+ * This class represents a preference page that is contributed to the Preferences and Project Properties dialogs. By
+ * subclassing <samp>FieldEditorPreferencePage</samp>, we can use the field support built into JFace that allows us to
+ * create a page that is small and knows how to save, restore and apply itself.
  * <p>
- * This page is used to modify preferences only. They are stored in the
- * preference store that belongs to the main plug-in class. That way,
- * preferences can be accessed directly via the preference store.
+ * This page is used to modify preferences only. They are stored in the preference store that belongs to the main
+ * plug-in class. That way, preferences can be accessed directly via the preference store.
  */
 
-public class VirgoPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage,
-		IWorkbenchPropertyPage {
+public class VirgoPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage, IWorkbenchPropertyPage {
 
-	private IProject fProject; // can be null
+    private IProject fProject; // can be null
 
-	public VirgoPreferencePage() {
-		super(GRID);
-		setPreferenceStore(ServerCorePlugin.getDefault().getPreferenceStore());
-		setDescription("Expand the tree to edit preferences for the Virgo runtime tools.");
-	}
+    public VirgoPreferencePage() {
+        super(GRID);
+        setPreferenceStore(ServerCorePlugin.getDefault().getPreferenceStore());
+        setDescription("Expand the tree to edit preferences for the Virgo runtime tools.");
+    }
 
-	/**
-	 * Creates the field editors. Field editors are abstractions of the common
-	 * GUI blocks needed to manipulate various types of preferences. Each field
-	 * editor knows how to save and restore itself.
-	 */
-	public void createFieldEditors() {
-	}
+    /**
+     * Creates the field editors. Field editors are abstractions of the common GUI blocks needed to manipulate various
+     * types of preferences. Each field editor knows how to save and restore itself.
+     */
+    @Override
+    public void createFieldEditors() {
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
-	 */
-	public void init(IWorkbench workbench) {
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
+     */
+    public void init(IWorkbench workbench) {
+    }
 
-	public IAdaptable getElement() {
-		return fProject;
-	}
+    public IAdaptable getElement() {
+        return this.fProject;
+    }
 
-	public void setElement(IAdaptable element) {
-		Object obj = element.getAdapter(IResource.class);
-		if (obj instanceof IProject) {
-			fProject = fProject;
-		} else {
-			fProject = null;
-		}
-	}
+    public void setElement(IAdaptable element) {
+        Object obj = element.getAdapter(IResource.class);
+        if (obj instanceof IProject) {
+            this.fProject = this.fProject;
+        } else {
+            this.fProject = null;
+        }
+    }
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServer.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServer.java
index 3a0846a..674523f 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServer.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServer.java
@@ -8,93 +8,94 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core;
 
 import java.util.List;
 
 /**
  * Virgo specific interface to be implemented by a server
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @since 1.0.0
  */
 public interface IServer {
 
-	/** Property indicating the auto publish setting */
-	String PROPERTY_AUTO_PUBLISH_TIME = "auto-publish-time";
+    /** Property indicating the auto publish setting */
+    String PROPERTY_AUTO_PUBLISH_TIME = "auto-publish-time";
 
-	/** Property indicating the installation directory */
-	String PROPERTY_INSTANCE_DIR = ServerCorePlugin.PLUGIN_ID + ".instance.dir";
+    /** Property indicating the installation directory */
+    String PROPERTY_INSTANCE_DIR = ServerCorePlugin.PLUGIN_ID + ".instance.dir";
 
-	/** Property indicating the deploy directory */
-	String PROPERTY_DEPLOY_DIR = ServerCorePlugin.PLUGIN_ID + "deploy.dir";
+    /** Property indicating the deploy directory */
+    String PROPERTY_DEPLOY_DIR = ServerCorePlugin.PLUGIN_ID + "deploy.dir";
 
-	/** Property indicating the deploy timeout */
-	String PROPERTY_DEPLOY_TIMEOUT = ServerCorePlugin.PLUGIN_ID + "deploy.timeout";
+    /** Property indicating the deploy timeout */
+    String PROPERTY_DEPLOY_TIMEOUT = ServerCorePlugin.PLUGIN_ID + "deploy.timeout";
 
-	/** Property indicating the username of the deployer JMX control */
-	String PROPERTY_MBEAN_SERVER_USERNAME = ServerCorePlugin.PLUGIN_ID + "deployer.username";
+    /** Property indicating the username of the deployer JMX control */
+    String PROPERTY_MBEAN_SERVER_USERNAME = ServerCorePlugin.PLUGIN_ID + "deployer.username";
 
-	/** Property indicating the password of the deployer JMX control */
-	String PROPERTY_MBEAN_SERVER_PASSWORD = ServerCorePlugin.PLUGIN_ID + "deployer.password";
+    /** Property indicating the password of the deployer JMX control */
+    String PROPERTY_MBEAN_SERVER_PASSWORD = ServerCorePlugin.PLUGIN_ID + "deployer.password";
 
-	/** Property indicating the port of the deployer JMX control */
-	String PROPERTY_MBEAN_SERVER_PORT = ServerCorePlugin.PLUGIN_ID + "deployer.port";
+    /** Property indicating the port of the deployer JMX control */
+    String PROPERTY_MBEAN_SERVER_PORT = ServerCorePlugin.PLUGIN_ID + "deployer.port";
 
-	/** Property indicating the port of the deployer JMX control */
-	String PROPERTY_STATIC_FILENAMES = ServerCorePlugin.PLUGIN_ID + "filenames.static";
+    /** Property indicating the port of the deployer JMX control */
+    String PROPERTY_STATIC_FILENAMES = ServerCorePlugin.PLUGIN_ID + "filenames.static";
 
-	/** Property if the server should tail log files */
-	String PROPERTY_TAIL_LOG_FILES = ServerCorePlugin.PLUGIN_ID + "tail.log.files";
+    /** Property if the server should tail log files */
+    String PROPERTY_TAIL_LOG_FILES = ServerCorePlugin.PLUGIN_ID + "tail.log.files";
 
-	String PROPERTY_CLEAN_STARTUP = ServerCorePlugin.PLUGIN_ID + "clean.startup";
+    String PROPERTY_CLEAN_STARTUP = ServerCorePlugin.PLUGIN_ID + "clean.startup";
 
-	String PROPERTY_ARTEFACT_ORDER = ServerCorePlugin.PLUGIN_ID + "artefact.deploy.order";
+    String PROPERTY_ARTEFACT_ORDER = ServerCorePlugin.PLUGIN_ID + "artefact.deploy.order";
 
-	String PROPERTY_MAX_PERM_SIZE = ServerCorePlugin.PLUGIN_ID + "max.perm.size";
+    String PROPERTY_MAX_PERM_SIZE = ServerCorePlugin.PLUGIN_ID + "max.perm.size";
 
-	/**
-	 * Returns the deploy directory.
-	 */
-	String getDeployDirectory();
+    /**
+     * Returns the deploy directory.
+     */
+    String getDeployDirectory();
 
-	/**
-	 * Returns the {@link IServerConfiguration}.
-	 */
-	IServerConfiguration getConfiguration();
+    /**
+     * Returns the {@link IServerConfiguration}.
+     */
+    IServerConfiguration getConfiguration();
 
-	/**
-	 * Returns the username of the JMX deployer control
-	 */
-	String getMBeanServerUsername();
+    /**
+     * Returns the username of the JMX deployer control
+     */
+    String getMBeanServerUsername();
 
-	/**
-	 * Returns the port of the JMX deployer control
-	 */
-	int getMBeanServerPort();
+    /**
+     * Returns the port of the JMX deployer control
+     */
+    int getMBeanServerPort();
 
-	/**
-	 * Returns the timeout of the JMX deploy operation
-	 */
-	int getDeployTimeout();
+    /**
+     * Returns the timeout of the JMX deploy operation
+     */
+    int getDeployTimeout();
 
-	/**
-	 * Returns the password of the JMX deployer control
-	 */
-	String getMBeanServerPassword();
+    /**
+     * Returns the password of the JMX deployer control
+     */
+    String getMBeanServerPassword();
 
-	/**
-	 * Returns <code>true</code> if the server should tail log files
-	 */
-	boolean shouldTailTraceFiles();
+    /**
+     * Returns <code>true</code> if the server should tail log files
+     */
+    boolean shouldTailTraceFiles();
 
-	boolean shouldCleanStartup();
+    boolean shouldCleanStartup();
 
-	List<String> getArtefactOrder();
+    List<String> getArtefactOrder();
 
-	String getStaticFilenamePatterns();
+    String getStaticFilenamePatterns();
 
-	String getMaxPermSize();
+    String getMaxPermSize();
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerBehaviour.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerBehaviour.java
index d441db0..c37ee9f 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerBehaviour.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerBehaviour.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core;
 
 import java.util.Map;
@@ -21,41 +22,40 @@
 import org.eclipse.wst.server.core.model.IURLProvider;
 
 /**
- * Implementations of this interface are intended to provide extra knowledge
- * about the runtime behavior or a dm Server instance.
- * 
+ * Implementations of this interface are intended to provide extra knowledge about the runtime behavior or a dm Server
+ * instance.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public interface IServerBehaviour extends IURLProvider {
 
-	/** Property indicating the ip of the deployer JMX control */
-	String PROPERTY_MBEAN_SERVER_IP = ServerCorePlugin.PLUGIN_ID + "deployer.ip";
+    /** Property indicating the ip of the deployer JMX control */
+    String PROPERTY_MBEAN_SERVER_IP = ServerCorePlugin.PLUGIN_ID + "deployer.ip";
 
-	/**
-	 * Configure the given {@link ILaunch} and add all runtime settings like
-	 * class path and command line options.
-	 */
-	void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException;
+    /**
+     * Configure the given {@link ILaunch} and add all runtime settings like class path and command line options.
+     */
+    void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException;
 
-	/**
-	 * Returns the ip address of the controlled server
-	 */
-	String getMBeanServerIp();
+    /**
+     * Returns the ip address of the controlled server
+     */
+    String getMBeanServerIp();
 
-	/**
-	 * Returns the deployer control
-	 */
-	IServerDeployer getServerDeployer();
+    /**
+     * Returns the deployer control
+     */
+    IServerDeployer getServerDeployer();
 
-	IServerRuntimeProvider getVersionHandler();
+    IServerRuntimeProvider getVersionHandler();
 
-	Map<String, DeploymentIdentity> getDeploymentIdentities();
+    Map<String, DeploymentIdentity> getDeploymentIdentities();
 
-	IPath getModuleDeployUri(IModule module);
+    IPath getModuleDeployUri(IModule module);
 
-	void onModuleStateChange(IModule[] modules, int stateStopped);
+    void onModuleStateChange(IModule[] modules, int stateStopped);
 
-	void onModulePublishStateChange(IModule[] modules, int publishStateNone);
+    void onModulePublishStateChange(IModule[] modules, int publishStateNone);
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerConfiguration.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerConfiguration.java
index 6fbbdd1..95df802 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerConfiguration.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerConfiguration.java
@@ -8,25 +8,25 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core;
 
 import java.util.List;
 
 /**
- * Marker interface to be implemented by configuration providers for the dm
- * server integration.
- * 
+ * Marker interface to be implemented by configuration providers for the dm server integration.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public interface IServerConfiguration {
 
-	List<String> getArtefactOrder();
+    List<String> getArtefactOrder();
 
-	void setArtefactOrder(List<String> artefacts);
+    void setArtefactOrder(List<String> artefacts);
 
-	void addArtefact(String artefact);
+    void addArtefact(String artefact);
 
-	void removeArtefact(String artefact);
+    void removeArtefact(String artefact);
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerDeployer.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerDeployer.java
index 19d1526..3e0e430 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerDeployer.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerDeployer.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core;
 
 import java.io.IOException;
@@ -17,47 +18,46 @@
 import org.eclipse.wst.server.core.model.IModuleFile;
 
 /**
- * Interface for clients that want to control the deploy mechanism associated
- * with a {@link IServerRuntimeProvider}.
- * 
+ * Interface for clients that want to control the deploy mechanism associated with a {@link IServerRuntimeProvider}.
+ *
  * @author Christian Dupuis
  * @since 2.0.0
  */
 public interface IServerDeployer {
 
-	/**
-	 * Deploys the given {@link IModule}s on the server.
-	 */
-	void deploy(IModule... modules);
+    /**
+     * Deploys the given {@link IModule}s on the server.
+     */
+    void deploy(IModule... modules);
 
-	/**
-	 * Redeploys the given {@link IModule} on the server.
-	 */
-	void redeploy(IModule module);
+    /**
+     * Redeploys the given {@link IModule} on the server.
+     */
+    void redeploy(IModule module);
 
-	/**
-	 * Refreshes a given static resource of the given {@link IModule}s.
-	 */
-	void refreshStatic(IModule module, IModuleFile file);
+    /**
+     * Refreshes a given static resource of the given {@link IModule}s.
+     */
+    void refreshStatic(IModule module, IModuleFile file);
 
-	/**
-	 * Refresh the given {@link IModule}s inside a PAR.
-	 */
-	void refresh(IModule parModule, IModule... modules);
+    /**
+     * Refresh the given {@link IModule}s inside a PAR.
+     */
+    void refresh(IModule parModule, IModule... modules);
 
-	/**
-	 * Undeploys the given {@link IModule}s.
-	 */
-	void undeploy(IModule... modules);
+    /**
+     * Undeploys the given {@link IModule}s.
+     */
+    void undeploy(IModule... modules);
 
-	/**
-	 * Shuts down the server
-	 */
-	void shutdown() throws IOException, TimeoutException;
+    /**
+     * Shuts down the server
+     */
+    void shutdown() throws IOException, TimeoutException;
 
-	/**
-	 * Pings the server to if it is running
-	 */
-	Boolean ping() throws IOException, TimeoutException;
+    /**
+     * Pings the server to if it is running
+     */
+    Boolean ping() throws IOException, TimeoutException;
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerRuntime.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerRuntime.java
index 3280c80..b4e5d26 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerRuntime.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerRuntime.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core;
 
 import java.util.List;
@@ -17,48 +18,48 @@
 
 /**
  * Extension to {@link IJavaRuntime} that has specific dm Server methods.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public interface IServerRuntime extends IJavaRuntime {
 
-	String PROPERTY_VM_INSTALL_ID = "vm-install-id";
+    String PROPERTY_VM_INSTALL_ID = "vm-install-id";
 
-	String PROPERTY_VM_INSTALL_TYPE_ID = "vm-install-type-id";
+    String PROPERTY_VM_INSTALL_TYPE_ID = "vm-install-type-id";
 
-	String PROPERTY_SERVER_ADDRESS = ServerCorePlugin.PLUGIN_ID + ".serverAddressProperty";
+    String PROPERTY_SERVER_ADDRESS = ServerCorePlugin.PLUGIN_ID + ".serverAddressProperty";
 
-	String PROPERTY_VIRGO_VERSION_TYPE_ID = "virgo-version-type-id";
+    String PROPERTY_VIRGO_VERSION_TYPE_ID = "virgo-version-type-id";
 
-	/**
-	 * Returns the runtime classpath of the dm server runtime
-	 */
-	List<IRuntimeClasspathEntry> getRuntimeClasspath();
+    /**
+     * Returns the runtime classpath of the dm server runtime
+     */
+    List<IRuntimeClasspathEntry> getRuntimeClasspath();
 
-	/**
-	 * Returns the path to the server.profile file
-	 */
-	String getProfilePath();
+    /**
+     * Returns the path to the server.profile file
+     */
+    String getProfilePath();
 
-	/**
-	 * Returns the path to the server.config file
-	 */
-	String getConfigPath();
+    /**
+     * Returns the path to the server.config file
+     */
+    String getConfigPath();
 
-	/**
-	 * Returns the user level bundle repository path
-	 */
-	String getUserLevelBundleRepositoryPath();
+    /**
+     * Returns the user level bundle repository path
+     */
+    String getUserLevelBundleRepositoryPath();
 
-	/**
-	 * Returns the user level library path
-	 */
-	String getUserLevelLibraryRepositoryPath();
+    /**
+     * Returns the user level library path
+     */
+    String getUserLevelLibraryRepositoryPath();
 
-	/**
-	 * Returns the main class to launch the dm Server with.
-	 */
-	String getRuntimeClass();
+    /**
+     * Returns the main class to launch the dm Server with.
+     */
+    String getRuntimeClass();
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerRuntimeProvider.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerRuntimeProvider.java
index 4e3b822..06c1f54 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerRuntimeProvider.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerRuntimeProvider.java
@@ -9,6 +9,7 @@
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *     SAP AG - moving to Eclipse Libra project and enhancements
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core;
 
 import java.io.IOException;
@@ -30,7 +31,7 @@
 
 /**
  * Interface that encapsulates server settings such as for versions.
- * 
+ *
  * @author Christian Dupuis
  * @author Kaloyan Raev
  * @author Miles Parker
@@ -38,149 +39,147 @@
  */
 public interface IServerRuntimeProvider {
 
-	/**
-	 * Check if a certain dm server can serve a given module(type)
-	 */
-	IStatus canAddModule(IModule module);
+    /**
+     * Check if a certain dm server can serve a given module(type)
+     */
+    IStatus canAddModule(IModule module);
 
-	/**
-	 * Returns the to-be excluded program arguments
-	 */
-	String[] getExcludedRuntimeProgramArguments(boolean starting);
+    /**
+     * Returns the to-be excluded program arguments
+     */
+    String[] getExcludedRuntimeProgramArguments(boolean starting);
 
-	/**
-	 * Returns the runtime base directory.
-	 */
-	IPath getRuntimeBaseDirectory(org.eclipse.wst.server.core.IServer server);
+    /**
+     * Returns the runtime base directory.
+     */
+    IPath getRuntimeBaseDirectory(org.eclipse.wst.server.core.IServer server);
 
-	/**
-	 * Returns the runtime class
-	 */
-	String getRuntimeClass();
+    /**
+     * Returns the runtime class
+     */
+    String getRuntimeClass();
 
-	/**
-	 * Returns the runtime class path
-	 */
-	List<IRuntimeClasspathEntry> getRuntimeClasspath(IPath installPath);
+    /**
+     * Returns the runtime class path
+     */
+    List<IRuntimeClasspathEntry> getRuntimeClasspath(IPath installPath);
 
-	/**
-	 * Returns the runtime program arguments
-	 */
-	String[] getRuntimeProgramArguments(IServerBehaviour serverBehaviour);
+    /**
+     * Returns the runtime program arguments
+     */
+    String[] getRuntimeProgramArguments(IServerBehaviour serverBehaviour);
 
-	/**
-	 * Returns the runtime vm arguments
-	 */
-	String[] getRuntimeVMArguments(IServerBehaviour serverBehaviour, IPath installPath, IPath configPath,
-			IPath deployPath);
+    /**
+     * Returns the runtime vm arguments
+     */
+    String[] getRuntimeVMArguments(IServerBehaviour serverBehaviour, IPath installPath, IPath configPath, IPath deployPath);
 
-	/**
-	 * Verifies the installation directory
-	 */
-	IStatus verifyInstallation(IRuntime runtime);
+    /**
+     * Verifies the installation directory
+     */
+    IStatus verifyInstallation(IRuntime runtime);
 
-	/**
-	 * Returns the path to the server.config file
-	 */
-	String getProfilePath(IRuntime runtime);
+    /**
+     * Returns the path to the server.config file
+     */
+    String getProfilePath(IRuntime runtime);
 
-	/**
-	 * Returns the path to the ext directory in the bundle repository.
-	 */
-	String getExtLevelBundleRepositoryPath(IRuntime runtime);
+    /**
+     * Returns the path to the ext directory in the bundle repository.
+     */
+    String getExtLevelBundleRepositoryPath(IRuntime runtime);
 
-	/**
-	 * Returns the path to the user directory in the bundle repository.
-	 */
-	String getUserLevelBundleRepositoryPath(IRuntime runtime);
+    /**
+     * Returns the path to the user directory in the bundle repository.
+     */
+    String getUserLevelBundleRepositoryPath(IRuntime runtime);
 
-	/**
-	 * Returns the path to the library repository.
-	 */
-	String getUserLevelLibraryRepositoryPath(IRuntime runtime);
+    /**
+     * Returns the path to the library repository.
+     */
+    String getUserLevelLibraryRepositoryPath(IRuntime runtime);
 
-	/**
-	 * Returns the path to the server config.
-	 */
-	String getConfigPath(IRuntime runtime);
+    /**
+     * Returns the path to the server config.
+     */
+    String getConfigPath(IRuntime runtime);
 
-	/**
-	 * Returns the name of the Deployer MBean.
-	 */
-	String getDeployerMBeanName();
+    /**
+     * Returns the name of the Deployer MBean.
+     */
+    String getDeployerMBeanName();
 
-	/**
-	 * Returns the Recovery Monitor MBean.
-	 */
-	String getRecoveryMonitorMBeanName();
+    /**
+     * Returns the Recovery Monitor MBean.
+     */
+    String getRecoveryMonitorMBeanName();
 
-	/**
-	 * Returns the Shutdown MBean.
-	 */
-	String getShutdownMBeanName();
+    /**
+     * Returns the Shutdown MBean.
+     */
+    String getShutdownMBeanName();
 
-	/**
-	 * Returns the server ping command.
-	 */
-	IServerCommand<Boolean> getServerPingCommand(IServerBehaviour serverBehaviour);
+    /**
+     * Returns the server ping command.
+     */
+    IServerCommand<Boolean> getServerPingCommand(IServerBehaviour serverBehaviour);
 
-	/**
-	 * Returns the server shutdown command.
-	 */
-	IServerCommand<Void> getServerShutdownCommand(IServerBehaviour serverBehaviour);
+    /**
+     * Returns the server shutdown command.
+     */
+    IServerCommand<Void> getServerShutdownCommand(IServerBehaviour serverBehaviour);
 
-	/**
-	 * Returns the server deployer command.
-	 */
-	IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour serverBehaviour, IModule module);
+    /**
+     * Returns the server deployer command.
+     */
+    IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour serverBehaviour, IModule module);
 
-	/**
-	 * Returns the server refresh command.
-	 */
-	IServerCommand<Void> getServerRefreshCommand(IServerBehaviour serverBehaviour, IModule module,
-			String bundleSymbolicName);
+    /**
+     * Returns the server refresh command.
+     */
+    IServerCommand<Void> getServerRefreshCommand(IServerBehaviour serverBehaviour, IModule module, String bundleSymbolicName);
 
-	/**
-	 * Returns the server update command.
-	 */
-	IServerCommand<Void> getServerUpdateCommand(IServerBehaviour serverBehaviour, IModule module,
-			IModuleFile moduleFile, DeploymentIdentity identity, String bundleSymbolicName, String targetPath);
+    /**
+     * Returns the server update command.
+     */
+    IServerCommand<Void> getServerUpdateCommand(IServerBehaviour serverBehaviour, IModule module, IModuleFile moduleFile, DeploymentIdentity identity,
+        String bundleSymbolicName, String targetPath);
 
-	/**
-	 * Returns the server undeploy command.
-	 */
-	IServerCommand<Void> getServerUndeployCommand(IServerBehaviour serverBehaviour, IModule module);
+    /**
+     * Returns the server undeploy command.
+     */
+    IServerCommand<Void> getServerUndeployCommand(IServerBehaviour serverBehaviour, IModule module);
 
-	/**
-	 * Returns the server deploy command.
-	 */
-	IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour serverBehaviour);
+    /**
+     * Returns the server deploy command.
+     */
+    IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour serverBehaviour);
 
-	/**
-	 * Returns the server deploy command.
-	 */
-	URI getConnectorBundleUri();
+    /**
+     * Returns the server deploy command.
+     */
+    URI getConnectorBundleUri();
 
-	/**
-	 * Returns the server bundle admin command.
-	 */
-	IServerCommand<Map<Long, IBundle>> getServerBundleAdminCommand(IServerBehaviour serverBehaviour);
+    /**
+     * Returns the server bundle admin command.
+     */
+    IServerCommand<Map<Long, IBundle>> getServerBundleAdminCommand(IServerBehaviour serverBehaviour);
 
-	/**
-	 * Returns the server bundle execute command.
-	 */
-	IServerCommand<String> getServerBundleAdminExecuteCommand(IServerBehaviour serverBehaviour, String command);
+    /**
+     * Returns the server bundle execute command.
+     */
+    IServerCommand<String> getServerBundleAdminExecuteCommand(IServerBehaviour serverBehaviour, String command);
 
-	String[] getServerPropertiesDirectories();
+    String[] getServerPropertiesDirectories();
 
-	String[] getServerLogDirectories();
+    String[] getServerLogDirectories();
 
-	/**
-	 * Callback method for version handlers to setup servers before the server starts
-	 */
-	void preStartup(IServerBehaviour serverBehaviour);
+    /**
+     * Callback method for version handlers to setup servers before the server starts
+     */
+    void preStartup(IServerBehaviour serverBehaviour);
 
-	IDependencyLocator createDependencyLocator(IRuntime runtime, String serverHomePath, String[] additionalSearchPaths,
-			String indexDirectoryPath, JavaVersion javaVersion) throws IOException;
+    IDependencyLocator createDependencyLocator(IRuntime runtime, String serverHomePath, String[] additionalSearchPaths, String indexDirectoryPath,
+        JavaVersion javaVersion) throws IOException;
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerRuntimeWorkingCopy.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerRuntimeWorkingCopy.java
index d1eb125..688845f 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerRuntimeWorkingCopy.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerRuntimeWorkingCopy.java
@@ -8,24 +8,24 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core;
 
 import org.eclipse.jdt.launching.IVMInstall;
 import org.eclipse.jst.server.core.IJavaRuntime;
 
 /**
- * Extension to {@link IServerRuntime} that allows for set some java related
- * settings.
- * 
+ * Extension to {@link IServerRuntime} that allows for set some java related settings.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public interface IServerRuntimeWorkingCopy extends IServerRuntime, IJavaRuntime {
 
-	/**
-	 * Sets the {@link IVMInstall} for the given dm Server runtime
-	 */
-	void setVMInstall(IVMInstall vmInstall);
+    /**
+     * Sets the {@link IVMInstall} for the given dm Server runtime
+     */
+    void setVMInstall(IVMInstall vmInstall);
 
-	IServerRuntimeProvider getVirgoVersion();
+    IServerRuntimeProvider getVirgoVersion();
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerWorkingCopy.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerWorkingCopy.java
index 015dfc8..59dc326 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerWorkingCopy.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/IServerWorkingCopy.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core;
 
 import java.beans.PropertyChangeListener;
@@ -15,85 +16,85 @@
 
 /**
  * Extension to {@link IServer}.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @since 1.0.0
  */
 public interface IServerWorkingCopy extends IServer {
 
-	/** Default deploy directory name */
-	String DEFAULT_DEPLOYDIR = "stage";
+    /** Default deploy directory name */
+    String DEFAULT_DEPLOYDIR = "stage";
 
-	/** Default deploy timeout */
-	int DEFAULT_DEPLOY_TIMEOUT = 30;
+    /** Default deploy timeout */
+    int DEFAULT_DEPLOY_TIMEOUT = 30;
 
-	/** Default deployer control username */
-	String DEFAULT_MBEAN_SERVER_USERNAME = "admin";
+    /** Default deployer control username */
+    String DEFAULT_MBEAN_SERVER_USERNAME = "admin";
 
-	/** Default deployer control port */
-	String DEFAULT_MBEAN_SERVER_PORT = "9753";
+    /** Default deployer control port */
+    String DEFAULT_MBEAN_SERVER_PORT = "9753";
 
-	/** Default deployer control password */
-	String DEFAULT_MBEAN_SERVER_PASSWORD = "springsource";
+    /** Default deployer control password */
+    String DEFAULT_MBEAN_SERVER_PASSWORD = "springsource";
 
-	/** Default filename patters that should not trigger a bundle refresh */
-	String DEFAULT_STATIC_FILENAMES = "*.html,*.xhtml,*.css,*.js,*.jspx,*.jsp,*.gif,*.jpg,*.png,*.swf,*-flow.xml,*.properties,*.xml,!tiles.xml,!web.xml";
+    /** Default filename patters that should not trigger a bundle refresh */
+    String DEFAULT_STATIC_FILENAMES = "*.html,*.xhtml,*.css,*.js,*.jspx,*.jsp,*.gif,*.jpg,*.png,*.swf,*-flow.xml,*.properties,*.xml,!tiles.xml,!web.xml";
 
-	/** Default -XX:MaxPermSize value based on Virgo 3.6 dmk.sh */
-	String DEFAULT_MAX_PERM_SIZE = "512m";
+    /** Default -XX:MaxPermSize value based on Virgo 3.6 dmk.sh */
+    String DEFAULT_MAX_PERM_SIZE = "512m";
 
-	/** Default setting if the server should tail trace files */
-	boolean DEFAULT_TAIL_LOG_FILES = false;
+    /** Default setting if the server should tail trace files */
+    boolean DEFAULT_TAIL_LOG_FILES = false;
 
-	boolean DEFAULT_CLEAN_STARTUP = false;
+    boolean DEFAULT_CLEAN_STARTUP = false;
 
-	/**
-	 * Sets the deploy directory
-	 */
-	void setDeployDirectory(String deployDir);
+    /**
+     * Sets the deploy directory
+     */
+    void setDeployDirectory(String deployDir);
 
-	/**
-	 * Adds a {@link PropertyChangeListener} to the configuration backing the server.
-	 */
-	void addConfigurationChangeListener(PropertyChangeListener listener);
+    /**
+     * Adds a {@link PropertyChangeListener} to the configuration backing the server.
+     */
+    void addConfigurationChangeListener(PropertyChangeListener listener);
 
-	/**
-	 * Removes an installed {@link PropertyChangeListener}.
-	 */
-	void removeConfigurationChangeListener(PropertyChangeListener listener);
+    /**
+     * Removes an installed {@link PropertyChangeListener}.
+     */
+    void removeConfigurationChangeListener(PropertyChangeListener listener);
 
-	/**
-	 * Sets the username of the JMX deployer control
-	 */
-	void setMBeanServerUsername(String username);
+    /**
+     * Sets the username of the JMX deployer control
+     */
+    void setMBeanServerUsername(String username);
 
-	/**
-	 * Sets the port of the JMX deployer control
-	 */
-	void setMBeanServerPort(int port);
+    /**
+     * Sets the port of the JMX deployer control
+     */
+    void setMBeanServerPort(int port);
 
-	/**
-	 * Sets the timeout of the JMX deploy command
-	 */
-	void setDeployTimeout(int timeout);
+    /**
+     * Sets the timeout of the JMX deploy command
+     */
+    void setDeployTimeout(int timeout);
 
-	/**
-	 * Sets the password of the JMX deployer control
-	 */
-	void setMBeanServerPassword(String password);
+    /**
+     * Sets the password of the JMX deployer control
+     */
+    void setMBeanServerPassword(String password);
 
-	/**
-	 * Sets the flag to tail application trace files
-	 */
-	void shouldTailTraceFiles(boolean shouldTailTraceFiles);
+    /**
+     * Sets the flag to tail application trace files
+     */
+    void shouldTailTraceFiles(boolean shouldTailTraceFiles);
 
-	void shouldCleanStartup(boolean shouldCleanStartup);
+    void shouldCleanStartup(boolean shouldCleanStartup);
 
-	void setArtefactOrder(List<String> artefactOrder);
+    void setArtefactOrder(List<String> artefactOrder);
 
-	void setStaticFilenamePatterns(String filenamePatterns);
+    void setStaticFilenamePatterns(String filenamePatterns);
 
-	void setMaxPermSize(String maxPermSize);
+    void setMaxPermSize(String maxPermSize);
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/ServerCorePlugin.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/ServerCorePlugin.java
index 798bc3b..9f75633 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/ServerCorePlugin.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/ServerCorePlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core;
 
 import java.io.IOException;
@@ -27,85 +28,83 @@
 
 /**
  * Bundle Activator for the server.core plugin.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ServerCorePlugin extends AbstractUIPlugin {
 
-	/** The bundle symbolic name */
-	public static final String PLUGIN_ID = "org.eclipse.virgo.ide.runtime.core";
+    /** The bundle symbolic name */
+    public static final String PLUGIN_ID = "org.eclipse.virgo.ide.runtime.core";
 
-	public static final String PREF_LOAD_CLASSES_KEY = PLUGIN_ID + ".load.classes.from.index";
+    public static final String PREF_LOAD_CLASSES_KEY = PLUGIN_ID + ".load.classes.from.index";
 
-	/** The shared bundle instance */
-	private static ServerCorePlugin plugin;
+    /** The shared bundle instance */
+    private static ServerCorePlugin plugin;
 
-	/** Internal artefact repository manager */
-	private ArtefactRepositoryManager artefactRepositoryManager;
+    /** Internal artefact repository manager */
+    private ArtefactRepositoryManager artefactRepositoryManager;
 
-	public static ExecutorService EXECUTOR = Executors.newCachedThreadPool();
+    public static ExecutorService EXECUTOR = Executors.newCachedThreadPool();
 
-	private BundleContext context;
+    private BundleContext context;
 
-	public static final String VIRGO_SERVER_ID = "org.eclipse.virgo.server.virgo";
+    public static final String VIRGO_SERVER_ID = "org.eclipse.virgo.server.virgo";
 
-	public static final String VIRGO_SERVER_PROJECT_NATURE = "org.eclipse.virgo.ide.runtime.managedProject";
+    public static final String VIRGO_SERVER_PROJECT_NATURE = "org.eclipse.virgo.ide.runtime.managedProject";
 
-	@Override
-	public void start(BundleContext context) throws Exception {
-		this.context = context;
-		super.start(context);
-		plugin = this;
-		ServerUtils.clearCacheDirectory();
+    @Override
+    public void start(BundleContext context) throws Exception {
+        this.context = context;
+        super.start(context);
+        plugin = this;
+        ServerUtils.clearCacheDirectory();
 
-		plugin.getPreferenceStore().setDefault(PREF_LOAD_CLASSES_KEY, false);
+        plugin.getPreferenceStore().setDefault(PREF_LOAD_CLASSES_KEY, false);
 
-		artefactRepositoryManager = new ArtefactRepositoryManager();
-	}
+        this.artefactRepositoryManager = new ArtefactRepositoryManager();
+    }
 
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		ServerUtils.clearCacheDirectory();
-		artefactRepositoryManager.stop();
-		artefactRepositoryManager = null;
-		plugin = null;
-		super.stop(context);
-	}
+    @Override
+    public void stop(BundleContext context) throws Exception {
+        ServerUtils.clearCacheDirectory();
+        this.artefactRepositoryManager.stop();
+        this.artefactRepositoryManager = null;
+        plugin = null;
+        super.stop(context);
+    }
 
-	public static ServerCorePlugin getDefault() {
-		return plugin;
-	}
+    public static ServerCorePlugin getDefault() {
+        return plugin;
+    }
 
-	public static String getPreference(String id) {
-		return getDefault().getPluginPreferences().getString(id);
-	}
+    public static String getPreference(String id) {
+        return getDefault().getPluginPreferences().getString(id);
+    }
 
-	public static void setPreference(String id, String value) {
-		getDefault().getPluginPreferences().setValue(id, value);
-		getDefault().savePluginPreferences();
-	}
+    public static void setPreference(String id, String value) {
+        getDefault().getPluginPreferences().setValue(id, value);
+        getDefault().savePluginPreferences();
+    }
 
-	public static ArtefactRepositoryManager getArtefactRepositoryManager() {
-		return getDefault().artefactRepositoryManager;
-	}
+    public static ArtefactRepositoryManager getArtefactRepositoryManager() {
+        return getDefault().artefactRepositoryManager;
+    }
 
-	public URI getBundleUri(String bundleName) {
-		URL url;
-		try {
-			url = FileLocator.toFileURL(context.getBundle().getEntry(bundleName));
-			if (url != null) {
-				URI uri = new URI("file", url.toString().substring(5), null);
-				return uri;
-			}
-		} catch (IOException e) {
-			StatusManager.getManager().handle(
-					new Status(IStatus.ERROR, PLUGIN_ID, "Problem occurred while getting bundle:" + bundleName, e));
-		} catch (URISyntaxException e) {
-			StatusManager.getManager().handle(
-					new Status(IStatus.ERROR, PLUGIN_ID, "Problem occurred while getting bundle:" + bundleName, e));
-		}
-		StatusManager.getManager().handle(new Status(IStatus.ERROR, PLUGIN_ID, "Couldn't locate bundle:" + bundleName));
-		return null;
-	}
+    public URI getBundleUri(String bundleName) {
+        URL url;
+        try {
+            url = FileLocator.toFileURL(this.context.getBundle().getEntry(bundleName));
+            if (url != null) {
+                URI uri = new URI("file", url.toString().substring(5), null);
+                return uri;
+            }
+        } catch (IOException e) {
+            StatusManager.getManager().handle(new Status(IStatus.ERROR, PLUGIN_ID, "Problem occurred while getting bundle:" + bundleName, e));
+        } catch (URISyntaxException e) {
+            StatusManager.getManager().handle(new Status(IStatus.ERROR, PLUGIN_ID, "Problem occurred while getting bundle:" + bundleName, e));
+        }
+        StatusManager.getManager().handle(new Status(IStatus.ERROR, PLUGIN_ID, "Couldn't locate bundle:" + bundleName));
+        return null;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/ServerUtils.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/ServerUtils.java
index ea2566d..91ee028 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/ServerUtils.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/ServerUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core;
 
 import java.io.File;
@@ -55,250 +56,235 @@
 @SuppressWarnings("restriction")
 public class ServerUtils {
 
-	/** Path of the JRE container */
-	private static final String JRE_CONTAINER_STRING = "org.eclipse.jdt.launching.JRE_CONTAINER";
+    /** Path of the JRE container */
+    private static final String JRE_CONTAINER_STRING = "org.eclipse.jdt.launching.JRE_CONTAINER";
 
-	/** {@link Path} of the JRE classpath container */
-	private static final Path JRE_CONTAINER_PATH = new Path(JRE_CONTAINER_STRING);
+    /** {@link Path} of the JRE classpath container */
+    private static final Path JRE_CONTAINER_PATH = new Path(JRE_CONTAINER_STRING);
 
-	private static final String[] NO_ADDITIONAL_SEARCH_PATHS = new String[0];
+    private static final String[] NO_ADDITIONAL_SEARCH_PATHS = new String[0];
 
-	public static final String CACHE_LOCATION_PREFIX = "repository-cache";
+    public static final String CACHE_LOCATION_PREFIX = "repository-cache";
 
-	public static final String REPOSITORY_DOWNLOADS_PREFIX = "repository-downloads";
+    public static final String REPOSITORY_DOWNLOADS_PREFIX = "repository-downloads";
 
-	private static final AtomicLong REPOSITORY_COUNTER = new AtomicLong();
+    private static final AtomicLong REPOSITORY_COUNTER = new AtomicLong();
 
-	/**
-	 * Location of the bundle resolution cache used by the {@link DependencyLocator}
-	 */
-	public static final String CACHE_LOCATION = ServerCorePlugin.getDefault().getStateLocation().toFile() + "/"
-			+ CACHE_LOCATION_PREFIX + "-" + System.currentTimeMillis();
+    /**
+     * Location of the bundle resolution cache used by the {@link DependencyLocator}
+     */
+    public static final String CACHE_LOCATION = ServerCorePlugin.getDefault().getStateLocation().toFile() + "/" + CACHE_LOCATION_PREFIX + "-"
+        + System.currentTimeMillis();
 
-	/** Source jar file suffix */
-	private static final String SOURCES_SUFFIX = "-sources";
+    /** Source jar file suffix */
+    private static final String SOURCES_SUFFIX = "-sources";
 
-	/** Mapping of execution environment ids to {@link JavaVersion} */
-	private static final Map<String, JavaVersion> JAVA_VERSION_MAPPING;
+    /** Mapping of execution environment ids to {@link JavaVersion} */
+    private static final Map<String, JavaVersion> JAVA_VERSION_MAPPING;
 
-	static {
-		JAVA_VERSION_MAPPING = new HashMap<String, JavaVersion>();
-		JAVA_VERSION_MAPPING.put("J2SE-1.5", JavaVersion.Java5);
-		JAVA_VERSION_MAPPING.put("JavaSE-1.6", JavaVersion.Java6);
-	}
+    static {
+        JAVA_VERSION_MAPPING = new HashMap<String, JavaVersion>();
+        JAVA_VERSION_MAPPING.put("J2SE-1.5", JavaVersion.Java5);
+        JAVA_VERSION_MAPPING.put("JavaSE-1.6", JavaVersion.Java6);
+    }
 
-	/**
-	 * Returns the root of the installation directory.
-	 * 
-	 * @param targetedServerRuntimes
-	 *            the targeted servers of this project
-	 * @return path to server.profile file
-	 */
-	public static String getServerHome(IRuntime... targetedServerRuntimes) {
-		for (org.eclipse.wst.server.core.IRuntime serverRuntime : targetedServerRuntimes) {
-			VirgoServerRuntime sRuntime = (VirgoServerRuntime) serverRuntime.loadAdapter(VirgoServerRuntime.class,
-					new NullProgressMonitor());
-			if (sRuntime != null) {
-				return serverRuntime.getLocation().toString();
-			}
-		}
-		return null;
-	}
+    /**
+     * Returns the root of the installation directory.
+     *
+     * @param targetedServerRuntimes the targeted servers of this project
+     * @return path to server.profile file
+     */
+    public static String getServerHome(IRuntime... targetedServerRuntimes) {
+        for (org.eclipse.wst.server.core.IRuntime serverRuntime : targetedServerRuntimes) {
+            VirgoServerRuntime sRuntime = (VirgoServerRuntime) serverRuntime.loadAdapter(VirgoServerRuntime.class, new NullProgressMonitor());
+            if (sRuntime != null) {
+                return serverRuntime.getLocation().toString();
+            }
+        }
+        return null;
+    }
 
-	/**
-	 * Returns the targeted runtimes of the given project
-	 * 
-	 * @param project
-	 *            the project to return the target runtimes for
-	 */
-	public static IRuntime[] getTargettedRuntimes(IProject project) {
-		final Set<org.eclipse.wst.server.core.IRuntime> targetedServerRuntimes = new LinkedHashSet<org.eclipse.wst.server.core.IRuntime>();
+    /**
+     * Returns the targeted runtimes of the given project
+     *
+     * @param project the project to return the target runtimes for
+     */
+    public static IRuntime[] getTargettedRuntimes(IProject project) {
+        final Set<org.eclipse.wst.server.core.IRuntime> targetedServerRuntimes = new LinkedHashSet<org.eclipse.wst.server.core.IRuntime>();
 
-		ServerRuntimeUtils.execute(project, new ServerRuntimeUtils.ServerRuntimeCallback() {
+        ServerRuntimeUtils.execute(project, new ServerRuntimeUtils.ServerRuntimeCallback() {
 
-			public boolean doWithRuntime(VirgoServerRuntime runtime) {
-				targetedServerRuntimes.add(runtime.getRuntime());
-				return true;
-			}
-		});
+            public boolean doWithRuntime(VirgoServerRuntime runtime) {
+                targetedServerRuntimes.add(runtime.getRuntime());
+                return true;
+            }
+        });
 
-		return targetedServerRuntimes.toArray(new IRuntime[targetedServerRuntimes.size()]);
-	}
+        return targetedServerRuntimes.toArray(new IRuntime[targetedServerRuntimes.size()]);
+    }
 
-	/**
-	 * Creates a {@link DependencyLocator} instance suitable for the given project.
-	 * 
-	 * @param project
-	 *            the project
-	 * @param additionalSearchPaths
-	 *            any additional search paths.
-	 */
-	public static IDependencyLocator createDependencyLocator(IProject project, String[] additionalSearchPaths) {
-		try {
-			IRuntime[] serverRuntimes = getTargettedRuntimes(project);
-			if (serverRuntimes == null || serverRuntimes.length == 0) {
-				return null;
-			}
-			return createDependencyLocator(serverRuntimes[0], getServerHome(serverRuntimes), additionalSearchPaths,
-					getCacheDirectoryPath(), getJavaVersion(project));
-		} catch (IOException e) {
-			StatusUtil.error("An IO Exception occurred.", e);
-		}
-		return null;
-	}
+    /**
+     * Creates a {@link DependencyLocator} instance suitable for the given project.
+     *
+     * @param project the project
+     * @param additionalSearchPaths any additional search paths.
+     */
+    public static IDependencyLocator createDependencyLocator(IProject project, String[] additionalSearchPaths) {
+        try {
+            IRuntime[] serverRuntimes = getTargettedRuntimes(project);
+            if (serverRuntimes == null || serverRuntimes.length == 0) {
+                return null;
+            }
+            return createDependencyLocator(serverRuntimes[0], getServerHome(serverRuntimes), additionalSearchPaths, getCacheDirectoryPath(),
+                getJavaVersion(project));
+        } catch (IOException e) {
+            StatusUtil.error("An IO Exception occurred.", e);
+        }
+        return null;
+    }
 
-	/**
-	 * Creates a {@link DependencyLocator} instance suitable for the given runtime.
-	 * 
-	 * @param project
-	 *            the project
-	 * @param additionalSearchPaths
-	 *            any additional search paths.
-	 */
-	public static IDependencyLocator createDependencyLocator(IRuntime serverRuntime) {
-		if (serverRuntime == null) {
-			return null;
-		}
-		try {
-			// Create DependencyLocator with path to server.config and
-			// server.profile
-			return createDependencyLocator(serverRuntime, getServerHome(serverRuntime), NO_ADDITIONAL_SEARCH_PATHS,
-					getCacheDirectoryPath(), null);
-		} catch (IOException e) {
-			StatusUtil.error(e);
-		}
-		return null;
-	}
+    /**
+     * Creates a {@link DependencyLocator} instance suitable for the given runtime.
+     *
+     * @param project the project
+     * @param additionalSearchPaths any additional search paths.
+     */
+    public static IDependencyLocator createDependencyLocator(IRuntime serverRuntime) {
+        if (serverRuntime == null) {
+            return null;
+        }
+        try {
+            // Create DependencyLocator with path to server.config and
+            // server.profile
+            return createDependencyLocator(serverRuntime, getServerHome(serverRuntime), NO_ADDITIONAL_SEARCH_PATHS, getCacheDirectoryPath(), null);
+        } catch (IOException e) {
+            StatusUtil.error(e);
+        }
+        return null;
+    }
 
-	private static IDependencyLocator createDependencyLocator(IRuntime runtime, String serverHomePath,
-			String[] additionalSearchPaths, String indexDirectoryPath, JavaVersion javaVersion) throws IOException {
-		IServerRuntimeWorkingCopy serverRuntime = (IServerRuntimeWorkingCopy) runtime.loadAdapter(
-				IServerRuntimeWorkingCopy.class, null);
-		if (serverRuntime != null) {
-			IServerRuntimeProvider versionHandler = serverRuntime.getVirgoVersion();
-			if (versionHandler != null) {
-				return versionHandler.createDependencyLocator(runtime, serverHomePath, additionalSearchPaths,
-						indexDirectoryPath, javaVersion);
-			}
-		}
-		return null;
-	}
+    private static IDependencyLocator createDependencyLocator(IRuntime runtime, String serverHomePath, String[] additionalSearchPaths,
+        String indexDirectoryPath, JavaVersion javaVersion) throws IOException {
+        IServerRuntimeWorkingCopy serverRuntime = (IServerRuntimeWorkingCopy) runtime.loadAdapter(IServerRuntimeWorkingCopy.class, null);
+        if (serverRuntime != null) {
+            IServerRuntimeProvider versionHandler = serverRuntime.getVirgoVersion();
+            if (versionHandler != null) {
+                return versionHandler.createDependencyLocator(runtime, serverHomePath, additionalSearchPaths, indexDirectoryPath, javaVersion);
+            }
+        }
+        return null;
+    }
 
-	/**
-	 * Returns the cache directory to be used by the {@link DependencyLocator}
-	 */
-	private static String getCacheDirectoryPath() {
-		// trying to generated a thread unique directory name
-		File cacheDirectoryPath = new File(new StringBuilder(CACHE_LOCATION).append("-")
-				.append(REPOSITORY_COUNTER.getAndIncrement())
-				.toString());
-		if (!cacheDirectoryPath.exists()) {
-			cacheDirectoryPath.mkdirs();
-		}
-		return cacheDirectoryPath.toString();
-	}
+    /**
+     * Returns the cache directory to be used by the {@link DependencyLocator}
+     */
+    private static String getCacheDirectoryPath() {
+        // trying to generated a thread unique directory name
+        File cacheDirectoryPath = new File(new StringBuilder(CACHE_LOCATION).append("-").append(REPOSITORY_COUNTER.getAndIncrement()).toString());
+        if (!cacheDirectoryPath.exists()) {
+            cacheDirectoryPath.mkdirs();
+        }
+        return cacheDirectoryPath.toString();
+    }
 
-	/**
-	 * Returns the name of the source jar following the BRITS conventions
-	 */
-	public static File getSourceFile(URI uri) {
-		File file = new File(uri);
-		StringBuilder builder = new StringBuilder(file.getName());
-		int ix = builder.lastIndexOf("-");
-		if (ix > 0) {
-			builder.insert(ix, SOURCES_SUFFIX);
-			File sourceFile = new File(file.getParentFile(), builder.toString());
-			return sourceFile;
-		}
-		return null;
-	}
+    /**
+     * Returns the name of the source jar following the BRITS conventions
+     */
+    public static File getSourceFile(URI uri) {
+        File file = new File(uri);
+        StringBuilder builder = new StringBuilder(file.getName());
+        int ix = builder.lastIndexOf("-");
+        if (ix > 0) {
+            builder.insert(ix, SOURCES_SUFFIX);
+            File sourceFile = new File(file.getParentFile(), builder.toString());
+            return sourceFile;
+        }
+        return null;
+    }
 
-	public static void clearCacheDirectory() {
-		File stateLocation = ServerCorePlugin.getDefault().getStateLocation().toFile();
+    public static void clearCacheDirectory() {
+        File stateLocation = ServerCorePlugin.getDefault().getStateLocation().toFile();
 
-		for (File folder : stateLocation.listFiles(new FilenameFilter() {
-			public boolean accept(File dir, String name) {
-				return name.startsWith(CACHE_LOCATION_PREFIX) || name.startsWith(REPOSITORY_DOWNLOADS_PREFIX);
-			}
-		})) {
-			PublishUtil.deleteDirectory(folder, new NullProgressMonitor());
-		}
+        for (File folder : stateLocation.listFiles(new FilenameFilter() {
 
-	}
+            public boolean accept(File dir, String name) {
+                return name.startsWith(CACHE_LOCATION_PREFIX) || name.startsWith(REPOSITORY_DOWNLOADS_PREFIX);
+            }
+        })) {
+            PublishUtil.deleteDirectory(folder, new NullProgressMonitor());
+        }
 
-	/**
-	 * Returns the {@link JavaVersion} of the given {@link IJavaProject}
-	 */
-	public static JavaVersion getJavaVersion(IProject project) {
-		IJavaProject javaProject = JavaCore.create(project);
-		if (javaProject != null) {
+    }
 
-			// first check the manifest for that
-			// Bundle-RequiredExecutionEnvironment
-			BundleManifest bundleManifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(
-					javaProject);
-			Dictionary<String, String> manifest = bundleManifest.toDictionary();
-			if (manifest != null && manifest.get(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT) != null) {
-				String javaVersion = manifest.get(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-				return JAVA_VERSION_MAPPING.get(javaVersion);
-			}
+    /**
+     * Returns the {@link JavaVersion} of the given {@link IJavaProject}
+     */
+    public static JavaVersion getJavaVersion(IProject project) {
+        IJavaProject javaProject = JavaCore.create(project);
+        if (javaProject != null) {
 
-			// second check the project for a matching jvm
-			try {
-				IClasspathContainer container = JavaCore.getClasspathContainer(JRE_CONTAINER_PATH, javaProject);
-				if (container != null && container instanceof JREContainer) {
-					// reflection hack to get the internal jvm install
-					Field field = JREContainer.class.getDeclaredField("fVMInstall");
-					field.setAccessible(true);
-					IVMInstall vm = (IVMInstall) field.get(container);
+            // first check the manifest for that
+            // Bundle-RequiredExecutionEnvironment
+            BundleManifest bundleManifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(javaProject);
+            Dictionary<String, String> manifest = bundleManifest.toDictionary();
+            if (manifest != null && manifest.get(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT) != null) {
+                String javaVersion = manifest.get(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
+                return JAVA_VERSION_MAPPING.get(javaVersion);
+            }
 
-					IExecutionEnvironmentsManager manager = JavaRuntime.getExecutionEnvironmentsManager();
-					// check for strict match
-					for (IExecutionEnvironment executionEnvironment : manager.getExecutionEnvironments()) {
-						if (executionEnvironment.isStrictlyCompatible(vm)) {
-							return JAVA_VERSION_MAPPING.get(executionEnvironment.getId());
-						}
-					}
+            // second check the project for a matching jvm
+            try {
+                IClasspathContainer container = JavaCore.getClasspathContainer(JRE_CONTAINER_PATH, javaProject);
+                if (container != null && container instanceof JREContainer) {
+                    // reflection hack to get the internal jvm install
+                    Field field = JREContainer.class.getDeclaredField("fVMInstall");
+                    field.setAccessible(true);
+                    IVMInstall vm = (IVMInstall) field.get(container);
 
-					// check for default
-					for (IExecutionEnvironment executionEnvironment : manager.getExecutionEnvironments()) {
-						if (executionEnvironment.getDefaultVM() != null
-								&& executionEnvironment.getDefaultVM().equals(vm)) {
-							return JAVA_VERSION_MAPPING.get(executionEnvironment.getId());
-						}
-					}
+                    IExecutionEnvironmentsManager manager = JavaRuntime.getExecutionEnvironmentsManager();
+                    // check for strict match
+                    for (IExecutionEnvironment executionEnvironment : manager.getExecutionEnvironments()) {
+                        if (executionEnvironment.isStrictlyCompatible(vm)) {
+                            return JAVA_VERSION_MAPPING.get(executionEnvironment.getId());
+                        }
+                    }
 
-					// check for compatibility
-					for (IExecutionEnvironment executionEnvironment : manager.getExecutionEnvironments()) {
-						if (Arrays.asList(executionEnvironment.getCompatibleVMs()).contains(vm)) {
-							return JAVA_VERSION_MAPPING.get(executionEnvironment.getId());
-						}
-					}
-				}
-			} catch (Exception e) {
-				StatusUtil.error(e);
-			}
-		}
-		return null;
-	}
+                    // check for default
+                    for (IExecutionEnvironment executionEnvironment : manager.getExecutionEnvironments()) {
+                        if (executionEnvironment.getDefaultVM() != null && executionEnvironment.getDefaultVM().equals(vm)) {
+                            return JAVA_VERSION_MAPPING.get(executionEnvironment.getId());
+                        }
+                    }
 
-	public static Server getServer(IServerBehaviour server) {
-		if (server instanceof ServerBehaviour) {
-			return (Server) ((ServerBehaviour) server).getServer().loadAdapter(Server.class, null);
-		}
-		return null;
-	}
+                    // check for compatibility
+                    for (IExecutionEnvironment executionEnvironment : manager.getExecutionEnvironments()) {
+                        if (Arrays.asList(executionEnvironment.getCompatibleVMs()).contains(vm)) {
+                            return JAVA_VERSION_MAPPING.get(executionEnvironment.getId());
+                        }
+                    }
+                }
+            } catch (Exception e) {
+                StatusUtil.error(e);
+            }
+        }
+        return null;
+    }
 
-	public static VirgoServerRuntime getServerRuntime(IServerBehaviour server) {
-		if (server instanceof ServerBehaviour) {
-			if (((ServerBehaviour) server).getServer().getRuntime() == null) {
-				return null;
-			}
-			return (VirgoServerRuntime) ((ServerBehaviour) server).getServer()
-					.getRuntime()
-					.loadAdapter(VirgoServerRuntime.class, null);
-		}
-		return null;
-	}
+    public static Server getServer(IServerBehaviour server) {
+        if (server instanceof ServerBehaviour) {
+            return (Server) ((ServerBehaviour) server).getServer().loadAdapter(Server.class, null);
+        }
+        return null;
+    }
+
+    public static VirgoServerRuntime getServerRuntime(IServerBehaviour server) {
+        if (server instanceof ServerBehaviour) {
+            if (((ServerBehaviour) server).getServer().getRuntime() == null) {
+                return null;
+            }
+            return (VirgoServerRuntime) ((ServerBehaviour) server).getServer().getRuntime().loadAdapter(VirgoServerRuntime.class, null);
+        }
+        return null;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/Artefact.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/Artefact.java
index b91a97c..908e5f9 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/Artefact.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/Artefact.java
@@ -4,164 +4,159 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core.artefacts;
 
 import org.eclipse.virgo.ide.bundlerepository.domain.OsgiVersion;
 
 /**
  * Represents an artefact in the repository :- bundle or library
- * 
+ *
  * @author adriancolyer
  */
 public abstract class Artefact implements IArtefact {
 
-	private byte[] name; // human readable name of the artefact
+    private byte[] name; // human readable name of the artefact
 
-	private byte[] symbolicName; // identifying name
+    private byte[] symbolicName; // identifying name
 
-	private OsgiVersion version; // artefact version
+    private OsgiVersion version; // artefact version
 
-	private byte[] organisationName; // organisation name as defined in ivy.xml
-										// and used in artefact path
+    private byte[] organisationName; // organisation name as defined in ivy.xml
+                                     // and used in artefact path
 
-	private byte[] moduleName; // module name as defined in ivy.xml and used in
-								// artefact path
+    private byte[] moduleName; // module name as defined in ivy.xml and used in
+                               // artefact path
 
-	private boolean sourceAvailable = false; // indicates if source code is
-												// available
+    private boolean sourceAvailable = false; // indicates if source code is
+                                             // available
 
-	private ArtefactRepository repository;
+    private ArtefactRepository repository;
 
-	private ArtefactSet set;
+    private ArtefactSet set;
 
-	/** for persistence use only */
-	protected Artefact() {
-	}
+    /** for persistence use only */
+    protected Artefact() {
+    }
 
-	/**
-	 * Construct a new artefact
-	 * 
-	 * @param name
-	 *            human readable artefact name (e.g. "Spring Framework")
-	 * @param symbolicName
-	 *            uniquely identifying name (e.g. "org.springframework")
-	 * @param version
-	 *            version of the artefact, following OSGi Version semantics
-	 * @param organisationName
-	 *            organisation name as defined in ivy.xml
-	 * @param moduleName
-	 *            module name as defined in ivy.xml
-	 */
-	public Artefact(String name, String symbolicName, OsgiVersion version, String organisationName, String moduleName) {
-		this.name = ArtefactRepositoryManager.convert(name);
-		this.symbolicName = ArtefactRepositoryManager.convert(symbolicName);
-		this.version = version;
-		this.organisationName = ArtefactRepositoryManager.convert(organisationName);
-		this.moduleName = ArtefactRepositoryManager.convert(moduleName);
-	}
+    /**
+     * Construct a new artefact
+     *
+     * @param name human readable artefact name (e.g. "Spring Framework")
+     * @param symbolicName uniquely identifying name (e.g. "org.springframework")
+     * @param version version of the artefact, following OSGi Version semantics
+     * @param organisationName organisation name as defined in ivy.xml
+     * @param moduleName module name as defined in ivy.xml
+     */
+    public Artefact(String name, String symbolicName, OsgiVersion version, String organisationName, String moduleName) {
+        this.name = ArtefactRepositoryManager.convert(name);
+        this.symbolicName = ArtefactRepositoryManager.convert(symbolicName);
+        this.version = version;
+        this.organisationName = ArtefactRepositoryManager.convert(organisationName);
+        this.moduleName = ArtefactRepositoryManager.convert(moduleName);
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getName()
-	 */
-	public String getName() {
-		return (name != null ? new String(name) : null);
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getName()
+     */
+    public String getName() {
+        return this.name != null ? new String(this.name) : null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getSymbolicName()
-	 */
-	public String getSymbolicName() {
-		return (symbolicName != null ? new String(symbolicName) : null);
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getSymbolicName()
+     */
+    public String getSymbolicName() {
+        return this.symbolicName != null ? new String(this.symbolicName) : null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getVersion()
-	 */
-	public OsgiVersion getVersion() {
-		return version;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getVersion()
+     */
+    public OsgiVersion getVersion() {
+        return this.version;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getOrganisationName()
-	 */
-	public String getOrganisationName() {
-		return (organisationName != null ? new String(organisationName) : null);
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getOrganisationName()
+     */
+    public String getOrganisationName() {
+        return this.organisationName != null ? new String(this.organisationName) : null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getModuleName()
-	 */
-	public String getModuleName() {
-		return (moduleName != null ? new String(moduleName) : null);
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getModuleName()
+     */
+    public String getModuleName() {
+        return this.moduleName != null ? new String(this.moduleName) : null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#isSourceAvailable()
-	 */
-	public boolean isSourceAvailable() {
-		return this.sourceAvailable;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#isSourceAvailable()
+     */
+    public boolean isSourceAvailable() {
+        return this.sourceAvailable;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#setSourceAvailable(boolean)
-	 */
-	public void setSourceAvailable(boolean sourceAvailable) {
-		this.sourceAvailable = sourceAvailable;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#setSourceAvailable(boolean)
+     */
+    public void setSourceAvailable(boolean sourceAvailable) {
+        this.sourceAvailable = sourceAvailable;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getRelativeUrlPath()
-	 */
-	public abstract String getRelativeUrlPath();
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getRelativeUrlPath()
+     */
+    public abstract String getRelativeUrlPath();
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getRelativeLicenseUrlPath()
-	 */
-	public String getRelativeLicenseUrlPath() {
-		return "/" + getOrganisationName() + "/" + getModuleName() + "/" + getVersion() + "/license-" + getVersion()
-				+ ".txt";
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getRelativeLicenseUrlPath()
+     */
+    public String getRelativeLicenseUrlPath() {
+        return "/" + getOrganisationName() + "/" + getModuleName() + "/" + getVersion() + "/license-" + getVersion() + ".txt";
+    }
 
-	public String getSignature() {
-		return getSymbolicName() + ";" + getVersion() + ";" + getArtefactType().getLabel();
-	}
+    public String getSignature() {
+        return getSymbolicName() + ";" + getVersion() + ";" + getArtefactType().getLabel();
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#isMatch(org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact)
-	 */
-	public boolean isMatch(IArtefact artefact) {
-		return getSignature().equals(artefact.getSignature());
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#isMatch(org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact)
+     */
+    public boolean isMatch(IArtefact artefact) {
+        return getSignature().equals(artefact.getSignature());
+    }
 
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	@Override
-	public boolean equals(Object other) {
-		if (other instanceof Artefact) {
-			Artefact artefact = (Artefact) other;
-			return isMatch(artefact) && sourceAvailable == artefact.sourceAvailable;
-		}
-		return false;
-	}
+    /**
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @Override
+    public boolean equals(Object other) {
+        if (other instanceof Artefact) {
+            Artefact artefact = (Artefact) other;
+            return isMatch(artefact) && this.sourceAvailable == artefact.sourceAvailable;
+        }
+        return false;
+    }
 
-	public ArtefactRepository getRepository() {
-		return repository;
-	}
+    public ArtefactRepository getRepository() {
+        return this.repository;
+    }
 
-	public void setRepository(ArtefactRepository repository) {
-		this.repository = repository;
-	}
+    public void setRepository(ArtefactRepository repository) {
+        this.repository = repository;
+    }
 
-	public ArtefactSet getSet() {
-		return set;
-	}
+    public ArtefactSet getSet() {
+        return this.set;
+    }
 
-	public void setSet(ArtefactSet set) {
-		this.set = set;
-	}
+    public void setSet(ArtefactSet set) {
+        this.set = set;
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactRepository.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactRepository.java
index 9a4fa4c..dbd345f 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactRepository.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactRepository.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core.artefacts;
 
 import java.util.ArrayList;
@@ -22,108 +23,109 @@
  */
 public class ArtefactRepository {
 
-	ArtefactSet bundles;
+    ArtefactSet bundles;
 
-	ArtefactSet libraries;
+    ArtefactSet libraries;
 
-	ArtefactSet allArtefacts;
+    ArtefactSet allArtefacts;
 
-	List<ArtefactSet> allSets;
+    List<ArtefactSet> allSets;
 
-	IServer server;
+    IServer server;
 
-	public ArtefactRepository() {
-		bundles = createArtefactSet(ArtefactType.BUNDLE);
-		libraries = createArtefactSet(ArtefactType.LIBRARY);
-		allArtefacts = new ArtefactSet(this, ArtefactType.COMBINED);
-		allSets = new ArrayList<ArtefactSet>();
-		allSets.add(bundles);
-		allSets.add(libraries);
-	}
+    public ArtefactRepository() {
+        this.bundles = createArtefactSet(ArtefactType.BUNDLE);
+        this.libraries = createArtefactSet(ArtefactType.LIBRARY);
+        this.allArtefacts = new ArtefactSet(this, ArtefactType.COMBINED);
+        this.allSets = new ArrayList<ArtefactSet>();
+        this.allSets.add(this.bundles);
+        this.allSets.add(this.libraries);
+    }
 
-	protected ArtefactSet createArtefactSet(ArtefactType type) {
-		return new ArtefactSet(this, type) {
-			@Override
-			public boolean add(IArtefact artefact) {
-				return super.add(artefact) && allArtefacts.add(artefact);
-			}
-		};
-	}
+    protected ArtefactSet createArtefactSet(ArtefactType type) {
+        return new ArtefactSet(this, type) {
 
-	public Iterable<IArtefact> getBundles() {
-		return bundles.getArtefacts();
-	}
+            @Override
+            public boolean add(IArtefact artefact) {
+                return super.add(artefact) && ArtefactRepository.this.allArtefacts.add(artefact);
+            }
+        };
+    }
 
-	public ArtefactSet getArtefactSet(ArtefactType artefactType) {
-		if (artefactType == ArtefactType.BUNDLE) {
-			return bundles;
-		} else if (artefactType == ArtefactType.LIBRARY) {
-			return libraries;
-		}
-		throw new RuntimeException("Internal error, bad artifact type: " + artefactType);
-	}
+    public Iterable<IArtefact> getBundles() {
+        return this.bundles.getArtefacts();
+    }
 
-	/**
-	 * Returns the appropriate set for the artefact. This set may or may not actually contain the supplied artefact.
-	 */
-	public ArtefactSet getMatchingArtefactSet(IArtefactTyped artefact) {
-		return getArtefactSet(artefact.getArtefactType());
-	}
+    public ArtefactSet getArtefactSet(ArtefactType artefactType) {
+        if (artefactType == ArtefactType.BUNDLE) {
+            return this.bundles;
+        } else if (artefactType == ArtefactType.LIBRARY) {
+            return this.libraries;
+        }
+        throw new RuntimeException("Internal error, bad artifact type: " + artefactType);
+    }
 
-	/**
-	 * Adds the artefact to the appropriate and common set.
-	 */
-	public void add(IArtefact artefact) {
-		getMatchingArtefactSet(artefact).add(artefact);
-		artefact.setRepository(this);
-	}
+    /**
+     * Returns the appropriate set for the artefact. This set may or may not actually contain the supplied artefact.
+     */
+    public ArtefactSet getMatchingArtefactSet(IArtefactTyped artefact) {
+        return getArtefactSet(artefact.getArtefactType());
+    }
 
-	public ArtefactSet getLibrarySet() {
-		return libraries;
-	}
+    /**
+     * Adds the artefact to the appropriate and common set.
+     */
+    public void add(IArtefact artefact) {
+        getMatchingArtefactSet(artefact).add(artefact);
+        artefact.setRepository(this);
+    }
 
-	public ArtefactSet getBundleSet() {
-		return bundles;
-	}
+    public ArtefactSet getLibrarySet() {
+        return this.libraries;
+    }
 
-	public void addBundle(BundleArtefact bundle) {
-		// Add to all handled through set
-		this.bundles.add(bundle);
-		bundle.setRepository(this);
-	}
+    public ArtefactSet getBundleSet() {
+        return this.bundles;
+    }
 
-	public Iterable<IArtefact> getLibraries() {
-		// Add to all handled through set
-		return libraries.getArtefacts();
-	}
+    public void addBundle(BundleArtefact bundle) {
+        // Add to all handled through set
+        this.bundles.add(bundle);
+        bundle.setRepository(this);
+    }
 
-	public void addLibrary(LibraryArtefact library) {
-		this.libraries.add(library);
-		library.setRepository(this);
-	}
+    public Iterable<IArtefact> getLibraries() {
+        // Add to all handled through set
+        return this.libraries.getArtefacts();
+    }
 
-	public ArtefactSet getAllArtefacts() {
-		return allArtefacts;
-	}
+    public void addLibrary(LibraryArtefact library) {
+        this.libraries.add(library);
+        library.setRepository(this);
+    }
 
-	public List<ArtefactSet> getAllSets() {
-		return allSets;
-	}
+    public ArtefactSet getAllArtefacts() {
+        return this.allArtefacts;
+    }
 
-	public boolean contains(IArtefact artefact) {
-		for (IArtefact repositoryArtefact : getMatchingArtefactSet(artefact).getArtefacts()) {
-			if (artefact.isMatch(repositoryArtefact)) {
-				return true;
-			}
-		}
-		return false;
-	}
+    public List<ArtefactSet> getAllSets() {
+        return this.allSets;
+    }
 
-	public void setServer(IServer server) {
-		this.server = server;
-	}
+    public boolean contains(IArtefact artefact) {
+        for (IArtefact repositoryArtefact : getMatchingArtefactSet(artefact).getArtefacts()) {
+            if (artefact.isMatch(repositoryArtefact)) {
+                return true;
+            }
+        }
+        return false;
+    }
 
-	public IServer getServer() {
-		return server;
-	}
+    public void setServer(IServer server) {
+        this.server = server;
+    }
+
+    public IServer getServer() {
+        return this.server;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactRepositoryManager.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactRepositoryManager.java
index 6a14d51..f7e75ec 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactRepositoryManager.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactRepositoryManager.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core.artefacts;
 
 import java.io.File;
@@ -71,583 +72,577 @@
  * Manages instances of {@link ArtefactRepository} to represent the current contents of the SpringSource Enterprise
  * Bundle Repository and {@link BundleRepository}s indexed by {@link IRuntime} representing local bundle and library
  * repositories in a Virgo Server instance.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ArtefactRepositoryManager {
 
-	private ArtefactRepository artefactRepository = new ArtefactRepository();
+    private ArtefactRepository artefactRepository = new ArtefactRepository();
 
-	private final Map<IRuntime, BundleRepository> bundleRepositories = new ConcurrentHashMap<IRuntime, BundleRepository>();
+    private final Map<IRuntime, BundleRepository> bundleRepositories = new ConcurrentHashMap<IRuntime, BundleRepository>();
 
-	private Date repositoryDate = new Date();
+    private Date repositoryDate = new Date();
 
-	private final SpringSourceApplicationPlatform applicationPlatform = new SpringSourceApplicationPlatform();
+    private final SpringSourceApplicationPlatform applicationPlatform = new SpringSourceApplicationPlatform();
 
-	private final Set<IBundleRepositoryChangeListener> changeListeners = Collections.synchronizedSet(new HashSet<IBundleRepositoryChangeListener>());
+    private final Set<IBundleRepositoryChangeListener> changeListeners = Collections.synchronizedSet(new HashSet<IBundleRepositoryChangeListener>());
 
-	private volatile boolean initialized = false;
+    private volatile boolean initialized = false;
 
-	protected static final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
+    protected static final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
 
-	protected static final Lock r = rwl.readLock();
+    protected static final Lock r = rwl.readLock();
 
-	protected static final Lock w = rwl.writeLock();
+    protected static final Lock w = rwl.writeLock();
 
-	private List<OsgiVersion> findBundleVersions(String symbolicName) {
-		List<OsgiVersion> versions = new ArrayList<OsgiVersion>();
-		try {
-			r.lock();
-			for (IArtefact bundle : artefactRepository.getBundles()) {
-				if (bundle.getSymbolicName().equals(symbolicName)) {
-					versions.add(bundle.getVersion());
-				}
-			}
-		} finally {
-			r.unlock();
-		}
-		return versions;
-	}
+    private List<OsgiVersion> findBundleVersions(String symbolicName) {
+        List<OsgiVersion> versions = new ArrayList<OsgiVersion>();
+        try {
+            r.lock();
+            for (IArtefact bundle : this.artefactRepository.getBundles()) {
+                if (bundle.getSymbolicName().equals(symbolicName)) {
+                    versions.add(bundle.getVersion());
+                }
+            }
+        } finally {
+            r.unlock();
+        }
+        return versions;
+    }
 
-	public BundleRepository getBundleRepository(IRuntime runtime) {
-		try {
-			r.lock();
-			if (bundleRepositories.containsKey(runtime)) {
-				return bundleRepositories.get(runtime);
-			}
-		} finally {
-			r.unlock();
-		}
-		IDependencyLocator locator = null;
-		try {
-			w.lock();
-			if (bundleRepositories.containsKey(runtime)) {
-				return bundleRepositories.get(runtime);
-			}
+    public BundleRepository getBundleRepository(IRuntime runtime) {
+        try {
+            r.lock();
+            if (this.bundleRepositories.containsKey(runtime)) {
+                return this.bundleRepositories.get(runtime);
+            }
+        } finally {
+            r.unlock();
+        }
+        IDependencyLocator locator = null;
+        try {
+            w.lock();
+            if (this.bundleRepositories.containsKey(runtime)) {
+                return this.bundleRepositories.get(runtime);
+            }
 
-			locator = ServerUtils.createDependencyLocator(runtime);
-			Set<BundleDefinition> bundles = new HashSet<BundleDefinition>();
+            locator = ServerUtils.createDependencyLocator(runtime);
+            Set<BundleDefinition> bundles = new HashSet<BundleDefinition>();
 
-			for (BundleDefinition bundle : locator.getBundles()) {
-				if (bundle.getManifest() != null) {
-					bundles.add(new InitializedBundleDefinition(bundle.getManifest(), bundle.getLocation()));
-				}
-			}
+            for (BundleDefinition bundle : locator.getBundles()) {
+                if (bundle.getManifest() != null) {
+                    bundles.add(new InitializedBundleDefinition(bundle.getManifest(), bundle.getLocation()));
+                }
+            }
 
-			BundleRepository initializedBundleRepository = new InitializedBundleRepository(bundles,
-					new HashSet<LibraryDefinition>(locator.getLibraries()));
-			bundleRepositories.put(runtime, initializedBundleRepository);
-			return initializedBundleRepository;
-		} finally {
-			// Shutdown DependencyLocator
-			if (locator != null) {
-				locator.shutdown();
-			}
+            BundleRepository initializedBundleRepository = new InitializedBundleRepository(bundles,
+                new HashSet<LibraryDefinition>(locator.getLibraries()));
+            this.bundleRepositories.put(runtime, initializedBundleRepository);
+            return initializedBundleRepository;
+        } finally {
+            // Shutdown DependencyLocator
+            if (locator != null) {
+                locator.shutdown();
+            }
 
-			w.unlock();
-		}
-	}
+            w.unlock();
+        }
+    }
 
-	public BundleRepository refreshBundleRepository(IRuntime runtime) {
-		try {
-			w.lock();
-			bundleRepositories.remove(runtime);
-		} finally {
-			w.unlock();
-		}
+    public BundleRepository refreshBundleRepository(IRuntime runtime) {
+        try {
+            w.lock();
+            this.bundleRepositories.remove(runtime);
+        } finally {
+            w.unlock();
+        }
 
-		BundleRepository bundleRepository = getBundleRepository(runtime);
-		fireBundleRepositoryChanged(runtime);
-		return bundleRepository;
-	}
+        BundleRepository bundleRepository = getBundleRepository(runtime);
+        fireBundleRepositoryChanged(runtime);
+        return bundleRepository;
+    }
 
-	public List<BundleArtefact> findLibraryDependencies(LibraryArtefact library, boolean includeOptional) {
-		try {
-			r.lock();
-			List<BundleArtefact> required = new ArrayList<BundleArtefact>();
-			List<BundleImport> unsatisfiedBundleImports = new ArrayList<BundleImport>();
-			List<BundleImport> bundleImports = library.getBundleImports();
-			List<BundleArtefact> bundles = new ArrayList<BundleArtefact>();
-			for (BundleImport imp : bundleImports) {
-				List<OsgiVersion> candidates = findBundleVersions(imp.getSymbolicName());
-				OsgiVersion highestAvailable = new OsgiVersion("0.0.0");
-				boolean foundMatch = false;
-				for (OsgiVersion foundVersion : candidates) {
-					if (imp.getVersionRange().contains(foundVersion)) {
-						if (foundVersion.compareTo(highestAvailable) > 0) {
-							highestAvailable = foundVersion;
-							foundMatch = true;
-						}
-					}
-				}
-				if (foundMatch) {
-					bundles.add(getBundle(imp.getSymbolicName(), highestAvailable));
-				} else {
-					unsatisfiedBundleImports.add(imp);
-				}
-			}
-			required.addAll(bundles);
-			List<PackageImport> unsatisfiedImports = new ArrayList<PackageImport>();
-			List<PackageImport> imports = new ArrayList<PackageImport>();
-			for (BundleArtefact bundle : bundles) {
-				imports.addAll(bundle.getImports());
-			}
-			collectExporters(required, includeOptional, imports, unsatisfiedImports);
-			return required;
-		} finally {
-			r.unlock();
-		}
-	}
+    public List<BundleArtefact> findLibraryDependencies(LibraryArtefact library, boolean includeOptional) {
+        try {
+            r.lock();
+            List<BundleArtefact> required = new ArrayList<BundleArtefact>();
+            List<BundleImport> unsatisfiedBundleImports = new ArrayList<BundleImport>();
+            List<BundleImport> bundleImports = library.getBundleImports();
+            List<BundleArtefact> bundles = new ArrayList<BundleArtefact>();
+            for (BundleImport imp : bundleImports) {
+                List<OsgiVersion> candidates = findBundleVersions(imp.getSymbolicName());
+                OsgiVersion highestAvailable = new OsgiVersion("0.0.0");
+                boolean foundMatch = false;
+                for (OsgiVersion foundVersion : candidates) {
+                    if (imp.getVersionRange().contains(foundVersion)) {
+                        if (foundVersion.compareTo(highestAvailable) > 0) {
+                            highestAvailable = foundVersion;
+                            foundMatch = true;
+                        }
+                    }
+                }
+                if (foundMatch) {
+                    bundles.add(getBundle(imp.getSymbolicName(), highestAvailable));
+                } else {
+                    unsatisfiedBundleImports.add(imp);
+                }
+            }
+            required.addAll(bundles);
+            List<PackageImport> unsatisfiedImports = new ArrayList<PackageImport>();
+            List<PackageImport> imports = new ArrayList<PackageImport>();
+            for (BundleArtefact bundle : bundles) {
+                imports.addAll(bundle.getImports());
+            }
+            collectExporters(required, includeOptional, imports, unsatisfiedImports);
+            return required;
+        } finally {
+            r.unlock();
+        }
+    }
 
-	public ArtefactRepository getArtefactRepository() {
-		try {
-			r.lock();
-			if (!initialized) {
-				start();
-			}
-			return artefactRepository;
-		} finally {
-			r.unlock();
-		}
-	}
+    public ArtefactRepository getArtefactRepository() {
+        try {
+            r.lock();
+            if (!this.initialized) {
+                start();
+            }
+            return this.artefactRepository;
+        } finally {
+            r.unlock();
+        }
+    }
 
-	public Date getArtefactRepositoryDate() {
-		try {
-			r.lock();
-			if (!initialized) {
-				start();
-			}
-			return repositoryDate;
-		} finally {
-			r.unlock();
-		}
-	}
+    public Date getArtefactRepositoryDate() {
+        try {
+            r.lock();
+            if (!this.initialized) {
+                start();
+            }
+            return this.repositoryDate;
+        } finally {
+            r.unlock();
+        }
+    }
 
-	public boolean isArtefactRepositoryInitialized() {
-		return initialized;
-	}
+    public boolean isArtefactRepositoryInitialized() {
+        return this.initialized;
+    }
 
-	private BundleArtefact getBundle(String symbolicName, OsgiVersion version) {
-		try {
-			r.lock();
-			for (IArtefact bundle : artefactRepository.getBundles()) {
-				if (bundle.getSymbolicName().equals(symbolicName) && bundle.getVersion().equals(version)) {
-					return (BundleArtefact) bundle;
-				}
-			}
-			return null;
-		} finally {
-			r.unlock();
-		}
-	}
+    private BundleArtefact getBundle(String symbolicName, OsgiVersion version) {
+        try {
+            r.lock();
+            for (IArtefact bundle : this.artefactRepository.getBundles()) {
+                if (bundle.getSymbolicName().equals(symbolicName) && bundle.getVersion().equals(version)) {
+                    return (BundleArtefact) bundle;
+                }
+            }
+            return null;
+        } finally {
+            r.unlock();
+        }
+    }
 
-	private void start() {
-		ArtefactRepositoryStartJob startJob = new ArtefactRepositoryStartJob();
-		startJob.setPriority(Job.INTERACTIVE);
-		startJob.schedule();
-	}
+    private void start() {
+        ArtefactRepositoryStartJob startJob = new ArtefactRepositoryStartJob();
+        startJob.setPriority(Job.INTERACTIVE);
+        startJob.schedule();
+    }
 
-	public void stop() {
-		artefactRepository = null;
-	}
+    public void stop() {
+        this.artefactRepository = null;
+    }
 
-	public void update() {
-		ArtefactRepositoryUpdateJob updateJob = new ArtefactRepositoryUpdateJob();
-		updateJob.setPriority(Job.INTERACTIVE);
-		updateJob.schedule();
-	}
+    public void update() {
+        ArtefactRepositoryUpdateJob updateJob = new ArtefactRepositoryUpdateJob();
+        updateJob.setPriority(Job.INTERACTIVE);
+        updateJob.schedule();
+    }
 
-	private boolean alreadyInBundleList(List<BundleArtefact> required, BundleArtefact exporter) {
-		for (BundleArtefact b : required) {
-			if (b.getName().equals(exporter.getName())) {
-				if (b.getVersion().equals(exporter.getVersion())) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
+    private boolean alreadyInBundleList(List<BundleArtefact> required, BundleArtefact exporter) {
+        for (BundleArtefact b : required) {
+            if (b.getName().equals(exporter.getName())) {
+                if (b.getVersion().equals(exporter.getVersion())) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
 
-	private void collectExporters(List<BundleArtefact> required, boolean includeOptional, List<PackageImport> imports,
-			List<PackageImport> unsatisfied) {
-		for (PackageImport imp : imports) {
-			if (includeOptional || !imp.isOptional()) {
-				if (!applicationPlatform.isSatisfiedViaSystemBundle(imp)) {
-					// (heuristic: we always prefer to get via system if we can)
-					BundleArtefact exporter = findBestExporter(imp);
-					if (exporter == null) {
-						unsatisfied.add(imp);
-					} else {
-						if (!alreadyInBundleList(required, exporter)) {
-							required.add(exporter);
-							collectExporters(required, includeOptional, exporter.getImports(), unsatisfied);
-						}
-					}
-				}
-			}
-		}
-	}
+    private void collectExporters(List<BundleArtefact> required, boolean includeOptional, List<PackageImport> imports,
+        List<PackageImport> unsatisfied) {
+        for (PackageImport imp : imports) {
+            if (includeOptional || !imp.isOptional()) {
+                if (!this.applicationPlatform.isSatisfiedViaSystemBundle(imp)) {
+                    // (heuristic: we always prefer to get via system if we can)
+                    BundleArtefact exporter = findBestExporter(imp);
+                    if (exporter == null) {
+                        unsatisfied.add(imp);
+                    } else {
+                        if (!alreadyInBundleList(required, exporter)) {
+                            required.add(exporter);
+                            collectExporters(required, includeOptional, exporter.getImports(), unsatisfied);
+                        }
+                    }
+                }
+            }
+        }
+    }
 
-	private BundleArtefact findBestExporter(PackageImport imp) {
-		List<PackageExport> candidates = findPackagesWithExactName(imp.getName());
-		List<PackageExport> versionMatchedCandidates = new ArrayList<PackageExport>();
-		for (PackageExport exp : candidates) {
-			if (imp.isSatisfiedBy(exp)) {
-				versionMatchedCandidates.add(exp);
-			}
-		}
-		if (versionMatchedCandidates.size() > 0) {
-			PackageExport withHighestVersion = null;
-			for (PackageExport versionMatchedExport : versionMatchedCandidates) {
-				if (withHighestVersion == null) {
-					withHighestVersion = versionMatchedExport;
-				} else {
-					if (withHighestVersion.getVersion().compareTo(versionMatchedExport.getVersion()) < 0) {
-						withHighestVersion = versionMatchedExport;
-					}
-				}
-			}
-			return withHighestVersion.getBundle();
-		}
-		return null;
-	}
+    private BundleArtefact findBestExporter(PackageImport imp) {
+        List<PackageExport> candidates = findPackagesWithExactName(imp.getName());
+        List<PackageExport> versionMatchedCandidates = new ArrayList<PackageExport>();
+        for (PackageExport exp : candidates) {
+            if (imp.isSatisfiedBy(exp)) {
+                versionMatchedCandidates.add(exp);
+            }
+        }
+        if (versionMatchedCandidates.size() > 0) {
+            PackageExport withHighestVersion = null;
+            for (PackageExport versionMatchedExport : versionMatchedCandidates) {
+                if (withHighestVersion == null) {
+                    withHighestVersion = versionMatchedExport;
+                } else {
+                    if (withHighestVersion.getVersion().compareTo(versionMatchedExport.getVersion()) < 0) {
+                        withHighestVersion = versionMatchedExport;
+                    }
+                }
+            }
+            return withHighestVersion.getBundle();
+        }
+        return null;
+    }
 
-	private List<PackageExport> findPackagesWithExactName(String name) {
-		List<PackageExport> exports = new ArrayList<PackageExport>();
-		for (IArtefactTyped bundle : artefactRepository.getBundles()) {
-			for (PackageExport e : ((BundleArtefact) bundle).getExports()) {
-				if (e.getName().equals(name)) {
-					exports.add(e);
-				}
-			}
-		}
-		return exports;
-	}
+    private List<PackageExport> findPackagesWithExactName(String name) {
+        List<PackageExport> exports = new ArrayList<PackageExport>();
+        for (IArtefactTyped bundle : this.artefactRepository.getBundles()) {
+            for (PackageExport e : ((BundleArtefact) bundle).getExports()) {
+                if (e.getName().equals(name)) {
+                    exports.add(e);
+                }
+            }
+        }
+        return exports;
+    }
 
-	public void addBundleRepositoryChangeListener(IBundleRepositoryChangeListener changeListener) {
-		this.changeListeners.add(changeListener);
-	}
+    public void addBundleRepositoryChangeListener(IBundleRepositoryChangeListener changeListener) {
+        this.changeListeners.add(changeListener);
+    }
 
-	public void removeBundleRepositoryChangeListener(IBundleRepositoryChangeListener changeListener) {
-		this.changeListeners.remove(changeListener);
-	}
+    public void removeBundleRepositoryChangeListener(IBundleRepositoryChangeListener changeListener) {
+        this.changeListeners.remove(changeListener);
+    }
 
-	private void fireBundleRepositoryChanged(IRuntime runtime) {
-		for (IBundleRepositoryChangeListener changeListener : changeListeners) {
-			changeListener.bundleRepositoryChanged(runtime);
-		}
-	}
+    private void fireBundleRepositoryChanged(IRuntime runtime) {
+        for (IBundleRepositoryChangeListener changeListener : this.changeListeners) {
+            changeListener.bundleRepositoryChanged(runtime);
+        }
+    }
 
-	static class InitializedBundleDefinition implements BundleDefinition {
+    static class InitializedBundleDefinition implements BundleDefinition {
 
-		private final URI file;
+        private final URI file;
 
-		private final BundleManifest manifest;
+        private final BundleManifest manifest;
 
-		public InitializedBundleDefinition(BundleManifest manifest, URI file) {
-			this.file = file;
-			this.manifest = manifest;
-		}
+        public InitializedBundleDefinition(BundleManifest manifest, URI file) {
+            this.file = file;
+            this.manifest = manifest;
+        }
 
-		public BundleManifest getManifest() {
-			return manifest;
-		}
+        public BundleManifest getManifest() {
+            return this.manifest;
+        }
 
-		public URI getLocation() {
-			return file;
-		}
+        public URI getLocation() {
+            return this.file;
+        }
 
-	}
+    }
 
-	static class InitializedBundleRepository implements BundleRepository {
+    static class InitializedBundleRepository implements BundleRepository {
 
-		private final Set<BundleDefinition> bundles;
+        private final Set<BundleDefinition> bundles;
 
-		private final Set<LibraryDefinition> libraries;
+        private final Set<LibraryDefinition> libraries;
 
-		public InitializedBundleRepository(Set<BundleDefinition> bundles, Set<LibraryDefinition> libraries) {
-			this.bundles = bundles;
-			this.libraries = libraries;
-		}
+        public InitializedBundleRepository(Set<BundleDefinition> bundles, Set<LibraryDefinition> libraries) {
+            this.bundles = bundles;
+            this.libraries = libraries;
+        }
 
-		public Set<? extends BundleDefinition> findByExportedPackage(String packageName, VersionRange versionRange) {
-			Set<BundleDefinition> matchingBundles = new HashSet<BundleDefinition>();
-			for (BundleDefinition bundle : bundles) {
-				if (bundle.getManifest() != null && bundle.getManifest().getExportPackage() != null) {
-					for (ExportedPackage header : bundle.getManifest().getExportPackage().getExportedPackages()) {
-						if (versionRange.includes(header.getVersion())) {
-							if (packageName.equals(header.getPackageName())) {
-								matchingBundles.add(bundle);
-							}
-						}
-					}
-				}
-			}
-			return matchingBundles;
-		}
+        public Set<? extends BundleDefinition> findByExportedPackage(String packageName, VersionRange versionRange) {
+            Set<BundleDefinition> matchingBundles = new HashSet<BundleDefinition>();
+            for (BundleDefinition bundle : this.bundles) {
+                if (bundle.getManifest() != null && bundle.getManifest().getExportPackage() != null) {
+                    for (ExportedPackage header : bundle.getManifest().getExportPackage().getExportedPackages()) {
+                        if (versionRange.includes(header.getVersion())) {
+                            if (packageName.equals(header.getPackageName())) {
+                                matchingBundles.add(bundle);
+                            }
+                        }
+                    }
+                }
+            }
+            return matchingBundles;
+        }
 
-		public Set<? extends BundleDefinition> findByFragmentHost(String bundleSymbolicName, Version version) {
-			return Collections.emptySet();
-		}
+        public Set<? extends BundleDefinition> findByFragmentHost(String bundleSymbolicName, Version version) {
+            return Collections.emptySet();
+        }
 
-		public BundleDefinition findBySymbolicName(String symbolicName, VersionRange versionRange) {
-			for (BundleDefinition bundle : bundles) {
-				if (bundle.getManifest() != null && bundle.getManifest().getBundleSymbolicName() != null
-						&& bundle.getManifest().getBundleSymbolicName().getSymbolicName().equals(symbolicName)) {
-					Version version = bundle.getManifest().getBundleVersion();
-					if (versionRange.includes(version)) {
-						return bundle;
-					}
-				}
-			}
-			return null;
-		}
+        public BundleDefinition findBySymbolicName(String symbolicName, VersionRange versionRange) {
+            for (BundleDefinition bundle : this.bundles) {
+                if (bundle.getManifest() != null && bundle.getManifest().getBundleSymbolicName() != null
+                    && bundle.getManifest().getBundleSymbolicName().getSymbolicName().equals(symbolicName)) {
+                    Version version = bundle.getManifest().getBundleVersion();
+                    if (versionRange.includes(version)) {
+                        return bundle;
+                    }
+                }
+            }
+            return null;
+        }
 
-		public LibraryDefinition findLibrary(String libraryName, VersionRange versionRange) {
-			for (LibraryDefinition bundle : libraries) {
-				if (bundle.getName() != null && bundle.getName().equals(libraryName)) {
-					if (versionRange.includes(bundle.getVersion())) {
-						return bundle;
-					}
-				}
-			}
-			return null;
-		}
+        public LibraryDefinition findLibrary(String libraryName, VersionRange versionRange) {
+            for (LibraryDefinition bundle : this.libraries) {
+                if (bundle.getName() != null && bundle.getName().equals(libraryName)) {
+                    if (versionRange.includes(bundle.getVersion())) {
+                        return bundle;
+                    }
+                }
+            }
+            return null;
+        }
 
-		public Set<? extends BundleDefinition> getBundles() {
-			return bundles;
-		}
+        public Set<? extends BundleDefinition> getBundles() {
+            return this.bundles;
+        }
 
-		public Set<? extends LibraryDefinition> getLibraries() {
-			return libraries;
-		}
+        public Set<? extends LibraryDefinition> getLibraries() {
+            return this.libraries;
+        }
 
-		public void refresh() {
-		}
+        public void refresh() {
+        }
 
-		public ArtifactDescriptor findSubsystem(String arg0) {
-			return null;
-		}
+        public ArtifactDescriptor findSubsystem(String arg0) {
+            return null;
+        }
 
-	}
+    }
 
-	class ArtefactRepositoryStartJob extends Job {
+    class ArtefactRepositoryStartJob extends Job {
 
-		private final Bundle bundle = ServerCorePlugin.getDefault().getBundle();
+        private final Bundle bundle = ServerCorePlugin.getDefault().getBundle();
 
-		public ArtefactRepositoryStartJob() {
-			super("Initializing Bundle Repository Index");
-		}
+        public ArtefactRepositoryStartJob() {
+            super("Initializing Bundle Repository Index");
+        }
 
-		private void createArtefactDescriptorFromCurrentZipEntry(ZipInputStream zipInputStream,
-				String newArtefactDescriptorPath) throws IOException, FileNotFoundException {
-			File artefactDescriptor = new File(newArtefactDescriptorPath);
-			if (!artefactDescriptor.exists()) {
-				artefactDescriptor.createNewFile();
-				FileOutputStream fileOutputStream = new FileOutputStream(artefactDescriptor);
-				byte[] buf = new byte[1024];
-				int len;
-				while ((len = zipInputStream.read(buf)) > 0) {
-					fileOutputStream.write(buf, 0, len);
-				}
-				fileOutputStream.close();
-			}
-		}
+        private void createArtefactDescriptorFromCurrentZipEntry(ZipInputStream zipInputStream, String newArtefactDescriptorPath)
+            throws IOException, FileNotFoundException {
+            File artefactDescriptor = new File(newArtefactDescriptorPath);
+            if (!artefactDescriptor.exists()) {
+                artefactDescriptor.createNewFile();
+                FileOutputStream fileOutputStream = new FileOutputStream(artefactDescriptor);
+                byte[] buf = new byte[1024];
+                int len;
+                while ((len = zipInputStream.read(buf)) > 0) {
+                    fileOutputStream.write(buf, 0, len);
+                }
+                fileOutputStream.close();
+            }
+        }
 
-		private void createLocalFolderStructure() {
-			File localDirectory = getLocalDirectory();
-			PublishUtil.deleteDirectory(localDirectory, null);
-			if (!localDirectory.exists()) {
-				localDirectory.mkdir();
-				new File(localDirectory, "bundles").mkdirs();
-				new File(localDirectory, "libraries").mkdirs();
-			}
-		}
+        private void createLocalFolderStructure() {
+            File localDirectory = getLocalDirectory();
+            PublishUtil.deleteDirectory(localDirectory, null);
+            if (!localDirectory.exists()) {
+                localDirectory.mkdir();
+                new File(localDirectory, "bundles").mkdirs();
+                new File(localDirectory, "libraries").mkdirs();
+            }
+        }
 
-		protected File getLocalDirectory() {
-			IPath path = Platform.getStateLocation(bundle);
-			return new File(path.toString() + File.separator + "repository");
-		}
+        protected File getLocalDirectory() {
+            IPath path = Platform.getStateLocation(this.bundle);
+            return new File(path.toString() + File.separator + "repository");
+        }
 
-		private File getRepositoryIndexFile() {
-			return new File(getLocalDirectory(), ".index");
-		}
+        private File getRepositoryIndexFile() {
+            return new File(getLocalDirectory(), ".index");
+        }
 
-		protected void writeArchiveContentsToLocalRespositoryDirectory(InputStream zipFileInputStream)
-				throws CoreException {
-			// clean folder
-			createLocalFolderStructure();
+        protected void writeArchiveContentsToLocalRespositoryDirectory(InputStream zipFileInputStream) throws CoreException {
+            // clean folder
+            createLocalFolderStructure();
 
-			ZipInputStream zipInputStream = null;
-			try {
-				zipInputStream = new ZipInputStream(zipFileInputStream);
-				ZipEntry currentZipEntry = zipInputStream.getNextEntry();
+            ZipInputStream zipInputStream = null;
+            try {
+                zipInputStream = new ZipInputStream(zipFileInputStream);
+                ZipEntry currentZipEntry = zipInputStream.getNextEntry();
 
-				while (currentZipEntry != null) {
-					String filePath = getLocalDirectory().getPath() + File.separator + currentZipEntry.getName();
-					createArtefactDescriptorFromCurrentZipEntry(zipInputStream, filePath);
-					currentZipEntry = zipInputStream.getNextEntry();
-				}
+                while (currentZipEntry != null) {
+                    String filePath = getLocalDirectory().getPath() + File.separator + currentZipEntry.getName();
+                    createArtefactDescriptorFromCurrentZipEntry(zipInputStream, filePath);
+                    currentZipEntry = zipInputStream.getNextEntry();
+                }
 
-				zipInputStream.close();
-			} catch (IOException e) {
-				StatusUtil.error(e);
-			} finally {
-				try {
-					if (zipInputStream != null) {
-						zipInputStream.close();
-					}
-				} catch (IOException e) {
-					StatusUtil.error(e);
-				}
-			}
-		}
+                zipInputStream.close();
+            } catch (IOException e) {
+                StatusUtil.error(e);
+            } finally {
+                try {
+                    if (zipInputStream != null) {
+                        zipInputStream.close();
+                    }
+                } catch (IOException e) {
+                    StatusUtil.error(e);
+                }
+            }
+        }
 
-		protected IArtefactRepositoryLoader createArtefactRespositoryLoader() {
-			return new JsonArtefactRepositoryLoader();
-		}
+        protected IArtefactRepositoryLoader createArtefactRespositoryLoader() {
+            return new JsonArtefactRepositoryLoader();
+        }
 
-		@SuppressWarnings("unchecked")
-		@Override
-		protected IStatus run(IProgressMonitor monitor) {
-			try {
+        @SuppressWarnings("unchecked")
+        @Override
+        protected IStatus run(IProgressMonitor monitor) {
+            try {
 
-				// firstly make sure that we have the repository in the in the
-				// workspace
-				Enumeration<URL> urls = bundle.findEntries("/index", "repository-*.zip", false);
+                // firstly make sure that we have the repository in the in the
+                // workspace
+                Enumeration<URL> urls = this.bundle.findEntries("/index", "repository-*.zip", false);
 
-				// we will only bundle one repository zip in the plugin so it is
-				// safe to take the
-				// first element
-				if (urls.hasMoreElements()) {
-					URL url = urls.nextElement();
-					if (!getRepositoryIndexFile().exists()) {
-						writeArchiveContentsToLocalRespositoryDirectory(url.openStream());
-					} else {
-						// Check if the timestamp on the bundled repository is
-						// newer than the
-						// extracted
-						String path = url.getFile();
-						int ix = path.lastIndexOf("repository-");
-						Long timestamp = Long.valueOf(path.substring(ix + 11, path.length() - 4));
-						Long localTimestamp = getLocalRepositoryTimestamp();
-						if (timestamp.compareTo(localTimestamp) == 1) {
-							writeArchiveContentsToLocalRespositoryDirectory(url.openStream());
-						}
-					}
-				}
+                // we will only bundle one repository zip in the plugin so it is
+                // safe to take the
+                // first element
+                if (urls.hasMoreElements()) {
+                    URL url = urls.nextElement();
+                    if (!getRepositoryIndexFile().exists()) {
+                        writeArchiveContentsToLocalRespositoryDirectory(url.openStream());
+                    } else {
+                        // Check if the timestamp on the bundled repository is
+                        // newer than the
+                        // extracted
+                        String path = url.getFile();
+                        int ix = path.lastIndexOf("repository-");
+                        Long timestamp = Long.valueOf(path.substring(ix + 11, path.length() - 4));
+                        Long localTimestamp = getLocalRepositoryTimestamp();
+                        if (timestamp.compareTo(localTimestamp) == 1) {
+                            writeArchiveContentsToLocalRespositoryDirectory(url.openStream());
+                        }
+                    }
+                }
 
-				initialized = true;
+                ArtefactRepositoryManager.this.initialized = true;
 
-				// secondly load the repository in memory
-				ArtefactRepository newArtefactRepository = createArtefactRespositoryLoader().loadArtefactRepository(
-						getLocalDirectory());
-				try {
-					w.lock();
-					artefactRepository = newArtefactRepository;
-					repositoryDate = new Date(getLocalRepositoryTimestamp());
-				} finally {
-					w.unlock();
-				}
-			} catch (Exception e) {
-				StatusUtil.error(e);
-				initialized = true;
-				artefactRepository = new ArtefactRepository();
-			}
-			return Status.OK_STATUS;
-		}
+                // secondly load the repository in memory
+                ArtefactRepository newArtefactRepository = createArtefactRespositoryLoader().loadArtefactRepository(getLocalDirectory());
+                try {
+                    w.lock();
+                    ArtefactRepositoryManager.this.artefactRepository = newArtefactRepository;
+                    ArtefactRepositoryManager.this.repositoryDate = new Date(getLocalRepositoryTimestamp());
+                } finally {
+                    w.unlock();
+                }
+            } catch (Exception e) {
+                StatusUtil.error(e);
+                ArtefactRepositoryManager.this.initialized = true;
+                ArtefactRepositoryManager.this.artefactRepository = new ArtefactRepository();
+            }
+            return Status.OK_STATUS;
+        }
 
-		protected Long getLocalRepositoryTimestamp() throws IOException, FileNotFoundException {
-			FileInputStream is = null;
-			try {
-				is = new FileInputStream(getRepositoryIndexFile());
-				Properties properties = new Properties();
-				properties.load(is);
-				Long localTimestamp = Long.valueOf(properties.getProperty("creation.timestamp"));
-				return localTimestamp;
-			} finally {
-				if (is != null) {
-					is.close();
-				}
-			}
-		}
+        protected Long getLocalRepositoryTimestamp() throws IOException, FileNotFoundException {
+            FileInputStream is = null;
+            try {
+                is = new FileInputStream(getRepositoryIndexFile());
+                Properties properties = new Properties();
+                properties.load(is);
+                Long localTimestamp = Long.valueOf(properties.getProperty("creation.timestamp"));
+                return localTimestamp;
+            } finally {
+                if (is != null) {
+                    is.close();
+                }
+            }
+        }
 
-	}
+    }
 
-	public class ArtefactRepositoryUpdateJob extends ArtefactRepositoryStartJob {
+    public class ArtefactRepositoryUpdateJob extends ArtefactRepositoryStartJob {
 
-		/**
-		 * The url under which the newest version of the repository index will be published
-		 */
-		private static final String REPOSITORY_INDEX_URL = "http://static.springsource.com/projects/sts-dm-server/index/repository.zip";
+        /**
+         * The url under which the newest version of the repository index will be published
+         */
+        private static final String REPOSITORY_INDEX_URL = "http://static.springsource.com/projects/sts-dm-server/index/repository.zip";
 
-		@Override
-		protected IStatus run(IProgressMonitor monitor) {
+        @Override
+        protected IStatus run(IProgressMonitor monitor) {
 
-			try {
-				// first download file from the online repository
-				Date lastModifiedDate = WebDownloadUtils.getLastModifiedDate(REPOSITORY_INDEX_URL, monitor);
-				if (lastModifiedDate != null
-						&& Long.valueOf(lastModifiedDate.getTime()).compareTo(getLocalRepositoryTimestamp()) == 1) {
-					File repositoryArchive = WebDownloadUtils.downloadFile(REPOSITORY_INDEX_URL,
-							getLocalDirectory().getParentFile(), monitor);
+            try {
+                // first download file from the online repository
+                Date lastModifiedDate = WebDownloadUtils.getLastModifiedDate(REPOSITORY_INDEX_URL, monitor);
+                if (lastModifiedDate != null && Long.valueOf(lastModifiedDate.getTime()).compareTo(getLocalRepositoryTimestamp()) == 1) {
+                    File repositoryArchive = WebDownloadUtils.downloadFile(REPOSITORY_INDEX_URL, getLocalDirectory().getParentFile(), monitor);
 
-					if (repositoryArchive != null) {
+                    if (repositoryArchive != null) {
 
-						// secondly extract it to the local repository location
-						if (repositoryArchive.exists() && repositoryArchive.canRead()) {
-							FileInputStream is = null;
-							try {
-								is = new FileInputStream(repositoryArchive);
-								writeArchiveContentsToLocalRespositoryDirectory(is);
-							} finally {
-								if (is != null) {
-									try {
-										is.close();
-									} catch (Exception e) {
-										// ignore
-									}
-								}
-							}
-						}
+                        // secondly extract it to the local repository location
+                        if (repositoryArchive.exists() && repositoryArchive.canRead()) {
+                            FileInputStream is = null;
+                            try {
+                                is = new FileInputStream(repositoryArchive);
+                                writeArchiveContentsToLocalRespositoryDirectory(is);
+                            } finally {
+                                if (is != null) {
+                                    try {
+                                        is.close();
+                                    } catch (Exception e) {
+                                        // ignore
+                                    }
+                                }
+                            }
+                        }
 
-						// thirdly load the repository in memory
-						ArtefactRepository newArtefactRepository = createArtefactRespositoryLoader().loadArtefactRepository(
-								getLocalDirectory());
-						try {
-							w.lock();
-							artefactRepository = newArtefactRepository;
-							repositoryDate = new Date(getLocalRepositoryTimestamp());
-						} finally {
-							w.unlock();
-						}
-					}
-				}
-			} catch (FileNotFoundException e) {
-				StatusUtil.error(e);
-			} catch (IOException e) {
-				StatusUtil.error(e);
-			} catch (CoreException e) {
-				StatusUtil.error(e);
-			}
+                        // thirdly load the repository in memory
+                        ArtefactRepository newArtefactRepository = createArtefactRespositoryLoader().loadArtefactRepository(getLocalDirectory());
+                        try {
+                            w.lock();
+                            ArtefactRepositoryManager.this.artefactRepository = newArtefactRepository;
+                            ArtefactRepositoryManager.this.repositoryDate = new Date(getLocalRepositoryTimestamp());
+                        } finally {
+                            w.unlock();
+                        }
+                    }
+                }
+            } catch (FileNotFoundException e) {
+                StatusUtil.error(e);
+            } catch (IOException e) {
+                StatusUtil.error(e);
+            } catch (CoreException e) {
+                StatusUtil.error(e);
+            }
 
-			return Status.OK_STATUS;
-		}
-	}
+            return Status.OK_STATUS;
+        }
+    }
 
-	//TODO why is this here?
-	public static byte[] convert(String string) {
-		if (string == null) {
-			return null;
-		}
-		String newString = new String(string);
-		try {
-			return newString.getBytes("UTF-8");
-		} catch (UnsupportedEncodingException e) {
-			StatusManager.getManager().handle(
-					new Status(IStatus.WARNING, ServerCorePlugin.PLUGIN_ID, "Couldn't convert string.", e));
-			return string.getBytes();
-		}
-	}
+    // TODO why is this here?
+    public static byte[] convert(String string) {
+        if (string == null) {
+            return null;
+        }
+        String newString = new String(string);
+        try {
+            return newString.getBytes("UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            StatusManager.getManager().handle(new Status(IStatus.WARNING, ServerCorePlugin.PLUGIN_ID, "Couldn't convert string.", e));
+            return string.getBytes();
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactSet.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactSet.java
index 434e72d..436779f 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactSet.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactSet.java
@@ -19,67 +19,66 @@
 
 /**
  * Safely encapsulates artefact interactions.
- * 
+ *
  * @author Miles Parker
  */
 public class ArtefactSet implements IArtefactTyped {
 
-	private final ArtefactType artefactType;
+    private final ArtefactType artefactType;
 
-	private final Set<IArtefact> artefacts = new HashSet<IArtefact>();
+    private final Set<IArtefact> artefacts = new HashSet<IArtefact>();
 
-	private final ArtefactRepository repository;
+    private final ArtefactRepository repository;
 
-	public ArtefactSet(ArtefactRepository repository, ArtefactType artefactType) {
-		this.repository = repository;
-		this.artefactType = artefactType;
-	}
+    public ArtefactSet(ArtefactRepository repository, ArtefactType artefactType) {
+        this.repository = repository;
+        this.artefactType = artefactType;
+    }
 
-	public Iterable<IArtefact> getArtefacts() {
-		return artefacts;
-	}
+    public Iterable<IArtefact> getArtefacts() {
+        return this.artefacts;
+    }
 
-	public IArtefact[] toArray() {
-		return artefacts.toArray(new IArtefact[] {});
-	}
+    public IArtefact[] toArray() {
+        return this.artefacts.toArray(new IArtefact[] {});
+    }
 
-	public boolean add(IArtefact artefact) {
-		Assert.isNotNull(artefact, "Tried to add null artefact.");
-		if (artefact.getArtefactType() == artefactType || artefactType == ArtefactType.COMBINED) {
-			artefact.setSet(this);
-			return artefacts.add(artefact);
-		}
-		throw new RuntimeException("Tried to add non-matching artefact to " + artefactType.name() + ": " + artefact);
-	}
+    public boolean add(IArtefact artefact) {
+        Assert.isNotNull(artefact, "Tried to add null artefact.");
+        if (artefact.getArtefactType() == this.artefactType || this.artefactType == ArtefactType.COMBINED) {
+            artefact.setSet(this);
+            return this.artefacts.add(artefact);
+        }
+        throw new RuntimeException("Tried to add non-matching artefact to " + this.artefactType.name() + ": " + artefact);
+    }
 
-	public ArtefactType getArtefactType() {
-		return artefactType;
-	}
+    public ArtefactType getArtefactType() {
+        return this.artefactType;
+    }
 
-	public ArtefactRepository getRepository() {
-		return repository;
-	}
+    public ArtefactRepository getRepository() {
+        return this.repository;
+    }
 
-	/**
-	 * @see java.lang.Object#toString()
-	 */
-	@Override
-	public String toString() {
-		return artefactType.getPluralLabel();
-	}
+    /**
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public String toString() {
+        return this.artefactType.getPluralLabel();
+    }
 
-	/**
-	 * Assumes that there is one and only one artefact set of a given type for each set.
-	 * 
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	@Override
-	public boolean equals(Object obj) {
-		if (obj instanceof ArtefactSet) {
-			ArtefactSet set = (ArtefactSet) obj;
-			return (getArtefactType() == set.getArtefactType() && ObjectUtils.equals(getRepository(),
-					set.getRepository()));
-		}
-		return super.equals(obj);
-	}
+    /**
+     * Assumes that there is one and only one artefact set of a given type for each set.
+     *
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @Override
+    public boolean equals(Object obj) {
+        if (obj instanceof ArtefactSet) {
+            ArtefactSet set = (ArtefactSet) obj;
+            return getArtefactType() == set.getArtefactType() && ObjectUtils.equals(getRepository(), set.getRepository());
+        }
+        return super.equals(obj);
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactType.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactType.java
index 784eea1..6116f5b 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactType.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ArtefactType.java
@@ -13,33 +13,34 @@
 
 /**
  * Types of artefacts that might exist within a repository.
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public enum ArtefactType {
-	BUNDLE("Bundle", "Bundles", 2), LIBRARY("Library", "Libraries", 3), COMBINED("Library Or Bundle",
-			"Libraries and Bundles", 1);
+    BUNDLE("Bundle", "Bundles", 2), LIBRARY("Library", "Libraries", 3), COMBINED("Library Or Bundle", "Libraries and Bundles", 1);
 
-	private final String label;
-	private final int ordering;
-	private final String pluralLabel;
+    private final String label;
 
-	ArtefactType(String label, String pluralLabel, int ordering) {
-		this.label = label;
-		this.pluralLabel = pluralLabel;
-		this.ordering = ordering;
-	}
+    private final int ordering;
 
-	public String getLabel() {
-		return label;
-	}
+    private final String pluralLabel;
 
-	public String getPluralLabel() {
-		return pluralLabel;
-	}
+    ArtefactType(String label, String pluralLabel, int ordering) {
+        this.label = label;
+        this.pluralLabel = pluralLabel;
+        this.ordering = ordering;
+    }
 
-	public int getOrdering() {
-		return ordering;
-	}
+    public String getLabel() {
+        return this.label;
+    }
+
+    public String getPluralLabel() {
+        return this.pluralLabel;
+    }
+
+    public int getOrdering() {
+        return this.ordering;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/BundleArtefact.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/BundleArtefact.java
index fb26b59..d3b3adf 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/BundleArtefact.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/BundleArtefact.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core.artefacts;
 
 import java.util.ArrayList;
@@ -19,137 +20,131 @@
 import org.eclipse.virgo.ide.bundlerepository.domain.PackageImport;
 
 /**
- * Central element in the domain model - captures everything we know about a
- * bundle. This includes meta-data directly available in the bundle, as well as
- * additional information such as the license and any notes we want to display
- * in the BRITS web application
- * 
+ * Central element in the domain model - captures everything we know about a bundle. This includes meta-data directly
+ * available in the bundle, as well as additional information such as the license and any notes we want to display in
+ * the BRITS web application
+ *
  * @author Christian Dupuis
  * @author Miles Parker
  */
 public class BundleArtefact extends Artefact {
 
-	/**
-	 * The packages exported by the bundle
-	 */
-	private List<PackageExport> exports = new ArrayList<PackageExport>();
+    /**
+     * The packages exported by the bundle
+     */
+    private List<PackageExport> exports = new ArrayList<PackageExport>();
 
-	/**
-	 * The imports declared by the bundle
-	 */
-	private List<PackageImport> imports = new ArrayList<PackageImport>();
+    /**
+     * The imports declared by the bundle
+     */
+    private List<PackageImport> imports = new ArrayList<PackageImport>();
 
-	/** for persistence use only */
-	protected BundleArtefact() {
-	}
+    /** for persistence use only */
+    protected BundleArtefact() {
+    }
 
-	/**
-	 * Construct a new BundleArtefact, for parameter descriptions see Artefact
-	 * constructor javadoc
-	 * 
-	 * @param name
-	 * @param symbolicName
-	 * @param version
-	 * @param organisationName
-	 * @param moduleName
-	 * @see Artefact
-	 */
-	public BundleArtefact(String name, String symbolicName, OsgiVersion version, String organisationName,
-		String moduleName) {
-		super(name, symbolicName, version, organisationName, moduleName);
-	}
+    /**
+     * Construct a new BundleArtefact, for parameter descriptions see Artefact constructor javadoc
+     *
+     * @param name
+     * @param symbolicName
+     * @param version
+     * @param organisationName
+     * @param moduleName
+     * @see Artefact
+     */
+    public BundleArtefact(String name, String symbolicName, OsgiVersion version, String organisationName, String moduleName) {
+        super(name, symbolicName, version, organisationName, moduleName);
+    }
 
-	/**
-	 * Return the list of packages exported by this bundle
-	 */
-	public List<PackageExport> getExports() {
-		return exports;
-	}
+    /**
+     * Return the list of packages exported by this bundle
+     */
+    public List<PackageExport> getExports() {
+        return this.exports;
+    }
 
-	/**
-	 * Add an export to the set of packages exported by this bundle
-	 */
-	public void addExport(PackageExport export) {
-		Assert.isNotNull(export, "Tried to add null export");
-		exports.add(export);
-	}
+    /**
+     * Add an export to the set of packages exported by this bundle
+     */
+    public void addExport(PackageExport export) {
+        Assert.isNotNull(export, "Tried to add null export");
+        this.exports.add(export);
+    }
 
-	/**
-	 * Set the list of packages exported by this bundle
-	 */
-	public void setExports(List<PackageExport> exports) {
-		this.exports = exports;
-	}
+    /**
+     * Set the list of packages exported by this bundle
+     */
+    public void setExports(List<PackageExport> exports) {
+        this.exports = exports;
+    }
 
-	/**
-	 * Return the list of imports declared by this bundle
-	 */
-	public List<PackageImport> getImports() {
-		return imports;
-	}
+    /**
+     * Return the list of imports declared by this bundle
+     */
+    public List<PackageImport> getImports() {
+        return this.imports;
+    }
 
-	/**
-	 * Add an import to the set of import declaration for this bundle
-	 */
-	public void addImport(PackageImport imp) {
-		Assert.isNotNull(imp, "Tried to add null import");
-		imports.add(imp);
-	}
+    /**
+     * Add an import to the set of import declaration for this bundle
+     */
+    public void addImport(PackageImport imp) {
+        Assert.isNotNull(imp, "Tried to add null import");
+        this.imports.add(imp);
+    }
 
-	/**
-	 * Set the list of packages imported by this bundle
-	 */
-	public void setImports(List<PackageImport> imports) {
-		this.imports = imports;
-	}
+    /**
+     * Set the list of packages imported by this bundle
+     */
+    public void setImports(List<PackageImport> imports) {
+        this.imports = imports;
+    }
 
-	/**
-	 * Return the relative URL path for downloading this bundle from S3
-	 */
-	@Override
-	public String getRelativeUrlPath() {
-		return ("/" + getOrganisationName() + "/" + getModuleName() + "/" + getVersion() + "/" + getModuleName() + "-"
-			+ getVersion() + ".jar");
-	}
+    /**
+     * Return the relative URL path for downloading this bundle from S3
+     */
+    @Override
+    public String getRelativeUrlPath() {
+        return "/" + getOrganisationName() + "/" + getModuleName() + "/" + getVersion() + "/" + getModuleName() + "-" + getVersion() + ".jar";
+    }
 
-	/**
-	 * Return the relative URL path for downloading the source for this bundle
-	 * from S3
-	 */
-	public String getRelativeSourceUrlPath() {
-		return ("/" + getOrganisationName() + "/" + getModuleName() + "/" + getVersion() + "/" + getModuleName()
-			+ "-sources-" + getVersion() + ".jar");
-	}
+    /**
+     * Return the relative URL path for downloading the source for this bundle from S3
+     */
+    public String getRelativeSourceUrlPath() {
+        return "/" + getOrganisationName() + "/" + getModuleName() + "/" + getVersion() + "/" + getModuleName() + "-sources-" + getVersion() + ".jar";
+    }
 
-	@Override
-	public String toString() {
-		StringBuilder builder = new StringBuilder();
-		builder.append("Bundle-Name: ");
-		builder.append(getName());
-		builder.append("\n");
-		builder.append("Bundle-SymbolicName: ");
-		builder.append(getSymbolicName());
-		builder.append("\n");
-		builder.append("Bundle-Version: ");
-		builder.append(getVersion());
-		builder.append("\n");
-		// including exports can cause a Hibernate lazy-load exception
-		// builder.append("Export-Package: ");
-		// builder.append("\n");
-		// for (PackageExport export : this.exports) {
-		// builder.append("  ");
-		// builder.append(export);
-		// builder.append("\n");
-		// }
-		return builder.toString();
-	}
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("Bundle-Name: ");
+        builder.append(getName());
+        builder.append("\n");
+        builder.append("Bundle-SymbolicName: ");
+        builder.append(getSymbolicName());
+        builder.append("\n");
+        builder.append("Bundle-Version: ");
+        builder.append(getVersion());
+        builder.append("\n");
+        // including exports can cause a Hibernate lazy-load exception
+        // builder.append("Export-Package: ");
+        // builder.append("\n");
+        // for (PackageExport export : this.exports) {
+        // builder.append(" ");
+        // builder.append(export);
+        // builder.append("\n");
+        // }
+        return builder.toString();
+    }
 
-	/**
-	 * Returns BUNDLE;
-	 * 
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getType()
-	 */
-	public ArtefactType getArtefactType() {
-		return ArtefactType.BUNDLE;
-	}
+    /**
+     * Returns BUNDLE;
+     *
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getType()
+     */
+    public ArtefactType getArtefactType() {
+        return ArtefactType.BUNDLE;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/IArtefact.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/IArtefact.java
index d5be817..9fd4e63 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/IArtefact.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/IArtefact.java
@@ -15,77 +15,74 @@
 
 /**
  * Represents an artefact in the repository :- bundle or library
- * 
+ *
  * @author adriancolyer
  * @author Miles Parker
- * 
+ *
  */
 public interface IArtefact extends IArtefactTyped {
 
-	/**
-	 * The human-readable name of the artefact
-	 */
-	String getName();
+    /**
+     * The human-readable name of the artefact
+     */
+    String getName();
 
-	/**
-	 * The symbolic name of the artefact
-	 */
-	String getSymbolicName();
+    /**
+     * The symbolic name of the artefact
+     */
+    String getSymbolicName();
 
-	/**
-	 * The version of the artefact
-	 */
-	OsgiVersion getVersion();
+    /**
+     * The version of the artefact
+     */
+    OsgiVersion getVersion();
 
-	/**
-	 * The organisation name as used in ivy.xml (groupId name for maven)
-	 */
-	String getOrganisationName();
+    /**
+     * The organisation name as used in ivy.xml (groupId name for maven)
+     */
+    String getOrganisationName();
 
-	/**
-	 * The module name as used in ivy.xml (artefactId for maven)
-	 */
-	String getModuleName();
+    /**
+     * The module name as used in ivy.xml (artefactId for maven)
+     */
+    String getModuleName();
 
-	/**
-	 * Is source code available for this artefact?
-	 */
-	boolean isSourceAvailable();
+    /**
+     * Is source code available for this artefact?
+     */
+    boolean isSourceAvailable();
 
-	/**
-	 * Set if source code is available
-	 */
-	void setSourceAvailable(boolean sourceAvailable);
+    /**
+     * Set if source code is available
+     */
+    void setSourceAvailable(boolean sourceAvailable);
 
-	/**
-	 * Get the relative URL path for downloading this artefact from S3
-	 */
-	String getRelativeUrlPath();
+    /**
+     * Get the relative URL path for downloading this artefact from S3
+     */
+    String getRelativeUrlPath();
 
-	/**
-	 * Get the relative URL path for displaying the license file for this
-	 * artefact
-	 */
-	String getRelativeLicenseUrlPath();
+    /**
+     * Get the relative URL path for displaying the license file for this artefact
+     */
+    String getRelativeLicenseUrlPath();
 
-	/**
-	 * Returns a string that identifies this artefact as completely matching a
-	 * given requirement. At minimum, this should use name, version and artefact
-	 * type.
-	 */
-	String getSignature();
+    /**
+     * Returns a string that identifies this artefact as completely matching a given requirement. At minimum, this
+     * should use name, version and artefact type.
+     */
+    String getSignature();
 
-	/**
-	 * Does the artefact match the supplied artefact? Matching artefacts are
-	 * expected to share the same signature.
-	 */
-	boolean isMatch(IArtefact artefact);
+    /**
+     * Does the artefact match the supplied artefact? Matching artefacts are expected to share the same signature.
+     */
+    boolean isMatch(IArtefact artefact);
 
-	void setSet(ArtefactSet set);
+    void setSet(ArtefactSet set);
 
-	ArtefactSet getSet();
+    ArtefactSet getSet();
 
-	void setRepository(ArtefactRepository repository);
+    void setRepository(ArtefactRepository repository);
 
-	ArtefactRepository getRepository();
+    ArtefactRepository getRepository();
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/IArtefactTyped.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/IArtefactTyped.java
index bcfc771..e121ed6 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/IArtefactTyped.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/IArtefactTyped.java
@@ -12,15 +12,15 @@
 package org.eclipse.virgo.ide.runtime.core.artefacts;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public interface IArtefactTyped {
 
-	/**
-	 * What type of artefact is this?
-	 */
-	public abstract ArtefactType getArtefactType();
+    /**
+     * What type of artefact is this?
+     */
+    public abstract ArtefactType getArtefactType();
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ILocalArtefact.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ILocalArtefact.java
index 9bd17dc..5f04667 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ILocalArtefact.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ILocalArtefact.java
@@ -13,9 +13,9 @@
 
 /**
  * An artefact that has a corresponding file system entity.
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public interface ILocalArtefact extends IArtefact, ILocalEntity {
 
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ILocalEntity.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ILocalEntity.java
index b530199..223c8a7 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ILocalEntity.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/ILocalEntity.java
@@ -15,11 +15,11 @@
 
 /**
  * Any entity that has a corresponding file system entity.
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public interface ILocalEntity {
 
-	File getFile();
+    File getFile();
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LibraryArtefact.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LibraryArtefact.java
index bc872a4..e16261a 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LibraryArtefact.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LibraryArtefact.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core.artefacts;
 
 import java.util.ArrayList;
@@ -17,119 +18,112 @@
 import org.eclipse.virgo.ide.bundlerepository.domain.OsgiVersion;
 
 /**
- * A library stored in BRITS. A library is a collection of bundles grouped under
- * a common name, id, and version.
- * 
+ * A library stored in BRITS. A library is a collection of bundles grouped under a common name, id, and version.
+ *
  * @author acolyer
  */
 public class LibraryArtefact extends Artefact implements Comparable<LibraryArtefact> {
 
-	/**
-	 * The bundle imports declared by the library
-	 */
-	private List<BundleImport> bundleImports;
+    /**
+     * The bundle imports declared by the library
+     */
+    private List<BundleImport> bundleImports;
 
-	/** for persistence use only */
-	protected LibraryArtefact() {
-	}
+    /** for persistence use only */
+    protected LibraryArtefact() {
+    }
 
-	/**
-	 * Create a new LibraryArtefact. This will *not* be stored in the database
-	 * unless explicitly stored using the ArtefactRepository. Storing a library
-	 * artefact does *not* the bundles it contains - these must be stored in the
-	 * database independently first.
-	 * 
-	 * @param name human readable name of the library (e.g. "Spring Framework")
-	 * @param symbolicName identifying name of the library (e.g.
-	 *        "org.springframework")
-	 * @param version the library version, following normal OSGi conventions
-	 * @param organisationName the organisation name as found in ivy.xml
-	 * @param moduleName the module name as found in ivy.xml
-	 * @param bundles the bundles that are part of this library
-	 */
-	public LibraryArtefact(String name, String symbolicName, OsgiVersion version, String organisationName,
-		String moduleName) {
-		super(name, symbolicName, version, organisationName, moduleName);
-		this.bundleImports = new ArrayList<BundleImport>();
-	}
+    /**
+     * Create a new LibraryArtefact. This will *not* be stored in the database unless explicitly stored using the
+     * ArtefactRepository. Storing a library artefact does *not* the bundles it contains - these must be stored in the
+     * database independently first.
+     *
+     * @param name human readable name of the library (e.g. "Spring Framework")
+     * @param symbolicName identifying name of the library (e.g. "org.springframework")
+     * @param version the library version, following normal OSGi conventions
+     * @param organisationName the organisation name as found in ivy.xml
+     * @param moduleName the module name as found in ivy.xml
+     * @param bundles the bundles that are part of this library
+     */
+    public LibraryArtefact(String name, String symbolicName, OsgiVersion version, String organisationName, String moduleName) {
+        super(name, symbolicName, version, organisationName, moduleName);
+        this.bundleImports = new ArrayList<BundleImport>();
+    }
 
-	/**
-	 * Add a new import to this library
-	 * 
-	 * @param imp the import to add
-	 */
-	public void addBundleImport(BundleImport imp) {
-		this.bundleImports.add(imp);
-	}
+    /**
+     * Add a new import to this library
+     *
+     * @param imp the import to add
+     */
+    public void addBundleImport(BundleImport imp) {
+        this.bundleImports.add(imp);
+    }
 
-	/**
-	 * The set of bundles contained in this library.
-	 */
-	public List<BundleImport> getBundleImports() {
-		return this.bundleImports;
-	}
+    /**
+     * The set of bundles contained in this library.
+     */
+    public List<BundleImport> getBundleImports() {
+        return this.bundleImports;
+    }
 
-	/**
-	 * The relative URL needed to download this library from S3
-	 */
-	@Override
-	public String getRelativeUrlPath() {
-		return ("/" + getOrganisationName() + "/" + getModuleName() + "/" + getVersion() + "/" + getModuleName() + "-"
-			+ getVersion() + ".libd");
-	}
+    /**
+     * The relative URL needed to download this library from S3
+     */
+    @Override
+    public String getRelativeUrlPath() {
+        return "/" + getOrganisationName() + "/" + getModuleName() + "/" + getVersion() + "/" + getModuleName() + "-" + getVersion() + ".libd";
+    }
 
-	@Override
-	public String toString() {
-		StringBuilder builder = new StringBuilder();
-		builder.append("Library-Name: ");
-		builder.append(this.getName());
-		builder.append("\n");
-		builder.append("Library-SymbolicName: ");
-		builder.append(this.getSymbolicName());
-		builder.append("\n");
-		builder.append("Library-Version: ");
-		builder.append(this.getVersion());
-		builder.append("\n");
-		builder.append("Library bundles: \n");
-		if (this.bundleImports != null) {
-			for (BundleImport b : this.bundleImports) {
-				builder.append("  ");
-				builder.append(b.getSymbolicName());
-				builder.append(" v.");
-				builder.append(b.getVersionRange());
-				builder.append("\n");
-			}
-		}
-		return builder.toString();
-	}
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder();
+        builder.append("Library-Name: ");
+        builder.append(this.getName());
+        builder.append("\n");
+        builder.append("Library-SymbolicName: ");
+        builder.append(this.getSymbolicName());
+        builder.append("\n");
+        builder.append("Library-Version: ");
+        builder.append(this.getVersion());
+        builder.append("\n");
+        builder.append("Library bundles: \n");
+        if (this.bundleImports != null) {
+            for (BundleImport b : this.bundleImports) {
+                builder.append("  ");
+                builder.append(b.getSymbolicName());
+                builder.append(" v.");
+                builder.append(b.getVersionRange());
+                builder.append("\n");
+            }
+        }
+        return builder.toString();
+    }
 
-	/**
-	 * Sort by symbolic name, and then reverse version. See the javadoc for the
-	 * TreeSet class to understand the implications of this wrt. Set semantics.
-	 * Since equality is based on id, and compareTo is based on symbolicName and
-	 * version, full Set semantics when using LibraryArtefacts in a TreeSet are
-	 * not guaranteed.
-	 */
-	public int compareTo(LibraryArtefact other) {
-		if (this == other) {
-			return 0;
-		}
-		if (other == null) {
-			return 0;
-		}
-		if (this.getSymbolicName().equals(other.getSymbolicName())) {
-			return other.getVersion().compareTo(this.getVersion());
-		} else {
-			return this.getSymbolicName().compareTo(other.getSymbolicName());
-		}
-	}
+    /**
+     * Sort by symbolic name, and then reverse version. See the javadoc for the TreeSet class to understand the
+     * implications of this wrt. Set semantics. Since equality is based on id, and compareTo is based on symbolicName
+     * and version, full Set semantics when using LibraryArtefacts in a TreeSet are not guaranteed.
+     */
+    public int compareTo(LibraryArtefact other) {
+        if (this == other) {
+            return 0;
+        }
+        if (other == null) {
+            return 0;
+        }
+        if (this.getSymbolicName().equals(other.getSymbolicName())) {
+            return other.getVersion().compareTo(this.getVersion());
+        } else {
+            return this.getSymbolicName().compareTo(other.getSymbolicName());
+        }
+    }
 
-	/**
-	 * Returns LIBRARY;
-	 * 
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getType()
-	 */
-	public ArtefactType getArtefactType() {
-		return ArtefactType.LIBRARY;
-	}
+    /**
+     * Returns LIBRARY;
+     *
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.IArtefact#getType()
+     */
+    public ArtefactType getArtefactType() {
+        return ArtefactType.LIBRARY;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalArtefactRepository.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalArtefactRepository.java
index 8cf77e1..92a28d5 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalArtefactRepository.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalArtefactRepository.java
@@ -16,47 +16,49 @@
 import org.apache.commons.lang.ObjectUtils;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public class LocalArtefactRepository extends ArtefactRepository implements ILocalEntity {
 
-	private final File file;
+    private final File file;
 
-	public LocalArtefactRepository(File file) {
-		this.file = file;
-		bundles = createArtefactSet(ArtefactType.BUNDLE, file);
-		libraries = createArtefactSet(ArtefactType.LIBRARY, file);
-		allArtefacts = new LocalArtefactSet(this, ArtefactType.COMBINED, file);
-	}
+    public LocalArtefactRepository(File file) {
+        this.file = file;
+        this.bundles = createArtefactSet(ArtefactType.BUNDLE, file);
+        this.libraries = createArtefactSet(ArtefactType.LIBRARY, file);
+        this.allArtefacts = new LocalArtefactSet(this, ArtefactType.COMBINED, file);
+    }
 
-	protected ArtefactSet createArtefactSet(ArtefactType type, File file) {
-		return new LocalArtefactSet(this, type, file) {
-			@Override
-			public boolean add(IArtefact artefact) {
-				return super.add(artefact) && allArtefacts.add(artefact);
-			}
-		};
-	}
+    protected ArtefactSet createArtefactSet(ArtefactType type, File file) {
+        return new LocalArtefactSet(this, type, file) {
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.ILocalEntity#getFile()
-	 */
-	public File getFile() {
-		return file;
-	}
+            @Override
+            public boolean add(IArtefact artefact) {
+                return super.add(artefact) && LocalArtefactRepository.this.allArtefacts.add(artefact);
+            }
+        };
+    }
 
-	/**
-	 * Assumes one and only one repository at each file.
-	 * 
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object other) {
-		if (other instanceof LocalArtefactRepository) {
-			LocalArtefactRepository otherRepos = (LocalArtefactRepository) other;
-			return ObjectUtils.equals(file, otherRepos.file);
-		}
-		return false;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.ILocalEntity#getFile()
+     */
+    public File getFile() {
+        return this.file;
+    }
+
+    /**
+     * Assumes one and only one repository at each file.
+     *
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @Override
+    public boolean equals(Object other) {
+        if (other instanceof LocalArtefactRepository) {
+            LocalArtefactRepository otherRepos = (LocalArtefactRepository) other;
+            return ObjectUtils.equals(this.file, otherRepos.file);
+        }
+        return false;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalArtefactSet.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalArtefactSet.java
index 54116b6..fa6f901 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalArtefactSet.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalArtefactSet.java
@@ -21,38 +21,38 @@
  */
 public class LocalArtefactSet extends ArtefactSet implements ILocalEntity {
 
-	final File location;
+    final File location;
 
-	public LocalArtefactSet(ArtefactRepository artefactRepository, ArtefactType artefactType, File location) {
-		super(artefactRepository, artefactType);
-		this.location = location;
-	}
+    public LocalArtefactSet(ArtefactRepository artefactRepository, ArtefactType artefactType, File location) {
+        super(artefactRepository, artefactType);
+        this.location = location;
+    }
 
-	public File getFile() {
-		return location;
-	}
+    public File getFile() {
+        return this.location;
+    }
 
-	public String getRelativePath() {
-		String fileName = getFile().toString();
-		IServer server = getRepository().getServer();
-		if (server != null && server.getRuntime() != null) {
-			String home = ServerUtils.getServerHome(server.getRuntime());
-			if (fileName.startsWith(home)) {
-				fileName = fileName.substring(home.length() + 1);
-			}
-		}
-		return fileName;
-	}
+    public String getRelativePath() {
+        String fileName = getFile().toString();
+        IServer server = getRepository().getServer();
+        if (server != null && server.getRuntime() != null) {
+            String home = ServerUtils.getServerHome(server.getRuntime());
+            if (fileName.startsWith(home)) {
+                fileName = fileName.substring(home.length() + 1);
+            }
+        }
+        return fileName;
+    }
 
-	public String getShortLabel() {
-		return getRelativePath() + " [" + getArtefactType().getPluralLabel() + "]";
-	}
+    public String getShortLabel() {
+        return getRelativePath() + " [" + getArtefactType().getPluralLabel() + "]";
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.artefacts.ArtefactSet#toString()
-	 */
-	@Override
-	public String toString() {
-		return location + " [" + super.toString() + "]";
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.artefacts.ArtefactSet#toString()
+     */
+    @Override
+    public String toString() {
+        return this.location + " [" + super.toString() + "]";
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalBundleArtefact.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalBundleArtefact.java
index f795820..e6a1f9d 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalBundleArtefact.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalBundleArtefact.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core.artefacts;
 
 import java.io.File;
@@ -17,38 +18,37 @@
 
 /**
  * An extension to {@link BundleArtefact} to take some more information of local bundles.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class LocalBundleArtefact extends BundleArtefact implements ILocalArtefact {
 
-	private final boolean hasDownloadedSources;
+    private final boolean hasDownloadedSources;
 
-	private final File file;
+    private final File file;
 
-	public LocalBundleArtefact(String name, String symbolicName, OsgiVersion version, boolean hasDownloadedSources,
-			URI fileURI) {
-		super(name, symbolicName, version, symbolicName, symbolicName);
-		this.hasDownloadedSources = hasDownloadedSources;
-		this.file = (fileURI != null ? new File(fileURI) : null);
-	}
+    public LocalBundleArtefact(String name, String symbolicName, OsgiVersion version, boolean hasDownloadedSources, URI fileURI) {
+        super(name, symbolicName, version, symbolicName, symbolicName);
+        this.hasDownloadedSources = hasDownloadedSources;
+        this.file = fileURI != null ? new File(fileURI) : null;
+    }
 
-	public boolean isSourceDownloaded() {
-		return hasDownloadedSources;
-	}
+    public boolean isSourceDownloaded() {
+        return this.hasDownloadedSources;
+    }
 
-	@Override
-	public String getSignature() {
-		String signature = super.getSignature();
-		if (hasDownloadedSources) {
-			signature += "+Source";
-		}
-		return signature;
-	}
+    @Override
+    public String getSignature() {
+        String signature = super.getSignature();
+        if (this.hasDownloadedSources) {
+            signature += "+Source";
+        }
+        return signature;
+    }
 
-	public File getFile() {
-		return file;
-	}
+    public File getFile() {
+        return this.file;
+    }
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalLibraryArtefact.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalLibraryArtefact.java
index ce65a40..6a22392 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalLibraryArtefact.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/artefacts/LocalLibraryArtefact.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core.artefacts;
 
 import java.io.File;
@@ -16,25 +17,22 @@
 import org.eclipse.virgo.ide.bundlerepository.domain.OsgiVersion;
 
 /**
- * An extension to {@link BundleArtefact} to take some more information of local
- * bundles.
- * 
+ * An extension to {@link BundleArtefact} to take some more information of local bundles.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class LocalLibraryArtefact extends LibraryArtefact implements ILocalArtefact {
 
-	private static final long serialVersionUID = 2752279714525304374L;
+    private final File file;
 
-	private final File file;
+    public LocalLibraryArtefact(String name, String symbolicName, OsgiVersion version, URI file) {
+        super(name, symbolicName, version, symbolicName, symbolicName);
+        this.file = new File(file);
+    }
 
-	public LocalLibraryArtefact(String name, String symbolicName, OsgiVersion version, URI file) {
-		super(name, symbolicName, version, symbolicName, symbolicName);
-		this.file = new File(file);
-	}
-
-	public File getFile() {
-		return file;
-	}
+    public File getFile() {
+        return this.file;
+    }
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/IBundleRepositoryChangeListener.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/IBundleRepositoryChangeListener.java
index 429cc2b..640af6a 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/IBundleRepositoryChangeListener.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/IBundleRepositoryChangeListener.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core.provisioning;
 
 import org.eclipse.virgo.ide.runtime.core.artefacts.ArtefactRepositoryManager;
@@ -15,9 +16,9 @@
 import org.eclipse.wst.server.core.IRuntime;
 
 /**
- * Implementation of this interface get notified if a {@link BundleRepository}
- * stored in the {@link ArtefactRepositoryManager} is changed.
- * 
+ * Implementation of this interface get notified if a {@link BundleRepository} stored in the
+ * {@link ArtefactRepositoryManager} is changed.
+ *
  * @author Christian Dupuis
  * @since 1.0.1
  * @see ArtefactRepositoryManager#addBundleRepositoryChangeListener(IBundleRepositoryChangeListener)
@@ -25,13 +26,11 @@
  */
 public interface IBundleRepositoryChangeListener {
 
-	/**
-	 * Notifies changes to the {@link BundleRepository} of the supplied
-	 * {@link IRuntime}.
-	 * 
-	 * @param runtime the runtime instance which {@link BundleRepository} has
-	 *        changed
-	 */
-	void bundleRepositoryChanged(IRuntime runtime);
+    /**
+     * Notifies changes to the {@link BundleRepository} of the supplied {@link IRuntime}.
+     *
+     * @param runtime the runtime instance which {@link BundleRepository} has changed
+     */
+    void bundleRepositoryChanged(IRuntime runtime);
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/RepositoryProvisioningJob.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/RepositoryProvisioningJob.java
index 35f9b3e..eca5220 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/RepositoryProvisioningJob.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/RepositoryProvisioningJob.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core.provisioning;
 
 import java.io.File;
@@ -31,143 +32,136 @@
 import org.eclipse.wst.server.core.IRuntime;
 
 /**
- * Eclipse background job that downloads selected bundles and libraries from the
- * remote enterprise bundle repository.
- * 
+ * Eclipse background job that downloads selected bundles and libraries from the remote enterprise bundle repository.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class RepositoryProvisioningJob extends Job {
 
-	private static final Object CONTENT_FAMILY = new Object();
+    private static final Object CONTENT_FAMILY = new Object();
 
-	private Set<Artefact> artifactsToDownload;
+    private final Set<Artefact> artifactsToDownload;
 
-	private boolean downloadSources = false;
+    private boolean downloadSources = false;
 
-	private boolean downloadBinary = true;
+    private boolean downloadBinary = true;
 
-	protected Set<IRuntime> runtimes;
+    protected Set<IRuntime> runtimes;
 
-	public RepositoryProvisioningJob(Set<IRuntime> runtimes, Set<Artefact> artifactsToDownload, boolean downloadSources) {
-		this(runtimes, artifactsToDownload, true, downloadSources);
-	}
+    public RepositoryProvisioningJob(Set<IRuntime> runtimes, Set<Artefact> artifactsToDownload, boolean downloadSources) {
+        this(runtimes, artifactsToDownload, true, downloadSources);
+    }
 
-	public RepositoryProvisioningJob(Set<IRuntime> runtimes, Set<Artefact> artifactsToDownload, boolean downloadBinary,
-		boolean downloadSources) {
-		super("Downloading bundles and libraries from Enterprise Bundle Repository");
-		this.runtimes = runtimes;
-		this.artifactsToDownload = artifactsToDownload;
-		this.downloadSources = downloadSources;
-		this.downloadBinary = downloadBinary;
-		setPriority(Job.LONG);
-	}
+    public RepositoryProvisioningJob(Set<IRuntime> runtimes, Set<Artefact> artifactsToDownload, boolean downloadBinary, boolean downloadSources) {
+        super("Downloading bundles and libraries from Enterprise Bundle Repository");
+        this.runtimes = runtimes;
+        this.artifactsToDownload = artifactsToDownload;
+        this.downloadSources = downloadSources;
+        this.downloadBinary = downloadBinary;
+        setPriority(Job.LONG);
+    }
 
-	public Set<IRuntime> getRuntimes() {
-		return runtimes;
-	}
+    public Set<IRuntime> getRuntimes() {
+        return this.runtimes;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public boolean belongsTo(Object family) {
-		return CONTENT_FAMILY == family;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public boolean belongsTo(Object family) {
+        return CONTENT_FAMILY == family;
+    }
 
-	protected void copyDirectoryContent(File from, File to) {
-		for (File file : from.listFiles()) {
-			if (file.isFile()) {
-				String fileName = file.getName();
-				File newFile = new File(to, fileName);
-				try {
-					newFile.createNewFile();
-					FileCopyUtils.copy(file, newFile);
-				} catch (IOException e) {
-				}
-			}
-		}
-	}
+    protected void copyDirectoryContent(File from, File to) {
+        for (File file : from.listFiles()) {
+            if (file.isFile()) {
+                String fileName = file.getName();
+                File newFile = new File(to, fileName);
+                try {
+                    newFile.createNewFile();
+                    FileCopyUtils.copy(file, newFile);
+                } catch (IOException e) {
+                }
+            }
+        }
+    }
 
-	protected void copyDownloadedArtifactsIntoServer(File bundlesFile, File libraryFile) {
-		for (IRuntime runtime : runtimes) {
-			VirgoServerRuntime serverRuntime = (VirgoServerRuntime) runtime.loadAdapter(VirgoServerRuntime.class,
-																						new NullProgressMonitor());
-			copyDirectoryContent(bundlesFile, new File(serverRuntime.getUserLevelBundleRepositoryPath()));
-			copyDirectoryContent(libraryFile, new File(serverRuntime.getUserLevelLibraryRepositoryPath()));
-		}
+    protected void copyDownloadedArtifactsIntoServer(File bundlesFile, File libraryFile) {
+        for (IRuntime runtime : this.runtimes) {
+            VirgoServerRuntime serverRuntime = (VirgoServerRuntime) runtime.loadAdapter(VirgoServerRuntime.class, new NullProgressMonitor());
+            copyDirectoryContent(bundlesFile, new File(serverRuntime.getUserLevelBundleRepositoryPath()));
+            copyDirectoryContent(libraryFile, new File(serverRuntime.getUserLevelLibraryRepositoryPath()));
+        }
 
-	}
+    }
 
-	@Override
-	protected IStatus run(IProgressMonitor monitor) {
+    @Override
+    protected IStatus run(IProgressMonitor monitor) {
 
-		if (downloadSources) {
-			monitor.beginTask("Downloading selected bundles and libraries", (artifactsToDownload.size() * 2));
-		} else {
-			monitor.beginTask("Downloading selected bundles and libraries", artifactsToDownload.size());
-		}
+        if (this.downloadSources) {
+            monitor.beginTask("Downloading selected bundles and libraries", this.artifactsToDownload.size() * 2);
+        } else {
+            monitor.beginTask("Downloading selected bundles and libraries", this.artifactsToDownload.size());
+        }
 
-		IPath outputPath = ServerCorePlugin.getDefault().getStateLocation()
-				.append("repository-downloads-" + System.currentTimeMillis());
-		File bundlesFile = outputPath.append("bundles").toFile();
-		if (!bundlesFile.exists()) {
-			bundlesFile.mkdirs();
-		}
-		File libraryFile = outputPath.append("libraries").toFile();
-		if (!libraryFile.exists()) {
-			libraryFile.mkdirs();
-		}
+        IPath outputPath = ServerCorePlugin.getDefault().getStateLocation().append("repository-downloads-" + System.currentTimeMillis());
+        File bundlesFile = outputPath.append("bundles").toFile();
+        if (!bundlesFile.exists()) {
+            bundlesFile.mkdirs();
+        }
+        File libraryFile = outputPath.append("libraries").toFile();
+        if (!libraryFile.exists()) {
+            libraryFile.mkdirs();
+        }
 
-		for (Artefact artifact : this.artifactsToDownload) {
-			if (monitor.isCanceled()) {
-				continue;
-			}
-			if (downloadBinary) {
-				downloadBinary(monitor, bundlesFile, libraryFile, artifact);
-			}
-			monitor.worked(1);
-			if (downloadSources) {
-				if (monitor.isCanceled()) {
-					continue;
-				}
+        for (Artefact artifact : this.artifactsToDownload) {
+            if (monitor.isCanceled()) {
+                continue;
+            }
+            if (this.downloadBinary) {
+                downloadBinary(monitor, bundlesFile, libraryFile, artifact);
+            }
+            monitor.worked(1);
+            if (this.downloadSources) {
+                if (monitor.isCanceled()) {
+                    continue;
+                }
 
-				downloadSource(monitor, bundlesFile, artifact);
-				monitor.worked(1);
-			}
-		}
+                downloadSource(monitor, bundlesFile, artifact);
+                monitor.worked(1);
+            }
+        }
 
-		if (monitor.isCanceled()) {
-			return Status.OK_STATUS;
-		}
-		copyDownloadedArtifactsIntoServer(bundlesFile, libraryFile);
+        if (monitor.isCanceled()) {
+            return Status.OK_STATUS;
+        }
+        copyDownloadedArtifactsIntoServer(bundlesFile, libraryFile);
 
-		// refresh the local file system cache of bundles and libraries
-		for (IRuntime runtime : runtimes) {
-			ServerCorePlugin.getArtefactRepositoryManager().refreshBundleRepository(runtime);
-		}
+        // refresh the local file system cache of bundles and libraries
+        for (IRuntime runtime : this.runtimes) {
+            ServerCorePlugin.getArtefactRepositoryManager().refreshBundleRepository(runtime);
+        }
 
-		monitor.done();
-		return Status.OK_STATUS;
-	}
+        monitor.done();
+        return Status.OK_STATUS;
+    }
 
-	protected void downloadBinary(IProgressMonitor monitor, File bundlesFile, File libraryFile, IArtefactTyped artifact) {
-		if (artifact instanceof BundleArtefact) {
-			WebDownloadUtils.downloadFile(	RepositoryUtils.getResourceUrl(	(BundleArtefact) artifact,
-																			RepositoryUtils.DOWNLOAD_TYPE_BINARY),
-											bundlesFile, monitor);
-		} else {
-			WebDownloadUtils.downloadFile(	RepositoryUtils.getResourceUrl(	(LibraryArtefact) artifact,
-																			RepositoryUtils.DOWNLOAD_TYPE_LIBRARY),
-											libraryFile, monitor);
-		}
-	}
+    protected void downloadBinary(IProgressMonitor monitor, File bundlesFile, File libraryFile, IArtefactTyped artifact) {
+        if (artifact instanceof BundleArtefact) {
+            WebDownloadUtils.downloadFile(RepositoryUtils.getResourceUrl((BundleArtefact) artifact, RepositoryUtils.DOWNLOAD_TYPE_BINARY),
+                bundlesFile, monitor);
+        } else {
+            WebDownloadUtils.downloadFile(RepositoryUtils.getResourceUrl((LibraryArtefact) artifact, RepositoryUtils.DOWNLOAD_TYPE_LIBRARY),
+                libraryFile, monitor);
+        }
+    }
 
-	protected void downloadSource(IProgressMonitor monitor, File bundlesFile, Artefact artifact) {
-		if (artifact instanceof BundleArtefact && artifact.isSourceAvailable()) {
-			WebDownloadUtils.downloadFile(	RepositoryUtils.getResourceUrl(	(BundleArtefact) artifact,
-																			RepositoryUtils.DOWNLOAD_TYPE_SOURCE),
-											bundlesFile, monitor);
-		}
-	}
+    protected void downloadSource(IProgressMonitor monitor, File bundlesFile, Artefact artifact) {
+        if (artifact instanceof BundleArtefact && artifact.isSourceAvailable()) {
+            WebDownloadUtils.downloadFile(RepositoryUtils.getResourceUrl((BundleArtefact) artifact, RepositoryUtils.DOWNLOAD_TYPE_SOURCE),
+                bundlesFile, monitor);
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/RepositorySourceProvisiongJob.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/RepositorySourceProvisiongJob.java
index 3a059af..e8704db 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/RepositorySourceProvisiongJob.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/RepositorySourceProvisiongJob.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core.provisioning;
 
 import java.io.File;
@@ -25,47 +26,44 @@
 import org.eclipse.wst.server.core.IRuntime;
 
 /**
- * {@link Job} that provisions the missing source jars of the installed bundles
- * in the dm Server's repository.
- * 
+ * {@link Job} that provisions the missing source jars of the installed bundles in the dm Server's repository.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class RepositorySourceProvisiongJob extends RepositoryProvisioningJob {
 
-	private Map<Artefact, File> outputFileMapping = new HashMap<Artefact, File>();
+    private final Map<Artefact, File> outputFileMapping = new HashMap<Artefact, File>();
 
-	public RepositorySourceProvisiongJob(Set<IRuntime> runtimes, Set<Artefact> artifactsToDownload) {
-		super(runtimes, artifactsToDownload, false, true);
-	}
+    public RepositorySourceProvisiongJob(Set<IRuntime> runtimes, Set<Artefact> artifactsToDownload) {
+        super(runtimes, artifactsToDownload, false, true);
+    }
 
-	@Override
-	protected void downloadSource(IProgressMonitor monitor, File bundlesFile, Artefact artifact) {
-		if (artifact instanceof LocalBundleArtefact) {
-			LocalBundleArtefact bundle = (LocalBundleArtefact) artifact;
-			String url = new StringBuilder()
-					.append("http://www.springsource.com/repository/app/bundle/version/download?name=")
-					.append(bundle.getSymbolicName()).append("&version=").append(bundle.getVersion())
-					.append("&type=source").toString();
-			File outputFile = WebDownloadUtils.downloadFile(url, bundlesFile, monitor);
-			if (outputFile != null) {
-				outputFileMapping.put(artifact, outputFile);
-			}
-		}
-	}
+    @Override
+    protected void downloadSource(IProgressMonitor monitor, File bundlesFile, Artefact artifact) {
+        if (artifact instanceof LocalBundleArtefact) {
+            LocalBundleArtefact bundle = (LocalBundleArtefact) artifact;
+            String url = new StringBuilder().append("http://www.springsource.com/repository/app/bundle/version/download?name=").append(
+                bundle.getSymbolicName()).append("&version=").append(bundle.getVersion()).append("&type=source").toString();
+            File outputFile = WebDownloadUtils.downloadFile(url, bundlesFile, monitor);
+            if (outputFile != null) {
+                this.outputFileMapping.put(artifact, outputFile);
+            }
+        }
+    }
 
-	@Override
-	protected void copyDownloadedArtifactsIntoServer(File bundlesFile, File libraryFile) {
-		for (Map.Entry<Artefact, File> entry : outputFileMapping.entrySet()) {
-			if (entry.getKey() instanceof LocalBundleArtefact) {
-				File folder = ((LocalBundleArtefact) entry.getKey()).getFile().getParentFile();
-				File outputFile = new File(folder, entry.getValue().getName());
-				try {
-					outputFile.createNewFile();
-					FileCopyUtils.copy(entry.getValue(), outputFile);
-				} catch (IOException e) {
-				}
-			}
-		}
-	}
+    @Override
+    protected void copyDownloadedArtifactsIntoServer(File bundlesFile, File libraryFile) {
+        for (Map.Entry<Artefact, File> entry : this.outputFileMapping.entrySet()) {
+            if (entry.getKey() instanceof LocalBundleArtefact) {
+                File folder = ((LocalBundleArtefact) entry.getKey()).getFile().getParentFile();
+                File outputFile = new File(folder, entry.getValue().getName());
+                try {
+                    outputFile.createNewFile();
+                    FileCopyUtils.copy(entry.getValue(), outputFile);
+                } catch (IOException e) {
+                }
+            }
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/RepositoryUtils.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/RepositoryUtils.java
index 3cccc75..920ef06 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/RepositoryUtils.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/core/provisioning/RepositoryUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.core.provisioning;
 
 import java.lang.reflect.InvocationTargetException;
@@ -59,7 +60,7 @@
 /**
  * Utility class that is able to create {@link Repository} instances from either the remote enterprise bundle repository
  * or from a local installed Virgo instance.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @since 1.0.0
@@ -67,505 +68,481 @@
 @SuppressWarnings("restriction")
 public class RepositoryUtils {
 
-	public static final String DOWNLOAD_TYPE_BINARY = "binary";
+    public static final String DOWNLOAD_TYPE_BINARY = "binary";
 
-	public static final String DOWNLOAD_TYPE_BINARY_HASH = "binary-hash";
+    public static final String DOWNLOAD_TYPE_BINARY_HASH = "binary-hash";
 
-	public static final String DOWNLOAD_TYPE_LIBRARY = "library";
+    public static final String DOWNLOAD_TYPE_LIBRARY = "library";
 
-	public static final String DOWNLOAD_TYPE_LIBRARY_HASH = "library-hash";
+    public static final String DOWNLOAD_TYPE_LIBRARY_HASH = "library-hash";
 
-	public static final String DOWNLOAD_TYPE_LICENSE = "license";
+    public static final String DOWNLOAD_TYPE_LICENSE = "license";
 
-	public static final String DOWNLOAD_TYPE_SOURCE = "source";
+    public static final String DOWNLOAD_TYPE_SOURCE = "source";
 
-	public static final String DOWNLOAD_TYPE_SOURCE_HASH = "source-hash";
+    public static final String DOWNLOAD_TYPE_SOURCE_HASH = "source-hash";
 
-	private static final String BRITS_BASE = "http://www.springsource.com/repository/app";
+    private static final String BRITS_BASE = "http://www.springsource.com/repository/app";
 
-	private static final String DOWNLOAD_BASE = "http://repository.springsource.com/ivy";
+    private static final String DOWNLOAD_BASE = "http://repository.springsource.com/ivy";
 
-	public static boolean doesRuntimeSupportRepositories(IRuntime runtime) {
-		IServerRuntimeProvider provider = RuntimeProviders.getRuntimeProvider(runtime);
-		if (provider instanceof VirgoRuntimeProvider) {
-			VirgoRuntimeProvider virgoProvider = (VirgoRuntimeProvider) provider;
-			InstallationType install = virgoProvider.getInstallationType(runtime);
-			if (InstallationType.NANO.equals(install)) {
-				return false;
-			} else {
-				return true;
-			}
-		}
-		return false;
-	}
+    public static boolean doesRuntimeSupportRepositories(IRuntime runtime) {
+        IServerRuntimeProvider provider = RuntimeProviders.getRuntimeProvider(runtime);
+        if (provider instanceof VirgoRuntimeProvider) {
+            VirgoRuntimeProvider virgoProvider = (VirgoRuntimeProvider) provider;
+            InstallationType install = virgoProvider.getInstallationType(runtime);
+            if (InstallationType.NANO.equals(install)) {
+                return false;
+            } else {
+                return true;
+            }
+        }
+        return false;
+    }
 
-	/**
-	 * Downloads the given <code>artifacts</code>.
-	 */
-	public static void downloadArifacts(final Set<Artefact> artifacts, final IProject project, final Shell shell,
-			boolean resolveDependencies) {
+    /**
+     * Downloads the given <code>artifacts</code>.
+     */
+    public static void downloadArifacts(final Set<Artefact> artifacts, final IProject project, final Shell shell, boolean resolveDependencies) {
 
-		if (resolveDependencies) {
-			artifacts.addAll(resolveDependencies(artifacts, false));
-		}
+        if (resolveDependencies) {
+            artifacts.addAll(resolveDependencies(artifacts, false));
+        }
 
-		final Set<IRuntime> runtimes = new HashSet<IRuntime>();
+        final Set<IRuntime> runtimes = new HashSet<IRuntime>();
 
-		ServerRuntimeUtils.execute(project, new ServerRuntimeUtils.ServerRuntimeCallback() {
+        ServerRuntimeUtils.execute(project, new ServerRuntimeUtils.ServerRuntimeCallback() {
 
-			public boolean doWithRuntime(VirgoServerRuntime runtime) {
-				runtimes.add(runtime.getRuntime());
-				return true;
-			}
-		});
+            public boolean doWithRuntime(VirgoServerRuntime runtime) {
+                runtimes.add(runtime.getRuntime());
+                return true;
+            }
+        });
 
-		if (runtimes.size() > 0) {
+        if (runtimes.size() > 0) {
 
-			IRunnableWithProgress runnable = new IRunnableWithProgress() {
+            IRunnableWithProgress runnable = new IRunnableWithProgress() {
 
-				public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-					RepositoryProvisioningJob job = new RepositoryProvisioningJob(runtimes, artifacts, true);
-					job.run(monitor);
-				}
-			};
+                public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+                    RepositoryProvisioningJob job = new RepositoryProvisioningJob(runtimes, artifacts, true);
+                    job.run(monitor);
+                }
+            };
 
-			try {
-				IRunnableContext context = new ProgressMonitorDialog(shell);
-				context.run(true, true, runnable);
-			} catch (InvocationTargetException e1) {
-			} catch (InterruptedException e2) {
-			}
-		}
-	}
+            try {
+                IRunnableContext context = new ProgressMonitorDialog(shell);
+                context.run(true, true, runnable);
+            } catch (InvocationTargetException e1) {
+            } catch (InterruptedException e2) {
+            }
+        }
+    }
 
-	/**
-	 * Returns a BundleDefinition for the given bundle symbolic name and version
-	 */
-	public static org.eclipse.virgo.kernel.repository.BundleDefinition getBundleDefinition(final String bundle,
-			final String version, IProject project) {
-		final List<org.eclipse.virgo.kernel.repository.BundleDefinition> bundles = new ArrayList<org.eclipse.virgo.kernel.repository.BundleDefinition>();
+    /**
+     * Returns a BundleDefinition for the given bundle symbolic name and version
+     */
+    public static org.eclipse.virgo.kernel.repository.BundleDefinition getBundleDefinition(final String bundle, final String version,
+        IProject project) {
+        final List<org.eclipse.virgo.kernel.repository.BundleDefinition> bundles = new ArrayList<org.eclipse.virgo.kernel.repository.BundleDefinition>();
 
-		ServerRuntimeUtils.execute(project, new ServerRuntimeUtils.ServerRuntimeCallback() {
+        ServerRuntimeUtils.execute(project, new ServerRuntimeUtils.ServerRuntimeCallback() {
 
-			public boolean doWithRuntime(VirgoServerRuntime runtime) {
-				try {
-					BundleRepository bundleRepository = ServerCorePlugin.getArtefactRepositoryManager()
-							.getBundleRepository(runtime.getRuntime());
-					org.eclipse.virgo.kernel.repository.BundleDefinition bundleDefinition = bundleRepository.findBySymbolicName(
-							bundle, new org.eclipse.virgo.util.osgi.manifest.VersionRange(version));
-					if (bundleDefinition != null) {
-						bundles.add(bundleDefinition);
-						return false;
-					}
-				} catch (Exception e) {
+            public boolean doWithRuntime(VirgoServerRuntime runtime) {
+                try {
+                    BundleRepository bundleRepository = ServerCorePlugin.getArtefactRepositoryManager().getBundleRepository(runtime.getRuntime());
+                    org.eclipse.virgo.kernel.repository.BundleDefinition bundleDefinition = bundleRepository.findBySymbolicName(bundle,
+                        new org.eclipse.virgo.util.osgi.manifest.VersionRange(version));
+                    if (bundleDefinition != null) {
+                        bundles.add(bundleDefinition);
+                        return false;
+                    }
+                } catch (Exception e) {
 
-				}
-				return true;
-			}
-		});
+                }
+                return true;
+            }
+        });
 
-		if (bundles.size() > 0) {
-			return bundles.get(0);
-		}
-		return null;
-	}
+        if (bundles.size() > 0) {
+            return bundles.get(0);
+        }
+        return null;
+    }
 
-	/**
-	 * Returns {@link BundleArtefact}s which bundle symbolic name matches the given <code>value</code>.
-	 */
-	public static Set<Artefact> getImportBundleProposals(final IProject project, final String value) {
-		final Set<Artefact> packages = new TreeSet<Artefact>(new Comparator<Artefact>() {
+    /**
+     * Returns {@link BundleArtefact}s which bundle symbolic name matches the given <code>value</code>.
+     */
+    public static Set<Artefact> getImportBundleProposals(final IProject project, final String value) {
+        final Set<Artefact> packages = new TreeSet<Artefact>(new Comparator<Artefact>() {
 
-			public int compare(Artefact o1, Artefact o2) {
-				if (o1.getName() != null && o1.getName().equals(o2.getName())) {
-					return o1.getVersion().compareTo(o2.getVersion());
-				} else if (o1.getName() != null && o2.getName() != null) {
-					return o1.getName().compareTo(o2.getName());
-				} else if (o1.getSymbolicName() != null && o1.getSymbolicName().equals(o2.getSymbolicName())) {
-					return o1.getVersion().compareTo(o2.getVersion());
-				} else if (o1.getSymbolicName() != null) {
-					return o1.getSymbolicName().compareTo(o2.getSymbolicName());
-				}
-				return 0;
-			}
-		});
+            public int compare(Artefact o1, Artefact o2) {
+                if (o1.getName() != null && o1.getName().equals(o2.getName())) {
+                    return o1.getVersion().compareTo(o2.getVersion());
+                } else if (o1.getName() != null && o2.getName() != null) {
+                    return o1.getName().compareTo(o2.getName());
+                } else if (o1.getSymbolicName() != null && o1.getSymbolicName().equals(o2.getSymbolicName())) {
+                    return o1.getVersion().compareTo(o2.getVersion());
+                } else if (o1.getSymbolicName() != null) {
+                    return o1.getSymbolicName().compareTo(o2.getSymbolicName());
+                }
+                return 0;
+            }
+        });
 
-		ServerRuntimeUtils.execute(project, new ServerRuntimeUtils.ServerRuntimeCallback() {
+        ServerRuntimeUtils.execute(project, new ServerRuntimeUtils.ServerRuntimeCallback() {
 
-			public boolean doWithRuntime(VirgoServerRuntime runtime) {
-				packages.addAll(getImportBundleProposalsForRuntime(runtime, project, value));
-				return true;
-			}
-		});
+            public boolean doWithRuntime(VirgoServerRuntime runtime) {
+                packages.addAll(getImportBundleProposalsForRuntime(runtime, project, value));
+                return true;
+            }
+        });
 
-		return packages;
+        return packages;
 
-	}
+    }
 
-	/**
-	 * Returns {@link LibraryArtefact}s which library symbolic name matches the given <code>value</code>.
-	 */
-	public static Set<Artefact> getImportLibraryProposals(final IProject project, final String value) {
-		final Set<Artefact> packages = new TreeSet<Artefact>(new Comparator<Artefact>() {
+    /**
+     * Returns {@link LibraryArtefact}s which library symbolic name matches the given <code>value</code>.
+     */
+    public static Set<Artefact> getImportLibraryProposals(final IProject project, final String value) {
+        final Set<Artefact> packages = new TreeSet<Artefact>(new Comparator<Artefact>() {
 
-			public int compare(Artefact o1, Artefact o2) {
-				if (o1.getName() != null && o1.getName().equals(o2.getName())) {
-					return o1.getVersion().compareTo(o2.getVersion());
-				} else if (o1.getName() != null) {
-					return o1.getName().compareTo(o2.getName());
-				}
-				return 0;
-			}
-		});
+            public int compare(Artefact o1, Artefact o2) {
+                if (o1.getName() != null && o1.getName().equals(o2.getName())) {
+                    return o1.getVersion().compareTo(o2.getVersion());
+                } else if (o1.getName() != null) {
+                    return o1.getName().compareTo(o2.getName());
+                }
+                return 0;
+            }
+        });
 
-		ServerRuntimeUtils.execute(project, new ServerRuntimeUtils.ServerRuntimeCallback() {
+        ServerRuntimeUtils.execute(project, new ServerRuntimeUtils.ServerRuntimeCallback() {
 
-			public boolean doWithRuntime(VirgoServerRuntime runtime) {
-				packages.addAll(getImportLibraryProposalsForRuntime(runtime, project, value));
-				return true;
-			}
-		});
+            public boolean doWithRuntime(VirgoServerRuntime runtime) {
+                packages.addAll(getImportLibraryProposalsForRuntime(runtime, project, value));
+                return true;
+            }
+        });
 
-		return packages;
+        return packages;
 
-	}
+    }
 
-	/**
-	 * Returns {@link org.eclipse.virgo.ide.bundlerepository.domain.PackageExport}s which name matches the given
-	 * <code>value</code>.
-	 */
-	public static Set<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport> getImportPackageProposals(
-			final IProject project, final String value) {
-		final Set<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport> packages = new TreeSet<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport>(
-				new Comparator<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport>() {
+    /**
+     * Returns {@link org.eclipse.virgo.ide.bundlerepository.domain.PackageExport}s which name matches the given
+     * <code>value</code>.
+     */
+    public static Set<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport> getImportPackageProposals(final IProject project,
+        final String value) {
+        final Set<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport> packages = new TreeSet<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport>(
+            new Comparator<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport>() {
 
-					public int compare(org.eclipse.virgo.ide.bundlerepository.domain.PackageExport o1,
-							org.eclipse.virgo.ide.bundlerepository.domain.PackageExport o2) {
-						if (o1.getName().equals(o2.getName())) {
-							return o1.getVersion().compareTo(o2.getVersion());
-						}
-						return o1.getName().compareTo(o2.getName());
-					}
-				});
+                public int compare(org.eclipse.virgo.ide.bundlerepository.domain.PackageExport o1,
+                    org.eclipse.virgo.ide.bundlerepository.domain.PackageExport o2) {
+                    if (o1.getName().equals(o2.getName())) {
+                        return o1.getVersion().compareTo(o2.getVersion());
+                    }
+                    return o1.getName().compareTo(o2.getName());
+                }
+            });
 
-		ServerRuntimeUtils.execute(project, new ServerRuntimeUtils.ServerRuntimeCallback() {
+        ServerRuntimeUtils.execute(project, new ServerRuntimeUtils.ServerRuntimeCallback() {
 
-			public boolean doWithRuntime(VirgoServerRuntime runtime) {
-				packages.addAll(getImportPackageProposalsForRuntime(runtime, project, value));
-				return true;
-			}
-		});
+            public boolean doWithRuntime(VirgoServerRuntime runtime) {
+                packages.addAll(getImportPackageProposalsForRuntime(runtime, project, value));
+                return true;
+            }
+        });
 
-		return packages;
+        return packages;
 
-	}
+    }
 
-	/**
-	 * Creates a {@link Repository} inventory from the given runtime.
-	 */
-	public static ArtefactRepository getRepositoryContents(IRuntime runtime) {
-		ArtefactRepository artifacts = new ArtefactRepository();
-		if (doesRuntimeSupportRepositories(runtime)) {
-			BundleRepository bundleRepository = ServerCorePlugin.getArtefactRepositoryManager().getBundleRepository(
-					runtime);
+    /**
+     * Creates a {@link Repository} inventory from the given runtime.
+     */
+    public static ArtefactRepository getRepositoryContents(IRuntime runtime) {
+        ArtefactRepository artifacts = new ArtefactRepository();
+        if (doesRuntimeSupportRepositories(runtime)) {
+            BundleRepository bundleRepository = ServerCorePlugin.getArtefactRepositoryManager().getBundleRepository(runtime);
 
-			for (org.eclipse.virgo.kernel.repository.BundleDefinition bundleDefinition : bundleRepository.getBundles()) {
-				if (bundleDefinition.getManifest() != null
-						&& bundleDefinition.getManifest().getBundleSymbolicName() != null
-						&& bundleDefinition.getManifest().getBundleSymbolicName().getSymbolicName() != null) {
-					BundleManifest manifest = bundleDefinition.getManifest();
-					boolean sourcefileExists = (ServerUtils.getSourceFile(bundleDefinition.getLocation()) != null && ServerUtils.getSourceFile(
-							bundleDefinition.getLocation())
-							.exists());
-					OsgiVersion version = null;
-					if (manifest.getBundleVersion() != null) {
-						version = new OsgiVersion(manifest.getBundleVersion());
-					}
-					artifacts.addBundle(new LocalBundleArtefact(manifest.getBundleName(),
-							manifest.getBundleSymbolicName().getSymbolicName(), version, sourcefileExists,
-							bundleDefinition.getLocation()));
-				}
+            for (org.eclipse.virgo.kernel.repository.BundleDefinition bundleDefinition : bundleRepository.getBundles()) {
+                if (bundleDefinition.getManifest() != null && bundleDefinition.getManifest().getBundleSymbolicName() != null
+                    && bundleDefinition.getManifest().getBundleSymbolicName().getSymbolicName() != null) {
+                    BundleManifest manifest = bundleDefinition.getManifest();
+                    boolean sourcefileExists = ServerUtils.getSourceFile(bundleDefinition.getLocation()) != null
+                        && ServerUtils.getSourceFile(bundleDefinition.getLocation()).exists();
+                    OsgiVersion version = null;
+                    if (manifest.getBundleVersion() != null) {
+                        version = new OsgiVersion(manifest.getBundleVersion());
+                    }
+                    artifacts.addBundle(new LocalBundleArtefact(manifest.getBundleName(), manifest.getBundleSymbolicName().getSymbolicName(), version,
+                        sourcefileExists, bundleDefinition.getLocation()));
+                }
 
-			}
-			for (org.eclipse.virgo.kernel.repository.LibraryDefinition libraryDefinition : bundleRepository.getLibraries()) {
-				if (libraryDefinition.getSymbolicName() != null) {
-					artifacts.addLibrary(new LocalLibraryArtefact(libraryDefinition.getName(),
-							libraryDefinition.getSymbolicName(), new OsgiVersion(libraryDefinition.getVersion()),
-							libraryDefinition.getLocation()));
-				}
-			}
-		}
-		return artifacts;
-	}
+            }
+            for (org.eclipse.virgo.kernel.repository.LibraryDefinition libraryDefinition : bundleRepository.getLibraries()) {
+                if (libraryDefinition.getSymbolicName() != null) {
+                    artifacts.addLibrary(new LocalLibraryArtefact(libraryDefinition.getName(), libraryDefinition.getSymbolicName(),
+                        new OsgiVersion(libraryDefinition.getVersion()), libraryDefinition.getLocation()));
+                }
+            }
+        }
+        return artifacts;
+    }
 
-	public static String getRepositoryUrl(IArtefact artefact) {
-		StringBuilder url = new StringBuilder(BRITS_BASE);
-		if (artefact instanceof BundleArtefact) {
-			url.append("/bundle/version/detail?name=");
-		} else if (artefact instanceof LibraryArtefact) {
-			url.append("/library/version/detail?name=");
-		}
-		url.append(artefact.getSymbolicName());
-		url.append("&version=");
-		url.append(artefact.getVersion().toString());
-		return url.toString();
-	}
+    public static String getRepositoryUrl(IArtefact artefact) {
+        StringBuilder url = new StringBuilder(BRITS_BASE);
+        if (artefact instanceof BundleArtefact) {
+            url.append("/bundle/version/detail?name=");
+        } else if (artefact instanceof LibraryArtefact) {
+            url.append("/library/version/detail?name=");
+        }
+        url.append(artefact.getSymbolicName());
+        url.append("&version=");
+        url.append(artefact.getVersion().toString());
+        return url.toString();
+    }
 
-	public static String getResourceUrl(BundleArtefact bundle, String downloadType) {
-		StringBuffer url = new StringBuffer(DOWNLOAD_BASE);
-		url.append("/bundles");
-		url.append(getCategory(bundle));
-		if (DOWNLOAD_TYPE_SOURCE.equals(downloadType)) {
-			url.append(bundle.getRelativeSourceUrlPath());
-		} else if (DOWNLOAD_TYPE_SOURCE_HASH.equals(downloadType)) {
-			url.append(bundle.getRelativeSourceUrlPath()).append(".sha1");
-		} else if (DOWNLOAD_TYPE_LICENSE.equals(downloadType)) {
-			url.append(bundle.getRelativeLicenseUrlPath());
-		} else if (DOWNLOAD_TYPE_BINARY_HASH.equals(downloadType)) {
-			url.append(bundle.getRelativeUrlPath()).append(".sha1");
-		} else {
-			url.append(bundle.getRelativeUrlPath());
-		}
-		return url.toString();
-	}
+    public static String getResourceUrl(BundleArtefact bundle, String downloadType) {
+        StringBuffer url = new StringBuffer(DOWNLOAD_BASE);
+        url.append("/bundles");
+        url.append(getCategory(bundle));
+        if (DOWNLOAD_TYPE_SOURCE.equals(downloadType)) {
+            url.append(bundle.getRelativeSourceUrlPath());
+        } else if (DOWNLOAD_TYPE_SOURCE_HASH.equals(downloadType)) {
+            url.append(bundle.getRelativeSourceUrlPath()).append(".sha1");
+        } else if (DOWNLOAD_TYPE_LICENSE.equals(downloadType)) {
+            url.append(bundle.getRelativeLicenseUrlPath());
+        } else if (DOWNLOAD_TYPE_BINARY_HASH.equals(downloadType)) {
+            url.append(bundle.getRelativeUrlPath()).append(".sha1");
+        } else {
+            url.append(bundle.getRelativeUrlPath());
+        }
+        return url.toString();
+    }
 
-	public static String getResourceUrl(LibraryArtefact library, String downloadType) {
-		StringBuffer url = new StringBuffer(DOWNLOAD_BASE);
-		url.append("/libraries");
-		url.append(getCategory(library));
-		if (DOWNLOAD_TYPE_LICENSE.equals(downloadType)) {
-			url.append(library.getRelativeLicenseUrlPath());
-		} else if (DOWNLOAD_TYPE_LIBRARY_HASH.equals(downloadType)) {
-			url.append(library.getRelativeUrlPath()).append(".sha1");
-		} else {
-			url.append(library.getRelativeUrlPath());
-		}
-		return url.toString();
-	}
+    public static String getResourceUrl(LibraryArtefact library, String downloadType) {
+        StringBuffer url = new StringBuffer(DOWNLOAD_BASE);
+        url.append("/libraries");
+        url.append(getCategory(library));
+        if (DOWNLOAD_TYPE_LICENSE.equals(downloadType)) {
+            url.append(library.getRelativeLicenseUrlPath());
+        } else if (DOWNLOAD_TYPE_LIBRARY_HASH.equals(downloadType)) {
+            url.append(library.getRelativeUrlPath()).append(".sha1");
+        } else {
+            url.append(library.getRelativeUrlPath());
+        }
+        return url.toString();
+    }
 
-	/**
-	 * Returns proposals for version content assist requests. 2.5.4 -> 2.5.4 [2.5.4,2.6.0) [2.5.4,2.5.4] [2.5.4,3.0.0)
-	 */
-	@SuppressWarnings("unchecked")
-	public static List<String> getVersionProposals(Set<String> versionStrings) {
-		// First order the version so that the highest appears first
-		List<Version> versions = new ArrayList<Version>();
-		for (String versionString : versionStrings) {
-			versions.add(Version.parseVersion(versionString));
-		}
-		Collections.sort(versions);
-		Collections.reverse(versions);
+    /**
+     * Returns proposals for version content assist requests. 2.5.4 -> 2.5.4 [2.5.4,2.6.0) [2.5.4,2.5.4] [2.5.4,3.0.0)
+     */
+    @SuppressWarnings("unchecked")
+    public static List<String> getVersionProposals(Set<String> versionStrings) {
+        // First order the version so that the highest appears first
+        List<Version> versions = new ArrayList<Version>();
+        for (String versionString : versionStrings) {
+            versions.add(Version.parseVersion(versionString));
+        }
+        Collections.sort(versions);
+        Collections.reverse(versions);
 
-		// Now add version ranges to the version
-		List<String> versionRanges = new ArrayList<String>();
-		for (Version version : versions) {
-			// 2.5.4 - removed as we don't want to make people use the
-			// completion
-			// versionRanges.add(version.toString());
+        // Now add version ranges to the version
+        List<String> versionRanges = new ArrayList<String>();
+        for (Version version : versions) {
+            // 2.5.4 - removed as we don't want to make people use the
+            // completion
+            // versionRanges.add(version.toString());
 
-			// [2.5.4,2.6.0)
-			versionRanges.add(new VersionRange(version, true, new Version(version.getMajor(), version.getMinor() + 1,
-					0, null), false).toString());
+            // [2.5.4,2.6.0)
+            versionRanges.add(new VersionRange(version, true, new Version(version.getMajor(), version.getMinor() + 1, 0, null), false).toString());
 
-			// [2.5.4,2.5.4]
-			versionRanges.add(new VersionRange(version, true, version, true).toString());
+            // [2.5.4,2.5.4]
+            versionRanges.add(new VersionRange(version, true, version, true).toString());
 
-			// [2.5.4,3.0.0)
-			versionRanges.add(new VersionRange(version, true, new Version(version.getMajor() + 1, 0, 0, null), false).toString());
+            // [2.5.4,3.0.0)
+            versionRanges.add(new VersionRange(version, true, new Version(version.getMajor() + 1, 0, 0, null), false).toString());
 
-		}
+        }
 
-		return versionRanges;
-	}
+        return versionRanges;
+    }
 
-	/**
-	 * Resolves dependencies of given <code>artefacts</code>. Currently this implementation only resolves direct bundle
-	 * dependencies of {@link LibraryArtefact}s.
-	 */
-	public static Set<Artefact> resolveDependencies(Set<Artefact> artifacts, boolean includeOptional) {
-		Set<Artefact> resolvedArtefacts = new HashSet<Artefact>(artifacts);
-		// resolve library dependencies
-		for (IArtefactTyped artefact : artifacts) {
-			if (artefact instanceof LibraryArtefact) {
-				resolvedArtefacts.addAll(ServerCorePlugin.getArtefactRepositoryManager().findLibraryDependencies(
-						(LibraryArtefact) artefact, includeOptional));
-			}
-		}
-		return resolvedArtefacts;
-	}
+    /**
+     * Resolves dependencies of given <code>artefacts</code>. Currently this implementation only resolves direct bundle
+     * dependencies of {@link LibraryArtefact}s.
+     */
+    public static Set<Artefact> resolveDependencies(Set<Artefact> artifacts, boolean includeOptional) {
+        Set<Artefact> resolvedArtefacts = new HashSet<Artefact>(artifacts);
+        // resolve library dependencies
+        for (IArtefactTyped artefact : artifacts) {
+            if (artefact instanceof LibraryArtefact) {
+                resolvedArtefacts.addAll(
+                    ServerCorePlugin.getArtefactRepositoryManager().findLibraryDependencies((LibraryArtefact) artefact, includeOptional));
+            }
+        }
+        return resolvedArtefacts;
+    }
 
-	/**
-	 * Searches the remote bundle repository for matches of a given search string.
-	 */
-	public static ArtefactRepository searchForArtifacts(final String search) {
-		return searchForArtifacts(search, true, true);
-	}
+    /**
+     * Searches the remote bundle repository for matches of a given search string.
+     */
+    public static ArtefactRepository searchForArtifacts(final String search) {
+        return searchForArtifacts(search, true, true);
+    }
 
-	/**
-	 * Searches the remote bundle repository for matches of a given search string.
-	 */
-	public static ArtefactRepository searchForArtifacts(final String search, boolean includeBundles,
-			boolean includesLibraries) {
-		StringMatcher matcher = new StringMatcher("*" + search + "*", true, false);
+    /**
+     * Searches the remote bundle repository for matches of a given search string.
+     */
+    public static ArtefactRepository searchForArtifacts(final String search, boolean includeBundles, boolean includesLibraries) {
+        StringMatcher matcher = new StringMatcher("*" + search + "*", true, false);
 
-		ArtefactRepository repository = new ArtefactRepository();
-		if (includeBundles) {
-			for (IArtefactTyped artefact : ServerCorePlugin.getArtefactRepositoryManager()
-					.getArtefactRepository()
-					.getBundles()) {
-				BundleArtefact bundle = (BundleArtefact) artefact;
-				// check symbolic name and name
-				if (matcher.match(bundle.getSymbolicName()) || matcher.match(bundle.getName())) {
-					repository.addBundle(bundle);
-				}
-				// check export packages
-				else {
-					for (org.eclipse.virgo.ide.bundlerepository.domain.PackageExport pe : bundle.getExports()) {
-						if (matcher.match(pe.getName())) {
-							repository.addBundle(bundle);
-							break;
-						}
-						for (PackageMember pm : pe.getExports()) {
-							if (matcher.match(pm.getName())) {
-								repository.addBundle(bundle);
-								break;
-							}
-						}
-					}
-				}
-			}
-		}
-		if (includesLibraries) {
-			for (IArtefact library : ServerCorePlugin.getArtefactRepositoryManager()
-					.getArtefactRepository()
-					.getLibraries()) {
-				// check symbolic name and name
-				if (matcher.match(library.getSymbolicName()) || matcher.match(library.getName())) {
-					repository.addLibrary((LibraryArtefact) library);
-				}
-			}
-		}
-		return repository;
-	}
+        ArtefactRepository repository = new ArtefactRepository();
+        if (includeBundles) {
+            for (IArtefactTyped artefact : ServerCorePlugin.getArtefactRepositoryManager().getArtefactRepository().getBundles()) {
+                BundleArtefact bundle = (BundleArtefact) artefact;
+                // check symbolic name and name
+                if (matcher.match(bundle.getSymbolicName()) || matcher.match(bundle.getName())) {
+                    repository.addBundle(bundle);
+                }
+                // check export packages
+                else {
+                    for (org.eclipse.virgo.ide.bundlerepository.domain.PackageExport pe : bundle.getExports()) {
+                        if (matcher.match(pe.getName())) {
+                            repository.addBundle(bundle);
+                            break;
+                        }
+                        for (PackageMember pm : pe.getExports()) {
+                            if (matcher.match(pm.getName())) {
+                                repository.addBundle(bundle);
+                                break;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        if (includesLibraries) {
+            for (IArtefact library : ServerCorePlugin.getArtefactRepositoryManager().getArtefactRepository().getLibraries()) {
+                // check symbolic name and name
+                if (matcher.match(library.getSymbolicName()) || matcher.match(library.getName())) {
+                    repository.addLibrary((LibraryArtefact) library);
+                }
+            }
+        }
+        return repository;
+    }
 
-	private static void addImportBundleProposalsFromManifest(Set<BundleArtefact> bundles, BundleManifest manifest,
-			String value) {
-		if (manifest != null && manifest.getBundleSymbolicName() != null
-				&& manifest.getBundleSymbolicName().getSymbolicName() != null
-				&& manifest.getBundleSymbolicName().getSymbolicName().startsWith(value)) {
-			OsgiVersion version = null;
-			if (manifest.getBundleVersion() != null) {
-				version = new OsgiVersion(manifest.getBundleVersion());
-			}
-			bundles.add(new LocalBundleArtefact(manifest.getBundleName(), manifest.getBundleSymbolicName()
-					.getSymbolicName(), version, false, null));
-		}
-	}
+    private static void addImportBundleProposalsFromManifest(Set<BundleArtefact> bundles, BundleManifest manifest, String value) {
+        if (manifest != null && manifest.getBundleSymbolicName() != null && manifest.getBundleSymbolicName().getSymbolicName() != null
+            && manifest.getBundleSymbolicName().getSymbolicName().startsWith(value)) {
+            OsgiVersion version = null;
+            if (manifest.getBundleVersion() != null) {
+                version = new OsgiVersion(manifest.getBundleVersion());
+            }
+            bundles.add(new LocalBundleArtefact(manifest.getBundleName(), manifest.getBundleSymbolicName().getSymbolicName(), version, false, null));
+        }
+    }
 
-	private static void addImportPackageProposalsFromManifest(String value,
-			Set<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport> packages, BundleManifest manifest) {
-		if (manifest != null && manifest.getExportPackage() != null) {
-			for (ExportedPackage export : manifest.getExportPackage().getExportedPackages()) {
-				Object version = export.getAttributes().get("version");
-				String packageName = export.getPackageName();
-				if (packageName.startsWith(value)) {
-					OsgiVersion v = null;
-					if (version != null) {
-						v = new OsgiVersion(version.toString());
-					} else {
-						v = new OsgiVersion(Version.emptyVersion);
-					}
-					packages.add(new org.eclipse.virgo.ide.bundlerepository.domain.PackageExport(null, packageName, v));
-				}
-			}
-		}
-	}
+    private static void addImportPackageProposalsFromManifest(String value, Set<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport> packages,
+        BundleManifest manifest) {
+        if (manifest != null && manifest.getExportPackage() != null) {
+            for (ExportedPackage export : manifest.getExportPackage().getExportedPackages()) {
+                Object version = export.getAttributes().get("version");
+                String packageName = export.getPackageName();
+                if (packageName.startsWith(value)) {
+                    OsgiVersion v = null;
+                    if (version != null) {
+                        v = new OsgiVersion(version.toString());
+                    } else {
+                        v = new OsgiVersion(Version.emptyVersion);
+                    }
+                    packages.add(new org.eclipse.virgo.ide.bundlerepository.domain.PackageExport(null, packageName, v));
+                }
+            }
+        }
+    }
 
-	private static String getCategory(IArtefact artefact) {
-		if (artefact.getOrganisationName() != null
-				&& (artefact.getOrganisationName().startsWith("com.springsource") || artefact.getOrganisationName()
-						.startsWith("org.springframework"))) {
-			return "/release";
-		} else {
-			return "/external";
-		}
-	}
+    private static String getCategory(IArtefact artefact) {
+        if (artefact.getOrganisationName() != null
+            && (artefact.getOrganisationName().startsWith("com.springsource") || artefact.getOrganisationName().startsWith("org.springframework"))) {
+            return "/release";
+        } else {
+            return "/external";
+        }
+    }
 
-	private static Set<BundleArtefact> getImportBundleProposalsForRuntime(VirgoServerRuntime runtime, IProject project,
-			String value) {
-		if (value == null) {
-			value = "";
-		}
-		Set<BundleArtefact> bundles = new HashSet<BundleArtefact>();
+    private static Set<BundleArtefact> getImportBundleProposalsForRuntime(VirgoServerRuntime runtime, IProject project, String value) {
+        if (value == null) {
+            value = "";
+        }
+        Set<BundleArtefact> bundles = new HashSet<BundleArtefact>();
 
-		BundleRepository bundleRepository = ServerCorePlugin.getArtefactRepositoryManager().getBundleRepository(
-				runtime.getRuntime());
+        BundleRepository bundleRepository = ServerCorePlugin.getArtefactRepositoryManager().getBundleRepository(runtime.getRuntime());
 
-		for (org.eclipse.virgo.kernel.repository.BundleDefinition definition : bundleRepository.getBundles()) {
-			if (definition.getManifest() != null) {
-				BundleManifest manifest = definition.getManifest();
-				addImportBundleProposalsFromManifest(bundles, manifest, value);
-			}
-		}
+        for (org.eclipse.virgo.kernel.repository.BundleDefinition definition : bundleRepository.getBundles()) {
+            if (definition.getManifest() != null) {
+                BundleManifest manifest = definition.getManifest();
+                addImportBundleProposalsFromManifest(bundles, manifest, value);
+            }
+        }
 
-		// Add workspace bundles
-		for (IProject p : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
-			if (FacetUtils.isBundleProject(p) && !p.equals(project)) {
-				BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(
-						JavaCore.create(p));
-				addImportBundleProposalsFromManifest(bundles, manifest, value);
-			}
-		}
+        // Add workspace bundles
+        for (IProject p : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
+            if (FacetUtils.isBundleProject(p) && !p.equals(project)) {
+                BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(JavaCore.create(p));
+                addImportBundleProposalsFromManifest(bundles, manifest, value);
+            }
+        }
 
-		return bundles;
-	}
+        return bundles;
+    }
 
-	private static Set<LibraryArtefact> getImportLibraryProposalsForRuntime(VirgoServerRuntime runtime,
-			IProject project, String value) {
-		if (value == null) {
-			value = "";
-		}
-		Set<LibraryArtefact> libraries = new HashSet<LibraryArtefact>();
+    private static Set<LibraryArtefact> getImportLibraryProposalsForRuntime(VirgoServerRuntime runtime, IProject project, String value) {
+        if (value == null) {
+            value = "";
+        }
+        Set<LibraryArtefact> libraries = new HashSet<LibraryArtefact>();
 
-		BundleRepository bundleRepository = ServerCorePlugin.getArtefactRepositoryManager().getBundleRepository(
-				runtime.getRuntime());
+        BundleRepository bundleRepository = ServerCorePlugin.getArtefactRepositoryManager().getBundleRepository(runtime.getRuntime());
 
-		for (org.eclipse.virgo.kernel.repository.LibraryDefinition definition : bundleRepository.getLibraries()) {
-			if (definition.getSymbolicName() != null && definition.getSymbolicName().startsWith(value)) {
-				libraries.add(new LibraryArtefact(definition.getName(), definition.getSymbolicName(), new OsgiVersion(
-						definition.getVersion()), definition.getSymbolicName(), definition.getSymbolicName()));
-			}
-		}
-		return libraries;
-	}
+        for (org.eclipse.virgo.kernel.repository.LibraryDefinition definition : bundleRepository.getLibraries()) {
+            if (definition.getSymbolicName() != null && definition.getSymbolicName().startsWith(value)) {
+                libraries.add(new LibraryArtefact(definition.getName(), definition.getSymbolicName(), new OsgiVersion(definition.getVersion()),
+                    definition.getSymbolicName(), definition.getSymbolicName()));
+            }
+        }
+        return libraries;
+    }
 
-	private static Set<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport> getImportPackageProposalsForRuntime(
-			VirgoServerRuntime runtime, IProject project, String value) {
-		if (value == null) {
-			value = "";
-		}
-		Set<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport> packages = new HashSet<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport>();
+    private static Set<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport> getImportPackageProposalsForRuntime(VirgoServerRuntime runtime,
+        IProject project, String value) {
+        if (value == null) {
+            value = "";
+        }
+        Set<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport> packages = new HashSet<org.eclipse.virgo.ide.bundlerepository.domain.PackageExport>();
 
-		BundleRepository bundleRepository = ServerCorePlugin.getArtefactRepositoryManager().getBundleRepository(
-				runtime.getRuntime());
+        BundleRepository bundleRepository = ServerCorePlugin.getArtefactRepositoryManager().getBundleRepository(runtime.getRuntime());
 
-		for (org.eclipse.virgo.kernel.repository.BundleDefinition definition : bundleRepository.getBundles()) {
-			if (definition.getManifest() != null) {
-				BundleManifest manifest = definition.getManifest();
-				addImportPackageProposalsFromManifest(value, packages, manifest);
-			}
-		}
+        for (org.eclipse.virgo.kernel.repository.BundleDefinition definition : bundleRepository.getBundles()) {
+            if (definition.getManifest() != null) {
+                BundleManifest manifest = definition.getManifest();
+                addImportPackageProposalsFromManifest(value, packages, manifest);
+            }
+        }
 
-		// Add workspace bundles
-		for (IProject p : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
-			if (FacetUtils.isBundleProject(p) && !p.equals(project)) {
-				BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(
-						JavaCore.create(p));
-				addImportPackageProposalsFromManifest(value, packages, manifest);
-			}
-		}
+        // Add workspace bundles
+        for (IProject p : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
+            if (FacetUtils.isBundleProject(p) && !p.equals(project)) {
+                BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(JavaCore.create(p));
+                addImportPackageProposalsFromManifest(value, packages, manifest);
+            }
+        }
 
-		return packages;
-	}
+        return packages;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/DefaultServerDeployer.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/DefaultServerDeployer.java
index b914f48..df968b0 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/DefaultServerDeployer.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/DefaultServerDeployer.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import java.io.IOException;
@@ -36,248 +37,241 @@
 import org.eclipse.wst.server.core.model.IModuleFile;
 
 /**
- * Deployer helper that hides the JMX-based communication with a running dm
- * Server.
- * 
+ * Deployer helper that hides the JMX-based communication with a running dm Server.
+ *
  * @author Christian Dupuis
  * @since 2.0.0
  */
 public class DefaultServerDeployer implements IServerDeployer {
 
-	private IServerBehaviour behaviour;
+    private final IServerBehaviour behaviour;
 
-	public DefaultServerDeployer(IServerBehaviour behaviour) {
-		this.behaviour = behaviour;
-	}
+    public DefaultServerDeployer(IServerBehaviour behaviour) {
+        this.behaviour = behaviour;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public void deploy(IModule... modules) {
-		List<IModule> orderedModules = Arrays.asList(modules);
+    /**
+     * {@inheritDoc}
+     */
+    public void deploy(IModule... modules) {
+        List<IModule> orderedModules = Arrays.asList(modules);
 
-		// make sure we honor the user configured order
-		final List<String> orderedArtefacts = getArtefactOrder();
+        // make sure we honor the user configured order
+        final List<String> orderedArtefacts = getArtefactOrder();
 
-		// sort the modules according the order defined in the server
-		// configuration
-		Collections.sort(orderedModules, new Comparator<IModule>() {
+        // sort the modules according the order defined in the server
+        // configuration
+        Collections.sort(orderedModules, new Comparator<IModule>() {
 
-			public int compare(IModule o1, IModule o2) {
-				Integer m1 = (orderedArtefacts.contains(o1.getId()) ? orderedArtefacts.indexOf(o1.getId())
-					: Integer.MAX_VALUE);
-				Integer m2 = (orderedArtefacts.contains(o2.getId()) ? orderedArtefacts.indexOf(o2.getId())
-					: Integer.MAX_VALUE);
-				return m1.compareTo(m2);
-			}
-		});
+            public int compare(IModule o1, IModule o2) {
+                Integer m1 = orderedArtefacts.contains(o1.getId()) ? orderedArtefacts.indexOf(o1.getId()) : Integer.MAX_VALUE;
+                Integer m2 = orderedArtefacts.contains(o2.getId()) ? orderedArtefacts.indexOf(o2.getId()) : Integer.MAX_VALUE;
+                return m1.compareTo(m2);
+            }
+        });
 
-		for (IModule module : orderedModules) {
-			DeploymentIdentity identity = executeDeployerCommand(getServerDeployCommand(module));
-			if (behaviour instanceof ServerBehaviour) {
-				((ServerBehaviour) behaviour).tail(identity);
-			}
-			behaviour.onModulePublishStateChange(new IModule[] { module }, IServer.PUBLISH_STATE_NONE);
-			// if (identity != null) {
-			// behaviour.onModuleStateChange(new IModule[] { module },
-			// IServer.STATE_STARTED);
-			// }
-			// else {
-			// behaviour.onModuleStateChange(new IModule[] { module },
-			// IServer.STATE_STOPPED);
-			// }
-		}
-	}
+        for (IModule module : orderedModules) {
+            DeploymentIdentity identity = executeDeployerCommand(getServerDeployCommand(module));
+            if (this.behaviour instanceof ServerBehaviour) {
+                ((ServerBehaviour) this.behaviour).tail(identity);
+            }
+            this.behaviour.onModulePublishStateChange(new IModule[] { module }, IServer.PUBLISH_STATE_NONE);
+            // if (identity != null) {
+            // behaviour.onModuleStateChange(new IModule[] { module },
+            // IServer.STATE_STARTED);
+            // }
+            // else {
+            // behaviour.onModuleStateChange(new IModule[] { module },
+            // IServer.STATE_STOPPED);
+            // }
+        }
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public Boolean ping() throws IOException, TimeoutException {
-		return getServerPingCommand().execute();
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public Boolean ping() throws IOException, TimeoutException {
+        return getServerPingCommand().execute();
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public void redeploy(IModule module) {
+    /**
+     * {@inheritDoc}
+     */
+    public void redeploy(IModule module) {
 
-		DeploymentIdentity identity = behaviour.getDeploymentIdentities().get(module.getId());
-		if (identity == null) {
-			identity = executeDeployerCommand(getServerDeployCommand(module));
-		} else {
-			// Special handling for pars with nested bundles to determine if
-			// only one of the bundles
-			// refreshing
-			if (FacetUtils.isParProject(module.getProject())) {
+        DeploymentIdentity identity = this.behaviour.getDeploymentIdentities().get(module.getId());
+        if (identity == null) {
+            identity = executeDeployerCommand(getServerDeployCommand(module));
+        } else {
+            // Special handling for pars with nested bundles to determine if
+            // only one of the bundles
+            // refreshing
+            if (FacetUtils.isParProject(module.getProject())) {
 
-				Set<String> bundleSymbolicNames = new LinkedHashSet<String>();
-				IModule[] children = getModuleChildren(module);
-				// If only one module has actual changes; emit a bundle refresh
-				// only
-				for (IModule child : children) {
-					int state = getModuleState(module, child);
-					if (state != IServer.PUBLISH_STATE_NONE) {
-						if (FacetUtils.isBundleProject(child.getProject())) {
-							BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager()
-									.getBundleManifest(JavaCore.create(child.getProject()));
-							if (manifest != null && manifest.getBundleSymbolicName() != null) {
-								bundleSymbolicNames.add(manifest.getBundleSymbolicName().getSymbolicName());
-							}
-						}
-					}
-				}
+                Set<String> bundleSymbolicNames = new LinkedHashSet<String>();
+                IModule[] children = getModuleChildren(module);
+                // If only one module has actual changes; emit a bundle refresh
+                // only
+                for (IModule child : children) {
+                    int state = getModuleState(module, child);
+                    if (state != IServer.PUBLISH_STATE_NONE) {
+                        if (FacetUtils.isBundleProject(child.getProject())) {
+                            BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(
+                                JavaCore.create(child.getProject()));
+                            if (manifest != null && manifest.getBundleSymbolicName() != null) {
+                                bundleSymbolicNames.add(manifest.getBundleSymbolicName().getSymbolicName());
+                            }
+                        }
+                    }
+                }
 
-				// Only one changed bundle found -> update single one
-				if (bundleSymbolicNames.size() == 1) {
-					executeDeployerCommand(getServerRefreshCommand(module, bundleSymbolicNames.iterator().next()));
-				} else {
-					identity = executeDeployerCommand(getServerDeployCommand(module));
-				}
-			} else {
-				identity = executeDeployerCommand(getServerDeployCommand(module));
-			}
-		}
+                // Only one changed bundle found -> update single one
+                if (bundleSymbolicNames.size() == 1) {
+                    executeDeployerCommand(getServerRefreshCommand(module, bundleSymbolicNames.iterator().next()));
+                } else {
+                    identity = executeDeployerCommand(getServerDeployCommand(module));
+                }
+            } else {
+                identity = executeDeployerCommand(getServerDeployCommand(module));
+            }
+        }
 
-		// if (identity != null) {
-		// behaviour.onModuleStateChange(new IModule[] { module },
-		// IServer.STATE_STARTED);
-		// }
-		// else {
-		// behaviour.onModuleStateChange(new IModule[] { module },
-		// IServer.STATE_STOPPED);
-		// }
+        // if (identity != null) {
+        // behaviour.onModuleStateChange(new IModule[] { module },
+        // IServer.STATE_STARTED);
+        // }
+        // else {
+        // behaviour.onModuleStateChange(new IModule[] { module },
+        // IServer.STATE_STOPPED);
+        // }
 
-	}
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	protected IModule[] getModuleChildren(IModule module) {
-		return ServerUtils.getServer(behaviour).getChildModules(new IModule[] { module });
-	}
+    /**
+     * {@inheritDoc}
+     */
+    protected IModule[] getModuleChildren(IModule module) {
+        return ServerUtils.getServer(this.behaviour).getChildModules(new IModule[] { module });
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	protected int getModuleState(IModule module, IModule child) {
-		return ServerUtils.getServer(behaviour).getServer().getModulePublishState(new IModule[] { module, child });
-	}
+    /**
+     * {@inheritDoc}
+     */
+    protected int getModuleState(IModule module, IModule child) {
+        return ServerUtils.getServer(this.behaviour).getServer().getModulePublishState(new IModule[] { module, child });
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	protected List<String> getArtefactOrder() {
-		return ServerUtils.getServer(behaviour).getConfiguration().getArtefactOrder();
-	}
+    /**
+     * {@inheritDoc}
+     */
+    protected List<String> getArtefactOrder() {
+        return ServerUtils.getServer(this.behaviour).getConfiguration().getArtefactOrder();
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public void refresh(IModule parModule, IModule... modules) {
-		for (IModule module : modules) {
-			BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager()
-					.getBundleManifest(JavaCore.create(module.getProject()));
-			if (manifest != null && manifest.getBundleSymbolicName() != null) {
-				executeDeployerCommand(getServerRefreshCommand(parModule, manifest.getBundleSymbolicName()
-						.getSymbolicName()));
-			}
-		}
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public void refresh(IModule parModule, IModule... modules) {
+        for (IModule module : modules) {
+            BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(JavaCore.create(module.getProject()));
+            if (manifest != null && manifest.getBundleSymbolicName() != null) {
+                executeDeployerCommand(getServerRefreshCommand(parModule, manifest.getBundleSymbolicName().getSymbolicName()));
+            }
+        }
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public void refreshStatic(IModule module, IModuleFile file) {
+    /**
+     * {@inheritDoc}
+     */
+    public void refreshStatic(IModule module, IModuleFile file) {
 
-		DeploymentIdentity identity = behaviour.getDeploymentIdentities().get(module.getId());
-		if (identity != null) {
+        DeploymentIdentity identity = this.behaviour.getDeploymentIdentities().get(module.getId());
+        if (identity != null) {
 
-			if (FacetUtils.isParProject(module.getProject()) || FacetUtils.isPlanProject(module.getProject())) {
-				IFile f = (IFile) file.getAdapter(IFile.class);
-				if (f != null) {
-					if (FacetUtils.isBundleProject(f.getProject())
-						|| FacetUtils.hasProjectFacet(f.getProject(), FacetCorePlugin.WEB_FACET_ID)) {
-						BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager()
-								.getBundleManifest(JavaCore.create(f.getProject()));
-						String symbolicName = null;
-						if (manifest != null && manifest.getBundleSymbolicName() != null) {
-							symbolicName = manifest.getBundleSymbolicName().getSymbolicName();
-						} else {
-							symbolicName = f.getProject().getName();
-						}
-						String projectPath = f.getProject().getName();
-						String path = file.getModuleRelativePath().toString();
+            if (FacetUtils.isParProject(module.getProject()) || FacetUtils.isPlanProject(module.getProject())) {
+                IFile f = file.getAdapter(IFile.class);
+                if (f != null) {
+                    if (FacetUtils.isBundleProject(f.getProject()) || FacetUtils.hasProjectFacet(f.getProject(), FacetCorePlugin.WEB_FACET_ID)) {
+                        BundleManifest manifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(
+                            JavaCore.create(f.getProject()));
+                        String symbolicName = null;
+                        if (manifest != null && manifest.getBundleSymbolicName() != null) {
+                            symbolicName = manifest.getBundleSymbolicName().getSymbolicName();
+                        } else {
+                            symbolicName = f.getProject().getName();
+                        }
+                        String projectPath = f.getProject().getName();
+                        String path = file.getModuleRelativePath().toString();
 
-						// add 5 for .jar or .war + / (see
-						// ServerModuleDelegate#members())
-						if (path.length() > projectPath.length() + 5) {
-							path = path.substring(projectPath.length() + 5);
-							executeDeployerCommand(getServerUpdateCommand(module, file, identity, symbolicName, path));
-						} else {
-							executeDeployerCommand(getServerUpdateCommand(module, file, identity, symbolicName, ""));
-						}
-					}
-				}
-			} else {
-				executeDeployerCommand(getServerUpdateCommand(module, file, identity, null, file
-						.getModuleRelativePath().toString()));
-			}
-		}
-	}
+                        // add 5 for .jar or .war + / (see
+                        // ServerModuleDelegate#members())
+                        if (path.length() > projectPath.length() + 5) {
+                            path = path.substring(projectPath.length() + 5);
+                            executeDeployerCommand(getServerUpdateCommand(module, file, identity, symbolicName, path));
+                        } else {
+                            executeDeployerCommand(getServerUpdateCommand(module, file, identity, symbolicName, ""));
+                        }
+                    }
+                }
+            } else {
+                executeDeployerCommand(getServerUpdateCommand(module, file, identity, null, file.getModuleRelativePath().toString()));
+            }
+        }
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public void shutdown() throws IOException, TimeoutException {
-		getServerShutdownCommand().execute();
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public void shutdown() throws IOException, TimeoutException {
+        getServerShutdownCommand().execute();
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public void undeploy(IModule... modules) {
-		for (IModule module : modules) {
-			executeDeployerCommand(getServerUndeployCommand(module));
-			// behaviour.onModuleStateChange(new IModule[] { module },
-			// IServer.STATE_STOPPED);
-		}
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public void undeploy(IModule... modules) {
+        for (IModule module : modules) {
+            executeDeployerCommand(getServerUndeployCommand(module));
+            // behaviour.onModuleStateChange(new IModule[] { module },
+            // IServer.STATE_STOPPED);
+        }
+    }
 
-	protected <T> T executeDeployerCommand(IServerCommand<T> serverCommand) {
-		try {
-			return serverCommand.execute();
-		} catch (IOException e) {
-			StatusUtil.error("Failed execution of deployer command " + serverCommand, e);
-		} catch (TimeoutException e) {
-			StatusUtil.error("Failed execution of deployer command " + serverCommand, e, StatusManager.SHOW);
-		}
-		return null;
-	}
+    protected <T> T executeDeployerCommand(IServerCommand<T> serverCommand) {
+        try {
+            return serverCommand.execute();
+        } catch (IOException e) {
+            StatusUtil.error("Failed execution of deployer command " + serverCommand, e);
+        } catch (TimeoutException e) {
+            StatusUtil.error("Failed execution of deployer command " + serverCommand, e, StatusManager.SHOW);
+        }
+        return null;
+    }
 
-	protected IServerCommand<DeploymentIdentity> getServerDeployCommand(IModule module) {
-		return behaviour.getVersionHandler().getServerDeployCommand(behaviour, module);
-	}
+    protected IServerCommand<DeploymentIdentity> getServerDeployCommand(IModule module) {
+        return this.behaviour.getVersionHandler().getServerDeployCommand(this.behaviour, module);
+    }
 
-	protected IServerCommand<Boolean> getServerPingCommand() {
-		return behaviour.getVersionHandler().getServerPingCommand(behaviour);
-	}
+    protected IServerCommand<Boolean> getServerPingCommand() {
+        return this.behaviour.getVersionHandler().getServerPingCommand(this.behaviour);
+    }
 
-	protected IServerCommand<Void> getServerRefreshCommand(IModule module, String bundleSymbolicName) {
-		return behaviour.getVersionHandler().getServerRefreshCommand(behaviour, module, bundleSymbolicName);
-	}
+    protected IServerCommand<Void> getServerRefreshCommand(IModule module, String bundleSymbolicName) {
+        return this.behaviour.getVersionHandler().getServerRefreshCommand(this.behaviour, module, bundleSymbolicName);
+    }
 
-	protected IServerCommand<Void> getServerShutdownCommand() {
-		return behaviour.getVersionHandler().getServerShutdownCommand(behaviour);
-	}
+    protected IServerCommand<Void> getServerShutdownCommand() {
+        return this.behaviour.getVersionHandler().getServerShutdownCommand(this.behaviour);
+    }
 
-	protected IServerCommand<Void> getServerUndeployCommand(IModule module) {
-		return behaviour.getVersionHandler().getServerUndeployCommand(behaviour, module);
-	}
+    protected IServerCommand<Void> getServerUndeployCommand(IModule module) {
+        return this.behaviour.getVersionHandler().getServerUndeployCommand(this.behaviour, module);
+    }
 
-	protected IServerCommand<Void> getServerUpdateCommand(IModule module, IModuleFile moduleFile,
-			DeploymentIdentity identity, String bundleSymbolicName, String targetPath) {
-		return behaviour.getVersionHandler().getServerUpdateCommand(behaviour, module, moduleFile, identity,
-																	bundleSymbolicName, targetPath);
-	}
+    protected IServerCommand<Void> getServerUpdateCommand(IModule module, IModuleFile moduleFile, DeploymentIdentity identity,
+        String bundleSymbolicName, String targetPath) {
+        return this.behaviour.getVersionHandler().getServerUpdateCommand(this.behaviour, module, moduleFile, identity, bundleSymbolicName,
+            targetPath);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/DeploymentIdentity.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/DeploymentIdentity.java
index ba87d6c..dd2f58b 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/DeploymentIdentity.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/DeploymentIdentity.java
@@ -8,37 +8,38 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 /**
  * Simple data holder for a deployed par or bundle.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class DeploymentIdentity {
 
-	private String symbolicName;
+    private final String symbolicName;
 
-	private String version;
+    private final String version;
 
-	public DeploymentIdentity(String symbolicName, String version) {
-		this.symbolicName = symbolicName;
-		this.version = version;
-	}
+    public DeploymentIdentity(String symbolicName, String version) {
+        this.symbolicName = symbolicName;
+        this.version = version;
+    }
 
-	public DeploymentIdentity(String output) {
-		int ix = output.lastIndexOf('#');
-		this.symbolicName = output.substring(0, ix);
-		this.version = output.substring(ix + 1);
-	}
+    public DeploymentIdentity(String output) {
+        int ix = output.lastIndexOf('#');
+        this.symbolicName = output.substring(0, ix);
+        this.version = output.substring(ix + 1);
+    }
 
-	public String getSymbolicName() {
-		return symbolicName;
-	}
+    public String getSymbolicName() {
+        return this.symbolicName;
+    }
 
-	public String getVersion() {
-		return version;
-	}
+    public String getVersion() {
+        return this.version;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/LaunchArgumentUtils.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/LaunchArgumentUtils.java
index 9ba83db..e10c2c6 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/LaunchArgumentUtils.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/LaunchArgumentUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import java.util.Iterator;
@@ -17,192 +18,191 @@
 
 /**
  * Utility class that deals with command line arguments.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class LaunchArgumentUtils {
 
-	public static String mergeArguments(String originalArg, String[] vmArgs, String[] excludeArgs,
-			boolean keepActionLast) {
-		if (vmArgs == null) {
-			return originalArg;
-		}
+    public static String mergeArguments(String originalArg, String[] vmArgs, String[] excludeArgs, boolean keepActionLast) {
+        if (vmArgs == null) {
+            return originalArg;
+        }
 
-		if (originalArg == null) {
-			originalArg = "";
-		}
+        if (originalArg == null) {
+            originalArg = "";
+        }
 
-		// replace and null out all vmargs that already exist
-		int size = vmArgs.length;
-		for (int i = 0; i < size; i++) {
-			int ind = vmArgs[i].indexOf(" ");
-			int ind2 = vmArgs[i].indexOf("=");
-			if (ind >= 0 && (ind2 == -1 || ind < ind2)) { // -a bc style
-				int index = originalArg.indexOf(vmArgs[i].substring(0, ind + 1));
-				if (index == 0 || (index > 0 && originalArg.charAt(index - 1) == ' ')) {
-					// replace
-					String s = originalArg.substring(0, index);
-					int index2 = getNextToken(originalArg, index + ind + 1);
-					if (index2 >= 0) {
-						originalArg = s + vmArgs[i] + originalArg.substring(index2);
-					} else {
-						originalArg = s + vmArgs[i];
-					}
-					vmArgs[i] = null;
-				}
-			} else if (ind2 >= 0) { // a=b style
-				int index = originalArg.indexOf(vmArgs[i].substring(0, ind2 + 1));
-				if (index == 0 || (index > 0 && originalArg.charAt(index - 1) == ' ')) {
-					// replace
-					String s = originalArg.substring(0, index);
-					int index2 = getNextToken(originalArg, index);
-					if (index2 >= 0) {
-						originalArg = s + vmArgs[i] + originalArg.substring(index2);
-					} else {
-						originalArg = s + vmArgs[i];
-					}
-					vmArgs[i] = null;
-				}
-			} else { // abc style
-				int index = originalArg.indexOf(vmArgs[i]);
-				if (index == 0 || (index > 0 && originalArg.charAt(index - 1) == ' ')) {
-					// replace
-					String s = originalArg.substring(0, index);
-					int index2 = getNextToken(originalArg, index);
-					if (!keepActionLast || i < (size - 1)) {
-						if (index2 >= 0) {
-							originalArg = s + vmArgs[i] + originalArg.substring(index2);
-						} else {
-							originalArg = s + vmArgs[i];
-						}
-						vmArgs[i] = null;
-					} else {
-						// The last VM argument needs to remain last,
-						// remove original arg and append the vmArg later
-						if (index2 >= 0) {
-							originalArg = s + originalArg.substring(index2);
-						} else {
-							originalArg = s;
-						}
-					}
-				}
-			}
-		}
+        // replace and null out all vmargs that already exist
+        int size = vmArgs.length;
+        for (int i = 0; i < size; i++) {
+            int ind = vmArgs[i].indexOf(" ");
+            int ind2 = vmArgs[i].indexOf("=");
+            if (ind >= 0 && (ind2 == -1 || ind < ind2)) { // -a bc style
+                int index = originalArg.indexOf(vmArgs[i].substring(0, ind + 1));
+                if (index == 0 || index > 0 && originalArg.charAt(index - 1) == ' ') {
+                    // replace
+                    String s = originalArg.substring(0, index);
+                    int index2 = getNextToken(originalArg, index + ind + 1);
+                    if (index2 >= 0) {
+                        originalArg = s + vmArgs[i] + originalArg.substring(index2);
+                    } else {
+                        originalArg = s + vmArgs[i];
+                    }
+                    vmArgs[i] = null;
+                }
+            } else if (ind2 >= 0) { // a=b style
+                int index = originalArg.indexOf(vmArgs[i].substring(0, ind2 + 1));
+                if (index == 0 || index > 0 && originalArg.charAt(index - 1) == ' ') {
+                    // replace
+                    String s = originalArg.substring(0, index);
+                    int index2 = getNextToken(originalArg, index);
+                    if (index2 >= 0) {
+                        originalArg = s + vmArgs[i] + originalArg.substring(index2);
+                    } else {
+                        originalArg = s + vmArgs[i];
+                    }
+                    vmArgs[i] = null;
+                }
+            } else { // abc style
+                int index = originalArg.indexOf(vmArgs[i]);
+                if (index == 0 || index > 0 && originalArg.charAt(index - 1) == ' ') {
+                    // replace
+                    String s = originalArg.substring(0, index);
+                    int index2 = getNextToken(originalArg, index);
+                    if (!keepActionLast || i < size - 1) {
+                        if (index2 >= 0) {
+                            originalArg = s + vmArgs[i] + originalArg.substring(index2);
+                        } else {
+                            originalArg = s + vmArgs[i];
+                        }
+                        vmArgs[i] = null;
+                    } else {
+                        // The last VM argument needs to remain last,
+                        // remove original arg and append the vmArg later
+                        if (index2 >= 0) {
+                            originalArg = s + originalArg.substring(index2);
+                        } else {
+                            originalArg = s;
+                        }
+                    }
+                }
+            }
+        }
 
-		// remove excluded arguments
-		if (excludeArgs != null && excludeArgs.length > 0) {
-			for (String excludeArg : excludeArgs) {
-				int ind = excludeArg.indexOf(" ");
-				int ind2 = excludeArg.indexOf("=");
-				if (ind >= 0 && (ind2 == -1 || ind < ind2)) { // -a bc style
-					int index = originalArg.indexOf(excludeArg.substring(0, ind + 1));
-					if (index == 0 || (index > 0 && originalArg.charAt(index - 1) == ' ')) {
-						// remove
-						String s = originalArg.substring(0, index);
-						int index2 = getNextToken(originalArg, index + ind + 1);
-						if (index2 >= 0) {
-							// If remainder will become the first argument,
-							// remove leading blanks
-							while (index2 < originalArg.length() && originalArg.charAt(index2) == ' ') {
-								index2 += 1;
-							}
-							originalArg = s + originalArg.substring(index2);
-						} else {
-							originalArg = s;
-						}
-					}
-				} else if (ind2 >= 0) { // a=b style
-					int index = originalArg.indexOf(excludeArg.substring(0, ind2 + 1));
-					if (index == 0 || (index > 0 && originalArg.charAt(index - 1) == ' ')) {
-						// remove
-						String s = originalArg.substring(0, index);
-						int index2 = getNextToken(originalArg, index);
-						if (index2 >= 0) {
-							// If remainder will become the first argument,
-							// remove leading blanks
-							while (index2 < originalArg.length() && originalArg.charAt(index2) == ' ') {
-								index2 += 1;
-							}
-							originalArg = s + originalArg.substring(index2);
-						} else {
-							originalArg = s;
-						}
-					}
-				} else { // abc style
-					int index = originalArg.indexOf(excludeArg);
-					if (index == 0 || (index > 0 && originalArg.charAt(index - 1) == ' ')) {
-						// remove
-						String s = originalArg.substring(0, index);
-						int index2 = getNextToken(originalArg, index);
-						if (index2 >= 0) {
-							// Remove leading blanks
-							while (index2 < originalArg.length() && originalArg.charAt(index2) == ' ') {
-								index2 += 1;
-							}
-							originalArg = s + originalArg.substring(index2);
-						} else {
-							originalArg = s;
-						}
-					}
-				}
-			}
-		}
+        // remove excluded arguments
+        if (excludeArgs != null && excludeArgs.length > 0) {
+            for (String excludeArg : excludeArgs) {
+                int ind = excludeArg.indexOf(" ");
+                int ind2 = excludeArg.indexOf("=");
+                if (ind >= 0 && (ind2 == -1 || ind < ind2)) { // -a bc style
+                    int index = originalArg.indexOf(excludeArg.substring(0, ind + 1));
+                    if (index == 0 || index > 0 && originalArg.charAt(index - 1) == ' ') {
+                        // remove
+                        String s = originalArg.substring(0, index);
+                        int index2 = getNextToken(originalArg, index + ind + 1);
+                        if (index2 >= 0) {
+                            // If remainder will become the first argument,
+                            // remove leading blanks
+                            while (index2 < originalArg.length() && originalArg.charAt(index2) == ' ') {
+                                index2 += 1;
+                            }
+                            originalArg = s + originalArg.substring(index2);
+                        } else {
+                            originalArg = s;
+                        }
+                    }
+                } else if (ind2 >= 0) { // a=b style
+                    int index = originalArg.indexOf(excludeArg.substring(0, ind2 + 1));
+                    if (index == 0 || index > 0 && originalArg.charAt(index - 1) == ' ') {
+                        // remove
+                        String s = originalArg.substring(0, index);
+                        int index2 = getNextToken(originalArg, index);
+                        if (index2 >= 0) {
+                            // If remainder will become the first argument,
+                            // remove leading blanks
+                            while (index2 < originalArg.length() && originalArg.charAt(index2) == ' ') {
+                                index2 += 1;
+                            }
+                            originalArg = s + originalArg.substring(index2);
+                        } else {
+                            originalArg = s;
+                        }
+                    }
+                } else { // abc style
+                    int index = originalArg.indexOf(excludeArg);
+                    if (index == 0 || index > 0 && originalArg.charAt(index - 1) == ' ') {
+                        // remove
+                        String s = originalArg.substring(0, index);
+                        int index2 = getNextToken(originalArg, index);
+                        if (index2 >= 0) {
+                            // Remove leading blanks
+                            while (index2 < originalArg.length() && originalArg.charAt(index2) == ' ') {
+                                index2 += 1;
+                            }
+                            originalArg = s + originalArg.substring(index2);
+                        } else {
+                            originalArg = s;
+                        }
+                    }
+                }
+            }
+        }
 
-		// add remaining vmargs to the end
-		for (int i = 0; i < size; i++) {
-			if (vmArgs[i] != null) {
-				if (originalArg.length() > 0 && !originalArg.endsWith(" ")) {
-					originalArg += " ";
-				}
-				originalArg += vmArgs[i];
-			}
-		}
+        // add remaining vmargs to the end
+        for (int i = 0; i < size; i++) {
+            if (vmArgs[i] != null) {
+                if (originalArg.length() > 0 && !originalArg.endsWith(" ")) {
+                    originalArg += " ";
+                }
+                originalArg += vmArgs[i];
+            }
+        }
 
-		return originalArg;
-	}
+        return originalArg;
+    }
 
-	public static void mergeClasspath(List<IRuntimeClasspathEntry> cp, IRuntimeClasspathEntry entry) {
-		Iterator<IRuntimeClasspathEntry> iterator = cp.iterator();
-		while (iterator.hasNext()) {
-			IRuntimeClasspathEntry entry2 = iterator.next();
-			if (entry2.getPath().equals(entry.getPath())) {
-				return;
-			}
-		}
-		cp.add(entry);
-	}
+    public static void mergeClasspath(List<IRuntimeClasspathEntry> cp, IRuntimeClasspathEntry entry) {
+        Iterator<IRuntimeClasspathEntry> iterator = cp.iterator();
+        while (iterator.hasNext()) {
+            IRuntimeClasspathEntry entry2 = iterator.next();
+            if (entry2.getPath().equals(entry.getPath())) {
+                return;
+            }
+        }
+        cp.add(entry);
+    }
 
-	public static void replaceJREContainer(List<IRuntimeClasspathEntry> cp, IRuntimeClasspathEntry entry) {
-		int size = cp.size();
-		for (int i = 0; i < size; i++) {
-			IRuntimeClasspathEntry entry2 = cp.get(i);
-			if (entry2.getPath().uptoSegment(2).isPrefixOf(entry.getPath())) {
-				cp.set(i, entry);
-				return;
-			}
-		}
-		cp.add(0, entry);
-	}
+    public static void replaceJREContainer(List<IRuntimeClasspathEntry> cp, IRuntimeClasspathEntry entry) {
+        int size = cp.size();
+        for (int i = 0; i < size; i++) {
+            IRuntimeClasspathEntry entry2 = cp.get(i);
+            if (entry2.getPath().uptoSegment(2).isPrefixOf(entry.getPath())) {
+                cp.set(i, entry);
+                return;
+            }
+        }
+        cp.add(0, entry);
+    }
 
-	protected static int getNextToken(String s, int start) {
-		int i = start;
-		int length = s.length();
-		char lookFor = ' ';
+    protected static int getNextToken(String s, int start) {
+        int i = start;
+        int length = s.length();
+        char lookFor = ' ';
 
-		while (i < length) {
-			char c = s.charAt(i);
-			if (lookFor == c) {
-				if (lookFor == '"') {
-					return i + 1;
-				}
-				return i;
-			}
-			if (c == '"') {
-				lookFor = '"';
-			}
-			i++;
-		}
-		return -1;
-	}
+        while (i < length) {
+            char c = s.charAt(i);
+            if (lookFor == c) {
+                if (lookFor == '"') {
+                    return i + 1;
+                }
+                return i;
+            }
+            if (c == '"') {
+                lookFor = '"';
+            }
+            i++;
+        }
+        return -1;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/Server.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/Server.java
index a5e44bb..8f3481a 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/Server.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/Server.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import java.beans.PropertyChangeEvent;
@@ -49,388 +50,380 @@
 
 /**
  * Default dm server implementation.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @since 1.0.0
  */
 public class Server extends ServerDelegate implements IServer, IServerWorkingCopy {
 
-	private ServerConfiguration configuration;
+    private ServerConfiguration configuration;
 
-	protected transient List<PropertyChangeListener> listeners = new ArrayList<PropertyChangeListener>();
+    protected transient List<PropertyChangeListener> listeners = new ArrayList<PropertyChangeListener>();
 
-	protected transient IServerRuntimeProvider versionHandler;
+    protected transient IServerRuntimeProvider versionHandler;
 
-	public void addConfigurationChangeListener(PropertyChangeListener listener) {
-		if (!listeners.contains(listener)) {
-			listeners.add(listener);
-		}
-	}
+    public void addConfigurationChangeListener(PropertyChangeListener listener) {
+        if (!this.listeners.contains(listener)) {
+            this.listeners.add(listener);
+        }
+    }
 
-	protected String getServerName() {
-		return "SpringSource dm Server";
-	}
+    protected String getServerName() {
+        return "SpringSource dm Server";
+    }
 
-	@Override
-	public IStatus canModifyModules(IModule[] add, IModule[] remove) {
-		if (add != null) {
-			int size = add.length;
-			for (int i = 0; i < size; i++) {
-				IModule module = add[i];
-				if (!FacetCorePlugin.WEB_FACET_ID.equals(module.getModuleType().getId())
-						&& !FacetCorePlugin.BUNDLE_FACET_ID.equals(module.getModuleType().getId())
-						&& !FacetCorePlugin.PAR_FACET_ID.equals(module.getModuleType().getId())
-						&& !FacetCorePlugin.PLAN_FACET_ID.equals(module.getModuleType().getId())) {
-					return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 0,
-							"SpringSource par or bundle projects only", null);
-				}
+    @Override
+    public IStatus canModifyModules(IModule[] add, IModule[] remove) {
+        if (add != null) {
+            int size = add.length;
+            for (int i = 0; i < size; i++) {
+                IModule module = add[i];
+                if (!FacetCorePlugin.WEB_FACET_ID.equals(module.getModuleType().getId())
+                    && !FacetCorePlugin.BUNDLE_FACET_ID.equals(module.getModuleType().getId())
+                    && !FacetCorePlugin.PAR_FACET_ID.equals(module.getModuleType().getId())
+                    && !FacetCorePlugin.PLAN_FACET_ID.equals(module.getModuleType().getId())) {
+                    return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 0, "SpringSource par or bundle projects only", null);
+                }
 
-				IProject project = module.getProject();
-				// Check that nested par module is not displayed
-				if (module.getId().endsWith("$" + project.getName())) {
-					return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 0, "No nested par modules allowed",
-							null);
-				}
+                IProject project = module.getProject();
+                // Check that nested par module is not displayed
+                if (module.getId().endsWith("$" + project.getName())) {
+                    return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 0, "No nested par modules allowed", null);
+                }
 
-				// Check that shared war is only deployed as WAR
-				try {
-					if (FacetUtils.hasNature(project, JavaCore.NATURE_ID)
-							&& FacetedProjectFramework.hasProjectFacet(project, FacetCorePlugin.WEB_FACET_ID)
-							&& FacetUtils.isBundleProject(project)
-							&& FacetCorePlugin.BUNDLE_FACET_ID.equals(module.getModuleType().getId())) {
-						return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 0,
-								"Shared WAR deploy only as jst.web modules", null);
-					}
-				} catch (CoreException e) {
-					return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 0,
-							"Core Exception when resolving project: ", e);
-				}
+                // Check that shared war is only deployed as WAR
+                try {
+                    if (FacetUtils.hasNature(project, JavaCore.NATURE_ID)
+                        && FacetedProjectFramework.hasProjectFacet(project, FacetCorePlugin.WEB_FACET_ID) && FacetUtils.isBundleProject(project)
+                        && FacetCorePlugin.BUNDLE_FACET_ID.equals(module.getModuleType().getId())) {
+                        return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 0, "Shared WAR deploy only as jst.web modules", null);
+                    }
+                } catch (CoreException e) {
+                    return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 0, "Core Exception when resolving project: ", e);
+                }
 
-				if (getVersionHandler() == null) {
-					return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 0, "No " + getServerName()
-							+ " runtime configured", null);
-				}
+                if (getVersionHandler() == null) {
+                    return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 0, "No " + getServerName() + " runtime configured", null);
+                }
 
-				IStatus status = getVersionHandler().canAddModule(module);
-				if (status != null && !status.isOK()) {
-					return status;
-				}
+                IStatus status = getVersionHandler().canAddModule(module);
+                if (status != null && !status.isOK()) {
+                    return status;
+                }
 
-				if (module.getProject() == null || !module.getProject().isAccessible()) {
-					return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 0, "Project not accessible", null);
-				}
+                if (module.getProject() == null || !module.getProject().isAccessible()) {
+                    return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 0, "Project not accessible", null);
+                }
 
-				status = FacetUtil.verifyFacets(module.getProject(), getServer());
-				if (status != null && !status.isOK()) {
-					return status;
-				}
+                status = FacetUtil.verifyFacets(module.getProject(), getServer());
+                if (status != null && !status.isOK()) {
+                    return status;
+                }
 
-			}
-		}
+            }
+        }
 
-		return Status.OK_STATUS;
-	}
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public void configurationChanged() {
-		configuration = null;
-	}
+    @Override
+    public void configurationChanged() {
+        this.configuration = null;
+    }
 
-	@Override
-	public IModule[] getChildModules(IModule[] module) {
-		if (module == null) {
-			return null;
-		}
+    @Override
+    public IModule[] getChildModules(IModule[] module) {
+        if (module == null) {
+            return null;
+        }
 
-		IModuleType moduleType = module[0].getModuleType();
+        IModuleType moduleType = module[0].getModuleType();
 
-		if (module.length == 1 && moduleType != null) {
-			if (FacetCorePlugin.WEB_FACET_ID.equals(moduleType.getId())) {
-				IWebModule webModule = (IWebModule) module[0].loadAdapter(IWebModule.class, null);
-				if (webModule != null) {
-					IModule[] modules = webModule.getModules();
-					return modules;
-				}
-			} else if (FacetCorePlugin.PAR_FACET_ID.equals(moduleType.getId())) {
-				ServerModuleDelegate parModule = (ServerModuleDelegate) module[0].loadAdapter(
-						ServerModuleDelegate.class, null);
-				if (parModule != null) {
-					return parModule.getChildModules();
-				}
-			} else if (FacetCorePlugin.PLAN_FACET_ID.equals(moduleType.getId())) {
-				ServerModuleDelegate planModule = (ServerModuleDelegate) module[0].loadAdapter(
-						ServerModuleDelegate.class, null);
-				if (planModule != null) {
-					return planModule.getChildModules();
-				}
-			}
-		}
+        if (module.length == 1 && moduleType != null) {
+            if (FacetCorePlugin.WEB_FACET_ID.equals(moduleType.getId())) {
+                IWebModule webModule = (IWebModule) module[0].loadAdapter(IWebModule.class, null);
+                if (webModule != null) {
+                    IModule[] modules = webModule.getModules();
+                    return modules;
+                }
+            } else if (FacetCorePlugin.PAR_FACET_ID.equals(moduleType.getId())) {
+                ServerModuleDelegate parModule = (ServerModuleDelegate) module[0].loadAdapter(ServerModuleDelegate.class, null);
+                if (parModule != null) {
+                    return parModule.getChildModules();
+                }
+            } else if (FacetCorePlugin.PLAN_FACET_ID.equals(moduleType.getId())) {
+                ServerModuleDelegate planModule = (ServerModuleDelegate) module[0].loadAdapter(ServerModuleDelegate.class, null);
+                if (planModule != null) {
+                    return planModule.getChildModules();
+                }
+            }
+        }
 
-		return new IModule[0];
-	}
+        return new IModule[0];
+    }
 
-	public synchronized IServerConfiguration getConfiguration() {
-		if (configuration == null) {
-			try {
-				configuration = new ServerConfiguration(getServer().getServerConfiguration());
-			} catch (IOException e) {
-			}
-		}
-		return configuration;
-	}
+    public synchronized IServerConfiguration getConfiguration() {
+        if (this.configuration == null) {
+            try {
+                this.configuration = new ServerConfiguration(getServer().getServerConfiguration());
+            } catch (IOException e) {
+            }
+        }
+        return this.configuration;
+    }
 
-	public String getDeployDirectory() {
-		return getAttribute(PROPERTY_DEPLOY_DIR, DEFAULT_DEPLOYDIR);
-	}
+    public String getDeployDirectory() {
+        return getAttribute(PROPERTY_DEPLOY_DIR, DEFAULT_DEPLOYDIR);
+    }
 
-	public int getDeployTimeout() {
-		return getAttribute(PROPERTY_DEPLOY_TIMEOUT, DEFAULT_DEPLOY_TIMEOUT);
-	}
+    public int getDeployTimeout() {
+        return getAttribute(PROPERTY_DEPLOY_TIMEOUT, DEFAULT_DEPLOY_TIMEOUT);
+    }
 
-	public String getMBeanServerPassword() {
-		return getAttribute(PROPERTY_MBEAN_SERVER_PASSWORD, DEFAULT_MBEAN_SERVER_PASSWORD);
-	}
+    public String getMBeanServerPassword() {
+        return getAttribute(PROPERTY_MBEAN_SERVER_PASSWORD, DEFAULT_MBEAN_SERVER_PASSWORD);
+    }
 
-	public int getMBeanServerPort() {
-		return Integer.valueOf(getAttribute(PROPERTY_MBEAN_SERVER_PORT, DEFAULT_MBEAN_SERVER_PORT));
-	}
+    public int getMBeanServerPort() {
+        return Integer.valueOf(getAttribute(PROPERTY_MBEAN_SERVER_PORT, DEFAULT_MBEAN_SERVER_PORT));
+    }
 
-	public String getMBeanServerUsername() {
-		return getAttribute(PROPERTY_MBEAN_SERVER_USERNAME, DEFAULT_MBEAN_SERVER_USERNAME);
-	}
+    public String getMBeanServerUsername() {
+        return getAttribute(PROPERTY_MBEAN_SERVER_USERNAME, DEFAULT_MBEAN_SERVER_USERNAME);
+    }
 
-	public String getMaxPermSize() {
-		return getAttribute(PROPERTY_MAX_PERM_SIZE, DEFAULT_MAX_PERM_SIZE);
-	}
+    public String getMaxPermSize() {
+        return getAttribute(PROPERTY_MAX_PERM_SIZE, DEFAULT_MAX_PERM_SIZE);
+    }
 
-	public IPath getModuleDeployDirectory(IModule module) {
-		if (FacetCorePlugin.BUNDLE_FACET_ID.equals(module.getModuleType().getId())) {
-			return getServerDeployDirectory().append(module.getName() + ".jar");
-		} else if (FacetCorePlugin.PAR_FACET_ID.equals(module.getModuleType().getId())) {
-			return getServerDeployDirectory().append(module.getName() + ".par");
-		} else if (FacetCorePlugin.PLAN_FACET_ID.equals(module.getModuleType().getId())) {
-			return getServerDeployDirectory();
-		} else {
-			return getServerDeployDirectory().append(module.getName() + ".war");
-		}
-	}
+    public IPath getModuleDeployDirectory(IModule module) {
+        if (FacetCorePlugin.BUNDLE_FACET_ID.equals(module.getModuleType().getId())) {
+            return getServerDeployDirectory().append(module.getName() + ".jar");
+        } else if (FacetCorePlugin.PAR_FACET_ID.equals(module.getModuleType().getId())) {
+            return getServerDeployDirectory().append(module.getName() + ".par");
+        } else if (FacetCorePlugin.PLAN_FACET_ID.equals(module.getModuleType().getId())) {
+            return getServerDeployDirectory();
+        } else {
+            return getServerDeployDirectory().append(module.getName() + ".war");
+        }
+    }
 
-	@Override
-	public IModule[] getRootModules(IModule module) throws CoreException {
-		if (FacetCorePlugin.WEB_FACET_ID.equals(module.getModuleType().getId())
-				|| FacetCorePlugin.BUNDLE_FACET_ID.equals(module.getModuleType().getId())
-				|| FacetCorePlugin.PAR_FACET_ID.equals(module.getModuleType().getId())
-				|| FacetCorePlugin.PLAN_FACET_ID.equals(module.getModuleType().getId())) {
-			IStatus status = canModifyModules(new IModule[] { module }, null);
-			if (status == null || !status.isOK()) {
-				return new IModule[0];
-			}
-			return new IModule[] { module };
-		}
-		return new IModule[0];
-	}
+    @Override
+    public IModule[] getRootModules(IModule module) throws CoreException {
+        if (FacetCorePlugin.WEB_FACET_ID.equals(module.getModuleType().getId())
+            || FacetCorePlugin.BUNDLE_FACET_ID.equals(module.getModuleType().getId())
+            || FacetCorePlugin.PAR_FACET_ID.equals(module.getModuleType().getId())
+            || FacetCorePlugin.PLAN_FACET_ID.equals(module.getModuleType().getId())) {
+            IStatus status = canModifyModules(new IModule[] { module }, null);
+            if (status == null || !status.isOK()) {
+                return new IModule[0];
+            }
+            return new IModule[] { module };
+        }
+        return new IModule[0];
+    }
 
-	public VirgoServerRuntime getRuntime() {
-		if (getServer().getRuntime() == null) {
-			return null;
-		}
+    public VirgoServerRuntime getRuntime() {
+        if (getServer().getRuntime() == null) {
+            return null;
+        }
 
-		return (VirgoServerRuntime) getServer().getRuntime().loadAdapter(VirgoServerRuntime.class, null);
-	}
+        return (VirgoServerRuntime) getServer().getRuntime().loadAdapter(VirgoServerRuntime.class, null);
+    }
 
-	public IPath getRuntimeBaseDirectory() {
-		IServerRuntimeProvider tvh = getVersionHandler();
-		if (tvh != null) {
-			return tvh.getRuntimeBaseDirectory(this.getServer());
-		}
-		return null;
-	}
+    public IPath getRuntimeBaseDirectory() {
+        IServerRuntimeProvider tvh = getVersionHandler();
+        if (tvh != null) {
+            return tvh.getRuntimeBaseDirectory(this.getServer());
+        }
+        return null;
+    }
 
-	public IPath getServerDeployDirectory() {
-		String deployDir = getDeployDirectory();
-		IPath deployPath = new Path(deployDir);
-		if (!deployPath.isAbsolute()) {
-			IPath base = getRuntimeBaseDirectory();
-			deployPath = base.append(deployPath);
-		}
-		// Make sure that stage directory is accessible and we can write into
-		// it; if we can't the stage will be in the
-		// plugin's statelocation
-		File deployPathFile = deployPath.toFile();
-		if (!deployPathFile.exists() && !deployPathFile.getParentFile().canWrite()) {
-			deployPath = ServerCorePlugin.getDefault().getStateLocation().append(deployDir);
-		} else if (deployPathFile.exists() && !deployPathFile.canWrite()) {
-			deployPath = ServerCorePlugin.getDefault().getStateLocation().append(deployDir);
-		}
-		return deployPath;
-	}
+    public IPath getServerDeployDirectory() {
+        String deployDir = getDeployDirectory();
+        IPath deployPath = new Path(deployDir);
+        if (!deployPath.isAbsolute()) {
+            IPath base = getRuntimeBaseDirectory();
+            deployPath = base.append(deployPath);
+        }
+        // Make sure that stage directory is accessible and we can write into
+        // it; if we can't the stage will be in the
+        // plugin's statelocation
+        File deployPathFile = deployPath.toFile();
+        if (!deployPathFile.exists() && !deployPathFile.getParentFile().canWrite()) {
+            deployPath = ServerCorePlugin.getDefault().getStateLocation().append(deployDir);
+        } else if (deployPathFile.exists() && !deployPathFile.canWrite()) {
+            deployPath = ServerCorePlugin.getDefault().getStateLocation().append(deployDir);
+        }
+        return deployPath;
+    }
 
-	public IServerRuntimeProvider getVersionHandler() {
-		if (versionHandler == null) {
-			if (getServer().getRuntime() == null || getRuntime() == null) {
-				return null;
-			}
-			versionHandler = getRuntime().getVirgoVersion();
-		}
-		return versionHandler;
-	}
+    public IServerRuntimeProvider getVersionHandler() {
+        if (this.versionHandler == null) {
+            if (getServer().getRuntime() == null || getRuntime() == null) {
+                return null;
+            }
+            this.versionHandler = getRuntime().getVirgoVersion();
+        }
+        return this.versionHandler;
+    }
 
-	@Override
-	public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
-		// Add target runtime to new projects in order to refresh their
-		// classpath based on the
-		// manifest
-		if (add != null && add.length > 0) {
-			// Get the facet runtime which is != the server runtime
-			IRuntime runtime = RuntimeManager.getRuntime(getRuntime().getRuntime().getName());
-			if (runtime != null) {
-				for (IModule addedModule : add) {
-					IFacetedProject project = ProjectFacetsManager.create(addedModule.getProject(), false, monitor);
-					if (project != null) {
-						Set<IRuntime> runtimes = new HashSet<IRuntime>(project.getTargetedRuntimes());
+    @Override
+    public void modifyModules(IModule[] add, IModule[] remove, IProgressMonitor monitor) throws CoreException {
+        // Add target runtime to new projects in order to refresh their
+        // classpath based on the
+        // manifest
+        if (add != null && add.length > 0) {
+            // Get the facet runtime which is != the server runtime
+            IRuntime runtime = RuntimeManager.getRuntime(getRuntime().getRuntime().getName());
+            if (runtime != null) {
+                for (IModule addedModule : add) {
+                    IFacetedProject project = ProjectFacetsManager.create(addedModule.getProject(), false, monitor);
+                    if (project != null) {
+                        Set<IRuntime> runtimes = new HashSet<IRuntime>(project.getTargetedRuntimes());
 
-						// Add this server's runtime to the target runtime
-						if (!runtimes.contains(runtime)) {
-							runtimes.add(runtime);
-							project.setTargetedRuntimes(runtimes, new SubProgressMonitor(monitor, 1));
-							if (runtimes.size() > 1) {
-								project.setPrimaryRuntime(runtime, new SubProgressMonitor(monitor, 1));
-							}
-						}
-					}
-				}
-			}
-		}
+                        // Add this server's runtime to the target runtime
+                        if (!runtimes.contains(runtime)) {
+                            runtimes.add(runtime);
+                            project.setTargetedRuntimes(runtimes, new SubProgressMonitor(monitor, 1));
+                            if (runtimes.size() > 1) {
+                                project.setPrimaryRuntime(runtime, new SubProgressMonitor(monitor, 1));
+                            }
+                        }
+                    }
+                }
+            }
+        }
 
-		// Remove and add the modules to the ordered list
-		if (remove != null && remove.length > 0) {
-			for (IModule module : remove) {
-				getConfiguration().removeArtefact(module.getId());
-			}
-		}
-		if (add != null && add.length > 0) {
-			for (IModule module : add) {
-				getConfiguration().addArtefact(module.getId());
-			}
-		}
-	}
+        // Remove and add the modules to the ordered list
+        if (remove != null && remove.length > 0) {
+            for (IModule module : remove) {
+                getConfiguration().removeArtefact(module.getId());
+            }
+        }
+        if (add != null && add.length > 0) {
+            for (IModule module : add) {
+                getConfiguration().addArtefact(module.getId());
+            }
+        }
+    }
 
-	public void removeConfigurationChangeListener(PropertyChangeListener listener) {
-		listeners.remove(listener);
-	}
+    public void removeConfigurationChangeListener(PropertyChangeListener listener) {
+        this.listeners.remove(listener);
+    }
 
-	@Override
-	public void saveConfiguration(IProgressMonitor monitor) throws CoreException {
-		if (configuration == null) {
-			return;
-		}
-	}
+    @Override
+    public void saveConfiguration(IProgressMonitor monitor) throws CoreException {
+        if (this.configuration == null) {
+            return;
+        }
+    }
 
-	@Override
-	public void setDefaults(IProgressMonitor monitor) {
-		setAttribute(PROPERTY_AUTO_PUBLISH_TIME, 2);
-	}
+    @Override
+    public void setDefaults(IProgressMonitor monitor) {
+        setAttribute(PROPERTY_AUTO_PUBLISH_TIME, 2);
+    }
 
-	public void setDeployDirectory(String deployDir) {
-		setAttribute(PROPERTY_DEPLOY_DIR, deployDir);
-	}
+    public void setDeployDirectory(String deployDir) {
+        setAttribute(PROPERTY_DEPLOY_DIR, deployDir);
+    }
 
-	public void setMBeanServerPassword(String password) {
-		String oldPassword = getMBeanServerPassword();
-		setAttribute(PROPERTY_MBEAN_SERVER_PASSWORD, password);
-		fireConfigurationChanged(PROPERTY_MBEAN_SERVER_PASSWORD, oldPassword, password);
-	}
+    public void setMBeanServerPassword(String password) {
+        String oldPassword = getMBeanServerPassword();
+        setAttribute(PROPERTY_MBEAN_SERVER_PASSWORD, password);
+        fireConfigurationChanged(PROPERTY_MBEAN_SERVER_PASSWORD, oldPassword, password);
+    }
 
-	public void setMBeanServerPort(int port) {
-		int oldPort = getMBeanServerPort();
-		setAttribute(PROPERTY_MBEAN_SERVER_PORT, port);
-		fireConfigurationChanged(PROPERTY_MBEAN_SERVER_PORT, oldPort, port);
-	}
+    public void setMBeanServerPort(int port) {
+        int oldPort = getMBeanServerPort();
+        setAttribute(PROPERTY_MBEAN_SERVER_PORT, port);
+        fireConfigurationChanged(PROPERTY_MBEAN_SERVER_PORT, oldPort, port);
+    }
 
-	public void setDeployTimeout(int timeout) {
-		int oldTimeout = getDeployTimeout();
-		setAttribute(PROPERTY_DEPLOY_TIMEOUT, timeout);
-		fireConfigurationChanged(PROPERTY_DEPLOY_TIMEOUT, oldTimeout, timeout);
-	}
+    public void setDeployTimeout(int timeout) {
+        int oldTimeout = getDeployTimeout();
+        setAttribute(PROPERTY_DEPLOY_TIMEOUT, timeout);
+        fireConfigurationChanged(PROPERTY_DEPLOY_TIMEOUT, oldTimeout, timeout);
+    }
 
-	public void setMBeanServerUsername(String username) {
-		String oldPassword = getMBeanServerUsername();
-		setAttribute(PROPERTY_MBEAN_SERVER_USERNAME, username);
-		fireConfigurationChanged(PROPERTY_MBEAN_SERVER_USERNAME, oldPassword, username);
-	}
+    public void setMBeanServerUsername(String username) {
+        String oldPassword = getMBeanServerUsername();
+        setAttribute(PROPERTY_MBEAN_SERVER_USERNAME, username);
+        fireConfigurationChanged(PROPERTY_MBEAN_SERVER_USERNAME, oldPassword, username);
+    }
 
-	public void setMaxPermSize(String maxPermSize) {
-		String oldMaxPermSize = getMaxPermSize();
-		setAttribute(PROPERTY_MAX_PERM_SIZE, maxPermSize);
-		fireConfigurationChanged(PROPERTY_MAX_PERM_SIZE, oldMaxPermSize, maxPermSize);
-	}
+    public void setMaxPermSize(String maxPermSize) {
+        String oldMaxPermSize = getMaxPermSize();
+        setAttribute(PROPERTY_MAX_PERM_SIZE, maxPermSize);
+        fireConfigurationChanged(PROPERTY_MAX_PERM_SIZE, oldMaxPermSize, maxPermSize);
+    }
 
-	public boolean shouldTailTraceFiles() {
-		return getAttribute(PROPERTY_TAIL_LOG_FILES, DEFAULT_TAIL_LOG_FILES);
-	}
+    public boolean shouldTailTraceFiles() {
+        return getAttribute(PROPERTY_TAIL_LOG_FILES, DEFAULT_TAIL_LOG_FILES);
+    }
 
-	public void shouldTailTraceFiles(boolean shouldTailTraceFiles) {
-		boolean oldValue = shouldTailTraceFiles();
-		setAttribute(PROPERTY_TAIL_LOG_FILES, shouldTailTraceFiles);
-		fireConfigurationChanged(PROPERTY_TAIL_LOG_FILES, oldValue, shouldTailTraceFiles);
+    public void shouldTailTraceFiles(boolean shouldTailTraceFiles) {
+        boolean oldValue = shouldTailTraceFiles();
+        setAttribute(PROPERTY_TAIL_LOG_FILES, shouldTailTraceFiles);
+        fireConfigurationChanged(PROPERTY_TAIL_LOG_FILES, oldValue, shouldTailTraceFiles);
 
-	}
+    }
 
-	public boolean shouldCleanStartup() {
-		return getAttribute(PROPERTY_CLEAN_STARTUP, DEFAULT_CLEAN_STARTUP);
-	}
+    public boolean shouldCleanStartup() {
+        return getAttribute(PROPERTY_CLEAN_STARTUP, DEFAULT_CLEAN_STARTUP);
+    }
 
-	public void shouldCleanStartup(boolean shouldCleanStartup) {
-		boolean oldValue = shouldCleanStartup();
-		setAttribute(PROPERTY_CLEAN_STARTUP, shouldCleanStartup);
-		fireConfigurationChanged(PROPERTY_CLEAN_STARTUP, oldValue, shouldCleanStartup);
+    public void shouldCleanStartup(boolean shouldCleanStartup) {
+        boolean oldValue = shouldCleanStartup();
+        setAttribute(PROPERTY_CLEAN_STARTUP, shouldCleanStartup);
+        fireConfigurationChanged(PROPERTY_CLEAN_STARTUP, oldValue, shouldCleanStartup);
 
-	}
+    }
 
-	public List<String> getArtefactOrder() {
-		return getConfiguration().getArtefactOrder();
-	}
+    public List<String> getArtefactOrder() {
+        return getConfiguration().getArtefactOrder();
+    }
 
-	public void setArtefactOrder(List<String> artefactOrder) {
-		List<String> oldOrder = getArtefactOrder();
-		getConfiguration().setArtefactOrder(artefactOrder);
-		fireConfigurationChanged(PROPERTY_ARTEFACT_ORDER, oldOrder, artefactOrder);
+    public void setArtefactOrder(List<String> artefactOrder) {
+        List<String> oldOrder = getArtefactOrder();
+        getConfiguration().setArtefactOrder(artefactOrder);
+        fireConfigurationChanged(PROPERTY_ARTEFACT_ORDER, oldOrder, artefactOrder);
 
-	}
+    }
 
-	@Override
-	public String toString() {
-		return getServerName();
-	}
+    @Override
+    public String toString() {
+        return getServerName();
+    }
 
-	protected void fireConfigurationChanged(String key, Object oldValue, Object newValue) {
-		PropertyChangeEvent event = new PropertyChangeEvent(this, key, oldValue, newValue);
-		for (PropertyChangeListener listener : listeners) {
-			listener.propertyChange(event);
-		}
-	}
+    protected void fireConfigurationChanged(String key, Object oldValue, Object newValue) {
+        PropertyChangeEvent event = new PropertyChangeEvent(this, key, oldValue, newValue);
+        for (PropertyChangeListener listener : this.listeners) {
+            listener.propertyChange(event);
+        }
+    }
 
-	protected String renderCommandLine(String[] commandLine, String separator) {
-		if (commandLine == null || commandLine.length < 1) {
-			return "";
-		}
-		StringBuffer buf = new StringBuffer(commandLine[0]);
-		for (int i = 1; i < commandLine.length; i++) {
-			buf.append(separator);
-			buf.append(commandLine[i]);
-		}
-		return buf.toString();
-	}
+    protected String renderCommandLine(String[] commandLine, String separator) {
+        if (commandLine == null || commandLine.length < 1) {
+            return "";
+        }
+        StringBuffer buf = new StringBuffer(commandLine[0]);
+        for (int i = 1; i < commandLine.length; i++) {
+            buf.append(separator);
+            buf.append(commandLine[i]);
+        }
+        return buf.toString();
+    }
 
-	public void setStaticFilenamePatterns(String filenamePatterns) {
-		String old = getStaticFilenamePatterns();
-		setAttribute(PROPERTY_STATIC_FILENAMES, filenamePatterns);
-		fireConfigurationChanged(PROPERTY_STATIC_FILENAMES, old, filenamePatterns);
-	}
+    public void setStaticFilenamePatterns(String filenamePatterns) {
+        String old = getStaticFilenamePatterns();
+        setAttribute(PROPERTY_STATIC_FILENAMES, filenamePatterns);
+        fireConfigurationChanged(PROPERTY_STATIC_FILENAMES, old, filenamePatterns);
+    }
 
-	public String getStaticFilenamePatterns() {
-		return getAttribute(PROPERTY_STATIC_FILENAMES, DEFAULT_STATIC_FILENAMES);
-	}
+    public String getStaticFilenamePatterns() {
+        return getAttribute(PROPERTY_STATIC_FILENAMES, DEFAULT_STATIC_FILENAMES);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerBehaviour.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerBehaviour.java
index a3e7944..e4561a8 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerBehaviour.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerBehaviour.java
@@ -9,6 +9,7 @@
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *     SAP AG - moving to Eclipse Libra project and enhancements
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import java.io.File;
@@ -68,535 +69,523 @@
 
 /**
  * Default dm server behavior.
- * 
+ *
  * @author Christian Dupuis
  * @author Kaloyan Raev
  * @since 1.0.0
  */
 @SuppressWarnings("restriction")
-public class ServerBehaviour extends ServerBehaviourDelegate implements IServerBehaviour, IOSGiFrameworkAdmin,
-		IOSGiFrameworkConsole {
+public class ServerBehaviour extends ServerBehaviourDelegate implements IServerBehaviour, IOSGiFrameworkAdmin, IOSGiFrameworkConsole {
 
-	private final static String WEB_CONTEXT_PATH_MANIFEST_HEADER = "Web-ContextPath";
+    private final static String WEB_CONTEXT_PATH_MANIFEST_HEADER = "Web-ContextPath";
 
-	protected Map<String, DeploymentIdentity> deploymentIdentities = new ConcurrentHashMap<String, DeploymentIdentity>();
+    protected Map<String, DeploymentIdentity> deploymentIdentities = new ConcurrentHashMap<String, DeploymentIdentity>();
 
-	protected transient ILaunch launch;
+    protected transient ILaunch launch;
 
-	protected transient ServerStatusPingThread pingThread;
+    protected transient ServerStatusPingThread pingThread;
 
-	protected transient IDebugEventSetListener processListener;
+    protected transient IDebugEventSetListener processListener;
 
-	private transient ProcessConsole processConsole;
+    private transient ProcessConsole processConsole;
 
-	private transient IServerDeployer serverDeployer;
+    private transient IServerDeployer serverDeployer;
 
-	private transient List<ServerLogTail> traceTailJobs = Collections.synchronizedList(new ArrayList<ServerLogTail>());
+    private transient List<ServerLogTail> traceTailJobs = Collections.synchronizedList(new ArrayList<ServerLogTail>());
 
-	private transient Map<String, Long> traceFileSizes = new ConcurrentHashMap<String, Long>();
+    private transient Map<String, Long> traceFileSizes = new ConcurrentHashMap<String, Long>();
 
-	public IStatus cleanServerWorkDir(IProgressMonitor monitor) throws CoreException {
-		String path = getServerDeployDirectory().toString();
-		File file = new File(path);
-		file.delete();
-		return Status.OK_STATUS;
-	}
+    public IStatus cleanServerWorkDir(IProgressMonitor monitor) throws CoreException {
+        String path = getServerDeployDirectory().toString();
+        File file = new File(path);
+        file.delete();
+        return Status.OK_STATUS;
+    }
 
-	public IPath getModuleDeployDirectory(IModule module) {
-		return ServerUtils.getServer(this).getModuleDeployDirectory(module);
-	}
+    public IPath getModuleDeployDirectory(IModule module) {
+        return ServerUtils.getServer(this).getModuleDeployDirectory(module);
+    }
 
-	public IPath getModuleDeployUri(IModule module) {
-		return getModuleDeployDirectory(module);
-	}
+    public IPath getModuleDeployUri(IModule module) {
+        return getModuleDeployDirectory(module);
+    }
 
-	public IPath getRuntimeBaseDirectory() {
-		return ServerUtils.getServer(this).getRuntimeBaseDirectory();
-	}
+    public IPath getRuntimeBaseDirectory() {
+        return ServerUtils.getServer(this).getRuntimeBaseDirectory();
+    }
 
-	public IPath getServerDeployDirectory() {
-		return ServerUtils.getServer(this).getServerDeployDirectory();
-	}
+    public IPath getServerDeployDirectory() {
+        return ServerUtils.getServer(this).getServerDeployDirectory();
+    }
 
-	public IServerRuntimeProvider getVersionHandler() {
-		return ServerUtils.getServer(this).getVersionHandler();
-	}
+    public IServerRuntimeProvider getVersionHandler() {
+        return ServerUtils.getServer(this).getVersionHandler();
+    }
 
-	@Override
-	public void handleResourceChange() {
-		if (getServer().getServerRestartState()) {
-			return;
-		}
+    @Override
+    public void handleResourceChange() {
+        if (getServer().getServerRestartState()) {
+            return;
+        }
 
-		Iterator<IModule[]> iterator = getAllModules().iterator();
-		while (iterator.hasNext()) {
-			IModule[] module = iterator.next();
-			IModuleResourceDelta[] delta = getPublishedResourceDelta(module);
-			if (delta == null || delta.length == 0) {
-				continue;
-			}
-		}
-	}
+        Iterator<IModule[]> iterator = getAllModules().iterator();
+        while (iterator.hasNext()) {
+            IModule[] module = iterator.next();
+            IModuleResourceDelta[] delta = getPublishedResourceDelta(module);
+            if (delta == null || delta.length == 0) {
+                continue;
+            }
+        }
+    }
 
-	public void onModulePublishStateChange(IModule[] module, int state) {
-		setModulePublishState(module, state);
-	}
+    public void onModulePublishStateChange(IModule[] module, int state) {
+        setModulePublishState(module, state);
+    }
 
-	public void onModuleStateChange(IModule[] module, int state) {
-		setModuleState(module, state);
-	}
+    public void onModuleStateChange(IModule[] module, int state) {
+        setModuleState(module, state);
+    }
 
-	public void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
-		IStatus status = ServerUtils.getServerRuntime(this).validate();
-		if (status != null && status.getSeverity() == IStatus.ERROR) {
-			throw new CoreException(status);
-		}
+    public void setupLaunch(ILaunch launch, String launchMode, IProgressMonitor monitor) throws CoreException {
+        IStatus status = ServerUtils.getServerRuntime(this).validate();
+        if (status != null && status.getSeverity() == IStatus.ERROR) {
+            throw new CoreException(status);
+        }
 
-		getVersionHandler().preStartup(this);
+        getVersionHandler().preStartup(this);
 
-		setServerRestartState(false);
-		setServerState(IServer.STATE_STARTING);
-		setMode(launchMode);
-		this.launch = launch;
-		this.pingThread = new ServerStatusPingThread(this);
-	}
+        setServerRestartState(false);
+        setServerState(IServer.STATE_STARTING);
+        setMode(launchMode);
+        this.launch = launch;
+        this.pingThread = new ServerStatusPingThread(this);
+    }
 
-	@Override
-	public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor)
-			throws CoreException {
+    @Override
+    public void setupLaunchConfiguration(ILaunchConfigurationWorkingCopy workingCopy, IProgressMonitor monitor) throws CoreException {
 
-		String existingProgArgs = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
-				(String) null);
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
-				LaunchArgumentUtils.mergeArguments(existingProgArgs, getRuntimeProgramArguments(),
-						getExcludedRuntimeProgramArguments(true), true));
+        String existingProgArgs = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS, (String) null);
+        workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
+            LaunchArgumentUtils.mergeArguments(existingProgArgs, getRuntimeProgramArguments(), getExcludedRuntimeProgramArguments(true), true));
 
-		String existingVMArgs = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
-				(String) null);
-		String[] configVMArgs = getRuntimeVMArguments();
+        String existingVMArgs = workingCopy.getAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS, (String) null);
+        String[] configVMArgs = getRuntimeVMArguments();
 
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
-				LaunchArgumentUtils.mergeArguments(existingVMArgs, configVMArgs, null, false));
+        workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS,
+            LaunchArgumentUtils.mergeArguments(existingVMArgs, configVMArgs, null, false));
 
-		IServerRuntime runtime = ServerUtils.getServerRuntime(this);
-		IVMInstall vmInstall = runtime.getVMInstall();
-		if (vmInstall != null) {
-			workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH,
-					JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
-		}
+        IServerRuntime runtime = ServerUtils.getServerRuntime(this);
+        IVMInstall vmInstall = runtime.getVMInstall();
+        if (vmInstall != null) {
+            workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH,
+                JavaRuntime.newJREContainerPath(vmInstall).toPortableString());
+        }
 
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY,
-				getRuntimeBaseDirectory().toOSString());
+        workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY, getRuntimeBaseDirectory().toOSString());
 
-		IRuntimeClasspathEntry[] originalClasspath = JavaRuntime.computeUnresolvedRuntimeClasspath(workingCopy);
-		int size = originalClasspath.length;
-		List<IRuntimeClasspathEntry> oldCp = new ArrayList<IRuntimeClasspathEntry>(originalClasspath.length + 2);
-		for (int i = 0; i < size; i++) {
-			oldCp.add(originalClasspath[i]);
-		}
+        IRuntimeClasspathEntry[] originalClasspath = JavaRuntime.computeUnresolvedRuntimeClasspath(workingCopy);
+        int size = originalClasspath.length;
+        List<IRuntimeClasspathEntry> oldCp = new ArrayList<IRuntimeClasspathEntry>(originalClasspath.length + 2);
+        for (int i = 0; i < size; i++) {
+            oldCp.add(originalClasspath[i]);
+        }
 
-		List<IRuntimeClasspathEntry> cp2 = runtime.getRuntimeClasspath();
-		Iterator<IRuntimeClasspathEntry> iterator = cp2.iterator();
-		while (iterator.hasNext()) {
-			IRuntimeClasspathEntry entry = iterator.next();
-			LaunchArgumentUtils.mergeClasspath(oldCp, entry);
-		}
+        List<IRuntimeClasspathEntry> cp2 = runtime.getRuntimeClasspath();
+        Iterator<IRuntimeClasspathEntry> iterator = cp2.iterator();
+        while (iterator.hasNext()) {
+            IRuntimeClasspathEntry entry = iterator.next();
+            LaunchArgumentUtils.mergeClasspath(oldCp, entry);
+        }
 
-		if (vmInstall != null) {
-			try {
-				String typeId = vmInstall.getVMInstallType().getId();
-				LaunchArgumentUtils.replaceJREContainer(oldCp, JavaRuntime.newRuntimeContainerClasspathEntry(new Path(
-						JavaRuntime.JRE_CONTAINER).append(typeId).append(vmInstall.getName()),
-						IRuntimeClasspathEntry.BOOTSTRAP_CLASSES));
-			} catch (Exception e) {
-				// ignore
-			}
+        if (vmInstall != null) {
+            try {
+                String typeId = vmInstall.getVMInstallType().getId();
+                LaunchArgumentUtils.replaceJREContainer(oldCp, JavaRuntime.newRuntimeContainerClasspathEntry(
+                    new Path(JavaRuntime.JRE_CONTAINER).append(typeId).append(vmInstall.getName()), IRuntimeClasspathEntry.BOOTSTRAP_CLASSES));
+            } catch (Exception e) {
+                // ignore
+            }
 
-			IPath jrePath = new Path(vmInstall.getInstallLocation().getAbsolutePath());
-			if (jrePath != null) {
-				IPath toolsPath = jrePath.append("lib").append("tools.jar");
-				if (toolsPath.toFile().exists()) {
-					IRuntimeClasspathEntry toolsJar = JavaRuntime.newArchiveRuntimeClasspathEntry(toolsPath);
-					int toolsIndex;
-					for (toolsIndex = 0; toolsIndex < oldCp.size(); toolsIndex++) {
-						IRuntimeClasspathEntry entry = oldCp.get(toolsIndex);
-						if (entry.getType() == IRuntimeClasspathEntry.ARCHIVE
-								&& entry.getPath().lastSegment().equals("tools.jar")) {
-							break;
-						}
-					}
-					if (toolsIndex < oldCp.size()) {
-						oldCp.set(toolsIndex, toolsJar);
-					} else {
-						LaunchArgumentUtils.mergeClasspath(oldCp, toolsJar);
-					}
-				}
-			}
-		}
+            IPath jrePath = new Path(vmInstall.getInstallLocation().getAbsolutePath());
+            if (jrePath != null) {
+                IPath toolsPath = jrePath.append("lib").append("tools.jar");
+                if (toolsPath.toFile().exists()) {
+                    IRuntimeClasspathEntry toolsJar = JavaRuntime.newArchiveRuntimeClasspathEntry(toolsPath);
+                    int toolsIndex;
+                    for (toolsIndex = 0; toolsIndex < oldCp.size(); toolsIndex++) {
+                        IRuntimeClasspathEntry entry = oldCp.get(toolsIndex);
+                        if (entry.getType() == IRuntimeClasspathEntry.ARCHIVE && entry.getPath().lastSegment().equals("tools.jar")) {
+                            break;
+                        }
+                    }
+                    if (toolsIndex < oldCp.size()) {
+                        oldCp.set(toolsIndex, toolsJar);
+                    } else {
+                        LaunchArgumentUtils.mergeClasspath(oldCp, toolsJar);
+                    }
+                }
+            }
+        }
 
-		iterator = oldCp.iterator();
-		List<String> list = new ArrayList<String>();
-		while (iterator.hasNext()) {
-			IRuntimeClasspathEntry entry = iterator.next();
-			try {
-				list.add(entry.getMemento());
-			} catch (Exception e) {
-			}
-		}
+        iterator = oldCp.iterator();
+        List<String> list = new ArrayList<String>();
+        while (iterator.hasNext()) {
+            IRuntimeClasspathEntry entry = iterator.next();
+            try {
+                list.add(entry.getMemento());
+            } catch (Exception e) {
+            }
+        }
 
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, list);
-		workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
-	}
+        workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, list);
+        workingCopy.setAttribute(IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH, false);
+    }
 
-	@Override
-	public void stop(boolean force) {
-		if (force) {
-			immediateShutdown();
-		} else {
-			shutdown();
-		}
-	}
+    @Override
+    public void stop(boolean force) {
+        if (force) {
+            immediateShutdown();
+        } else {
+            shutdown();
+        }
+    }
 
-	public void stopServer() {
+    public void stopServer() {
 
-		// if the server is in starting mode make sure that the state transition
-		// is allowed
-		if (getServer().getServerState() != IServer.STATE_STARTED) {
-			setServerState(IServer.STATE_STOPPING);
-		}
+        // if the server is in starting mode make sure that the state transition
+        // is allowed
+        if (getServer().getServerState() != IServer.STATE_STARTED) {
+            setServerState(IServer.STATE_STOPPING);
+        }
 
-		if (pingThread != null) {
-			pingThread.stop();
-			pingThread = null;
-		}
-		if (processListener != null) {
-			DebugPlugin.getDefault().removeDebugEventListener(processListener);
-			processListener = null;
-		}
-		if (processConsole != null && traceTailJobs.size() > 0) {
-			for (ServerLogTail job : traceTailJobs) {
-				job.stopTailing();
-			}
-			traceTailJobs.clear();
-			traceFileSizes.clear();
-			processConsole = null;
-		}
+        if (this.pingThread != null) {
+            this.pingThread.stop();
+            this.pingThread = null;
+        }
+        if (this.processListener != null) {
+            DebugPlugin.getDefault().removeDebugEventListener(this.processListener);
+            this.processListener = null;
+        }
+        if (this.processConsole != null && this.traceTailJobs.size() > 0) {
+            for (ServerLogTail job : this.traceTailJobs) {
+                job.stopTailing();
+            }
+            this.traceTailJobs.clear();
+            this.traceFileSizes.clear();
+            this.processConsole = null;
+        }
 
-		setServerState(IServer.STATE_STOPPED);
-	}
+        setServerState(IServer.STATE_STOPPED);
+    }
 
-	public void tail(DeploymentIdentity identity) {
-		// add setting to enable/disable tailing
-		if (processConsole != null && ServerUtils.getServer(this).shouldTailTraceFiles() && identity != null
-				&& identity.getSymbolicName() != null && identity.getVersion() != null) {
-			ServerLogTail tail = new ServerLogTail(this, identity, processConsole);
-			tail.setSystem(true);
-			tail.schedule();
-			traceTailJobs.add(tail);
-		}
-	}
+    public void tail(DeploymentIdentity identity) {
+        // add setting to enable/disable tailing
+        if (this.processConsole != null && ServerUtils.getServer(this).shouldTailTraceFiles() && identity != null
+            && identity.getSymbolicName() != null && identity.getVersion() != null) {
+            ServerLogTail tail = new ServerLogTail(this, identity, this.processConsole);
+            tail.setSystem(true);
+            tail.schedule();
+            this.traceTailJobs.add(tail);
+        }
+    }
 
-	@Override
-	public String toString() {
-		return "dm Server";
-	}
+    @Override
+    public String toString() {
+        return "dm Server";
+    }
 
-	protected void addProcessListener(final IProcess newProcess) {
-		if (processListener != null || newProcess == null) {
-			return;
-		}
+    protected void addProcessListener(final IProcess newProcess) {
+        if (this.processListener != null || newProcess == null) {
+            return;
+        }
 
-		processListener = new IDebugEventSetListener() {
-			public void handleDebugEvents(DebugEvent[] events) {
-				if (events != null) {
-					int size = events.length;
-					for (int i = 0; i < size; i++) {
-						if (newProcess != null && newProcess.equals(events[i].getSource())
-								&& events[i].getKind() == DebugEvent.TERMINATE) {
-							stopServer();
-						}
-					}
-				}
-			}
-		};
-		DebugPlugin.getDefault().addDebugEventListener(processListener);
+        this.processListener = new IDebugEventSetListener() {
 
-		for (IConsole console : ConsolePlugin.getDefault().getConsoleManager().getConsoles()) {
-			if (console instanceof ProcessConsole && newProcess.equals(((ProcessConsole) console).getProcess())) {
-				this.processConsole = (ProcessConsole) console;
-			}
-		}
+            public void handleDebugEvents(DebugEvent[] events) {
+                if (events != null) {
+                    int size = events.length;
+                    for (int i = 0; i < size; i++) {
+                        if (newProcess != null && newProcess.equals(events[i].getSource()) && events[i].getKind() == DebugEvent.TERMINATE) {
+                            stopServer();
+                        }
+                    }
+                }
+            }
+        };
+        DebugPlugin.getDefault().addDebugEventListener(this.processListener);
 
-		File traceDirectory = new File(getRuntimeBaseDirectory().toOSString() + File.separator + "serviceability"
-				+ File.separator + "trace");
-		if (traceDirectory.exists()) {
-			for (File applicationTraceDirectory : traceDirectory.listFiles()) {
-				if (applicationTraceDirectory.isDirectory()) {
-					File traceFile = new File(applicationTraceDirectory.getAbsolutePath() + File.separator
-							+ "trace.log");
-					if (traceFile.exists()) {
-						traceFileSizes.put(traceFile.getAbsolutePath(), traceFile.length());
-					}
-				}
-			}
-		}
+        for (IConsole console : ConsolePlugin.getDefault().getConsoleManager().getConsoles()) {
+            if (console instanceof ProcessConsole && newProcess.equals(((ProcessConsole) console).getProcess())) {
+                this.processConsole = (ProcessConsole) console;
+            }
+        }
+
+        File traceDirectory = new File(getRuntimeBaseDirectory().toOSString() + File.separator + "serviceability" + File.separator + "trace");
+        if (traceDirectory.exists()) {
+            for (File applicationTraceDirectory : traceDirectory.listFiles()) {
+                if (applicationTraceDirectory.isDirectory()) {
+                    File traceFile = new File(applicationTraceDirectory.getAbsolutePath() + File.separator + "trace.log");
+                    if (traceFile.exists()) {
+                        this.traceFileSizes.put(traceFile.getAbsolutePath(), traceFile.length());
+                    }
+                }
+            }
+        }
 
-	}
+    }
 
-	public URL getModuleRootURL(IModule module) {
-		try {
-			// check pre condition; only dynamic web projects and java projects
-			// are allowed
-			IProject project = module.getProject();
-			if (!FacetedProjectFramework.hasProjectFacet(project, FacetCorePlugin.WEB_FACET_ID)
-					|| !FacetUtils.hasProjectFacet(project, JavaCore.NATURE_ID)) {
-				return null;
-			}
+    public URL getModuleRootURL(IModule module) {
+        try {
+            // check pre condition; only dynamic web projects and java projects
+            // are allowed
+            IProject project = module.getProject();
+            if (!FacetedProjectFramework.hasProjectFacet(project, FacetCorePlugin.WEB_FACET_ID)
+                || !FacetUtils.hasProjectFacet(project, JavaCore.NATURE_ID)) {
+                return null;
+            }
 
-			String contextPath = null;
+            String contextPath = null;
 
-			BundleManifest bundleManifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(
-					JavaCore.create(project));
-			if (bundleManifest != null) {
-				Dictionary<String, String> manifest = bundleManifest.toDictionary();
-				if (manifest != null && manifest.get(WEB_CONTEXT_PATH_MANIFEST_HEADER) != null) {
-					contextPath = manifest.get(WEB_CONTEXT_PATH_MANIFEST_HEADER);
-				}
+            BundleManifest bundleManifest = BundleManifestCorePlugin.getBundleManifestManager().getBundleManifest(JavaCore.create(project));
+            if (bundleManifest != null) {
+                Dictionary<String, String> manifest = bundleManifest.toDictionary();
+                if (manifest != null && manifest.get(WEB_CONTEXT_PATH_MANIFEST_HEADER) != null) {
+                    contextPath = manifest.get(WEB_CONTEXT_PATH_MANIFEST_HEADER);
+                }
 
-			}
-			if (contextPath == null) {
-				contextPath = module.getName();
-			}
+            }
+            if (contextPath == null) {
+                contextPath = module.getName();
+            }
 
-			// TODO: CD make port configurable
-			int port = 8080;
-			StringBuilder urlBuilder = new StringBuilder();
-			urlBuilder.append("http://localhost:");
-			urlBuilder.append(port);
-			urlBuilder.append("/");
-			urlBuilder.append(contextPath);
+            // TODO: CD make port configurable
+            int port = 8080;
+            StringBuilder urlBuilder = new StringBuilder();
+            urlBuilder.append("http://localhost:");
+            urlBuilder.append(port);
+            urlBuilder.append("/");
+            urlBuilder.append(contextPath);
 
-			String url = urlBuilder.toString();
-			if (!url.endsWith("/")) {
-				urlBuilder.append("/");
-			}
+            String url = urlBuilder.toString();
+            if (!url.endsWith("/")) {
+                urlBuilder.append("/");
+            }
 
-			return new URL(urlBuilder.toString());
-		} catch (Exception e) {
-			return null;
-		}
-	}
+            return new URL(urlBuilder.toString());
+        } catch (Exception e) {
+            return null;
+        }
+    }
 
-	public Map<String, DeploymentIdentity> getDeploymentIdentities() {
-		return this.deploymentIdentities;
-	}
+    public Map<String, DeploymentIdentity> getDeploymentIdentities() {
+        return this.deploymentIdentities;
+    }
 
-	protected String[] getExcludedRuntimeProgramArguments(boolean starting) {
-		return getVersionHandler().getExcludedRuntimeProgramArguments(starting);
-	}
+    protected String[] getExcludedRuntimeProgramArguments(boolean starting) {
+        return getVersionHandler().getExcludedRuntimeProgramArguments(starting);
+    }
 
-	@Override
-	public IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) {
-		return super.getPublishedResourceDelta(module);
-	}
+    @Override
+    public IModuleResourceDelta[] getPublishedResourceDelta(IModule[] module) {
+        return super.getPublishedResourceDelta(module);
+    }
 
-	@Override
-	public IModuleResource[] getResources(IModule[] module) {
-		return super.getResources(module);
-	}
+    @Override
+    public IModuleResource[] getResources(IModule[] module) {
+        return super.getResources(module);
+    }
 
-	protected String[] getRuntimeProgramArguments() {
-		return getVersionHandler().getRuntimeProgramArguments(this);
-	}
+    protected String[] getRuntimeProgramArguments() {
+        return getVersionHandler().getRuntimeProgramArguments(this);
+    }
 
-	protected String[] getRuntimeVMArguments() {
-		IPath installPath = getServer().getRuntime().getLocation();
-		IPath configPath = getRuntimeBaseDirectory();
-		IPath deployPath = getServerDeployDirectory();
-		return getVersionHandler().getRuntimeVMArguments(this, installPath, configPath, deployPath);
-	}
+    protected String[] getRuntimeVMArguments() {
+        IPath installPath = getServer().getRuntime().getLocation();
+        IPath configPath = getRuntimeBaseDirectory();
+        IPath deployPath = getServerDeployDirectory();
+        return getVersionHandler().getRuntimeVMArguments(this, installPath, configPath, deployPath);
+    }
 
-	protected void immediateShutdown() {
-		if (getServer().getServerState() == IServer.STATE_STOPPED) {
-			return;
-		}
+    protected void immediateShutdown() {
+        if (getServer().getServerState() == IServer.STATE_STOPPED) {
+            return;
+        }
 
-		try {
-			setServerState(IServer.STATE_STOPPING);
-			// Revise once on WTP 3
-			// ILaunch launch = getServer().getLaunch();
-			if (launch != null) {
-				launch.terminate();
-				stopServer();
-			}
-		} catch (Exception e) {
-		}
-	}
+        try {
+            setServerState(IServer.STATE_STOPPING);
+            // Revise once on WTP 3
+            // ILaunch launch = getServer().getLaunch();
+            if (this.launch != null) {
+                this.launch.terminate();
+                stopServer();
+            }
+        } catch (Exception e) {
+        }
+    }
 
-	@Override
-	protected void publishServer(int kind, IProgressMonitor monitor) throws CoreException {
-		if (getServer().getRuntime() == null) {
-			return;
-		}
-		setServerPublishState(IServer.PUBLISH_STATE_NONE);
-	}
+    @Override
+    protected void publishServer(int kind, IProgressMonitor monitor) throws CoreException {
+        if (getServer().getRuntime() == null) {
+            return;
+        }
+        setServerPublishState(IServer.PUBLISH_STATE_NONE);
+    }
 
-	protected void setServerStarted() {
-		// Deploy modules
-		serverDeployer.deploy(getServer().getModules());
+    protected void setServerStarted() {
+        // Deploy modules
+        this.serverDeployer.deploy(getServer().getModules());
 
-		// Set server started
-		setServerState(IServer.STATE_STARTED);
-	}
+        // Set server started
+        setServerState(IServer.STATE_STARTED);
+    }
 
-	protected void shutdown() {
-		if (getServer().getServerState() == IServer.STATE_STOPPED) {
-			return;
-		}
+    protected void shutdown() {
+        if (getServer().getServerState() == IServer.STATE_STOPPED) {
+            return;
+        }
 
-		setServerState(IServer.STATE_STOPPING);
-		// Revise once on WTP 3
-		// ILaunch launch = getServer().getLaunch();
-		if (launch != null) {
-			try {
-				getServerDeployer().shutdown();
-			} catch (TimeoutException e) {
-				immediateShutdown();
-			} catch (IOException e) {
-				immediateShutdown();
-			}
-		}
-	}
+        setServerState(IServer.STATE_STOPPING);
+        // Revise once on WTP 3
+        // ILaunch launch = getServer().getLaunch();
+        if (this.launch != null) {
+            try {
+                getServerDeployer().shutdown();
+            } catch (TimeoutException e) {
+                immediateShutdown();
+            } catch (IOException e) {
+                immediateShutdown();
+            }
+        }
+    }
 
-	public synchronized IServerDeployer getServerDeployer() {
-		if (serverDeployer == null) {
-			this.serverDeployer = new DefaultServerDeployer(this);
-		}
-		return this.serverDeployer;
-	}
+    public synchronized IServerDeployer getServerDeployer() {
+        if (this.serverDeployer == null) {
+            this.serverDeployer = new DefaultServerDeployer(this);
+        }
+        return this.serverDeployer;
+    }
 
-	public String getMBeanServerIp() {
-		return launch.getAttribute(PROPERTY_MBEAN_SERVER_IP);
-	}
+    public String getMBeanServerIp() {
+        return this.launch.getAttribute(PROPERTY_MBEAN_SERVER_IP);
+    }
 
-	class ServerLogTail extends Job {
+    class ServerLogTail extends Job {
 
-		private final IOConsoleOutputStream stream;
+        private final IOConsoleOutputStream stream;
 
-		public ServerLogTail(ServerBehaviour server, DeploymentIdentity identity, ProcessConsole console) {
-			super(server.getServer().getName());
-			this.logfile = new File(server.getRuntimeBaseDirectory().toOSString() + File.separator + "serviceability"
-					+ File.separator + "trace" + File.separator + identity.getSymbolicName() + "-"
-					+ identity.getVersion() + File.separator + "trace.log");
-			this.stream = console.newOutputStream();
-			Long fileSize = traceFileSizes.get(logfile.getAbsolutePath());
-			if (fileSize != null) {
-				filePointer = fileSize;
-			}
-		}
+        public ServerLogTail(ServerBehaviour server, DeploymentIdentity identity, ProcessConsole console) {
+            super(server.getServer().getName());
+            this.logfile = new File(server.getRuntimeBaseDirectory().toOSString() + File.separator + "serviceability" + File.separator + "trace"
+                + File.separator + identity.getSymbolicName() + "-" + identity.getVersion() + File.separator + "trace.log");
+            this.stream = console.newOutputStream();
+            Long fileSize = ServerBehaviour.this.traceFileSizes.get(this.logfile.getAbsolutePath());
+            if (fileSize != null) {
+                this.filePointer = fileSize;
+            }
+        }
 
-		/** How frequently to check for file changes; defaults to 5 seconds */
-		private final long sampleInterval = 1000;
+        /** How frequently to check for file changes; defaults to 5 seconds */
+        private final long sampleInterval = 1000;
 
-		/** The log file to tail */
-		private final File logfile;
+        /** The log file to tail */
+        private final File logfile;
 
-		/** Is the tailer currently tailing? */
-		private boolean tailing = false;
+        /** Is the tailer currently tailing? */
+        private boolean tailing = false;
 
-		/** The file pointer keeps track of where we are in the file */
-		private long filePointer = 0;
+        /** The file pointer keeps track of where we are in the file */
+        private long filePointer = 0;
 
-		@Override
-		protected IStatus run(IProgressMonitor monitor) {
+        @Override
+        protected IStatus run(IProgressMonitor monitor) {
 
-			this.tailing = true;
-			while (this.tailing && !logfile.exists()) {
-				try {
-					Thread.sleep(sampleInterval);
-				} catch (InterruptedException e) {
-				}
-			}
+            this.tailing = true;
+            while (this.tailing && !this.logfile.exists()) {
+                try {
+                    Thread.sleep(this.sampleInterval);
+                } catch (InterruptedException e) {
+                }
+            }
 
-			try {
-				// Start tailing
-				RandomAccessFile file = new RandomAccessFile(logfile, "r");
-				while (this.tailing) {
-					try {
-						// Compare the length of the file to the file pointer
-						long fileLength = this.logfile.length();
-						if (fileLength < filePointer) {
-							// Log file must have been rotated or deleted;
-							// reopen the file and reset the file pointer
-							file = new RandomAccessFile(logfile, "r");
-							filePointer = 0;
-						}
+            try {
+                // Start tailing
+                RandomAccessFile file = new RandomAccessFile(this.logfile, "r");
+                while (this.tailing) {
+                    try {
+                        // Compare the length of the file to the file pointer
+                        long fileLength = this.logfile.length();
+                        if (fileLength < this.filePointer) {
+                            // Log file must have been rotated or deleted;
+                            // reopen the file and reset the file pointer
+                            file = new RandomAccessFile(this.logfile, "r");
+                            this.filePointer = 0;
+                        }
 
-						if (fileLength > filePointer) {
-							// There is data to read
-							file.seek(filePointer);
-							byte[] line = new byte[1024];
-							int length = file.read(line);
-							while (length > 0) {
-								stream.write(line, 0, length);
-								line = new byte[1024];
-								length = file.read(line);
-							}
-							filePointer = file.getFilePointer();
-						}
+                        if (fileLength > this.filePointer) {
+                            // There is data to read
+                            file.seek(this.filePointer);
+                            byte[] line = new byte[1024];
+                            int length = file.read(line);
+                            while (length > 0) {
+                                this.stream.write(line, 0, length);
+                                line = new byte[1024];
+                                length = file.read(line);
+                            }
+                            this.filePointer = file.getFilePointer();
+                        }
 
-						// Sleep for the specified interval
-						Thread.sleep(this.sampleInterval);
-					} catch (Exception e) {
-					}
-				}
+                        // Sleep for the specified interval
+                        Thread.sleep(this.sampleInterval);
+                    } catch (Exception e) {
+                    }
+                }
 
-				// Close the file that we are tailing
-				file.close();
-			} catch (Exception e) {
+                // Close the file that we are tailing
+                file.close();
+            } catch (Exception e) {
 
-			}
+            }
 
-			return Status.OK_STATUS;
-		}
+            return Status.OK_STATUS;
+        }
 
-		public void stopTailing() {
-			this.tailing = false;
-		}
-	}
+        public void stopTailing() {
+            this.tailing = false;
+        }
+    }
 
-	public Map<Long, IBundle> getBundles(IProgressMonitor monitor) throws CoreException {
-		try {
-			return getVersionHandler().getServerBundleAdminCommand(this).execute();
-		} catch (IOException e) {
-		} catch (TimeoutException e) {
-		}
-		return Collections.emptyMap();
-	}
+    public Map<Long, IBundle> getBundles(IProgressMonitor monitor) throws CoreException {
+        try {
+            return getVersionHandler().getServerBundleAdminCommand(this).execute();
+        } catch (IOException e) {
+        } catch (TimeoutException e) {
+        }
+        return Collections.emptyMap();
+    }
 
-	public void startBundle(long bundleId) throws CoreException {
-		executeCommand("start " + bundleId);
-	}
+    public void startBundle(long bundleId) throws CoreException {
+        executeCommand("start " + bundleId);
+    }
 
-	public void stopBundle(long bundleId) throws CoreException {
-		executeCommand("stop " + bundleId);
-	}
+    public void stopBundle(long bundleId) throws CoreException {
+        executeCommand("stop " + bundleId);
+    }
 
-	public void refreshBundle(long bundleId) throws CoreException {
-		executeCommand("refresh " + bundleId);
-	}
+    public void refreshBundle(long bundleId) throws CoreException {
+        executeCommand("refresh " + bundleId);
+    }
 
-	public void updateBundle(long bundleId) throws CoreException {
-		executeCommand("update " + bundleId);
-	}
+    public void updateBundle(long bundleId) throws CoreException {
+        executeCommand("update " + bundleId);
+    }
 
-	public String executeCommand(String command) throws CoreException {
-		try {
-			return getVersionHandler().getServerBundleAdminExecuteCommand(this, command).execute();
-		} catch (IOException e) {
-		} catch (TimeoutException e) {
-		}
-		return "<error>";
-	}
+    public String executeCommand(String command) throws CoreException {
+        try {
+            return getVersionHandler().getServerBundleAdminExecuteCommand(this, command).execute();
+        } catch (IOException e) {
+        } catch (TimeoutException e) {
+        }
+        return "<error>";
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerConfiguration.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerConfiguration.java
index 8d58151..4ea7638 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerConfiguration.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerConfiguration.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import java.io.File;
@@ -28,79 +29,81 @@
 /**
  * Default {@link IServerConfiguration} implementation.
  * <p>
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ServerConfiguration implements IServerConfiguration {
 
-	private static final String ARTEFACT_ORDER_FILE_NAME = "artefact-order.config";
+    private static final String ARTEFACT_ORDER_FILE_NAME = "artefact-order.config";
 
-	private IFolder configurationFolder = null;
+    private IFolder configurationFolder = null;
 
-	public ServerConfiguration(IFolder serverConfiguration) throws IOException {
-		configurationFolder = serverConfiguration;
-	}
+    public ServerConfiguration(IFolder serverConfiguration) throws IOException {
+        this.configurationFolder = serverConfiguration;
+    }
 
-	public void addArtefact(String artefact) {
-		List<String> artefacts = getArtefactOrder();
-		if (!artefacts.contains(artefact)) {
-			artefacts.add(artefact);
-			saveArtefactOrderFile(artefacts);
-		}
-	}
+    public void addArtefact(String artefact) {
+        List<String> artefacts = getArtefactOrder();
+        if (!artefacts.contains(artefact)) {
+            artefacts.add(artefact);
+            saveArtefactOrderFile(artefacts);
+        }
+    }
 
-	public List<String> getArtefactOrder() {
-		final List<String> artefacts = new ArrayList<String>();
-		IFile file = configurationFolder.getFile(ARTEFACT_ORDER_FILE_NAME);
-		File configurationFile = file.getLocation().toFile();
-		if (configurationFile.exists()) {
-			new JSONFileParser(configurationFile) {
-				public void parse(JSONObject object) throws JSONException {
-					new JSONChildParser(object, "artefacts") {
-						public void parse(JSONObject object) throws JSONException {
-							artefacts.add(object.getString("id"));
-						}
-					};
-				}
-			};
-		}
-		return artefacts;
-	}
+    public List<String> getArtefactOrder() {
+        final List<String> artefacts = new ArrayList<String>();
+        IFile file = this.configurationFolder.getFile(ARTEFACT_ORDER_FILE_NAME);
+        File configurationFile = file.getLocation().toFile();
+        if (configurationFile.exists()) {
+            new JSONFileParser(configurationFile) {
 
-	public void setArtefactOrder(List<String> artefacts) {
-		saveArtefactOrderFile(artefacts);
-	}
+                public void parse(JSONObject object) throws JSONException {
+                    new JSONChildParser(object, "artefacts") {
 
-	public void removeArtefact(String artefact) {
-		List<String> artefacts = getArtefactOrder();
-		if (artefacts.contains(artefact)) {
-			artefacts.remove(artefact);
-			saveArtefactOrderFile(artefacts);
-		}
-	}
+                        public void parse(JSONObject object) throws JSONException {
+                            artefacts.add(object.getString("id"));
+                        }
+                    };
+                }
+            };
+        }
+        return artefacts;
+    }
 
-	private void saveArtefactOrderFile(List<String> artefacts) {
-		IFile file = configurationFolder.getFile(ARTEFACT_ORDER_FILE_NAME);
-		try {
-			JSONObject artefactNodes = new JSONObject();
-			for (String artefact : artefacts) {
-				JSONObject artefactNode = new JSONObject();
-				artefactNode.put("id", artefact);
-				artefactNodes.accumulate("artefacts", artefactNode);
-			}
-			FileWriter fileWriter = new FileWriter(file.getLocation().toFile());
-			StringWriter stringWriter = new StringWriter();
-			artefactNodes.write(stringWriter);
-			String jsonString = stringWriter.toString();
-			jsonString = jsonString.replaceAll(",", ",\n");
-			fileWriter.write(jsonString);
-			fileWriter.close();
-		} catch (IOException e) {
-			throw new RuntimeException(e);
-		} catch (JSONException e) {
-			throw new RuntimeException(e);
-		}
-	}
+    public void setArtefactOrder(List<String> artefacts) {
+        saveArtefactOrderFile(artefacts);
+    }
+
+    public void removeArtefact(String artefact) {
+        List<String> artefacts = getArtefactOrder();
+        if (artefacts.contains(artefact)) {
+            artefacts.remove(artefact);
+            saveArtefactOrderFile(artefacts);
+        }
+    }
+
+    private void saveArtefactOrderFile(List<String> artefacts) {
+        IFile file = this.configurationFolder.getFile(ARTEFACT_ORDER_FILE_NAME);
+        try {
+            JSONObject artefactNodes = new JSONObject();
+            for (String artefact : artefacts) {
+                JSONObject artefactNode = new JSONObject();
+                artefactNode.put("id", artefact);
+                artefactNodes.accumulate("artefacts", artefactNode);
+            }
+            FileWriter fileWriter = new FileWriter(file.getLocation().toFile());
+            StringWriter stringWriter = new StringWriter();
+            artefactNodes.write(stringWriter);
+            String jsonString = stringWriter.toString();
+            jsonString = jsonString.replaceAll(",", ",\n");
+            fileWriter.write(jsonString);
+            fileWriter.close();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        } catch (JSONException e) {
+            throw new RuntimeException(e);
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerLaunchConfigurationDelegate.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerLaunchConfigurationDelegate.java
index 38fab9a..59ffb21 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerLaunchConfigurationDelegate.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerLaunchConfigurationDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import java.io.File;
@@ -35,107 +36,106 @@
 
 /**
  * {@link ILaunchConfigurationDelegate} for the dm server.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 @SuppressWarnings("restriction")
 public class ServerLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
 
-	@SuppressWarnings("unchecked")
-	public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor)
-			throws CoreException {
-		IServer server = ServerUtil.getServer(configuration);
-		if (server == null) {
-			return;
-		}
+    @SuppressWarnings("unchecked")
+    public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
+        IServer server = ServerUtil.getServer(configuration);
+        if (server == null) {
+            return;
+        }
 
-		IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 5);
-		checkCancelled(subMonitor);
-		subMonitor.beginTask("Starting SpringSource dm Server instance", 5);
+        IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 5);
+        checkCancelled(subMonitor);
+        subMonitor.beginTask("Starting SpringSource dm Server instance", 5);
 
-		if (server.shouldPublish() && ServerPreferences.getInstance().isAutoPublishing()) {
-			subMonitor.subTask("Publishing to staging directory...");
-			server.publish(IServer.PUBLISH_INCREMENTAL, monitor);
-		}
-		subMonitor.worked(1);
-		checkCancelled(subMonitor);
-		subMonitor.subTask("Configuring launch parameters...");
+        if (server.shouldPublish() && ServerPreferences.getInstance().isAutoPublishing()) {
+            subMonitor.subTask("Publishing to staging directory...");
+            server.publish(IServer.PUBLISH_INCREMENTAL, monitor);
+        }
+        subMonitor.worked(1);
+        checkCancelled(subMonitor);
+        subMonitor.subTask("Configuring launch parameters...");
 
-		ServerBehaviour behaviour = (ServerBehaviour) server.loadAdapter(ServerBehaviour.class, null);
+        ServerBehaviour behaviour = (ServerBehaviour) server.loadAdapter(ServerBehaviour.class, null);
 
-		String mainTypeName = ServerUtils.getServer(behaviour).getRuntime().getRuntimeClass();
+        String mainTypeName = ServerUtils.getServer(behaviour).getRuntime().getRuntimeClass();
 
-		IVMInstall vm = verifyVMInstall(configuration);
-		IVMRunner runner = vm.getVMRunner(mode);
-		if (runner == null) {
-			runner = vm.getVMRunner(ILaunchManager.RUN_MODE);
-		}
+        IVMInstall vm = verifyVMInstall(configuration);
+        IVMRunner runner = vm.getVMRunner(mode);
+        if (runner == null) {
+            runner = vm.getVMRunner(ILaunchManager.RUN_MODE);
+        }
 
-		File workingDir = verifyWorkingDirectory(configuration);
-		String workingDirName = null;
-		if (workingDir != null) {
-			workingDirName = workingDir.getAbsolutePath();
-		}
+        File workingDir = verifyWorkingDirectory(configuration);
+        String workingDirName = null;
+        if (workingDir != null) {
+            workingDirName = workingDir.getAbsolutePath();
+        }
 
-		String pgmArgs = getProgramArguments(configuration);
-		String vmArgs = getVMArguments(configuration);
-		String[] envp = getEnvironment(configuration);
+        String pgmArgs = getProgramArguments(configuration);
+        String vmArgs = getVMArguments(configuration);
+        String[] envp = getEnvironment(configuration);
 
-		ExecutionArguments execArgs = new ExecutionArguments(vmArgs, pgmArgs);
+        ExecutionArguments execArgs = new ExecutionArguments(vmArgs, pgmArgs);
 
-		Map<String, Object> vmAttributesMap = getVMSpecificAttributesMap(configuration);
+        Map<String, Object> vmAttributesMap = getVMSpecificAttributesMap(configuration);
 
-		String[] classpath = getClasspath(configuration);
+        String[] classpath = getClasspath(configuration);
 
-		VMRunnerConfiguration runConfiguration = new VMRunnerConfiguration(mainTypeName, classpath);
-		runConfiguration.setProgramArguments(execArgs.getProgramArgumentsArray());
-		runConfiguration.setVMArguments(execArgs.getVMArgumentsArray());
-		runConfiguration.setWorkingDirectory(workingDirName);
-		runConfiguration.setEnvironment(envp);
-		runConfiguration.setVMSpecificAttributesMap(vmAttributesMap);
+        VMRunnerConfiguration runConfiguration = new VMRunnerConfiguration(mainTypeName, classpath);
+        runConfiguration.setProgramArguments(execArgs.getProgramArgumentsArray());
+        runConfiguration.setVMArguments(execArgs.getVMArgumentsArray());
+        runConfiguration.setWorkingDirectory(workingDirName);
+        runConfiguration.setEnvironment(envp);
+        runConfiguration.setVMSpecificAttributesMap(vmAttributesMap);
 
-		String[] bootpath = getBootpath(configuration);
-		if (bootpath != null && bootpath.length > 0) {
-			runConfiguration.setBootClassPath(bootpath);
-		}
+        String[] bootpath = getBootpath(configuration);
+        if (bootpath != null && bootpath.length > 0) {
+            runConfiguration.setBootClassPath(bootpath);
+        }
 
-		subMonitor.worked(1);
-		checkCancelled(subMonitor);
+        subMonitor.worked(1);
+        checkCancelled(subMonitor);
 
-		subMonitor.subTask("Setting up source locator...");
-		setDefaultSourceLocator(launch, configuration);
-		subMonitor.worked(1);
-		checkCancelled(subMonitor);
+        subMonitor.subTask("Setting up source locator...");
+        setDefaultSourceLocator(launch, configuration);
+        subMonitor.worked(1);
+        checkCancelled(subMonitor);
 
-		if (ILaunchManager.PROFILE_MODE.equals(mode)) {
-			try {
-				subMonitor.subTask("Configuring TPTP profiling parameter...");
-				ServerProfilerDelegate.configureProfiling(launch, vm, runConfiguration, monitor);
-			} catch (CoreException ce) {
-				behaviour.stopServer();
-				throw ce;
-			}
-		}
-		subMonitor.worked(1);
-		checkCancelled(subMonitor);
+        if (ILaunchManager.PROFILE_MODE.equals(mode)) {
+            try {
+                subMonitor.subTask("Configuring TPTP profiling parameter...");
+                ServerProfilerDelegate.configureProfiling(launch, vm, runConfiguration, monitor);
+            } catch (CoreException ce) {
+                behaviour.stopServer();
+                throw ce;
+            }
+        }
+        subMonitor.worked(1);
+        checkCancelled(subMonitor);
 
-		subMonitor.subTask("Launching SpringSource dm Server...");
-		behaviour.setupLaunch(launch, mode, monitor);
-		launch.setAttribute(IServerBehaviour.PROPERTY_MBEAN_SERVER_IP, "127.0.0.1");
+        subMonitor.subTask("Launching SpringSource dm Server...");
+        behaviour.setupLaunch(launch, mode, monitor);
+        launch.setAttribute(IServerBehaviour.PROPERTY_MBEAN_SERVER_IP, "127.0.0.1");
 
-		try {
-			runner.run(runConfiguration, launch, monitor);
-			behaviour.addProcessListener(launch.getProcesses()[0]);
-			subMonitor.worked(1);
-		} catch (Exception e) {
-		}
-	}
+        try {
+            runner.run(runConfiguration, launch, monitor);
+            behaviour.addProcessListener(launch.getProcesses()[0]);
+            subMonitor.worked(1);
+        } catch (Exception e) {
+        }
+    }
 
-	protected void checkCancelled(IProgressMonitor monitor) throws CoreException {
-		if (monitor.isCanceled()) {
-			throw new CoreException(Status.CANCEL_STATUS);
-		}
-	}
+    protected void checkCancelled(IProgressMonitor monitor) throws CoreException {
+        if (monitor.isCanceled()) {
+            throw new CoreException(Status.CANCEL_STATUS);
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerLaunchableAdapterDelegate.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerLaunchableAdapterDelegate.java
index 93092e2..12639c1 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerLaunchableAdapterDelegate.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerLaunchableAdapterDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import java.net.URL;
@@ -22,54 +23,53 @@
 import org.eclipse.wst.server.core.util.WebResource;
 
 /**
- * {@link LaunchableAdapterDelegate} to allow "Run as..." actions for web
- * resources.
- * 
+ * {@link LaunchableAdapterDelegate} to allow "Run as..." actions for web resources.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ServerLaunchableAdapterDelegate extends LaunchableAdapterDelegate {
 
-	public Object getLaunchable(IServer server, IModuleArtifact moduleObject) {
-		// Check for correct module type
-		if (server.getAdapter(Server.class) == null) {
-			return null;
-		}
-		if (!(moduleObject instanceof Servlet) && !(moduleObject instanceof WebResource)) {
-			return null;
-		}
-		if (moduleObject.getModule().loadAdapter(IWebModule.class, null) == null) {
-			return null;
-		}
+    @Override
+    public Object getLaunchable(IServer server, IModuleArtifact moduleObject) {
+        // Check for correct module type
+        if (server.getAdapter(Server.class) == null) {
+            return null;
+        }
+        if (!(moduleObject instanceof Servlet) && !(moduleObject instanceof WebResource)) {
+            return null;
+        }
+        if (moduleObject.getModule().loadAdapter(IWebModule.class, null) == null) {
+            return null;
+        }
 
-		try {
-			URL url = ((IURLProvider) server.loadAdapter(IURLProvider.class, null)).getModuleRootURL(moduleObject
-					.getModule());
+        try {
+            URL url = ((IURLProvider) server.loadAdapter(IURLProvider.class, null)).getModuleRootURL(moduleObject.getModule());
 
-			if (moduleObject instanceof Servlet) {
-				Servlet servlet = (Servlet) moduleObject;
-				if (servlet.getAlias() != null) {
-					String path = servlet.getAlias();
-					if (path.startsWith("/")) {
-						path = path.substring(1);
-					}
-					url = new URL(url, path);
-				} else {
-					url = new URL(url, "servlet/" + servlet.getServletClassName());
-				}
-			} else if (moduleObject instanceof WebResource) {
-				WebResource resource = (WebResource) moduleObject;
-				String path = resource.getPath().toString();
-				if (path != null && path.startsWith("/") && path.length() > 0) {
-					path = path.substring(1);
-				}
-				if (path != null && path.length() > 0) {
-					url = new URL(url, path);
-				}
-			}
-			return new HttpLaunchable(url);
-		} catch (Exception e) {
-			return null;
-		}
-	}
+            if (moduleObject instanceof Servlet) {
+                Servlet servlet = (Servlet) moduleObject;
+                if (servlet.getAlias() != null) {
+                    String path = servlet.getAlias();
+                    if (path.startsWith("/")) {
+                        path = path.substring(1);
+                    }
+                    url = new URL(url, path);
+                } else {
+                    url = new URL(url, "servlet/" + servlet.getServletClassName());
+                }
+            } else if (moduleObject instanceof WebResource) {
+                WebResource resource = (WebResource) moduleObject;
+                String path = resource.getPath().toString();
+                if (path != null && path.startsWith("/") && path.length() > 0) {
+                    path = path.substring(1);
+                }
+                if (path != null && path.length() > 0) {
+                    url = new URL(url, path);
+                }
+            }
+            return new HttpLaunchable(url);
+        } catch (Exception e) {
+            return null;
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerPublishOperation.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerPublishOperation.java
index 6f94f66..630c079 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerPublishOperation.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerPublishOperation.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import java.io.File;
@@ -48,276 +49,272 @@
 import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
 
 /**
- * {@link PublishOperation} extension that deals with deploy, clean and refresh
- * of dm Server modules.
- * 
+ * {@link PublishOperation} extension that deals with deploy, clean and refresh of dm Server modules.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 @SuppressWarnings("restriction")
 public class ServerPublishOperation extends PublishOperation {
 
-	private int deltaKind;
+    private final int deltaKind;
 
-	private int kind;
+    private final int kind;
 
-	private IModule[] modules;
+    private final IModule[] modules;
 
-	private ServerBehaviour server;
+    private final ServerBehaviour server;
 
-	public ServerPublishOperation(ServerBehaviour server, int kind, IModule[] module, int deltaKind) {
-		super("Publish to server", "Publish module to SpringSource dm Server");
-		this.server = server;
-		this.kind = kind;
-		this.modules = module;
-		this.deltaKind = deltaKind;
-	}
+    public ServerPublishOperation(ServerBehaviour server, int kind, IModule[] module, int deltaKind) {
+        super("Publish to server", "Publish module to SpringSource dm Server");
+        this.server = server;
+        this.kind = kind;
+        this.modules = module;
+        this.deltaKind = deltaKind;
+    }
 
-	@Override
-	public void execute(IProgressMonitor monitor, IAdaptable info) throws CoreException {
-		boolean shouldRedeploy = false;
-		List<IStatus> status = new ArrayList<IStatus>();
-		if (modules.length == 1) {
-			shouldRedeploy = publishModule(modules[0], status, monitor);
-		}
+    @Override
+    public void execute(IProgressMonitor monitor, IAdaptable info) throws CoreException {
+        boolean shouldRedeploy = false;
+        List<IStatus> status = new ArrayList<IStatus>();
+        if (this.modules.length == 1) {
+            shouldRedeploy = publishModule(this.modules[0], status, monitor);
+        }
 
-		boolean shouldReployChild = false;
-		IProject project = modules[0].getProject();
-		if (!FacetUtils.isBundleProject(project) && !FacetUtils.isParProject(project)
-			&& ServerUtils.getServer(server).getChildModules(modules) != null && !FacetUtils.isPlanProject(project)) {
-			for (IModule module : ServerUtils.getServer(server).getChildModules(modules)) {
-				if (publishJar(module, status, monitor)) {
-					shouldReployChild = true;
-				}
-			}
-		}
+        boolean shouldReployChild = false;
+        IProject project = this.modules[0].getProject();
+        if (!FacetUtils.isBundleProject(project) && !FacetUtils.isParProject(project)
+            && ServerUtils.getServer(this.server).getChildModules(this.modules) != null && !FacetUtils.isPlanProject(project)) {
+            for (IModule module : ServerUtils.getServer(this.server).getChildModules(this.modules)) {
+                if (publishJar(module, status, monitor)) {
+                    shouldReployChild = true;
+                }
+            }
+        }
 
-		if (shouldRedeploy || shouldReployChild) {
-			server.getServerDeployer().redeploy(modules[0]);
-		}
+        if (shouldRedeploy || shouldReployChild) {
+            this.server.getServerDeployer().redeploy(this.modules[0]);
+        }
 
-		server.onModulePublishStateChange(modules, IServer.PUBLISH_STATE_NONE);
-	}
+        this.server.onModulePublishStateChange(this.modules, IServer.PUBLISH_STATE_NONE);
+    }
 
-	@Override
-	public int getKind() {
-		return REQUIRED;
-	}
+    @Override
+    public int getKind() {
+        return REQUIRED;
+    }
 
-	@Override
-	public int getOrder() {
-		return 0;
-	}
+    @Override
+    public int getOrder() {
+        return 0;
+    }
 
-	/**
-	 * Checks if the given <code>file</code> is a root node that is a known
-	 * Spring namespace.
-	 */
-	// private boolean checkIfSpringConfigurationFile(IFile file) {
-	// IStructuredModel model = null;
-	// try {
-	// model =
-	// StructuredModelManager.getModelManager().getExistingModelForRead(file);
-	// if (model == null) {
-	// model = StructuredModelManager.getModelManager().getModelForRead(file);
-	// }
-	// if (model != null) {
-	// IDOMDocument document = ((DOMModelImpl) model).getDocument();
-	// if (document != null && document.getDocumentElement() != null) {
-	// String namespaceUri = document.getDocumentElement().getNamespaceURI();
-	// if (NamespaceUtils.DEFAULT_NAMESPACE_URI.equals(namespaceUri)
-	// || new
-	// DelegatingNamespaceHandlerResolver(JdtUtils.getClassLoader(file.getProject(),
-	// null),
-	// null).resolve(namespaceUri) != null) {
-	// return false;
-	// }
-	// }
-	// }
-	// }
-	// catch (Exception e) {
-	// }
-	// finally {
-	// if (model != null) {
-	// model.releaseFromRead();
-	// }
-	// model = null;
-	// }
-	// return true;
-	// }
+    /**
+     * Checks if the given <code>file</code> is a root node that is a known Spring namespace.
+     */
+    // private boolean checkIfSpringConfigurationFile(IFile file) {
+    // IStructuredModel model = null;
+    // try {
+    // model =
+    // StructuredModelManager.getModelManager().getExistingModelForRead(file);
+    // if (model == null) {
+    // model = StructuredModelManager.getModelManager().getModelForRead(file);
+    // }
+    // if (model != null) {
+    // IDOMDocument document = ((DOMModelImpl) model).getDocument();
+    // if (document != null && document.getDocumentElement() != null) {
+    // String namespaceUri = document.getDocumentElement().getNamespaceURI();
+    // if (NamespaceUtils.DEFAULT_NAMESPACE_URI.equals(namespaceUri)
+    // || new
+    // DelegatingNamespaceHandlerResolver(JdtUtils.getClassLoader(file.getProject(),
+    // null),
+    // null).resolve(namespaceUri) != null) {
+    // return false;
+    // }
+    // }
+    // }
+    // }
+    // catch (Exception e) {
+    // }
+    // finally {
+    // if (model != null) {
+    // model.releaseFromRead();
+    // }
+    // model = null;
+    // }
+    // return true;
+    // }
 
-	/**
-	 * Check if resource delta only contains static resources
-	 */
-	private boolean onlyStaticResources(IModuleResourceDelta delta, Set<IModuleFile> files) {
-		if (delta.getModuleResource() instanceof IModuleFolder) {
-			for (IModuleResourceDelta child : delta.getAffectedChildren()) {
-				if (!onlyStaticResources(child, files)) {
-					return false;
-				}
-			}
-			return true;
-		} else {
-			if (delta.getModuleResource() instanceof IModuleFile) {
-				files.add((IModuleFile) delta.getModuleResource());
-			}
-			String name = delta.getModuleResource().getName();
+    /**
+     * Check if resource delta only contains static resources
+     */
+    private boolean onlyStaticResources(IModuleResourceDelta delta, Set<IModuleFile> files) {
+        if (delta.getModuleResource() instanceof IModuleFolder) {
+            for (IModuleResourceDelta child : delta.getAffectedChildren()) {
+                if (!onlyStaticResources(child, files)) {
+                    return false;
+                }
+            }
+            return true;
+        } else {
+            if (delta.getModuleResource() instanceof IModuleFile) {
+                files.add((IModuleFile) delta.getModuleResource());
+            }
+            String name = delta.getModuleResource().getName();
 
-			boolean isStatic = false;
-			// Check the configuration options for static resources
-			AntPathMatcher matcher = new AntPathMatcher();
-			for (String pattern : StringUtils.delimitedListToStringArray(ServerUtils.getServer(server)
-					.getStaticFilenamePatterns(), ",")) {
-				if (pattern.startsWith("!") && matcher.match(pattern.substring(1), name)) {
-					isStatic = false;
-				} else if (matcher.match(pattern, name)) {
-					isStatic = true;
-				}
-			}
-			return isStatic;
-		}
-	}
+            boolean isStatic = false;
+            // Check the configuration options for static resources
+            AntPathMatcher matcher = new AntPathMatcher();
+            for (String pattern : StringUtils.delimitedListToStringArray(ServerUtils.getServer(this.server).getStaticFilenamePatterns(), ",")) {
+                if (pattern.startsWith("!") && matcher.match(pattern.substring(1), name)) {
+                    isStatic = false;
+                } else if (matcher.match(pattern, name)) {
+                    isStatic = true;
+                }
+            }
+            return isStatic;
+        }
+    }
 
-	private boolean publishJar(IModule module, List<IStatus> status, IProgressMonitor monitor) throws CoreException {
-		IPath path = server.getModuleDeployDirectory(modules[0]).append("WEB-INF").append("lib");
-		IPath zipPath = path.append(module.getName() + ".jar");
+    private boolean publishJar(IModule module, List<IStatus> status, IProgressMonitor monitor) throws CoreException {
+        IPath path = this.server.getModuleDeployDirectory(this.modules[0]).append("WEB-INF").append("lib");
+        IPath zipPath = path.append(module.getName() + ".jar");
 
-		if (kind == IServer.PUBLISH_CLEAN || deltaKind == ServerBehaviourDelegate.REMOVED) {
-			if (zipPath.toFile().exists()) {
-				zipPath.toFile().delete();
-			}
+        if (this.kind == IServer.PUBLISH_CLEAN || this.deltaKind == ServerBehaviourDelegate.REMOVED) {
+            if (zipPath.toFile().exists()) {
+                zipPath.toFile().delete();
+            }
 
-			if (deltaKind == ServerBehaviourDelegate.REMOVED) {
-				return false;
-			}
-		}
-		if (kind != IServer.PUBLISH_CLEAN && kind != IServer.PUBLISH_FULL) {
-			IModuleResourceDelta[] delta = server.getPublishedResourceDelta(new IModule[] { modules[0], module });
-			if (delta == null || delta.length == 0) {
-				return false;
-			}
-		}
+            if (this.deltaKind == ServerBehaviourDelegate.REMOVED) {
+                return false;
+            }
+        }
+        if (this.kind != IServer.PUBLISH_CLEAN && this.kind != IServer.PUBLISH_FULL) {
+            IModuleResourceDelta[] delta = this.server.getPublishedResourceDelta(new IModule[] { this.modules[0], module });
+            if (delta == null || delta.length == 0) {
+                return false;
+            }
+        }
 
-		if (!path.toFile().exists()) {
-			path.toFile().mkdirs();
-		}
+        if (!path.toFile().exists()) {
+            path.toFile().mkdirs();
+        }
 
-		PublishUtil.publishZip(server.getResources(new IModule[] { modules[0], module }), zipPath, monitor);
-		return true;
-	}
+        PublishUtil.publishZip(this.server.getResources(new IModule[] { this.modules[0], module }), zipPath, monitor);
+        return true;
+    }
 
-	/**
-	 * Creates a dummy manifest for WTP Dynamic Web Projects only
-	 */
-	private void publishManifest(IModule module, IPath path) {
+    /**
+     * Creates a dummy manifest for WTP Dynamic Web Projects only
+     */
+    private void publishManifest(IModule module, IPath path) {
 
-		if (FacetUtils.hasProjectFacet(module.getProject(), FacetCorePlugin.WEB_FACET_ID)) {
-			File manifestFile = path.append(BundleManifestCorePlugin.MANIFEST_FOLDER_NAME)
-					.append(BundleManifestCorePlugin.MANIFEST_FILE_NAME).toFile();
-			if (manifestFile.exists()) {
-				return;
-			}
-			BundleManifest manifest = BundleManifestFactory.createBundleManifest();
-			Writer writer = null;
-			try {
-				manifestFile.getParentFile().mkdirs();
-				writer = new FileWriter(manifestFile);
-				manifest.write(writer);
-			} catch (IOException e) {
-			} finally {
-				if (writer != null) {
-					try {
-						writer.flush();
-						writer.close();
-					} catch (IOException e) {
-					}
-				}
-			}
-		}
-	}
+        if (FacetUtils.hasProjectFacet(module.getProject(), FacetCorePlugin.WEB_FACET_ID)) {
+            File manifestFile = path.append(BundleManifestCorePlugin.MANIFEST_FOLDER_NAME).append(
+                BundleManifestCorePlugin.MANIFEST_FILE_NAME).toFile();
+            if (manifestFile.exists()) {
+                return;
+            }
+            BundleManifest manifest = BundleManifestFactory.createBundleManifest();
+            Writer writer = null;
+            try {
+                manifestFile.getParentFile().mkdirs();
+                writer = new FileWriter(manifestFile);
+                manifest.write(writer);
+            } catch (IOException e) {
+            } finally {
+                if (writer != null) {
+                    try {
+                        writer.flush();
+                        writer.close();
+                    } catch (IOException e) {
+                    }
+                }
+            }
+        }
+    }
 
-	private boolean publishModule(IModule module, List<IStatus> status, IProgressMonitor monitor) throws CoreException {
-		IPath path = server.getModuleDeployDirectory(module);
+    private boolean publishModule(IModule module, List<IStatus> status, IProgressMonitor monitor) throws CoreException {
+        IPath path = this.server.getModuleDeployDirectory(module);
 
-		if (deltaKind == ServerBehaviourDelegate.REMOVED) {
-			File f = path.toFile();
-			if (ServerUtils.getServer(server).getServer().getServerState() == IServer.STATE_STARTED) {
-				server.getServerDeployer().undeploy(module);
-			}
-			if (f.exists() && !path.equals(server.getServerDeployDirectory())) {
-				PublishUtil.deleteDirectory(f, new NullProgressMonitor());
-			}
+        if (this.deltaKind == ServerBehaviourDelegate.REMOVED) {
+            File f = path.toFile();
+            if (ServerUtils.getServer(this.server).getServer().getServerState() == IServer.STATE_STARTED) {
+                this.server.getServerDeployer().undeploy(module);
+            }
+            if (f.exists() && !path.equals(this.server.getServerDeployDirectory())) {
+                PublishUtil.deleteDirectory(f, new NullProgressMonitor());
+            }
 
-			if (module.getModuleType().getId().equals(FacetCorePlugin.PLAN_FACET_ID)) {
-				// Delete the plan file
-				path = path.append(module.getId().substring(module.getId().lastIndexOf('/')));
-				File planFile = path.toFile();
-				if (planFile.exists()) {
-					planFile.delete();
-				}
+            if (module.getModuleType().getId().equals(FacetCorePlugin.PLAN_FACET_ID)) {
+                // Delete the plan file
+                path = path.append(module.getId().substring(module.getId().lastIndexOf('/')));
+                File planFile = path.toFile();
+                if (planFile.exists()) {
+                    planFile.delete();
+                }
 
-				// Delete all child modules that are not being used anymore
-				ServerModuleDelegate planModule = (ServerModuleDelegate) module.loadAdapter(ServerModuleDelegate.class,
-																							null);
-				IServer s = server.getServer();
-				for (IModule childModule : planModule.getChildModules()) {
-					if (!ServerUtil.containsModule(s, childModule, monitor)) {
-						IPath modulePath = server.getModuleDeployDirectory(childModule);
-						File moduleFile = modulePath.toFile();
-						if (moduleFile.exists()) {
-							PublishUtil.deleteDirectory(moduleFile, new NullProgressMonitor());
-						}
-					}
-				}
-			}
+                // Delete all child modules that are not being used anymore
+                ServerModuleDelegate planModule = (ServerModuleDelegate) module.loadAdapter(ServerModuleDelegate.class, null);
+                IServer s = this.server.getServer();
+                for (IModule childModule : planModule.getChildModules()) {
+                    if (!ServerUtil.containsModule(s, childModule, monitor)) {
+                        IPath modulePath = this.server.getModuleDeployDirectory(childModule);
+                        File moduleFile = modulePath.toFile();
+                        if (moduleFile.exists()) {
+                            PublishUtil.deleteDirectory(moduleFile, new NullProgressMonitor());
+                        }
+                    }
+                }
+            }
 
-			return false;
-		}
+            return false;
+        }
 
-		if (kind == IServer.PUBLISH_CLEAN || kind == IServer.PUBLISH_FULL) {
-			IModuleResource[] mr = server.getResources(modules);
-			status.addAll(Arrays.asList(PublishUtil.publishFull(mr, path, monitor)));
-			// Hack to get a MANIFEST.MF into the deployment area
-			publishManifest(module, path);
+        if (this.kind == IServer.PUBLISH_CLEAN || this.kind == IServer.PUBLISH_FULL) {
+            IModuleResource[] mr = this.server.getResources(this.modules);
+            status.addAll(Arrays.asList(PublishUtil.publishFull(mr, path, monitor)));
+            // Hack to get a MANIFEST.MF into the deployment area
+            publishManifest(module, path);
 
-			if (ServerUtils.getServer(server).getServer().getServerState() == IServer.STATE_STARTED) {
-				// redeploy
-				return true;
-			}
-			return false;
-		}
+            if (ServerUtils.getServer(this.server).getServer().getServerState() == IServer.STATE_STARTED) {
+                // redeploy
+                return true;
+            }
+            return false;
+        }
 
-		IModuleResourceDelta[] delta = server.getPublishedResourceDelta(modules);
-		for (IModuleResourceDelta d : delta) {
-			status.addAll(Arrays.asList(PublishUtil.publishDelta(d, path, monitor)));
-		}
+        IModuleResourceDelta[] delta = this.server.getPublishedResourceDelta(this.modules);
+        for (IModuleResourceDelta d : delta) {
+            status.addAll(Arrays.asList(PublishUtil.publishDelta(d, path, monitor)));
+        }
 
-		publishManifest(module, path);
+        publishManifest(module, path);
 
-		if (ServerUtils.getServer(server).getServer().getServerState() == IServer.STATE_STARTED
-			&& deltaKind != ServerBehaviourDelegate.NO_CHANGE) {
+        if (ServerUtils.getServer(this.server).getServer().getServerState() == IServer.STATE_STARTED
+            && this.deltaKind != ServerBehaviourDelegate.NO_CHANGE) {
 
-			Set<IModuleFile> files = new HashSet<IModuleFile>();
-			// first check if only static resources are changed
-			boolean onlyStaticResources = true;
-			for (IModuleResourceDelta d : delta) {
-				if (!onlyStaticResources(d, files)) {
-					onlyStaticResources = false;
-					// don't break to get a full set of all files
-				}
-			}
+            Set<IModuleFile> files = new HashSet<IModuleFile>();
+            // first check if only static resources are changed
+            boolean onlyStaticResources = true;
+            for (IModuleResourceDelta d : delta) {
+                if (!onlyStaticResources(d, files)) {
+                    onlyStaticResources = false;
+                    // don't break to get a full set of all files
+                }
+            }
 
-			if (!onlyStaticResources) {
-				// redeploy
-				return true;
-			} else {
-				// refresh static resources
-				for (IModuleFile file : files) {
-					server.getServerDeployer().refreshStatic(module, file);
-				}
-			}
-		}
-		return false;
-	}
+            if (!onlyStaticResources) {
+                // redeploy
+                return true;
+            } else {
+                // refresh static resources
+                for (IModuleFile file : files) {
+                    this.server.getServerDeployer().refreshStatic(module, file);
+                }
+            }
+        }
+        return false;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerPublishTask.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerPublishTask.java
index 3c415fa..a2e5cd4 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerPublishTask.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerPublishTask.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import java.util.ArrayList;
@@ -24,55 +25,54 @@
 import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
 
 /**
- * {@link PublishOperation} extension that deals with deploy, clean and refresh
- * of dm Server modules.
- * 
+ * {@link PublishOperation} extension that deals with deploy, clean and refresh of dm Server modules.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ServerPublishTask extends PublishTaskDelegate {
 
-	@SuppressWarnings("unchecked")
-	@Override
-	public PublishOperation[] getTasks(IServer server, int kind, List modules, List kindList) {
-		if (modules == null || modules.size() == 0) {
-			return null;
-		}
+    @SuppressWarnings("unchecked")
+    @Override
+    public PublishOperation[] getTasks(IServer server, int kind, List modules, List kindList) {
+        if (modules == null || modules.size() == 0) {
+            return null;
+        }
 
-		Set<IModule> modulesToPublish = new HashSet<IModule>();
-		List<ServerPublishOperation> tasks = new ArrayList<ServerPublishOperation>();
+        Set<IModule> modulesToPublish = new HashSet<IModule>();
+        List<ServerPublishOperation> tasks = new ArrayList<ServerPublishOperation>();
 
-		ServerBehaviour engineServer = (ServerBehaviour) server.loadAdapter(ServerBehaviour.class, null);
-		for (int i = 0; i < modules.size(); i++) {
-			IModule[] module = (IModule[]) modules.get(i);
+        ServerBehaviour engineServer = (ServerBehaviour) server.loadAdapter(ServerBehaviour.class, null);
+        for (int i = 0; i < modules.size(); i++) {
+            IModule[] module = (IModule[]) modules.get(i);
 
-			int state = server.getModulePublishState(module);
-			if (state != IServer.PUBLISH_STATE_NONE || kind == IServer.PUBLISH_CLEAN) {
-				Integer in = (Integer) kindList.get(i);
-				if (in != ServerBehaviourDelegate.NO_CHANGE || kind == IServer.PUBLISH_CLEAN) {
-					if (module.length == 1) {
-						addModuleToPublish(tasks, modulesToPublish, engineServer, module[0], in, kind);
-					} else if (FacetUtils.isParProject(module[0].getProject()) && kind != IServer.PUBLISH_CLEAN) {
-						addModuleToPublish(tasks, modulesToPublish, engineServer, module[0], in, kind);
-					} else if (module.length > 1) {
-						IProject project = module[0].getProject();
-						if (!FacetUtils.isBundleProject(project) && !FacetUtils.isParProject(project)) {
-							addModuleToPublish(tasks, modulesToPublish, engineServer, module[0], in, kind);
-						}
-					}
-				}
-			}
-		}
+            int state = server.getModulePublishState(module);
+            if (state != IServer.PUBLISH_STATE_NONE || kind == IServer.PUBLISH_CLEAN) {
+                Integer in = (Integer) kindList.get(i);
+                if (in != ServerBehaviourDelegate.NO_CHANGE || kind == IServer.PUBLISH_CLEAN) {
+                    if (module.length == 1) {
+                        addModuleToPublish(tasks, modulesToPublish, engineServer, module[0], in, kind);
+                    } else if (FacetUtils.isParProject(module[0].getProject()) && kind != IServer.PUBLISH_CLEAN) {
+                        addModuleToPublish(tasks, modulesToPublish, engineServer, module[0], in, kind);
+                    } else if (module.length > 1) {
+                        IProject project = module[0].getProject();
+                        if (!FacetUtils.isBundleProject(project) && !FacetUtils.isParProject(project)) {
+                            addModuleToPublish(tasks, modulesToPublish, engineServer, module[0], in, kind);
+                        }
+                    }
+                }
+            }
+        }
 
-		return tasks.toArray(new PublishOperation[tasks.size()]);
-	}
+        return tasks.toArray(new PublishOperation[tasks.size()]);
+    }
 
-	private void addModuleToPublish(List<ServerPublishOperation> tasks, Set<IModule> modulesToPublish,
-			ServerBehaviour engineServer, IModule module, Integer in, int kind) {
+    private void addModuleToPublish(List<ServerPublishOperation> tasks, Set<IModule> modulesToPublish, ServerBehaviour engineServer, IModule module,
+        Integer in, int kind) {
 
-		if (!modulesToPublish.contains(module)) {
-			tasks.add(new ServerPublishOperation(engineServer, kind, new IModule[] { module }, in.intValue()));
-			modulesToPublish.add(module);
-		}
-	}
+        if (!modulesToPublish.contains(module)) {
+            tasks.add(new ServerPublishOperation(engineServer, kind, new IModule[] { module }, in.intValue()));
+            modulesToPublish.add(module);
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerRuntimeUtils.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerRuntimeUtils.java
index 635adec..c29cf27 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerRuntimeUtils.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerRuntimeUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import org.eclipse.core.resources.IProject;
@@ -25,96 +26,94 @@
 import org.eclipse.wst.server.core.ServerUtil;
 
 /**
- * Utility class that allows callback operations with the
- * {@link VirgoServerRuntime} that a given {@link IProject} is targeted to.
- * 
+ * Utility class that allows callback operations with the {@link VirgoServerRuntime} that a given {@link IProject} is
+ * targeted to.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ServerRuntimeUtils {
 
-	/**
-	 * Callback interface to do logic within the context of a
-	 * {@link VirgoServerRuntime}.
-	 */
-	public interface ServerRuntimeCallback {
+    /**
+     * Callback interface to do logic within the context of a {@link VirgoServerRuntime}.
+     */
+    public interface ServerRuntimeCallback {
 
-		/**
-		 * Execute logic within the context of a {@link VirgoServerRuntime}
-		 */
-		boolean doWithRuntime(VirgoServerRuntime runtime);
+        /**
+         * Execute logic within the context of a {@link VirgoServerRuntime}
+         */
+        boolean doWithRuntime(VirgoServerRuntime runtime);
 
-	}
+    }
 
-	/**
-	 * Executes the given callback with every {@link VirgoServerRuntime} that
-	 * given {@link IProject} is targeted against.
-	 * 
-	 * @param project the project to check for targeted runtimes
-	 * @param callback the callback to execute
-	 */
-	public static void execute(IProject project, ServerRuntimeCallback callback) {
-		try {
-			IFacetedProject fProject = ProjectFacetsManager.create(project);
+    /**
+     * Executes the given callback with every {@link VirgoServerRuntime} that given {@link IProject} is targeted
+     * against.
+     *
+     * @param project the project to check for targeted runtimes
+     * @param callback the callback to execute
+     */
+    public static void execute(IProject project, ServerRuntimeCallback callback) {
+        try {
+            IFacetedProject fProject = ProjectFacetsManager.create(project);
 
-			// If the facet frameworks returns null we should just exit here
-			if (fProject == null) {
-				return;
-			}
+            // If the facet frameworks returns null we should just exit here
+            if (fProject == null) {
+                return;
+            }
 
-			org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime = fProject.getPrimaryRuntime();
-			// If a targeted runtime exists use the configured runtime bundle
-			// repository
-			if (runtime != null) {
-				IRuntime[] serverRuntimes = ServerUtil.getRuntimes(FacetCorePlugin.BUNDLE_FACET_ID, null);
-				for (IRuntime serverRuntime : serverRuntimes) {
-					if (serverRuntime.getName().equals(runtime.getName())) {
-						if (!executeCallback(callback, serverRuntime)) {
-							return;
-						}
-					}
-				}
-			}
-			// If project is targeted to a server use the server to add library
-			// paths
-			else {
-				IServer[] servers = ServerUtil.getServersByModule(ServerUtil.getModule(project), null);
-				// Check if the project is targeted directly to a server
-				if (servers != null && servers.length > 0) {
-					for (IServer server : servers) {
-						if (!executeCallback(callback, server.getRuntime())) {
-							return;
-						}
-					}
-				} else {
-					// Check if the project is part of a par; if so add the par
-					// project target to
-					// the search path
-					for (IProject parProject : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
-						if (FacetUtils.isParProject(parProject)) {
-							Par parDefinition = FacetUtils.getParDefinition(parProject);
-							if (parDefinition != null) {
-								for (Bundle bundle : parDefinition.getBundle()) {
-									if (project.getName().equals(bundle.getSymbolicName())) {
-										execute(parProject, callback);
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-		} catch (CoreException e) {
-		}
-	}
+            org.eclipse.wst.common.project.facet.core.runtime.IRuntime runtime = fProject.getPrimaryRuntime();
+            // If a targeted runtime exists use the configured runtime bundle
+            // repository
+            if (runtime != null) {
+                IRuntime[] serverRuntimes = ServerUtil.getRuntimes(FacetCorePlugin.BUNDLE_FACET_ID, null);
+                for (IRuntime serverRuntime : serverRuntimes) {
+                    if (serverRuntime.getName().equals(runtime.getName())) {
+                        if (!executeCallback(callback, serverRuntime)) {
+                            return;
+                        }
+                    }
+                }
+            }
+            // If project is targeted to a server use the server to add library
+            // paths
+            else {
+                IServer[] servers = ServerUtil.getServersByModule(ServerUtil.getModule(project), null);
+                // Check if the project is targeted directly to a server
+                if (servers != null && servers.length > 0) {
+                    for (IServer server : servers) {
+                        if (!executeCallback(callback, server.getRuntime())) {
+                            return;
+                        }
+                    }
+                } else {
+                    // Check if the project is part of a par; if so add the par
+                    // project target to
+                    // the search path
+                    for (IProject parProject : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
+                        if (FacetUtils.isParProject(parProject)) {
+                            Par parDefinition = FacetUtils.getParDefinition(parProject);
+                            if (parDefinition != null) {
+                                for (Bundle bundle : parDefinition.getBundle()) {
+                                    if (project.getName().equals(bundle.getSymbolicName())) {
+                                        execute(parProject, callback);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        } catch (CoreException e) {
+        }
+    }
 
-	private static boolean executeCallback(ServerRuntimeCallback callback, IRuntime runtime) {
-		VirgoServerRuntime serverRuntime = (VirgoServerRuntime) runtime.loadAdapter(VirgoServerRuntime.class,
-																					new NullProgressMonitor());
-		if (serverRuntime != null) {
-			return callback.doWithRuntime(serverRuntime);
-		}
-		return true;
-	}
+    private static boolean executeCallback(ServerRuntimeCallback callback, IRuntime runtime) {
+        VirgoServerRuntime serverRuntime = (VirgoServerRuntime) runtime.loadAdapter(VirgoServerRuntime.class, new NullProgressMonitor());
+        if (serverRuntime != null) {
+            return callback.doWithRuntime(serverRuntime);
+        }
+        return true;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerSourcePathComputerDelegate.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerSourcePathComputerDelegate.java
index 56a380a..f1940a3 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerSourcePathComputerDelegate.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerSourcePathComputerDelegate.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import java.util.ArrayList;
@@ -30,48 +31,44 @@
 import org.eclipse.wst.server.core.ServerUtil;
 
 /**
- * {@link ISourcePathComputerDelegate} that sets up the source folder of the dm
- * server runtime server.
- * 
+ * {@link ISourcePathComputerDelegate} that sets up the source folder of the dm server runtime server.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ServerSourcePathComputerDelegate implements ISourcePathComputerDelegate {
 
-	public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor)
-			throws CoreException {
+    public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException {
 
-		List<IRuntimeClasspathEntry> runtimeClasspath = new ArrayList<IRuntimeClasspathEntry>();
-		IServer server = ServerUtil.getServer(configuration);
+        List<IRuntimeClasspathEntry> runtimeClasspath = new ArrayList<IRuntimeClasspathEntry>();
+        IServer server = ServerUtil.getServer(configuration);
 
-		IModule[] modules = server.getModules();
-		for (IModule module : modules) {
-			if (module.getModuleType().getId().equals(FacetCorePlugin.BUNDLE_FACET_ID)) {
-				addRuntimeClasspathForJavaProject(runtimeClasspath, module);
-			} else if (module.getModuleType().getId().equals(FacetCorePlugin.PAR_FACET_ID)) {
-				ServerModuleDelegate moduleDelegate = (ServerModuleDelegate) module
-						.loadAdapter(ServerModuleDelegate.class, null);
-				if (moduleDelegate != null) {
-					IModule[] children = moduleDelegate.getChildModules();
-					for (IModule child : children) {
-						addRuntimeClasspathForJavaProject(runtimeClasspath, child);
-					}
-				}
-			} else if (module.getModuleType().getId().equals(FacetCorePlugin.WEB_FACET_ID)) {
-				addRuntimeClasspathForJavaProject(runtimeClasspath, module);
-			}
-		}
+        IModule[] modules = server.getModules();
+        for (IModule module : modules) {
+            if (module.getModuleType().getId().equals(FacetCorePlugin.BUNDLE_FACET_ID)) {
+                addRuntimeClasspathForJavaProject(runtimeClasspath, module);
+            } else if (module.getModuleType().getId().equals(FacetCorePlugin.PAR_FACET_ID)) {
+                ServerModuleDelegate moduleDelegate = (ServerModuleDelegate) module.loadAdapter(ServerModuleDelegate.class, null);
+                if (moduleDelegate != null) {
+                    IModule[] children = moduleDelegate.getChildModules();
+                    for (IModule child : children) {
+                        addRuntimeClasspathForJavaProject(runtimeClasspath, child);
+                    }
+                }
+            } else if (module.getModuleType().getId().equals(FacetCorePlugin.WEB_FACET_ID)) {
+                addRuntimeClasspathForJavaProject(runtimeClasspath, module);
+            }
+        }
 
-		runtimeClasspath.addAll(Arrays.asList(JavaRuntime.computeUnresolvedSourceLookupPath(configuration)));
-		IRuntimeClasspathEntry[] entries = runtimeClasspath
-				.toArray(new IRuntimeClasspathEntry[runtimeClasspath.size()]);
-		IRuntimeClasspathEntry[] resolved = JavaRuntime.resolveSourceLookupPath(entries, configuration);
-		return JavaRuntime.getSourceContainers(resolved);
-	}
+        runtimeClasspath.addAll(Arrays.asList(JavaRuntime.computeUnresolvedSourceLookupPath(configuration)));
+        IRuntimeClasspathEntry[] entries = runtimeClasspath.toArray(new IRuntimeClasspathEntry[runtimeClasspath.size()]);
+        IRuntimeClasspathEntry[] resolved = JavaRuntime.resolveSourceLookupPath(entries, configuration);
+        return JavaRuntime.getSourceContainers(resolved);
+    }
 
-	private void addRuntimeClasspathForJavaProject(List<IRuntimeClasspathEntry> runtimeClasspath, IModule module) {
-		IJavaProject javaProject = JavaCore.create(module.getProject());
-		runtimeClasspath.add(JavaRuntime.newDefaultProjectClasspathEntry(javaProject));
-	}
+    private void addRuntimeClasspathForJavaProject(List<IRuntimeClasspathEntry> runtimeClasspath, IModule module) {
+        IJavaProject javaProject = JavaCore.create(module.getProject());
+        runtimeClasspath.add(JavaRuntime.newDefaultProjectClasspathEntry(javaProject));
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerStatusPingThread.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerStatusPingThread.java
index c7e7b3f..838c17c 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerStatusPingThread.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/ServerStatusPingThread.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import java.io.IOException;
@@ -15,88 +16,87 @@
 import org.eclipse.virgo.ide.runtime.internal.core.utils.StatusUtil;
 
 /**
- * Ping thread the tries to connect to the dm server and listens to the recovery
- * notification.
+ * Ping thread the tries to connect to the dm server and listens to the recovery notification.
  * <p>
- * This is used to test if a server is running after it has been started by the
- * server view.
- * 
+ * This is used to test if a server is running after it has been started by the server view.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ServerStatusPingThread {
 
-	/** Delay after which the thread should start pinging */
-	private static final int PING_DELAY = 3000;
+    /** Delay after which the thread should start pinging */
+    private static final int PING_DELAY = 3000;
 
-	/** Interval in which the thread to ping the server */
-	private static final int PING_INTERVAL = 1000;
+    /** Interval in which the thread to ping the server */
+    private static final int PING_INTERVAL = 1000;
 
-	/** Indicate that the thread should stop pinging */
-	private boolean stop = false;
+    /** Indicate that the thread should stop pinging */
+    private boolean stop = false;
 
-	/** Reference to the server the user has started on the UI */
-	private final ServerBehaviour behaviour;
+    /** Reference to the server the user has started on the UI */
+    private final ServerBehaviour behaviour;
 
-	/**
-	 * Creates a new {@link ServerStatusPingThread}
-	 */
-	protected ServerStatusPingThread(ServerBehaviour behaviour) {
-		this.behaviour = behaviour;
-		Thread t = new Thread("SpringSource dm Server Ping Thread") {
-			@Override
-			public void run() {
-				ping();
-			}
-		};
-		t.setDaemon(true);
-		t.start();
-	}
+    /**
+     * Creates a new {@link ServerStatusPingThread}
+     */
+    protected ServerStatusPingThread(ServerBehaviour behaviour) {
+        this.behaviour = behaviour;
+        Thread t = new Thread("SpringSource dm Server Ping Thread") {
 
-	protected void ping() {
-		try {
-			Thread.sleep(PING_DELAY);
-		} catch (Exception e) {
-			// ignore
-		}
-		while (!stop) {
-			try {
+            @Override
+            public void run() {
+                ping();
+            }
+        };
+        t.setDaemon(true);
+        t.start();
+    }
 
-				Boolean value = behaviour.getServerDeployer().ping();
-				if (!stop && value != null && value.booleanValue()) {
-					// ping worked - server is up
-					stop = true;
-					behaviour.setServerStarted();
-				} else {
-					sleep();
-				}
-			} catch (IOException se) {
-				sleep();
-			} catch (Exception e) {
-				StatusUtil.error("Server startup ping failed", e);
-				// pinging failed
-				if (!stop) {
-					sleep();
-				}
-			}
-		}
-	}
+    protected void ping() {
+        try {
+            Thread.sleep(PING_DELAY);
+        } catch (Exception e) {
+            // ignore
+        }
+        while (!this.stop) {
+            try {
 
-	/**
-	 * Sends this thread to sleep for the configured timeout
-	 */
-	private void sleep() {
-		try {
-			Thread.sleep(PING_INTERVAL);
-		} catch (InterruptedException e) {
-		}
-	}
+                Boolean value = this.behaviour.getServerDeployer().ping();
+                if (!this.stop && value != null && value.booleanValue()) {
+                    // ping worked - server is up
+                    this.stop = true;
+                    this.behaviour.setServerStarted();
+                } else {
+                    sleep();
+                }
+            } catch (IOException se) {
+                sleep();
+            } catch (Exception e) {
+                StatusUtil.error("Server startup ping failed", e);
+                // pinging failed
+                if (!this.stop) {
+                    sleep();
+                }
+            }
+        }
+    }
 
-	/**
-	 * Stops this thread from pinging the dm Server instance
-	 */
-	public void stop() {
-		stop = true;
-	}
+    /**
+     * Sends this thread to sleep for the configured timeout
+     */
+    private void sleep() {
+        try {
+            Thread.sleep(PING_INTERVAL);
+        } catch (InterruptedException e) {
+        }
+    }
+
+    /**
+     * Stops this thread from pinging the dm Server instance
+     */
+    public void stop() {
+        this.stop = true;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/VirgoServer.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/VirgoServer.java
index c504b16..fd6afb2 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/VirgoServer.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/VirgoServer.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import org.eclipse.virgo.ide.runtime.core.IServer;
@@ -15,24 +16,25 @@
 
 /**
  * Default Virgo server implementation.
- * 
+ *
  * @author Terry Hon
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class VirgoServer extends Server implements IServer, IServerWorkingCopy {
 
-	public VirgoServerRuntime getRuntime() {
-		if (getServer().getRuntime() == null) {
-			return null;
-		}
+    @Override
+    public VirgoServerRuntime getRuntime() {
+        if (getServer().getRuntime() == null) {
+            return null;
+        }
 
-		return (VirgoServerRuntime) getServer().getRuntime().loadAdapter(VirgoServerRuntime.class, null);
-	}
+        return (VirgoServerRuntime) getServer().getRuntime().loadAdapter(VirgoServerRuntime.class, null);
+    }
 
-	@Override
-	protected String getServerName() {
-		return "Virgo Server";
-	}
+    @Override
+    protected String getServerName() {
+        return "Virgo Server";
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/VirgoServerBehaviour.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/VirgoServerBehaviour.java
index 5f7d732..051cd7d 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/VirgoServerBehaviour.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/VirgoServerBehaviour.java
@@ -8,22 +8,23 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import org.eclipse.virgo.ide.runtime.core.IServerBehaviour;
 
 /**
  * Default Virgo server behavior.
- * 
+ *
  * @author Terry Hon
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class VirgoServerBehaviour extends ServerBehaviour implements IServerBehaviour {
 
-	@Override
-	public String toString() {
-		return "Virgo Server";
-	}
+    @Override
+    public String toString() {
+        return "Virgo Server";
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/VirgoServerRuntime.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/VirgoServerRuntime.java
index 6774c1b..593fe06 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/VirgoServerRuntime.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/VirgoServerRuntime.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core;
 
 import java.util.List;
@@ -28,116 +29,116 @@
 
 /**
  * Virgo server runtime implementation. Delegates to handlers.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class VirgoServerRuntime extends RuntimeDelegate implements IServerRuntime, IServerRuntimeWorkingCopy {
 
-	public List<IRuntimeClasspathEntry> getRuntimeClasspath() {
-		return getVirgoVersion().getRuntimeClasspath(getRuntime().getLocation());
-	}
+    public List<IRuntimeClasspathEntry> getRuntimeClasspath() {
+        return getVirgoVersion().getRuntimeClasspath(getRuntime().getLocation());
+    }
 
-	public String getRuntimeClass() {
-		return getVirgoVersion().getRuntimeClass();
-	}
+    public String getRuntimeClass() {
+        return getVirgoVersion().getRuntimeClass();
+    }
 
-	public IVMInstall getVMInstall() {
-		if (getVMInstallTypeId() == null) {
-			return JavaRuntime.getDefaultVMInstall();
-		}
-		try {
-			IVMInstall[] vmInstalls = JavaRuntime.getVMInstallType(getVMInstallTypeId()).getVMInstalls();
-			String id = getVMInstallId();
-			for (IVMInstall vmInstall : vmInstalls) {
-				if (id.equals(vmInstall.getId())) {
-					return vmInstall;
-				}
-			}
-		} catch (Exception e) {
-		}
-		return null;
-	}
+    public IVMInstall getVMInstall() {
+        if (getVMInstallTypeId() == null) {
+            return JavaRuntime.getDefaultVMInstall();
+        }
+        try {
+            IVMInstall[] vmInstalls = JavaRuntime.getVMInstallType(getVMInstallTypeId()).getVMInstalls();
+            String id = getVMInstallId();
+            for (IVMInstall vmInstall : vmInstalls) {
+                if (id.equals(vmInstall.getId())) {
+                    return vmInstall;
+                }
+            }
+        } catch (Exception e) {
+        }
+        return null;
+    }
 
-	public boolean isUsingDefaultJRE() {
-		return getVMInstallTypeId() == null;
-	}
+    public boolean isUsingDefaultJRE() {
+        return getVMInstallTypeId() == null;
+    }
 
-	@Override
-	public void setDefaults(IProgressMonitor monitor) {
-		IRuntimeType type = getRuntimeWorkingCopy().getRuntimeType();
-		getRuntimeWorkingCopy().setLocation(new Path(ServerCorePlugin.getPreference("location" + type.getId())));
-	}
+    @Override
+    public void setDefaults(IProgressMonitor monitor) {
+        IRuntimeType type = getRuntimeWorkingCopy().getRuntimeType();
+        getRuntimeWorkingCopy().setLocation(new Path(ServerCorePlugin.getPreference("location" + type.getId())));
+    }
 
-	public void setVMInstall(IVMInstall vmInstall) {
-		if (vmInstall == null) {
-			setVMInstall(null, null);
-		} else {
-			setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
-		}
-	}
+    public void setVMInstall(IVMInstall vmInstall) {
+        if (vmInstall == null) {
+            setVMInstall(null, null);
+        } else {
+            setVMInstall(vmInstall.getVMInstallType().getId(), vmInstall.getId());
+        }
+    }
 
-	@Override
-	public IStatus validate() {
-		IStatus status = super.validate();
-		if (!status.isOK()) {
-			return status;
-		}
+    @Override
+    public IStatus validate() {
+        IStatus status = super.validate();
+        if (!status.isOK()) {
+            return status;
+        }
 
-		return getVirgoVersion().verifyInstallation(getRuntime());
-		// }
+        return getVirgoVersion().verifyInstallation(getRuntime());
+        // }
 
-		// return Status.OK_STATUS;
-	}
+        // return Status.OK_STATUS;
+    }
 
-	protected String getVMInstallId() {
-		return getAttribute(PROPERTY_VM_INSTALL_ID, (String) null);
-	}
+    protected String getVMInstallId() {
+        return getAttribute(PROPERTY_VM_INSTALL_ID, (String) null);
+    }
 
-	protected String getVMInstallTypeId() {
-		return getAttribute(PROPERTY_VM_INSTALL_TYPE_ID, (String) null);
-	}
+    protected String getVMInstallTypeId() {
+        return getAttribute(PROPERTY_VM_INSTALL_TYPE_ID, (String) null);
+    }
 
-	protected void setVMInstall(String typeId, String id) {
-		if (typeId == null) {
-			setAttribute(PROPERTY_VM_INSTALL_TYPE_ID, (String) null);
-		} else {
-			setAttribute(PROPERTY_VM_INSTALL_TYPE_ID, typeId);
-		}
+    protected void setVMInstall(String typeId, String id) {
+        if (typeId == null) {
+            setAttribute(PROPERTY_VM_INSTALL_TYPE_ID, (String) null);
+        } else {
+            setAttribute(PROPERTY_VM_INSTALL_TYPE_ID, typeId);
+        }
 
-		if (id == null) {
-			setAttribute(PROPERTY_VM_INSTALL_ID, (String) null);
-		} else {
-			setAttribute(PROPERTY_VM_INSTALL_ID, id);
-		}
-	}
+        if (id == null) {
+            setAttribute(PROPERTY_VM_INSTALL_ID, (String) null);
+        } else {
+            setAttribute(PROPERTY_VM_INSTALL_ID, id);
+        }
+    }
 
-	public String getUserLevelBundleRepositoryPath() {
-		return getVirgoVersion().getUserLevelBundleRepositoryPath(getRuntime());
-	}
+    public String getUserLevelBundleRepositoryPath() {
+        return getVirgoVersion().getUserLevelBundleRepositoryPath(getRuntime());
+    }
 
-	public String getUserLevelLibraryRepositoryPath() {
-		return getVirgoVersion().getUserLevelLibraryRepositoryPath(getRuntime());
-	}
+    public String getUserLevelLibraryRepositoryPath() {
+        return getVirgoVersion().getUserLevelLibraryRepositoryPath(getRuntime());
+    }
 
-	public String getProfilePath() {
-		return getVirgoVersion().getProfilePath(getRuntime());
-	}
+    public String getProfilePath() {
+        return getVirgoVersion().getProfilePath(getRuntime());
+    }
 
-	public String getConfigPath() {
-		return getVirgoVersion().getConfigPath(getRuntime());
-	}
+    public String getConfigPath() {
+        return getVirgoVersion().getConfigPath(getRuntime());
+    }
 
-	public IServerRuntimeProvider getVirgoVersion() {
-		return RuntimeProviders.getRuntimeProvider(getRuntime());
-	}
+    public IServerRuntimeProvider getVirgoVersion() {
+        return RuntimeProviders.getRuntimeProvider(getRuntime());
+    }
 
-	// /**
-	// * @see
-	// org.eclipse.virgo.ide.runtime.core.IServerRuntimeWorkingCopy#setVirgoVersion(java.lang.String)
-	// */
-	// public void setVirgoVersion(IServerVersionHandler handler) {
-	// setAttribute(PROPERTY_VIRGO_VERSION_TYPE_ID,
-	// ServerVersionAdapter.getVersionID(handler));
-	// }
+    // /**
+    // * @see
+    // org.eclipse.virgo.ide.runtime.core.IServerRuntimeWorkingCopy#setVirgoVersion(java.lang.String)
+    // */
+    // public void setVirgoVersion(IServerVersionHandler handler) {
+    // setAttribute(PROPERTY_VIRGO_VERSION_TYPE_ID,
+    // ServerVersionAdapter.getVersionID(handler));
+    // }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyArtefactOrderCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyArtefactOrderCommand.java
index ac3a99d..8d6e23a 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyArtefactOrderCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyArtefactOrderCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.actions;
 
 import java.util.List;
@@ -22,41 +23,41 @@
 
 /**
  * {@link AbstractOperation} to modify the artefact deployment order.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.2
  */
 public class ModifyArtefactOrderCommand extends AbstractOperation {
 
-	private IServerWorkingCopy workingCopy;
+    private final IServerWorkingCopy workingCopy;
 
-	private List<String> oldOrder;
+    private final List<String> oldOrder;
 
-	private List<String> newOrder;
+    private final List<String> newOrder;
 
-	public ModifyArtefactOrderCommand(IServerWorkingCopy workingCopy, List<String> newOrder) {
-		super("Modify Artefact deployment order");
-		this.workingCopy = workingCopy;
-		this.oldOrder = workingCopy.getArtefactOrder();
-		this.newOrder = newOrder;
-	}
+    public ModifyArtefactOrderCommand(IServerWorkingCopy workingCopy, List<String> newOrder) {
+        super("Modify Artefact deployment order");
+        this.workingCopy = workingCopy;
+        this.oldOrder = workingCopy.getArtefactOrder();
+        this.newOrder = newOrder;
+    }
 
-	@Override
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setArtefactOrder(newOrder);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setArtefactOrder(this.newOrder);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setArtefactOrder(newOrder);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setArtefactOrder(this.newOrder);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setArtefactOrder(oldOrder);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setArtefactOrder(this.oldOrder);
+        return Status.OK_STATUS;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyCleanStartupCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyCleanStartupCommand.java
index af09b33..6feac29 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyCleanStartupCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyCleanStartupCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.actions;
 
 import org.eclipse.core.commands.ExecutionException;
@@ -20,41 +21,41 @@
 
 /**
  * {@link AbstractOperation} to modify the clean startup setting
- * 
+ *
  * @author Christian Dupuis
  * @since 2.0.0
  */
 public class ModifyCleanStartupCommand extends AbstractOperation {
 
-	private IServerWorkingCopy workingCopy;
+    private final IServerWorkingCopy workingCopy;
 
-	private boolean oldValue;
+    private final boolean oldValue;
 
-	private boolean newValue;
+    private final boolean newValue;
 
-	public ModifyCleanStartupCommand(IServerWorkingCopy workingCopy, boolean newValue) {
-		super("Modify Clean Startup");
-		this.workingCopy = workingCopy;
-		this.oldValue = workingCopy.shouldCleanStartup();
-		this.newValue = newValue;
-	}
+    public ModifyCleanStartupCommand(IServerWorkingCopy workingCopy, boolean newValue) {
+        super("Modify Clean Startup");
+        this.workingCopy = workingCopy;
+        this.oldValue = workingCopy.shouldCleanStartup();
+        this.newValue = newValue;
+    }
 
-	@Override
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.shouldCleanStartup(newValue);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.shouldCleanStartup(this.newValue);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.shouldCleanStartup(newValue);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.shouldCleanStartup(this.newValue);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.shouldCleanStartup(oldValue);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.shouldCleanStartup(this.oldValue);
+        return Status.OK_STATUS;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerPasswordCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerPasswordCommand.java
index fc3d8ac..a92ea6e 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerPasswordCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerPasswordCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.actions;
 
 import org.eclipse.core.commands.ExecutionException;
@@ -20,41 +21,41 @@
 
 /**
  * {@link AbstractOperation} to modify the jmx deployer password.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.1
  */
 public class ModifyDeployerPasswordCommand extends AbstractOperation {
 
-	private IServerWorkingCopy workingCopy;
+    private final IServerWorkingCopy workingCopy;
 
-	private String oldPassword;
+    private final String oldPassword;
 
-	private String newPassword;
+    private final String newPassword;
 
-	public ModifyDeployerPasswordCommand(IServerWorkingCopy workingCopy, String username) {
-		super("Modify JMX server port");
-		this.workingCopy = workingCopy;
-		this.oldPassword = workingCopy.getMBeanServerPassword();
-		this.newPassword = username;
-	}
+    public ModifyDeployerPasswordCommand(IServerWorkingCopy workingCopy, String username) {
+        super("Modify JMX server port");
+        this.workingCopy = workingCopy;
+        this.oldPassword = workingCopy.getMBeanServerPassword();
+        this.newPassword = username;
+    }
 
-	@Override
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setMBeanServerPassword(newPassword);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setMBeanServerPassword(this.newPassword);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setMBeanServerPassword(newPassword);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setMBeanServerPassword(this.newPassword);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setMBeanServerPassword(oldPassword);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setMBeanServerPassword(this.oldPassword);
+        return Status.OK_STATUS;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerPortCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerPortCommand.java
index 297333b..b40daea 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerPortCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerPortCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.actions;
 
 import org.eclipse.core.commands.ExecutionException;
@@ -20,41 +21,41 @@
 
 /**
  * {@link AbstractOperation} to modify the jmx deployer port.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.1
  */
 public class ModifyDeployerPortCommand extends AbstractOperation {
 
-	private IServerWorkingCopy workingCopy;
+    private final IServerWorkingCopy workingCopy;
 
-	private int oldPort;
+    private final int oldPort;
 
-	private int newPort;
+    private final int newPort;
 
-	public ModifyDeployerPortCommand(IServerWorkingCopy workingCopy, int portNumber) {
-		super("Modify JMX server port");
-		this.workingCopy = workingCopy;
-		this.oldPort = workingCopy.getMBeanServerPort();
-		this.newPort = portNumber;
-	}
+    public ModifyDeployerPortCommand(IServerWorkingCopy workingCopy, int portNumber) {
+        super("Modify JMX server port");
+        this.workingCopy = workingCopy;
+        this.oldPort = workingCopy.getMBeanServerPort();
+        this.newPort = portNumber;
+    }
 
-	@Override
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setMBeanServerPort(newPort);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setMBeanServerPort(this.newPort);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setMBeanServerPort(newPort);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setMBeanServerPort(this.newPort);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setMBeanServerPort(oldPort);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setMBeanServerPort(this.oldPort);
+        return Status.OK_STATUS;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerTimeoutCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerTimeoutCommand.java
index e16414f..491fa45 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerTimeoutCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerTimeoutCommand.java
@@ -1,3 +1,4 @@
+
 package org.eclipse.virgo.ide.runtime.internal.core.actions;
 
 import org.eclipse.core.commands.ExecutionException;
@@ -15,35 +16,35 @@
  */
 public class ModifyDeployerTimeoutCommand extends AbstractOperation {
 
-	private final IServerWorkingCopy workingCopy;
+    private final IServerWorkingCopy workingCopy;
 
-	private final int oldTimeout;
+    private final int oldTimeout;
 
-	private final int newTimeout;
+    private final int newTimeout;
 
-	public ModifyDeployerTimeoutCommand(IServerWorkingCopy workingCopy, int timeout) {
-		super("Modify JMX deployer timeout");
-		this.workingCopy = workingCopy;
-		this.oldTimeout = workingCopy.getDeployTimeout();
-		this.newTimeout = timeout;
-	}
+    public ModifyDeployerTimeoutCommand(IServerWorkingCopy workingCopy, int timeout) {
+        super("Modify JMX deployer timeout");
+        this.workingCopy = workingCopy;
+        this.oldTimeout = workingCopy.getDeployTimeout();
+        this.newTimeout = timeout;
+    }
 
-	@Override
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setDeployTimeout(newTimeout);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setDeployTimeout(this.newTimeout);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setDeployTimeout(newTimeout);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setDeployTimeout(this.newTimeout);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setDeployTimeout(oldTimeout);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setDeployTimeout(this.oldTimeout);
+        return Status.OK_STATUS;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerUsernameCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerUsernameCommand.java
index c2e54b0..c4f444c 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerUsernameCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyDeployerUsernameCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.actions;
 
 import org.eclipse.core.commands.ExecutionException;
@@ -20,41 +21,41 @@
 
 /**
  * {@link AbstractOperation} to modify the jmx deployer username.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.1
  */
 public class ModifyDeployerUsernameCommand extends AbstractOperation {
 
-	private IServerWorkingCopy workingCopy;
+    private final IServerWorkingCopy workingCopy;
 
-	private String oldUsername;
+    private final String oldUsername;
 
-	private String newUsername;
+    private final String newUsername;
 
-	public ModifyDeployerUsernameCommand(IServerWorkingCopy workingCopy, String username) {
-		super("Modify JMX server port");
-		this.workingCopy = workingCopy;
-		this.oldUsername = workingCopy.getMBeanServerUsername();
-		this.newUsername = username;
-	}
+    public ModifyDeployerUsernameCommand(IServerWorkingCopy workingCopy, String username) {
+        super("Modify JMX server port");
+        this.workingCopy = workingCopy;
+        this.oldUsername = workingCopy.getMBeanServerUsername();
+        this.newUsername = username;
+    }
 
-	@Override
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setMBeanServerUsername(newUsername);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setMBeanServerUsername(this.newUsername);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setMBeanServerUsername(newUsername);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setMBeanServerUsername(this.newUsername);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setMBeanServerUsername(oldUsername);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setMBeanServerUsername(this.oldUsername);
+        return Status.OK_STATUS;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyMaxPermSizeCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyMaxPermSizeCommand.java
index 019e8c2..fb6a67c 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyMaxPermSizeCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyMaxPermSizeCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     Tasktop Technologies - initial implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.actions;
 
 import org.eclipse.core.commands.ExecutionException;
@@ -23,34 +24,34 @@
  */
 public class ModifyMaxPermSizeCommand extends AbstractOperation {
 
-	private final IServerWorkingCopy workingCopy;
+    private final IServerWorkingCopy workingCopy;
 
-	private final String oldPermSizeValue;
+    private final String oldPermSizeValue;
 
-	private final String newPermSizeValue;
+    private final String newPermSizeValue;
 
-	public ModifyMaxPermSizeCommand(IServerWorkingCopy workingCopy, String maxPermSizeValue) {
-		super("Modify -XX:MaxPermSize value");
-		this.workingCopy = workingCopy;
-		this.oldPermSizeValue = workingCopy.getMaxPermSize();
-		this.newPermSizeValue = maxPermSizeValue;
-	}
+    public ModifyMaxPermSizeCommand(IServerWorkingCopy workingCopy, String maxPermSizeValue) {
+        super("Modify -XX:MaxPermSize value");
+        this.workingCopy = workingCopy;
+        this.oldPermSizeValue = workingCopy.getMaxPermSize();
+        this.newPermSizeValue = maxPermSizeValue;
+    }
 
-	@Override
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setMaxPermSize(newPermSizeValue);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setMaxPermSize(this.newPermSizeValue);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		return execute(monitor, info);
-	}
+    @Override
+    public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        return execute(monitor, info);
+    }
 
-	@Override
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setMaxPermSize(oldPermSizeValue);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setMaxPermSize(this.oldPermSizeValue);
+        return Status.OK_STATUS;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyStaticResourcesCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyStaticResourcesCommand.java
index 696cb17..d53df0d 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyStaticResourcesCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyStaticResourcesCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.actions;
 
 import org.eclipse.core.commands.ExecutionException;
@@ -20,41 +21,41 @@
 
 /**
  * {@link AbstractOperation} to modify the jmx deployer port.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.1.3
  */
 public class ModifyStaticResourcesCommand extends AbstractOperation {
 
-	private IServerWorkingCopy workingCopy;
+    private final IServerWorkingCopy workingCopy;
 
-	private String oldValue;
+    private final String oldValue;
 
-	private String newValue;
+    private final String newValue;
 
-	public ModifyStaticResourcesCommand(IServerWorkingCopy workingCopy, String newValue) {
-		super("Modify static resources");
-		this.workingCopy = workingCopy;
-		this.oldValue = workingCopy.getStaticFilenamePatterns();
-		this.newValue = newValue;
-	}
+    public ModifyStaticResourcesCommand(IServerWorkingCopy workingCopy, String newValue) {
+        super("Modify static resources");
+        this.workingCopy = workingCopy;
+        this.oldValue = workingCopy.getStaticFilenamePatterns();
+        this.newValue = newValue;
+    }
 
-	@Override
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setStaticFilenamePatterns(newValue);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setStaticFilenamePatterns(this.newValue);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setStaticFilenamePatterns(newValue);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setStaticFilenamePatterns(this.newValue);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.setStaticFilenamePatterns(oldValue);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.setStaticFilenamePatterns(this.oldValue);
+        return Status.OK_STATUS;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyTailLogFilesCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyTailLogFilesCommand.java
index c14b90f..d04b36f 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyTailLogFilesCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/actions/ModifyTailLogFilesCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.actions;
 
 import org.eclipse.core.commands.ExecutionException;
@@ -20,41 +21,41 @@
 
 /**
  * {@link AbstractOperation} to modify the tail log file settings.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.1
  */
 public class ModifyTailLogFilesCommand extends AbstractOperation {
 
-	private IServerWorkingCopy workingCopy;
+    private final IServerWorkingCopy workingCopy;
 
-	private boolean oldValue;
+    private final boolean oldValue;
 
-	private boolean newValue;
+    private final boolean newValue;
 
-	public ModifyTailLogFilesCommand(IServerWorkingCopy workingCopy, boolean newValue) {
-		super("Modify Tail Log Files");
-		this.workingCopy = workingCopy;
-		this.oldValue = workingCopy.shouldTailTraceFiles();
-		this.newValue = newValue;
-	}
+    public ModifyTailLogFilesCommand(IServerWorkingCopy workingCopy, boolean newValue) {
+        super("Modify Tail Log Files");
+        this.workingCopy = workingCopy;
+        this.oldValue = workingCopy.shouldTailTraceFiles();
+        this.newValue = newValue;
+    }
 
-	@Override
-	public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.shouldTailTraceFiles(newValue);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.shouldTailTraceFiles(this.newValue);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.shouldTailTraceFiles(newValue);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.shouldTailTraceFiles(this.newValue);
+        return Status.OK_STATUS;
+    }
 
-	@Override
-	public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-		workingCopy.shouldTailTraceFiles(oldValue);
-		return Status.OK_STATUS;
-	}
+    @Override
+    public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+        this.workingCopy.shouldTailTraceFiles(this.oldValue);
+        return Status.OK_STATUS;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/AbstractJmxServerCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/AbstractJmxServerCommand.java
index 51f9960..fe5924a 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/AbstractJmxServerCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/AbstractJmxServerCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.IOException;
@@ -35,72 +36,71 @@
  */
 public abstract class AbstractJmxServerCommand {
 
-	protected interface JmxServerCommandTemplate {
+    protected interface JmxServerCommandTemplate {
 
-		Object invokeOperation(MBeanServerConnection connection) throws Exception;
+        Object invokeOperation(MBeanServerConnection connection) throws Exception;
 
-	}
+    }
 
-	private static final String JMX_CONNECTOR_URL = "service:jmx:rmi:///jndi/rmi://%s:%d/jmxrmi"; //$NON-NLS-1$
+    private static final String JMX_CONNECTOR_URL = "service:jmx:rmi:///jndi/rmi://%s:%d/jmxrmi"; //$NON-NLS-1$
 
-	protected final IServerBehaviour serverBehaviour;
+    protected final IServerBehaviour serverBehaviour;
 
-	public AbstractJmxServerCommand(IServerBehaviour serverBehaviour) {
-		this.serverBehaviour = serverBehaviour;
-	}
+    public AbstractJmxServerCommand(IServerBehaviour serverBehaviour) {
+        this.serverBehaviour = serverBehaviour;
+    }
 
-	private JMXConnector getJmxConnector() throws IOException {
-		Hashtable<String, Object> h = new Hashtable<String, Object>();
-		Server server = ServerUtils.getServer(serverBehaviour);
+    private JMXConnector getJmxConnector() throws IOException {
+        Hashtable<String, Object> h = new Hashtable<String, Object>();
+        Server server = ServerUtils.getServer(this.serverBehaviour);
 
-		if (serverBehaviour.getMBeanServerIp() == null) {
-			throw new IOException("MBean server not open for connection");
-		}
-		String connectorUrl = String.format(JMX_CONNECTOR_URL, serverBehaviour.getMBeanServerIp(),
-											server.getMBeanServerPort());
-		return JMXConnectorFactory.connect(new JMXServiceURL(connectorUrl), h);
-	}
+        if (this.serverBehaviour.getMBeanServerIp() == null) {
+            throw new IOException("MBean server not open for connection");
+        }
+        String connectorUrl = String.format(JMX_CONNECTOR_URL, this.serverBehaviour.getMBeanServerIp(), server.getMBeanServerPort());
+        return JMXConnectorFactory.connect(new JMXServiceURL(connectorUrl), h);
+    }
 
-	protected final Object execute(final JmxServerCommandTemplate template) throws TimeoutException {
+    protected final Object execute(final JmxServerCommandTemplate template) throws TimeoutException {
 
-		Callable<Object> deployOperation = new Callable<Object>() {
+        Callable<Object> deployOperation = new Callable<Object>() {
 
-			public Object call() throws Exception {
-				JMXConnector connector = null;
-				try {
-					connector = getJmxConnector();
-					return template.invokeOperation(connector.getMBeanServerConnection());
-				} finally {
-					if (connector != null) {
-						try {
-							connector.close();
-						} catch (IOException e) {
-							StatusUtil.error(e);
-						}
-					}
-				}
-			}
-		};
+            public Object call() throws Exception {
+                JMXConnector connector = null;
+                try {
+                    connector = getJmxConnector();
+                    return template.invokeOperation(connector.getMBeanServerConnection());
+                } finally {
+                    if (connector != null) {
+                        try {
+                            connector.close();
+                        } catch (IOException e) {
+                            StatusUtil.error(e);
+                        }
+                    }
+                }
+            }
+        };
 
-		FutureTask<Object> task = new FutureTask<Object>(deployOperation);
-		ServerCorePlugin.EXECUTOR.submit(task);
+        FutureTask<Object> task = new FutureTask<Object>(deployOperation);
+        ServerCorePlugin.EXECUTOR.submit(task);
 
-		try {
-			return task.get(getTimeout(), TimeUnit.SECONDS);
-		} catch (InterruptedException e) {
-			// swallow exception here
-		} catch (ExecutionException e) {
-			// swallow exception here
-		}
+        try {
+            return task.get(getTimeout(), TimeUnit.SECONDS);
+        } catch (InterruptedException e) {
+            // swallow exception here
+        } catch (ExecutionException e) {
+            // swallow exception here
+        }
 
-		return null;
-	}
+        return null;
+    }
 
-	/**
-	 * @return the timeout of the operation in seconds
-	 */
-	protected int getTimeout() {
-		return 30;
-	}
+    /**
+     * @return the timeout of the operation in seconds
+     */
+    protected int getTimeout() {
+        return 30;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/AbstractJmxServerDeployerCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/AbstractJmxServerDeployerCommand.java
index 3dc34ed..db90f04 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/AbstractJmxServerDeployerCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/AbstractJmxServerDeployerCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.IOException;
@@ -26,100 +27,98 @@
 
 /**
  * Base implementation that encapsulates the communication with a JMX MBean.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.1
  */
 public abstract class AbstractJmxServerDeployerCommand<T> extends AbstractJmxServerCommand {
 
-	private static final String FILE_SCHEME = "file";
+    private static final String FILE_SCHEME = "file";
 
-	protected final IModule module;
+    protected final IModule module;
 
-	/**
-	 * Creates a new {@link AbstractJmxServerDeployerCommand}.
-	 */
-	public AbstractJmxServerDeployerCommand(IServerBehaviour serverBehaviour, IModule module) {
-		super(serverBehaviour);
-		this.module = module;
-	}
+    /**
+     * Creates a new {@link AbstractJmxServerDeployerCommand}.
+     */
+    public AbstractJmxServerDeployerCommand(IServerBehaviour serverBehaviour, IModule module) {
+        super(serverBehaviour);
+        this.module = module;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public String toString() {
-		StringBuilder builder = new StringBuilder("[");
-		builder.append(getClass().getSimpleName()).append(" -> ").append(getMBeanName()).append(".")
-				.append(getOperationName()).append("(").append(Arrays.deepToString(getOperationArguments()))
-				.append(")").append("]");
-		return builder.toString();
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String toString() {
+        StringBuilder builder = new StringBuilder("[");
+        builder.append(getClass().getSimpleName()).append(" -> ").append(getMBeanName()).append(".").append(getOperationName()).append("(").append(
+            Arrays.deepToString(getOperationArguments())).append(")").append("]");
+        return builder.toString();
+    }
 
-	/**
-	 * Method to be called by sub-classes to execute given command against the
-	 * MBean
-	 */
-	@SuppressWarnings("unchecked")
-	protected final T doExecute() throws IOException, TimeoutException {
+    /**
+     * Method to be called by sub-classes to execute given command against the MBean
+     */
+    @SuppressWarnings("unchecked")
+    protected final T doExecute() throws IOException, TimeoutException {
 
-		JmxServerCommandTemplate template = new JmxServerCommandTemplate() {
+        JmxServerCommandTemplate template = new JmxServerCommandTemplate() {
 
-			public Object invokeOperation(MBeanServerConnection connection) throws Exception {
+            public Object invokeOperation(MBeanServerConnection connection) throws Exception {
 
-				ObjectName name = ObjectName.getInstance(getMBeanName());
+                ObjectName name = ObjectName.getInstance(getMBeanName());
 
-				Object[] operationArguments = getOperationArguments();
+                Object[] operationArguments = getOperationArguments();
 
-				String[] classNames = new String[operationArguments.length];
-				for (int i = 0; i < operationArguments.length; i++) {
-					if (operationArguments[i] instanceof Boolean) {
-						classNames[i] = boolean.class.getName();
-					} else {
-						classNames[i] = operationArguments[i].getClass().getName();
-					}
-				}
+                String[] classNames = new String[operationArguments.length];
+                for (int i = 0; i < operationArguments.length; i++) {
+                    if (operationArguments[i] instanceof Boolean) {
+                        classNames[i] = boolean.class.getName();
+                    } else {
+                        classNames[i] = operationArguments[i].getClass().getName();
+                    }
+                }
 
-				return connection.invoke(name, getOperationName(), operationArguments, classNames);
-			}
-		};
+                return connection.invoke(name, getOperationName(), operationArguments, classNames);
+            }
+        };
 
-		return (T) execute(template);
-	}
+        return (T) execute(template);
+    }
 
-	/**
-	 * Returns the name of the MBean to connect to.
-	 */
-	protected String getMBeanName() {
-		return serverBehaviour.getVersionHandler().getDeployerMBeanName();
-	}
+    /**
+     * Returns the name of the MBean to connect to.
+     */
+    protected String getMBeanName() {
+        return this.serverBehaviour.getVersionHandler().getDeployerMBeanName();
+    }
 
-	/**
-	 * Returns the arguments of the MBean operation.
-	 */
-	protected abstract Object[] getOperationArguments();
+    /**
+     * Returns the arguments of the MBean operation.
+     */
+    protected abstract Object[] getOperationArguments();
 
-	/**
-	 * Returns the name of the MBean operation.
-	 */
-	protected abstract String getOperationName();
+    /**
+     * Returns the name of the MBean operation.
+     */
+    protected abstract String getOperationName();
 
-	/**
-	 * Create a {@link URI} from the given <code>path</code>.
-	 */
-	static final URI getUri(IPath path) {
-		// we can't use path.toFile().toURI() as this will use OS specific paths
-		// and will fail
-		// miserable if you run for VMware
-		try {
-			if (path.toString().startsWith("/")) {
-				return new URI(FILE_SCHEME, path.toString(), null);
-			} else {
-				return new URI(FILE_SCHEME, "/" + path.toString(), null);
-			}
-		} catch (URISyntaxException e) {
-			StatusUtil.error(e);
-		}
-		return null;
-	}
+    /**
+     * Create a {@link URI} from the given <code>path</code>.
+     */
+    static final URI getUri(IPath path) {
+        // we can't use path.toFile().toURI() as this will use OS specific paths
+        // and will fail
+        // miserable if you run for VMware
+        try {
+            if (path.toString().startsWith("/")) {
+                return new URI(FILE_SCHEME, path.toString(), null);
+            } else {
+                return new URI(FILE_SCHEME, "/" + path.toString(), null);
+            }
+        } catch (URISyntaxException e) {
+            StatusUtil.error(e);
+        }
+        return null;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/GenericJmxServerDeployCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/GenericJmxServerDeployCommand.java
index 30bec2f..4e70a6f 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/GenericJmxServerDeployCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/GenericJmxServerDeployCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.IOException;
@@ -22,56 +23,57 @@
 
 /**
  * {@link IServerCommand} to deploy a PAR or bundle.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.1
  */
-public class GenericJmxServerDeployCommand extends AbstractJmxServerDeployerCommand<CompositeData> implements
-		IServerCommand<DeploymentIdentity> {
+public class GenericJmxServerDeployCommand extends AbstractJmxServerDeployerCommand<CompositeData>implements IServerCommand<DeploymentIdentity> {
 
-	private static final String ITEM_SYMBOLIC_NAME = "symbolicName"; //$NON-NLS-1$
+    private static final String ITEM_SYMBOLIC_NAME = "symbolicName"; //$NON-NLS-1$
 
-	private static final String ITEM_VERSION = "version"; //$NON-NLS-1$
+    private static final String ITEM_VERSION = "version"; //$NON-NLS-1$
 
-	private final URI uri;
+    private final URI uri;
 
-	/**
-	 * Creates a new {@link GenericJmxServerDeployCommand}.
-	 */
-	public GenericJmxServerDeployCommand(IServerBehaviour serverBehaviour, URI uri) {
-		super(serverBehaviour, null);
-		this.uri = uri;
-	}
+    /**
+     * Creates a new {@link GenericJmxServerDeployCommand}.
+     */
+    public GenericJmxServerDeployCommand(IServerBehaviour serverBehaviour, URI uri) {
+        super(serverBehaviour, null);
+        this.uri = uri;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public DeploymentIdentity execute() throws IOException, TimeoutException {
+    /**
+     * {@inheritDoc}
+     */
+    public DeploymentIdentity execute() throws IOException, TimeoutException {
 
-		CompositeData returnValue = doExecute();
-		if (returnValue != null) {
-			String symbolicName = (String) returnValue.get(ITEM_SYMBOLIC_NAME);
-			String version = (String) returnValue.get(ITEM_VERSION);
-			Map<String, DeploymentIdentity> identities = serverBehaviour.getDeploymentIdentities();
-			DeploymentIdentity identity = new DeploymentIdentity(symbolicName, version);
-			identities.put(uri.toString(), identity);
-			return identity;
-		}
-		return null;
-	}
+        CompositeData returnValue = doExecute();
+        if (returnValue != null) {
+            String symbolicName = (String) returnValue.get(ITEM_SYMBOLIC_NAME);
+            String version = (String) returnValue.get(ITEM_VERSION);
+            Map<String, DeploymentIdentity> identities = this.serverBehaviour.getDeploymentIdentities();
+            DeploymentIdentity identity = new DeploymentIdentity(symbolicName, version);
+            identities.put(this.uri.toString(), identity);
+            return identity;
+        }
+        return null;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	protected Object[] getOperationArguments() {
-		return new Object[] { uri.toString(), false };
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected Object[] getOperationArguments() {
+        return new Object[] { this.uri.toString(), false };
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	protected String getOperationName() {
-		return "deploy";
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected String getOperationName() {
+        return "deploy";
+    }
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/IServerCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/IServerCommand.java
index 98ea324..af97e93 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/IServerCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/IServerCommand.java
@@ -8,29 +8,29 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.IOException;
 import java.util.concurrent.TimeoutException;
 
 /**
- * Represents a state-full server command to control remote SpringSource dm
- * Server instances.
+ * Represents a state-full server command to control remote SpringSource dm Server instances.
  * <p>
  * Each server command should only be executed once.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.1
  */
 public interface IServerCommand<T> {
 
-	/**
-	 * Execute this server command.
-	 * 
-	 * @return returns the generified return value of the command
-	 * @throws IOException
-	 * @throws TimeoutException
-	 */
-	T execute() throws IOException, TimeoutException;
+    /**
+     * Execute this server command.
+     *
+     * @return returns the generified return value of the command
+     * @throws IOException
+     * @throws TimeoutException
+     */
+    T execute() throws IOException, TimeoutException;
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxBundleAdminExecuteCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxBundleAdminExecuteCommand.java
index 61ec06e..ce7e889 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxBundleAdminExecuteCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxBundleAdminExecuteCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.IOException;
@@ -25,39 +26,39 @@
  */
 public class JmxBundleAdminExecuteCommand extends AbstractJmxServerCommand implements IServerCommand<String> {
 
-	private final String cmdLine;
+    private final String cmdLine;
 
-	public JmxBundleAdminExecuteCommand(IServerBehaviour serverBehaviour, String cmdLine) {
-		super(serverBehaviour);
-		this.cmdLine = cmdLine;
-	}
+    public JmxBundleAdminExecuteCommand(IServerBehaviour serverBehaviour, String cmdLine) {
+        super(serverBehaviour);
+        this.cmdLine = cmdLine;
+    }
 
-	public String execute() throws IOException, TimeoutException {
+    public String execute() throws IOException, TimeoutException {
 
-		return (String) execute(new JmxServerCommandTemplate() {
+        return (String) execute(new JmxServerCommandTemplate() {
 
-			public Object invokeOperation(MBeanServerConnection connection) throws Exception {
-				ObjectName name = ObjectName.getInstance("org.eclipse.virgo.kernel:type=BundleAdmin");
+            public Object invokeOperation(MBeanServerConnection connection) throws Exception {
+                ObjectName name = ObjectName.getInstance("org.eclipse.virgo.kernel:type=BundleAdmin");
 
-				// Verify that the BundleAdmin exists and runs
-				checkBundleAdminAndInstall(serverBehaviour, connection, name);
+                // Verify that the BundleAdmin exists and runs
+                checkBundleAdminAndInstall(JmxBundleAdminExecuteCommand.this.serverBehaviour, connection, name);
 
-				return connection.invoke(name, "execute", new Object[] { cmdLine },
-						new String[] { String.class.getName() });
-			}
+                return connection.invoke(name, "execute", new Object[] { JmxBundleAdminExecuteCommand.this.cmdLine },
+                    new String[] { String.class.getName() });
+            }
 
-		});
-	}
+        });
+    }
 
-	private static void checkBundleAdminAndInstall(IServerBehaviour behaviour, MBeanServerConnection connection,
-			ObjectName name) throws IOException, TimeoutException, URISyntaxException {
-		try {
-			// Check if BundleAdmin MBean is registered
-			connection.getObjectInstance(name);
-		} catch (InstanceNotFoundException e) {
-			// Install the BundleAdmin bundle
-			behaviour.getVersionHandler().getServerDeployCommand(behaviour).execute();
-		}
-	}
+    private static void checkBundleAdminAndInstall(IServerBehaviour behaviour, MBeanServerConnection connection, ObjectName name)
+        throws IOException, TimeoutException, URISyntaxException {
+        try {
+            // Check if BundleAdmin MBean is registered
+            connection.getObjectInstance(name);
+        } catch (InstanceNotFoundException e) {
+            // Install the BundleAdmin bundle
+            behaviour.getVersionHandler().getServerDeployCommand(behaviour).execute();
+        }
+    }
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxBundleAdminServerCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxBundleAdminServerCommand.java
index 2e9a926..0f38356 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxBundleAdminServerCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxBundleAdminServerCommand.java
@@ -9,6 +9,7 @@
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *     SAP AG - moving to Eclipse Libra project and enhancements
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.IOException;
@@ -29,36 +30,36 @@
  */
 public class JmxBundleAdminServerCommand extends AbstractJmxServerCommand implements IServerCommand<Map<Long, IBundle>> {
 
-	public JmxBundleAdminServerCommand(IServerBehaviour serverBehaviour) {
-		super(serverBehaviour);
-	}
+    public JmxBundleAdminServerCommand(IServerBehaviour serverBehaviour) {
+        super(serverBehaviour);
+    }
 
-	@SuppressWarnings("unchecked")
-	public Map<Long, IBundle> execute() throws IOException, TimeoutException {
+    @SuppressWarnings("unchecked")
+    public Map<Long, IBundle> execute() throws IOException, TimeoutException {
 
-		return (Map<Long, IBundle>) execute(new JmxServerCommandTemplate() {
+        return (Map<Long, IBundle>) execute(new JmxServerCommandTemplate() {
 
-			public Object invokeOperation(MBeanServerConnection connection) throws Exception {
-				ObjectName name = ObjectName.getInstance("org.eclipse.virgo.kernel:type=BundleAdmin");
+            public Object invokeOperation(MBeanServerConnection connection) throws Exception {
+                ObjectName name = ObjectName.getInstance("org.eclipse.virgo.kernel:type=BundleAdmin");
 
-				// Verify that the BundleAdmin exists and runs
-				checkBundleAdminAndInstall(serverBehaviour, connection, name);
+                // Verify that the BundleAdmin exists and runs
+                checkBundleAdminAndInstall(JmxBundleAdminServerCommand.this.serverBehaviour, connection, name);
 
-				return connection.invoke(name, "retrieveBundles", null, null);
-			}
+                return connection.invoke(name, "retrieveBundles", null, null);
+            }
 
-		});
-	}
+        });
+    }
 
-	private static void checkBundleAdminAndInstall(IServerBehaviour behaviour, MBeanServerConnection connection,
-			ObjectName name) throws IOException, TimeoutException, URISyntaxException {
-		try {
-			// Check if BundleAdmin MBean is registered
-			connection.getObjectInstance(name);
-		} catch (InstanceNotFoundException e) {
-			// Install the BundleAdmin bundle
-			behaviour.getVersionHandler().getServerDeployCommand(behaviour).execute();
-		}
-	}
+    private static void checkBundleAdminAndInstall(IServerBehaviour behaviour, MBeanServerConnection connection, ObjectName name)
+        throws IOException, TimeoutException, URISyntaxException {
+        try {
+            // Check if BundleAdmin MBean is registered
+            connection.getObjectInstance(name);
+        } catch (InstanceNotFoundException e) {
+            // Install the BundleAdmin bundle
+            behaviour.getVersionHandler().getServerDeployCommand(behaviour).execute();
+        }
+    }
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerCheckBundleDeployedCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerCheckBundleDeployedCommand.java
index a28dc54..4ca568c 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerCheckBundleDeployedCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerCheckBundleDeployedCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     GianMaria Romanato - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.IOException;
@@ -39,128 +40,125 @@
  * @author GianMaria Romanato
  * @since 1.0.2
  */
-class JmxServerCheckBundleDeployedCommand extends AbstractJmxServerCommand
-		implements IServerCommand<DeploymentIdentity> {
+class JmxServerCheckBundleDeployedCommand extends AbstractJmxServerCommand implements IServerCommand<DeploymentIdentity> {
 
-	private static final String META_INF_MANIFEST_MF = "META-INF/MANIFEST.MF"; //$NON-NLS-1$
+    private static final String META_INF_MANIFEST_MF = "META-INF/MANIFEST.MF"; //$NON-NLS-1$
 
-	private static final String VERSION_ATTRIBUTE = "Version"; //$NON-NLS-1$
+    private static final String VERSION_ATTRIBUTE = "Version"; //$NON-NLS-1$
 
-	private static final String STATE_ATTRIBUTE = "State"; //$NON-NLS-1$
+    private static final String STATE_ATTRIBUTE = "State"; //$NON-NLS-1$
 
-	private static final String STATE_ATTRIBUTE_ACTIVE = "ACTIVE"; //$NON-NLS-1$
+    private static final String STATE_ATTRIBUTE_ACTIVE = "ACTIVE"; //$NON-NLS-1$
 
-	private static final String START_OPERATION = "start"; //$NON-NLS-1$
+    private static final String START_OPERATION = "start"; //$NON-NLS-1$
 
-	private static final String[] START_OPERATION_SIGNATURE = new String[0];
+    private static final String[] START_OPERATION_SIGNATURE = new String[0];
 
-	private static final Object[] START_OPERATION_PARAMETERS = new Object[0];
+    private static final Object[] START_OPERATION_PARAMETERS = new Object[0];
 
-	private static final String OBJECT_NAME = "org.eclipse.virgo.kernel:type=ArtifactModel,artifact-type=bundle,version=*,region=org.eclipse.virgo.region.user,name="; //$NON-NLS-1$
+    private static final String OBJECT_NAME = "org.eclipse.virgo.kernel:type=ArtifactModel,artifact-type=bundle,version=*,region=org.eclipse.virgo.region.user,name="; //$NON-NLS-1$
 
-	private final IModule module;
+    private final IModule module;
 
-	/**
-	 * Creates a new {@link JmxServerCheckBundleDeployedCommand}.
-	 */
-	JmxServerCheckBundleDeployedCommand(IServerBehaviour serverBehaviour, IModule module) {
-		super(serverBehaviour);
-		this.module = module;
-	}
+    /**
+     * Creates a new {@link JmxServerCheckBundleDeployedCommand}.
+     */
+    JmxServerCheckBundleDeployedCommand(IServerBehaviour serverBehaviour, IModule module) {
+        super(serverBehaviour);
+        this.module = module;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public DeploymentIdentity execute() throws IOException, TimeoutException {
-		// if and only if the artifact is a module
-		if (isBundle()) {
-			// and we could determine its version number
-			// enquiry the artifact repository for a MBean named after the bundle
-			JmxServerCommandTemplate tpl = new JmxServerCommandTemplate() {
-				public Object invokeOperation(MBeanServerConnection connection) throws Exception {
-					return checkIfBundleAlreadyDeployed(connection);
-				}
-			};
-			// and return true if it was found
-			return (DeploymentIdentity) execute(tpl);
-		}
+    /**
+     * {@inheritDoc}
+     */
+    public DeploymentIdentity execute() throws IOException, TimeoutException {
+        // if and only if the artifact is a module
+        if (isBundle()) {
+            // and we could determine its version number
+            // enquiry the artifact repository for a MBean named after the bundle
+            JmxServerCommandTemplate tpl = new JmxServerCommandTemplate() {
 
-		// if not a bundle (plan) or the manifest could not be parsed
-		// return null, the IDE tool will then assume the bundle was not already
-		// deployed and this will make it behave the same way it did before
-		return null;
-	}
+                public Object invokeOperation(MBeanServerConnection connection) throws Exception {
+                    return checkIfBundleAlreadyDeployed(connection);
+                }
+            };
+            // and return true if it was found
+            return (DeploymentIdentity) execute(tpl);
+        }
 
-	protected DeploymentIdentity checkIfBundleAlreadyDeployed(MBeanServerConnection connection)
-			throws MalformedObjectNameException {
-		ObjectName name = javax.management.ObjectName.getInstance(OBJECT_NAME + module.getName());
-		Set<ObjectName> candidates;
-		try {
-			candidates = connection.queryNames(name, null);
-		} catch (Exception e1) {
-			// silently ignore, this is a best effort tentative
-			return null;
-		}
+        // if not a bundle (plan) or the manifest could not be parsed
+        // return null, the IDE tool will then assume the bundle was not already
+        // deployed and this will make it behave the same way it did before
+        return null;
+    }
 
-		if (!candidates.isEmpty()) {
-			final String localVersion = discoverBundleVersion();
-			for (ObjectName objectName : candidates) {
-				try {
-					AttributeList attributes = connection.getAttributes(objectName,
-							new String[] { VERSION_ATTRIBUTE, STATE_ATTRIBUTE });
-					Attribute version = (Attribute) attributes.get(0);
-					Attribute state = (Attribute) attributes.get(1);
+    protected DeploymentIdentity checkIfBundleAlreadyDeployed(MBeanServerConnection connection) throws MalformedObjectNameException {
+        ObjectName name = javax.management.ObjectName.getInstance(OBJECT_NAME + this.module.getName());
+        Set<ObjectName> candidates;
+        try {
+            candidates = connection.queryNames(name, null);
+        } catch (Exception e1) {
+            // silently ignore, this is a best effort tentative
+            return null;
+        }
 
-					if (localVersion.equals(version.getValue())) {
+        if (!candidates.isEmpty()) {
+            final String localVersion = discoverBundleVersion();
+            for (ObjectName objectName : candidates) {
+                try {
+                    AttributeList attributes = connection.getAttributes(objectName, new String[] { VERSION_ATTRIBUTE, STATE_ATTRIBUTE });
+                    Attribute version = (Attribute) attributes.get(0);
+                    Attribute state = (Attribute) attributes.get(1);
 
-						if (!STATE_ATTRIBUTE_ACTIVE.equals(state.getValue())) {
-							// if bundle is not active, activate it, because this
-							// is the expected behaviour for a bundle that is added
-							// to a Virgo server instance in Eclipse
-							connection.invoke(objectName, START_OPERATION, START_OPERATION_PARAMETERS,
-									START_OPERATION_SIGNATURE);
-						}
-						return new DeploymentIdentity(module.getName(), localVersion);
-					}
-				} catch (Exception e) {
-					// silently ignore, this is a best effort tentative
-				}
-			}
-		}
-		return null;
-	}
+                    if (localVersion.equals(version.getValue())) {
 
-	/**
-	 * Parse the bundle manifest to extract the version information. Note that the manifest is taken from the deployment
-	 * folder (stage) as opposed to the {@link IProject} because the {@link IProject} may contain changes not yet
-	 * published.
-	 *
-	 * @return the version as a string or <code>null</code> if the manifest could not be found or could not be parsed
-	 */
-	protected String discoverBundleVersion() {
-		InputStream is = null;
-		Map<String, String> manifest = Collections.<String, String> emptyMap();
-		try {
-			URI manifestURI = AbstractJmxServerDeployerCommand
-					.getUri(serverBehaviour.getModuleDeployUri(module).append(META_INF_MANIFEST_MF));
-			is = manifestURI.toURL().openStream();
-			manifest = ManifestElement.parseBundleManifest(is, null);
-		} catch (Exception e) {
-			return null;
-		} finally {
-			if (is != null) {
-				try {
-					is.close();
-				} catch (IOException e) {
-				}
-			}
-		}
+                        if (!STATE_ATTRIBUTE_ACTIVE.equals(state.getValue())) {
+                            // if bundle is not active, activate it, because this
+                            // is the expected behaviour for a bundle that is added
+                            // to a Virgo server instance in Eclipse
+                            connection.invoke(objectName, START_OPERATION, START_OPERATION_PARAMETERS, START_OPERATION_SIGNATURE);
+                        }
+                        return new DeploymentIdentity(this.module.getName(), localVersion);
+                    }
+                } catch (Exception e) {
+                    // silently ignore, this is a best effort tentative
+                }
+            }
+        }
+        return null;
+    }
 
-		return manifest.get(Constants.BUNDLE_VERSION);
-	}
+    /**
+     * Parse the bundle manifest to extract the version information. Note that the manifest is taken from the deployment
+     * folder (stage) as opposed to the {@link IProject} because the {@link IProject} may contain changes not yet
+     * published.
+     *
+     * @return the version as a string or <code>null</code> if the manifest could not be found or could not be parsed
+     */
+    protected String discoverBundleVersion() {
+        InputStream is = null;
+        Map<String, String> manifest = Collections.<String, String> emptyMap();
+        try {
+            URI manifestURI = AbstractJmxServerDeployerCommand.getUri(
+                this.serverBehaviour.getModuleDeployUri(this.module).append(META_INF_MANIFEST_MF));
+            is = manifestURI.toURL().openStream();
+            manifest = ManifestElement.parseBundleManifest(is, null);
+        } catch (Exception e) {
+            return null;
+        } finally {
+            if (is != null) {
+                try {
+                    is.close();
+                } catch (IOException e) {
+                }
+            }
+        }
 
-	protected boolean isBundle() {
-		return module.getModuleType().getId().equals(FacetCorePlugin.BUNDLE_FACET_ID);
-	}
+        return manifest.get(Constants.BUNDLE_VERSION);
+    }
+
+    protected boolean isBundle() {
+        return this.module.getModuleType().getId().equals(FacetCorePlugin.BUNDLE_FACET_ID);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerDeployCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerDeployCommand.java
index 5fd3002..48437fe 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerDeployCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerDeployCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.IOException;
@@ -30,88 +31,85 @@
  * @author Christian Dupuis
  * @since 1.0.1
  */
-public class JmxServerDeployCommand extends AbstractJmxServerDeployerCommand<CompositeData>
-		implements IServerCommand<DeploymentIdentity> {
+public class JmxServerDeployCommand extends AbstractJmxServerDeployerCommand<CompositeData>implements IServerCommand<DeploymentIdentity> {
 
-	private static final String ITEM_SYMBOLIC_NAME = "symbolicName"; //$NON-NLS-1$
+    private static final String ITEM_SYMBOLIC_NAME = "symbolicName"; //$NON-NLS-1$
 
-	private static final String ITEM_VERSION = "version"; //$NON-NLS-1$
+    private static final String ITEM_VERSION = "version"; //$NON-NLS-1$
 
-	private final boolean checkBundleDeployed;
+    private final boolean checkBundleDeployed;
 
-	/**
-	 * Creates a new {@link JmxServerDeployCommand}.
-	 */
-	public JmxServerDeployCommand(IServerBehaviour serverBehaviour, IModule module) {
-		this(serverBehaviour, module, false);
-	}
+    /**
+     * Creates a new {@link JmxServerDeployCommand}.
+     */
+    public JmxServerDeployCommand(IServerBehaviour serverBehaviour, IModule module) {
+        this(serverBehaviour, module, false);
+    }
 
-	/**
-	 * Creates a new {@link JmxServerDeployCommand} that checks whether the bundle to be deployed is actually already
-	 * deployed.
-	 *
-	 * @param checkBundleDeployed
-	 *            <code>true</code> to check before deploying, <code>false</code> otherwise
-	 */
-	public JmxServerDeployCommand(IServerBehaviour serverBehaviour, IModule module, boolean checkBundleDeployed) {
-		super(serverBehaviour, module);
-		this.checkBundleDeployed = checkBundleDeployed;
-	}
+    /**
+     * Creates a new {@link JmxServerDeployCommand} that checks whether the bundle to be deployed is actually already
+     * deployed.
+     *
+     * @param checkBundleDeployed <code>true</code> to check before deploying, <code>false</code> otherwise
+     */
+    public JmxServerDeployCommand(IServerBehaviour serverBehaviour, IModule module, boolean checkBundleDeployed) {
+        super(serverBehaviour, module);
+        this.checkBundleDeployed = checkBundleDeployed;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public DeploymentIdentity execute() throws IOException, TimeoutException {
-		Map<String, DeploymentIdentity> identities = serverBehaviour.getDeploymentIdentities();
+    /**
+     * {@inheritDoc}
+     */
+    public DeploymentIdentity execute() throws IOException, TimeoutException {
+        Map<String, DeploymentIdentity> identities = this.serverBehaviour.getDeploymentIdentities();
 
-		if (checkBundleDeployed) {
-			DeploymentIdentity alreadyDeployed = new JmxServerCheckBundleDeployedCommand(serverBehaviour, module)
-					.execute();
-			if (alreadyDeployed != null) {
-				identities.put(module.getId(), alreadyDeployed);
-				return alreadyDeployed;
-			}
-		}
+        if (this.checkBundleDeployed) {
+            DeploymentIdentity alreadyDeployed = new JmxServerCheckBundleDeployedCommand(this.serverBehaviour, this.module).execute();
+            if (alreadyDeployed != null) {
+                identities.put(this.module.getId(), alreadyDeployed);
+                return alreadyDeployed;
+            }
+        }
 
-		CompositeData returnValue = doExecute();
-		if (returnValue != null) {
-			String symbolicName = (String) returnValue.get(ITEM_SYMBOLIC_NAME);
-			String version = (String) returnValue.get(ITEM_VERSION);
-			DeploymentIdentity identity = new DeploymentIdentity(symbolicName, version);
-			identities.put(module.getId(), identity);
-			return identity;
-		}
-		return null;
-	}
+        CompositeData returnValue = doExecute();
+        if (returnValue != null) {
+            String symbolicName = (String) returnValue.get(ITEM_SYMBOLIC_NAME);
+            String version = (String) returnValue.get(ITEM_VERSION);
+            DeploymentIdentity identity = new DeploymentIdentity(symbolicName, version);
+            identities.put(this.module.getId(), identity);
+            return identity;
+        }
+        return null;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	protected Object[] getOperationArguments() {
-		URI uri = null;
-		if (module.getModuleType().getId().equals(FacetCorePlugin.PLAN_FACET_ID)) {
-			String fileName = module.getId();
-			fileName = fileName.substring(fileName.lastIndexOf('/') + 1);
-			uri = getUri(serverBehaviour.getModuleDeployUri(module).append(fileName));
-		} else {
-			uri = getUri(serverBehaviour.getModuleDeployUri(module));
-		}
-		return new Object[] { uri.toString(), false };
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected Object[] getOperationArguments() {
+        URI uri = null;
+        if (this.module.getModuleType().getId().equals(FacetCorePlugin.PLAN_FACET_ID)) {
+            String fileName = this.module.getId();
+            fileName = fileName.substring(fileName.lastIndexOf('/') + 1);
+            uri = getUri(this.serverBehaviour.getModuleDeployUri(this.module).append(fileName));
+        } else {
+            uri = getUri(this.serverBehaviour.getModuleDeployUri(this.module));
+        }
+        return new Object[] { uri.toString(), false };
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	protected String getOperationName() {
-		return "deploy";
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected String getOperationName() {
+        return "deploy";
+    }
 
-	@Override
-	protected int getTimeout() {
-		Server server = ServerUtils.getServer(serverBehaviour);
-		return server.getDeployTimeout();
-	}
+    @Override
+    protected int getTimeout() {
+        Server server = ServerUtils.getServer(this.serverBehaviour);
+        return server.getDeployTimeout();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerPingCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerPingCommand.java
index 7948844..cc6bcea 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerPingCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerPingCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.IOException;
@@ -20,39 +21,38 @@
 
 /**
  * {@link IServerCommand} to ping a dm Server.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.1
  */
 public class JmxServerPingCommand extends AbstractJmxServerCommand implements IServerCommand<Boolean> {
 
-	/**
-	 * Creates a new {@link JmxServerPingCommand}.
-	 */
-	public JmxServerPingCommand(IServerBehaviour serverBehaviour) {
-		super(serverBehaviour);
-	}
+    /**
+     * Creates a new {@link JmxServerPingCommand}.
+     */
+    public JmxServerPingCommand(IServerBehaviour serverBehaviour) {
+        super(serverBehaviour);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public Boolean execute() throws IOException, TimeoutException {
+    /**
+     * {@inheritDoc}
+     */
+    public Boolean execute() throws IOException, TimeoutException {
 
-		JmxServerCommandTemplate template = new JmxServerCommandTemplate() {
+        JmxServerCommandTemplate template = new JmxServerCommandTemplate() {
 
-			public Object invokeOperation(MBeanServerConnection connection) throws Exception {
-				ObjectName name = ObjectName.getInstance(serverBehaviour.getVersionHandler()
-						.getRecoveryMonitorMBeanName());
-				return connection.getAttribute(name, "RecoveryComplete");
-			}
+            public Object invokeOperation(MBeanServerConnection connection) throws Exception {
+                ObjectName name = ObjectName.getInstance(JmxServerPingCommand.this.serverBehaviour.getVersionHandler().getRecoveryMonitorMBeanName());
+                return connection.getAttribute(name, "RecoveryComplete");
+            }
 
-		};
+        };
 
-		Object returnValue = execute(template);
-		if (returnValue instanceof Boolean) {
-			return (Boolean) returnValue;
-		}
-		return null;
-	}
+        Object returnValue = execute(template);
+        if (returnValue instanceof Boolean) {
+            return (Boolean) returnValue;
+        }
+        return null;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerRefreshCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerRefreshCommand.java
index a8698d3..d53d900 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerRefreshCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerRefreshCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.IOException;
@@ -19,44 +20,46 @@
 
 /**
  * {@link IServerCommand} to update a PAR or bundle on a dm Server.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.1
  */
-public class JmxServerRefreshCommand extends AbstractJmxServerDeployerCommand<Object> implements IServerCommand<Void> {
+public class JmxServerRefreshCommand extends AbstractJmxServerDeployerCommand<Object>implements IServerCommand<Void> {
 
-	/** Symbolic name of the bundle to update */
-	private final String bundleSymbolicName;
+    /** Symbolic name of the bundle to update */
+    private final String bundleSymbolicName;
 
-	/**
-	 * Creates a new {@link JmxServerRefreshCommand}.
-	 */
-	public JmxServerRefreshCommand(IServerBehaviour serverBehaviour, IModule module, String bundleSymbolicName) {
-		super(serverBehaviour, module);
-		this.bundleSymbolicName = bundleSymbolicName;
-	}
+    /**
+     * Creates a new {@link JmxServerRefreshCommand}.
+     */
+    public JmxServerRefreshCommand(IServerBehaviour serverBehaviour, IModule module, String bundleSymbolicName) {
+        super(serverBehaviour, module);
+        this.bundleSymbolicName = bundleSymbolicName;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public Void execute() throws IOException, TimeoutException {
-		doExecute();
-		return null;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public Void execute() throws IOException, TimeoutException {
+        doExecute();
+        return null;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	protected Object[] getOperationArguments() {
-		URI uri = getUri(serverBehaviour.getModuleDeployUri(module));
-		return new Object[] { uri.toString(), bundleSymbolicName };
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected Object[] getOperationArguments() {
+        URI uri = getUri(this.serverBehaviour.getModuleDeployUri(this.module));
+        return new Object[] { uri.toString(), this.bundleSymbolicName };
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	protected String getOperationName() {
-		return "refresh";
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    protected String getOperationName() {
+        return "refresh";
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerShutdownCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerShutdownCommand.java
index a7d7402..25dd4bd 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerShutdownCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerShutdownCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.IOException;
@@ -20,35 +21,35 @@
 
 /**
  * {@link IServerCommand} to shutdown a dm Server.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.1
  */
 public class JmxServerShutdownCommand extends AbstractJmxServerCommand implements IServerCommand<Void> {
 
-	/**
-	 * Creates a new {@link JmxServerShutdownCommand}.
-	 */
-	public JmxServerShutdownCommand(IServerBehaviour serverBehaviour) {
-		super(serverBehaviour);
-	}
+    /**
+     * Creates a new {@link JmxServerShutdownCommand}.
+     */
+    public JmxServerShutdownCommand(IServerBehaviour serverBehaviour) {
+        super(serverBehaviour);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public Void execute() throws IOException, TimeoutException {
+    /**
+     * {@inheritDoc}
+     */
+    public Void execute() throws IOException, TimeoutException {
 
-		JmxServerCommandTemplate template = new JmxServerCommandTemplate() {
+        JmxServerCommandTemplate template = new JmxServerCommandTemplate() {
 
-			public Object invokeOperation(MBeanServerConnection connection) throws Exception {
-				ObjectName name = ObjectName.getInstance(serverBehaviour.getVersionHandler().getShutdownMBeanName());
-				return connection.invoke(name, "shutdown", null, null);
-			}
+            public Object invokeOperation(MBeanServerConnection connection) throws Exception {
+                ObjectName name = ObjectName.getInstance(JmxServerShutdownCommand.this.serverBehaviour.getVersionHandler().getShutdownMBeanName());
+                return connection.invoke(name, "shutdown", null, null);
+            }
 
-		};
+        };
 
-		execute(template);
-		return null;
-	}
+        execute(template);
+        return null;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerUndeployCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerUndeployCommand.java
index d2cab8d..d08b234 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerUndeployCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerUndeployCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.IOException;
@@ -21,38 +22,37 @@
 
 /**
  * {@link IServerCommand} to undeploy artifacts on Virgo
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @since 2.3.1
  */
-public class JmxServerUndeployCommand extends AbstractJmxServerDeployerCommand<CompositeData> implements
-		IServerCommand<Void> {
+public class JmxServerUndeployCommand extends AbstractJmxServerDeployerCommand<CompositeData>implements IServerCommand<Void> {
 
-	/** {@link DeploymentIdentity} of the deployed PAR or bundle */
-	private final DeploymentIdentity identity;
+    /** {@link DeploymentIdentity} of the deployed PAR or bundle */
+    private final DeploymentIdentity identity;
 
-	/**
-	 * Creates a new {@link JmxServerUndeployCommand}.
-	 */
-	public JmxServerUndeployCommand(IServerBehaviour serverBehaviour, IModule module) {
-		super(serverBehaviour, module);
-		identity = serverBehaviour.getDeploymentIdentities().remove(module.getId());
-	}
+    /**
+     * Creates a new {@link JmxServerUndeployCommand}.
+     */
+    public JmxServerUndeployCommand(IServerBehaviour serverBehaviour, IModule module) {
+        super(serverBehaviour, module);
+        this.identity = serverBehaviour.getDeploymentIdentities().remove(module.getId());
+    }
 
-	public Void execute() throws IOException, TimeoutException {
-		doExecute();
-		return null;
-	}
+    public Void execute() throws IOException, TimeoutException {
+        doExecute();
+        return null;
+    }
 
-	@Override
-	protected Object[] getOperationArguments() {
-		return new Object[] { identity.getSymbolicName(), identity.getVersion() };
-	}
+    @Override
+    protected Object[] getOperationArguments() {
+        return new Object[] { this.identity.getSymbolicName(), this.identity.getVersion() };
+    }
 
-	@Override
-	protected String getOperationName() {
-		return "undeploy"; //$NON-NLS-1$
-	}
+    @Override
+    protected String getOperationName() {
+        return "undeploy"; //$NON-NLS-1$
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerUpdateCommand.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerUpdateCommand.java
index c8ee4f9..b0d8923 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerUpdateCommand.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/command/JmxServerUpdateCommand.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.command;
 
 import java.io.File;
@@ -25,146 +26,143 @@
 import org.eclipse.wst.server.core.model.IModuleFile;
 
 /**
- * {@link IServerCommand} to update/refresh a single static resource on dm
- * Server 2.0.
- * 
+ * {@link IServerCommand} to update/refresh a single static resource on dm Server 2.0.
+ *
  * @author Christian Dupuis
  * @since 2.2.2
  */
 public class JmxServerUpdateCommand extends AbstractJmxServerCommand implements IServerCommand<Void> {
 
-	/**
-	 * Symbolic name of the bundle inside a PAR that contains the resource to
-	 * update
-	 */
-	private final String bundleSymbolicName;
+    /**
+     * Symbolic name of the bundle inside a PAR that contains the resource to update
+     */
+    private final String bundleSymbolicName;
 
-	/** {@link DeploymentIdentity} of the deployed PAR or bundle */
-	private final DeploymentIdentity identity;
+    /** {@link DeploymentIdentity} of the deployed PAR or bundle */
+    private final DeploymentIdentity identity;
 
-	/** File to refresh or update */
-	private final IModuleFile moduleFile;
+    /** File to refresh or update */
+    private final IModuleFile moduleFile;
 
-	/** Module that needs refreshing */
-	private final IModule module;
+    /** Module that needs refreshing */
+    private final IModule module;
 
-	/** Target path of the file relative to the PAR or bundle root */
-	private final String targetPath;
+    /** Target path of the file relative to the PAR or bundle root */
+    private final String targetPath;
 
-	private final String bundleObjectName;
+    private final String bundleObjectName;
 
-	private final String parObjectName;
+    private final String parObjectName;
 
-	private final String planObjectName;
+    private final String planObjectName;
 
-	/**
-	 * Creates a new {@link JmxServerUpdateCommand}.
-	 */
-	public JmxServerUpdateCommand(IServerBehaviour serverBehaviour, IModule module, IModuleFile moduleFile,
-		DeploymentIdentity identity, String bundleSymbolicName, String targetPath, String bundleObjectName,
-		String parObjectName, String planObjectName) {
-		super(serverBehaviour);
-		this.bundleSymbolicName = bundleSymbolicName;
-		this.moduleFile = moduleFile;
-		this.module = module;
-		this.identity = identity;
-		this.targetPath = targetPath;
-		this.bundleObjectName = bundleObjectName;
-		this.parObjectName = parObjectName;
-		this.planObjectName = planObjectName;
-	}
+    /**
+     * Creates a new {@link JmxServerUpdateCommand}.
+     */
+    public JmxServerUpdateCommand(IServerBehaviour serverBehaviour, IModule module, IModuleFile moduleFile, DeploymentIdentity identity,
+        String bundleSymbolicName, String targetPath, String bundleObjectName, String parObjectName, String planObjectName) {
+        super(serverBehaviour);
+        this.bundleSymbolicName = bundleSymbolicName;
+        this.moduleFile = moduleFile;
+        this.module = module;
+        this.identity = identity;
+        this.targetPath = targetPath;
+        this.bundleObjectName = bundleObjectName;
+        this.parObjectName = parObjectName;
+        this.planObjectName = planObjectName;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public Void execute() throws IOException, TimeoutException {
+    /**
+     * {@inheritDoc}
+     */
+    public Void execute() throws IOException, TimeoutException {
 
-		JmxServerCommandTemplate template = new JmxServerCommandTemplate() {
+        JmxServerCommandTemplate template = new JmxServerCommandTemplate() {
 
-			public Object invokeOperation(MBeanServerConnection connection) throws Exception {
-				ObjectName bundleObject = null;
-				if (bundleSymbolicName != null) {
-					String partialObjectName = "org.eclipse.virgo.kernel:artifact-type=bundle,name="
-						+ bundleSymbolicName + ",type=Model,version=";
+            public Object invokeOperation(MBeanServerConnection connection) throws Exception {
+                ObjectName bundleObject = null;
+                if (JmxServerUpdateCommand.this.bundleSymbolicName != null) {
+                    String partialObjectName = "org.eclipse.virgo.kernel:artifact-type=bundle,name=" + JmxServerUpdateCommand.this.bundleSymbolicName
+                        + ",type=Model,version=";
 
-					String parObject = null;
-					// Figure out the bundle reference from par or plan
-					// dependents
-					if (module.getModuleType().getId().equals(FacetCorePlugin.PAR_FACET_ID)) {
-						parObject = parObjectName.replace("$VERSION", identity.getVersion())
-								.replace("$NAME", identity.getSymbolicName());
-					} else {
-						parObject = planObjectName.replace("$VERSION", identity.getVersion())
-								.replace("$NAME", identity.getSymbolicName());
-					}
+                    String parObject = null;
+                    // Figure out the bundle reference from par or plan
+                    // dependents
+                    if (JmxServerUpdateCommand.this.module.getModuleType().getId().equals(FacetCorePlugin.PAR_FACET_ID)) {
+                        parObject = JmxServerUpdateCommand.this.parObjectName.replace("$VERSION",
+                            JmxServerUpdateCommand.this.identity.getVersion()).replace("$NAME",
+                                JmxServerUpdateCommand.this.identity.getSymbolicName());
+                    } else {
+                        parObject = JmxServerUpdateCommand.this.planObjectName.replace("$VERSION",
+                            JmxServerUpdateCommand.this.identity.getVersion()).replace("$NAME",
+                                JmxServerUpdateCommand.this.identity.getSymbolicName());
+                    }
 
-					ObjectName name = ObjectName.getInstance(parObject);
+                    ObjectName name = ObjectName.getInstance(parObject);
 
-					ObjectName[] dependents = (ObjectName[]) connection
-							.getAttribute(name, getDependentsAttributeName());
-					for (ObjectName dependent : dependents) {
-						if (dependent.getCanonicalName().startsWith(partialObjectName)
-							|| dependent.getCanonicalName().contains("-" + bundleSymbolicName + ",type=Model")) {
-							bundleObject = dependent;
-							break;
-						}
-					}
-				} else {
-					bundleObject = ObjectName.getInstance(bundleObjectName.replace("$VERSION", identity.getVersion())
-							.replace("$NAME", identity.getSymbolicName()));
-				}
+                    ObjectName[] dependents = (ObjectName[]) connection.getAttribute(name, getDependentsAttributeName());
+                    for (ObjectName dependent : dependents) {
+                        if (dependent.getCanonicalName().startsWith(partialObjectName)
+                            || dependent.getCanonicalName().contains("-" + JmxServerUpdateCommand.this.bundleSymbolicName + ",type=Model")) {
+                            bundleObject = dependent;
+                            break;
+                        }
+                    }
+                } else {
+                    bundleObject = ObjectName.getInstance(
+                        JmxServerUpdateCommand.this.bundleObjectName.replace("$VERSION", JmxServerUpdateCommand.this.identity.getVersion()).replace(
+                            "$NAME", JmxServerUpdateCommand.this.identity.getSymbolicName()));
+                }
 
-				// Update the resource
-				Object[] operationArguments = getUpdateOperationArguments();
+                // Update the resource
+                Object[] operationArguments = getUpdateOperationArguments();
 
-				String[] classNames = new String[operationArguments.length];
-				for (int i = 0; i < operationArguments.length; i++) {
-					if (operationArguments[i] instanceof Boolean) {
-						classNames[i] = boolean.class.getName();
-					} else {
-						classNames[i] = operationArguments[i].getClass().getName();
-					}
-				}
+                String[] classNames = new String[operationArguments.length];
+                for (int i = 0; i < operationArguments.length; i++) {
+                    if (operationArguments[i] instanceof Boolean) {
+                        classNames[i] = boolean.class.getName();
+                    } else {
+                        classNames[i] = operationArguments[i].getClass().getName();
+                    }
+                }
 
-				return connection.invoke(	bundleObject, getUpdateOperationName(operationArguments),
-											operationArguments,
-											classNames);
-			}
+                return connection.invoke(bundleObject, getUpdateOperationName(operationArguments), operationArguments, classNames);
+            }
 
-		};
+        };
 
-		execute(template);
-		return null;
-	}
+        execute(template);
+        return null;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	protected Object[] getUpdateOperationArguments() {
-		URI uri = AbstractJmxServerDeployerCommand.getUri(serverBehaviour.getModuleDeployUri(module)
-				.append(moduleFile.getModuleRelativePath()).append(moduleFile.getName()));
-		if (new File(uri).exists()) {
-			return new Object[] { uri.toString(), targetPath + "/" + moduleFile.getName() };
-		} else {
-			return new Object[] { targetPath + "/" + moduleFile.getName() };
-		}
-	}
+    /**
+     * {@inheritDoc}
+     */
+    protected Object[] getUpdateOperationArguments() {
+        URI uri = AbstractJmxServerDeployerCommand.getUri(
+            this.serverBehaviour.getModuleDeployUri(this.module).append(this.moduleFile.getModuleRelativePath()).append(this.moduleFile.getName()));
+        if (new File(uri).exists()) {
+            return new Object[] { uri.toString(), this.targetPath + "/" + this.moduleFile.getName() };
+        } else {
+            return new Object[] { this.targetPath + "/" + this.moduleFile.getName() };
+        }
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	protected String getUpdateOperationName(Object[] arguments) {
-		if (arguments.length == 1) {
-			return "deleteEntry";
-		}
-		return "updateEntry";
-	}
+    /**
+     * {@inheritDoc}
+     */
+    protected String getUpdateOperationName(Object[] arguments) {
+        if (arguments.length == 1) {
+            return "deleteEntry";
+        }
+        return "updateEntry";
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	protected String getDependentsAttributeName() {
-		return "Dependents";
-	}
+    /**
+     * {@inheritDoc}
+     */
+    protected String getDependentsAttributeName() {
+        return "Dependents";
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/provisioning/IArtefactRepositoryLoader.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/provisioning/IArtefactRepositoryLoader.java
index 758f4d8..58a7757 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/provisioning/IArtefactRepositoryLoader.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/provisioning/IArtefactRepositoryLoader.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.provisioning;
 
 import java.io.File;
@@ -20,6 +21,6 @@
  */
 public interface IArtefactRepositoryLoader {
 
-	ArtefactRepository loadArtefactRepository(File rootFolder);
+    ArtefactRepository loadArtefactRepository(File rootFolder);
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/provisioning/JsonArtefactRepositoryLoader.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/provisioning/JsonArtefactRepositoryLoader.java
index dfbb5cb..cf79126 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/provisioning/JsonArtefactRepositoryLoader.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/provisioning/JsonArtefactRepositoryLoader.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.provisioning;
 
 import java.io.File;
@@ -38,158 +39,159 @@
  */
 public class JsonArtefactRepositoryLoader implements IArtefactRepositoryLoader {
 
-	private Map<String, OsgiVersion> versions = new HashMap<String, OsgiVersion>();
+    private final Map<String, OsgiVersion> versions = new HashMap<String, OsgiVersion>();
 
-	private Map<String, VersionRange> versionRanges = new HashMap<String, VersionRange>();
+    private final Map<String, VersionRange> versionRanges = new HashMap<String, VersionRange>();
 
-	private Map<String, PackageImport> imports = new HashMap<String, PackageImport>();
+    private final Map<String, PackageImport> imports = new HashMap<String, PackageImport>();
 
-	private boolean loadClasses = ServerCorePlugin.getDefault().getPreferenceStore()
-			.getBoolean(ServerCorePlugin.PREF_LOAD_CLASSES_KEY);
+    private final boolean loadClasses = ServerCorePlugin.getDefault().getPreferenceStore().getBoolean(ServerCorePlugin.PREF_LOAD_CLASSES_KEY);
 
-	// private static final SimpleDateFormat FORMAT = new
-	// SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
+    // private static final SimpleDateFormat FORMAT = new
+    // SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
 
-	public ArtefactRepository loadArtefactRepository(File rootFolder) {
-		final ArtefactRepository newArtefactRepository = new ArtefactRepository();
-		IPath path = new Path(rootFolder.getAbsolutePath());
-		IPath bundlePath = path.append("bundles");
-		File bundleFolder = bundlePath.toFile();
-		for (File bundleFile : bundleFolder.listFiles()) {
-			new JSONFileParser(bundleFile) {
-				public void parse(JSONObject object) throws JSONException {
-					JSONObject bundleNode = (JSONObject) object.get("bundle");
-					newArtefactRepository.addBundle(createBundleArtefact(bundleNode));
-				}
-			};
-		}
-		IPath libraryPath = path.append("libraries");
-		File libraryFolder = libraryPath.toFile();
-		for (File libraryFile : libraryFolder.listFiles()) {
-			new JSONFileParser(libraryFile) {
-				public void parse(JSONObject object) throws JSONException {
-					JSONObject bundleNode = (JSONObject) object.get("library");
-					newArtefactRepository.addLibrary(createLibraryArtefact(bundleNode));
-				}
-			};
-		}
-		return newArtefactRepository;
-	}
+    public ArtefactRepository loadArtefactRepository(File rootFolder) {
+        final ArtefactRepository newArtefactRepository = new ArtefactRepository();
+        IPath path = new Path(rootFolder.getAbsolutePath());
+        IPath bundlePath = path.append("bundles");
+        File bundleFolder = bundlePath.toFile();
+        for (File bundleFile : bundleFolder.listFiles()) {
+            new JSONFileParser(bundleFile) {
 
-	private OsgiVersion getVersion(String versionString) {
-		if (versions.containsKey(versionString)) {
-			return versions.get(versionString);
-		}
-		OsgiVersion version = new OsgiVersion(versionString);
-		versions.put(versionString, version);
-		return version;
-	}
+                public void parse(JSONObject object) throws JSONException {
+                    JSONObject bundleNode = (JSONObject) object.get("bundle");
+                    newArtefactRepository.addBundle(createBundleArtefact(bundleNode));
+                }
+            };
+        }
+        IPath libraryPath = path.append("libraries");
+        File libraryFolder = libraryPath.toFile();
+        for (File libraryFile : libraryFolder.listFiles()) {
+            new JSONFileParser(libraryFile) {
 
-	private VersionRange getVersionRange(String versionRangeString) {
-		if (versionRanges.containsKey(versionRangeString)) {
-			return versionRanges.get(versionRangeString);
-		}
-		VersionRange version = new VersionRange(versionRangeString);
-		versionRanges.put(versionRangeString, version);
-		return version;
-	}
+                public void parse(JSONObject object) throws JSONException {
+                    JSONObject bundleNode = (JSONObject) object.get("library");
+                    newArtefactRepository.addLibrary(createLibraryArtefact(bundleNode));
+                }
+            };
+        }
+        return newArtefactRepository;
+    }
 
-	private PackageImport getPackageImport(String packageName, String versionRangeString, boolean isOptional) {
-		String key = packageName + "." + versionRangeString + "." + isOptional;
-		if (imports.containsKey(key)) {
-			return imports.get(key);
-		}
-		PackageImport packageImport = new PackageImport(packageName, isOptional, getVersionRange(versionRangeString));
-		imports.put(key, packageImport);
-		return packageImport;
-	}
+    private OsgiVersion getVersion(String versionString) {
+        if (this.versions.containsKey(versionString)) {
+            return this.versions.get(versionString);
+        }
+        OsgiVersion version = new OsgiVersion(versionString);
+        this.versions.put(versionString, version);
+        return version;
+    }
 
-	private BundleArtefact createBundleArtefact(JSONObject bundleNode) throws JSONException {
-		String name = bundleNode.getString("name");
-		String version = bundleNode.getString("version");
-		String symbolicName = bundleNode.getString("symbolicName");
-		String organistationName = bundleNode.getString("organisationName");
-		String moduleName = bundleNode.getString("moduleName");
-		// String notes = nb.getString("notes");
-		boolean sourceAvailable = bundleNode.getBoolean("sourceAvailable");
-		// String dateAdded = nb.getString("dateAdded");
+    private VersionRange getVersionRange(String versionRangeString) {
+        if (this.versionRanges.containsKey(versionRangeString)) {
+            return this.versionRanges.get(versionRangeString);
+        }
+        VersionRange version = new VersionRange(versionRangeString);
+        this.versionRanges.put(versionRangeString, version);
+        return version;
+    }
 
-		final BundleArtefact artefact = new BundleArtefact(name, symbolicName, getVersion(version), organistationName,
-			moduleName);
-		// artefact.setNotes(notes);
-		artefact.setSourceAvailable(sourceAvailable);
-		// artefact.setDateAdded(FORMAT.parse(dateAdded));
-		new JSONChildParser(bundleNode, "packageExports") {
-			public void parse(JSONObject object) throws JSONException {
-				createPackageExport(artefact, object);
-			}
-		};
-		new JSONChildParser(bundleNode, "packageImports") {
-			public void parse(JSONObject object) throws JSONException {
-				createPackageImport(artefact, object);
-			}
-		};
-		return artefact;
-	}
+    private PackageImport getPackageImport(String packageName, String versionRangeString, boolean isOptional) {
+        String key = packageName + "." + versionRangeString + "." + isOptional;
+        if (this.imports.containsKey(key)) {
+            return this.imports.get(key);
+        }
+        PackageImport packageImport = new PackageImport(packageName, isOptional, getVersionRange(versionRangeString));
+        this.imports.put(key, packageImport);
+        return packageImport;
+    }
 
-	private void createPackageImport(BundleArtefact artefact, JSONObject e) throws JSONException {
-		String name = e.getString("name");
-		String version = e.getString("versionRange");
-		Boolean optional = e.getBoolean("optional");
-		PackageImport npi = getPackageImport(name, version, optional);
+    private BundleArtefact createBundleArtefact(JSONObject bundleNode) throws JSONException {
+        String name = bundleNode.getString("name");
+        String version = bundleNode.getString("version");
+        String symbolicName = bundleNode.getString("symbolicName");
+        String organistationName = bundleNode.getString("organisationName");
+        String moduleName = bundleNode.getString("moduleName");
+        // String notes = nb.getString("notes");
+        boolean sourceAvailable = bundleNode.getBoolean("sourceAvailable");
+        // String dateAdded = nb.getString("dateAdded");
 
-		artefact.addImport(npi);
-	}
+        final BundleArtefact artefact = new BundleArtefact(name, symbolicName, getVersion(version), organistationName, moduleName);
+        // artefact.setNotes(notes);
+        artefact.setSourceAvailable(sourceAvailable);
+        // artefact.setDateAdded(FORMAT.parse(dateAdded));
+        new JSONChildParser(bundleNode, "packageExports") {
 
-	private void createPackageExport(BundleArtefact artefact, JSONObject e) throws JSONException {
-		String name;
-		String version;
-		name = e.getString("name");
-		version = e.getString("version");
-		PackageExport npe = new PackageExport(artefact, name, getVersion(version));
+            public void parse(JSONObject object) throws JSONException {
+                createPackageExport(artefact, object);
+            }
+        };
+        new JSONChildParser(bundleNode, "packageImports") {
 
-		if (loadClasses) {
-			JSONArray exportMembers = e.getJSONArray("packageMembers");
-			for (int i = 0; i < exportMembers.length(); i++) {
-				JSONObject m = (JSONObject) exportMembers.get(i);
-				createPackageMember(npe, m);
-			}
-		}
+            public void parse(JSONObject object) throws JSONException {
+                createPackageImport(artefact, object);
+            }
+        };
+        return artefact;
+    }
 
-		artefact.addExport(npe);
-	}
+    private void createPackageImport(BundleArtefact artefact, JSONObject e) throws JSONException {
+        String name = e.getString("name");
+        String version = e.getString("versionRange");
+        Boolean optional = e.getBoolean("optional");
+        PackageImport npi = getPackageImport(name, version, optional);
 
-	private void createPackageMember(PackageExport npe, JSONObject m) throws JSONException {
-		String name = m.getString("name");
-		PackageMemberType type = PackageMemberType.valueOf((m.getString("type")));
-		if (type == PackageMemberType.CLASS) {
-			npe.addClassExport(name);
-		} else {
-			npe.addResourceExport(name);
-		}
-	}
+        artefact.addImport(npi);
+    }
 
-	private LibraryArtefact createLibraryArtefact(JSONObject nl) throws JSONException {
-		String name = nl.getString("name");
-		String version = nl.getString("version");
-		String symbolicName = nl.getString("symbolicName");
-		String organistationName = nl.getString("organisationName");
-		String moduleName = nl.getString("moduleName");
-		Boolean sourceAvailable = nl.getBoolean("sourceAvailable");
+    private void createPackageExport(BundleArtefact artefact, JSONObject e) throws JSONException {
+        String name;
+        String version;
+        name = e.getString("name");
+        version = e.getString("version");
+        PackageExport npe = new PackageExport(artefact, name, getVersion(version));
 
-		final LibraryArtefact artefact = new LibraryArtefact(name, symbolicName, getVersion(version),
-			organistationName, moduleName);
-		artefact.setSourceAvailable(sourceAvailable);
+        if (this.loadClasses) {
+            JSONArray exportMembers = e.getJSONArray("packageMembers");
+            for (int i = 0; i < exportMembers.length(); i++) {
+                JSONObject m = (JSONObject) exportMembers.get(i);
+                createPackageMember(npe, m);
+            }
+        }
 
-		new JSONChildParser(nl, "bundleImports") {
-			public void parse(JSONObject object) throws JSONException {
-				BundleImport npe = new BundleImport(artefact, object.getString("name"),
-					getVersionRange(object.getString("versionRange")));
-				artefact.addBundleImport(npe);
-			}
-		};
-		return artefact;
+        artefact.addExport(npe);
+    }
 
-	}
+    private void createPackageMember(PackageExport npe, JSONObject m) throws JSONException {
+        String name = m.getString("name");
+        PackageMemberType type = PackageMemberType.valueOf(m.getString("type"));
+        if (type == PackageMemberType.CLASS) {
+            npe.addClassExport(name);
+        } else {
+            npe.addResourceExport(name);
+        }
+    }
+
+    private LibraryArtefact createLibraryArtefact(JSONObject nl) throws JSONException {
+        String name = nl.getString("name");
+        String version = nl.getString("version");
+        String symbolicName = nl.getString("symbolicName");
+        String organistationName = nl.getString("organisationName");
+        String moduleName = nl.getString("moduleName");
+        Boolean sourceAvailable = nl.getBoolean("sourceAvailable");
+
+        final LibraryArtefact artefact = new LibraryArtefact(name, symbolicName, getVersion(version), organistationName, moduleName);
+        artefact.setSourceAvailable(sourceAvailable);
+
+        new JSONChildParser(nl, "bundleImports") {
+
+            public void parse(JSONObject object) throws JSONException {
+                BundleImport npe = new BundleImport(artefact, object.getString("name"), getVersionRange(object.getString("versionRange")));
+                artefact.addBundleImport(npe);
+            }
+        };
+        return artefact;
+
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/InstallationType.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/InstallationType.java
index 6addd39..ef63640 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/InstallationType.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/InstallationType.java
@@ -6,24 +6,25 @@
  * </copyright>
  *
  */
+
 package org.eclipse.virgo.ide.runtime.internal.core.runtimes;
 
 /**
  * A particular distribution of Virgo.
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public enum InstallationType {
-	TOMCAT("Virgo Server for Apache Tomcat"), JETTY("Virgo Jetty Server"), KERNEL("Virgo Kernel"), NANO("Virgo Nano");
+    TOMCAT("Virgo Server for Apache Tomcat"), JETTY("Virgo Jetty Server"), KERNEL("Virgo Kernel"), NANO("Virgo Nano");
 
-	private final String name;
+    private final String name;
 
-	InstallationType(String name) {
-		this.name = name;
-	}
+    InstallationType(String name) {
+        this.name = name;
+    }
 
-	public String getName() {
-		return name;
-	}
+    public String getName() {
+        return this.name;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/InvalidRuntimeProvider.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/InvalidRuntimeProvider.java
index 393901e..75855e0 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/InvalidRuntimeProvider.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/InvalidRuntimeProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SAP AG - initial implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.runtimes;
 
 import java.io.IOException;
@@ -41,332 +42,327 @@
 
 /**
  * A {@link IServerRuntimeProvider} representing an invalid server configuration directory.
- * 
+ *
  * @author Miles Parker
  */
 public class InvalidRuntimeProvider implements IServerRuntimeProvider {
 
-	// Assumes Stateless
-	public static final IServerRuntimeProvider INSTANCE = new InvalidRuntimeProvider();
+    // Assumes Stateless
+    public static final IServerRuntimeProvider INSTANCE = new InvalidRuntimeProvider();
 
-	private InvalidRuntimeProvider() {
-	}
+    private InvalidRuntimeProvider() {
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeClass()
-	 */
-	public String getRuntimeClass() {
-		handleError();
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeClass()
+     */
+    public String getRuntimeClass() {
+        handleError();
+        return null;
+    }
 
-	// Potential leak source? Unlikely, but possible.
-	public static Collection<String> errorsReported = new HashSet<String>();
+    // Potential leak source? Unlikely, but possible.
+    public static Collection<String> errorsReported = new HashSet<String>();
 
-	private void handleError(IRuntime runtime) {
-		String runtimeName = null;
-		// boolean showError = false;
-		if (runtime != null) {
-			runtimeName = runtime.getName();
-			// showError = errorsReported.add(runtimeName);
-		} else {
-			runtimeName = "The runtime";
-		}
-		String message = runtimeName
-				+ " is not a valid environment. Go to Preferences:Server:Runtime Environments to define a valid server.";
-		message += "\n(This error may be followed by related exceptions.)";
-		int type = StatusManager.LOG | StatusManager.SHOW;
-		// if (showError) {
-		// type |= StatusManager.SHOW;
-		// }
-		StatusManager.getManager().handle(new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, message), type);
-	}
+    private void handleError(IRuntime runtime) {
+        String runtimeName = null;
+        // boolean showError = false;
+        if (runtime != null) {
+            runtimeName = runtime.getName();
+            // showError = errorsReported.add(runtimeName);
+        } else {
+            runtimeName = "The runtime";
+        }
+        String message = runtimeName + " is not a valid environment. Go to Preferences:Server:Runtime Environments to define a valid server.";
+        message += "\n(This error may be followed by related exceptions.)";
+        int type = StatusManager.LOG | StatusManager.SHOW;
+        // if (showError) {
+        // type |= StatusManager.SHOW;
+        // }
+        StatusManager.getManager().handle(new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, message), type);
+    }
 
-	private void handleError(IServerBehaviour serverBehaviour) {
-		Server server = ServerUtils.getServer(serverBehaviour);
-		VirgoServerRuntime runtime = server.getRuntime();
-		handleError(runtime.getRuntime());
-	}
+    private void handleError(IServerBehaviour serverBehaviour) {
+        Server server = ServerUtils.getServer(serverBehaviour);
+        VirgoServerRuntime runtime = server.getRuntime();
+        handleError(runtime.getRuntime());
+    }
 
-	private void handleError() {
-		handleError((IRuntime) null);
-	}
+    private void handleError() {
+        handleError((IRuntime) null);
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeProgramArguments(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
-	 */
-	public String[] getRuntimeProgramArguments(IServerBehaviour serverBehaviour) {
-		handleError(serverBehaviour);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeProgramArguments(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
+     */
+    public String[] getRuntimeProgramArguments(IServerBehaviour serverBehaviour) {
+        handleError(serverBehaviour);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#createDependencyLocator(org.eclipse.wst.server.core.IRuntime,
-	 *      java.lang.String, java.lang.String[], java.lang.String,
-	 *      org.eclipse.virgo.ide.manifest.core.dependencies.IDependencyLocator.JavaVersion)
-	 */
-	public IDependencyLocator createDependencyLocator(IRuntime runtime, String serverHomePath,
-			String[] additionalSearchPaths, String indexDirectoryPath, JavaVersion javaVersion) throws IOException {
-		handleError(runtime);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#createDependencyLocator(org.eclipse.wst.server.core.IRuntime,
+     *      java.lang.String, java.lang.String[], java.lang.String,
+     *      org.eclipse.virgo.ide.manifest.core.dependencies.IDependencyLocator.JavaVersion)
+     */
+    public IDependencyLocator createDependencyLocator(IRuntime runtime, String serverHomePath, String[] additionalSearchPaths,
+        String indexDirectoryPath, JavaVersion javaVersion) throws IOException {
+        handleError(runtime);
+        return null;
+    }
 
-	public IStatus verifyInstallation(IRuntime runtime) {
-		return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "No Virgo Runtime found: " + runtime.getLocation()
-				+ ".");
-	}
+    public IStatus verifyInstallation(IRuntime runtime) {
+        return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "No Virgo Runtime found: " + runtime.getLocation() + ".");
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getConfigurationDir()
-	 */
-	String getConfigDir() {
-		handleError();
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getConfigurationDir()
+     */
+    String getConfigDir() {
+        handleError();
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getProfileDir()
-	 */
-	String getProfileDir() {
-		handleError();
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getProfileDir()
+     */
+    String getProfileDir() {
+        handleError();
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getID()
-	 */
-	public String getID() {
-		handleError();
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getID()
+     */
+    public String getID() {
+        handleError();
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getName()
-	 */
-	public String getName() {
-		handleError();
-		return "Invalid Runtime";
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getName()
+     */
+    public String getName() {
+        handleError();
+        return "Invalid Runtime";
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#canAddModule(org.eclipse.wst.server.core.IModule)
-	 */
-	public IStatus canAddModule(IModule module) {
-		return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "No Virgo Runtime found.");
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#canAddModule(org.eclipse.wst.server.core.IModule)
+     */
+    public IStatus canAddModule(IModule module) {
+        return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "No Virgo Runtime found.");
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getExcludedRuntimeProgramArguments(boolean)
-	 */
-	public String[] getExcludedRuntimeProgramArguments(boolean starting) {
-		handleError();
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getExcludedRuntimeProgramArguments(boolean)
+     */
+    public String[] getExcludedRuntimeProgramArguments(boolean starting) {
+        handleError();
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeBaseDirectory(org.eclipse.wst.server.core.IServer)
-	 */
-	public IPath getRuntimeBaseDirectory(IServer server) {
-		handleError(server.getRuntime());
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeBaseDirectory(org.eclipse.wst.server.core.IServer)
+     */
+    public IPath getRuntimeBaseDirectory(IServer server) {
+        handleError(server.getRuntime());
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeClasspath(org.eclipse.core.runtime.IPath)
-	 */
-	public List<IRuntimeClasspathEntry> getRuntimeClasspath(IPath installPath) {
-		handleError();
-		return Collections.EMPTY_LIST;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeClasspath(org.eclipse.core.runtime.IPath)
+     */
+    public List<IRuntimeClasspathEntry> getRuntimeClasspath(IPath installPath) {
+        handleError();
+        return Collections.EMPTY_LIST;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeVMArguments(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
-	 *      org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath)
-	 */
-	public String[] getRuntimeVMArguments(IServerBehaviour serverBehaviour, IPath installPath, IPath configPath,
-			IPath deployPath) {
-		handleError(serverBehaviour);
-		return new String[] {};
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeVMArguments(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
+     *      org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath, org.eclipse.core.runtime.IPath)
+     */
+    public String[] getRuntimeVMArguments(IServerBehaviour serverBehaviour, IPath installPath, IPath configPath, IPath deployPath) {
+        handleError(serverBehaviour);
+        return new String[] {};
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getProfilePath(org.eclipse.wst.server.core.IRuntime)
-	 */
-	public String getProfilePath(IRuntime runtime) {
-		handleError(runtime);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getProfilePath(org.eclipse.wst.server.core.IRuntime)
+     */
+    public String getProfilePath(IRuntime runtime) {
+        handleError(runtime);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getExtLevelBundleRepositoryPath(org.eclipse.wst.server.core.IRuntime)
-	 */
-	public String getExtLevelBundleRepositoryPath(IRuntime runtime) {
-		handleError(runtime);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getExtLevelBundleRepositoryPath(org.eclipse.wst.server.core.IRuntime)
+     */
+    public String getExtLevelBundleRepositoryPath(IRuntime runtime) {
+        handleError(runtime);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getUserLevelBundleRepositoryPath(org.eclipse.wst.server.core.IRuntime)
-	 */
-	public String getUserLevelBundleRepositoryPath(IRuntime runtime) {
-		handleError(runtime);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getUserLevelBundleRepositoryPath(org.eclipse.wst.server.core.IRuntime)
+     */
+    public String getUserLevelBundleRepositoryPath(IRuntime runtime) {
+        handleError(runtime);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getUserLevelLibraryRepositoryPath(org.eclipse.wst.server.core.IRuntime)
-	 */
-	public String getUserLevelLibraryRepositoryPath(IRuntime runtime) {
-		handleError(runtime);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getUserLevelLibraryRepositoryPath(org.eclipse.wst.server.core.IRuntime)
+     */
+    public String getUserLevelLibraryRepositoryPath(IRuntime runtime) {
+        handleError(runtime);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getConfigPath(org.eclipse.wst.server.core.IRuntime)
-	 */
-	public String getConfigPath(IRuntime runtime) {
-		handleError(runtime);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getConfigPath(org.eclipse.wst.server.core.IRuntime)
+     */
+    public String getConfigPath(IRuntime runtime) {
+        handleError(runtime);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getDeployerMBeanName()
-	 */
-	public String getDeployerMBeanName() {
-		handleError();
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getDeployerMBeanName()
+     */
+    public String getDeployerMBeanName() {
+        handleError();
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRecoveryMonitorMBeanName()
-	 */
-	public String getRecoveryMonitorMBeanName() {
-		handleError();
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRecoveryMonitorMBeanName()
+     */
+    public String getRecoveryMonitorMBeanName() {
+        handleError();
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getShutdownMBeanName()
-	 */
-	public String getShutdownMBeanName() {
-		handleError();
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getShutdownMBeanName()
+     */
+    public String getShutdownMBeanName() {
+        handleError();
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerPingCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
-	 */
-	public IServerCommand<Boolean> getServerPingCommand(IServerBehaviour serverBehaviour) {
-		handleError();
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerPingCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
+     */
+    public IServerCommand<Boolean> getServerPingCommand(IServerBehaviour serverBehaviour) {
+        handleError();
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerShutdownCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
-	 */
-	public IServerCommand<Void> getServerShutdownCommand(IServerBehaviour serverBehaviour) {
-		handleError(serverBehaviour);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerShutdownCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
+     */
+    public IServerCommand<Void> getServerShutdownCommand(IServerBehaviour serverBehaviour) {
+        handleError(serverBehaviour);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerDeployCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
-	 *      org.eclipse.wst.server.core.IModule)
-	 */
-	public IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour serverBehaviour, IModule module) {
-		handleError(serverBehaviour);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerDeployCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
+     *      org.eclipse.wst.server.core.IModule)
+     */
+    public IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour serverBehaviour, IModule module) {
+        handleError(serverBehaviour);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerRefreshCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
-	 *      org.eclipse.wst.server.core.IModule, java.lang.String)
-	 */
-	public IServerCommand<Void> getServerRefreshCommand(IServerBehaviour serverBehaviour, IModule module,
-			String bundleSymbolicName) {
-		handleError(serverBehaviour);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerRefreshCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
+     *      org.eclipse.wst.server.core.IModule, java.lang.String)
+     */
+    public IServerCommand<Void> getServerRefreshCommand(IServerBehaviour serverBehaviour, IModule module, String bundleSymbolicName) {
+        handleError(serverBehaviour);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerUpdateCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
-	 *      org.eclipse.wst.server.core.IModule, org.eclipse.wst.server.core.model.IModuleFile,
-	 *      org.eclipse.virgo.ide.runtime.internal.core.DeploymentIdentity, java.lang.String, java.lang.String)
-	 */
-	public IServerCommand<Void> getServerUpdateCommand(IServerBehaviour serverBehaviour, IModule module,
-			IModuleFile moduleFile, DeploymentIdentity identity, String bundleSymbolicName, String targetPath) {
-		handleError(serverBehaviour);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerUpdateCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
+     *      org.eclipse.wst.server.core.IModule, org.eclipse.wst.server.core.model.IModuleFile,
+     *      org.eclipse.virgo.ide.runtime.internal.core.DeploymentIdentity, java.lang.String, java.lang.String)
+     */
+    public IServerCommand<Void> getServerUpdateCommand(IServerBehaviour serverBehaviour, IModule module, IModuleFile moduleFile,
+        DeploymentIdentity identity, String bundleSymbolicName, String targetPath) {
+        handleError(serverBehaviour);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerUndeployCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
-	 *      org.eclipse.wst.server.core.IModule)
-	 */
-	public IServerCommand<Void> getServerUndeployCommand(IServerBehaviour serverBehaviour, IModule module) {
-		handleError(serverBehaviour);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerUndeployCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
+     *      org.eclipse.wst.server.core.IModule)
+     */
+    public IServerCommand<Void> getServerUndeployCommand(IServerBehaviour serverBehaviour, IModule module) {
+        handleError(serverBehaviour);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerDeployCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
-	 *      java.net.URI)
-	 */
-	public IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour serverBehaviour,
-			URI connectorBundleUri) {
-		handleError(serverBehaviour);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerDeployCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
+     *      java.net.URI)
+     */
+    public IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour serverBehaviour, URI connectorBundleUri) {
+        handleError(serverBehaviour);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerBundleAdminCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
-	 */
-	public IServerCommand<Map<Long, IBundle>> getServerBundleAdminCommand(IServerBehaviour serverBehaviour) {
-		handleError(serverBehaviour);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerBundleAdminCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
+     */
+    public IServerCommand<Map<Long, IBundle>> getServerBundleAdminCommand(IServerBehaviour serverBehaviour) {
+        handleError(serverBehaviour);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerBundleAdminExecuteCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
-	 *      java.lang.String)
-	 */
-	public IServerCommand<String> getServerBundleAdminExecuteCommand(IServerBehaviour serverBehaviour, String command) {
-		handleError(serverBehaviour);
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerBundleAdminExecuteCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour,
+     *      java.lang.String)
+     */
+    public IServerCommand<String> getServerBundleAdminExecuteCommand(IServerBehaviour serverBehaviour, String command) {
+        handleError(serverBehaviour);
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#preStartup(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
-	 */
-	public void preStartup(IServerBehaviour serverBehaviour) {
-		handleError(serverBehaviour);
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#preStartup(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
+     */
+    public void preStartup(IServerBehaviour serverBehaviour) {
+        handleError(serverBehaviour);
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerDeployCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
-	 */
-	public IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour serverBehaviour) {
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerDeployCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
+     */
+    public IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour serverBehaviour) {
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getConnectorBundleUri()
-	 */
-	public URI getConnectorBundleUri() {
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getConnectorBundleUri()
+     */
+    public URI getConnectorBundleUri() {
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerPropertiesDirectories()
-	 */
-	public String[] getServerPropertiesDirectories() {
-		return new String[0];
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerPropertiesDirectories()
+     */
+    public String[] getServerPropertiesDirectories() {
+        return new String[0];
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerLogDirectories()
-	 */
-	public String[] getServerLogDirectories() {
-		return new String[0];
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerLogDirectories()
+     */
+    public String[] getServerLogDirectories() {
+        return new String[0];
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/RuntimeProviders.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/RuntimeProviders.java
index b3b6c04..1ce799d 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/RuntimeProviders.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/RuntimeProviders.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.runtimes;
 
 import org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider;
@@ -15,7 +16,7 @@
 
 /**
  * Utility that loads {@link IServerRuntimeProvider}s based on given version identifiers.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @author Miles Parker
@@ -23,17 +24,16 @@
  */
 public class RuntimeProviders {
 
-	public static final VirgoRuntimeProvider[] ALL_HANDLERS = new VirgoRuntimeProvider[] { Virgo21_30Provider.INSTANCE,
-			Virgo35Provider.INSTANCE };
+    public static final VirgoRuntimeProvider[] ALL_HANDLERS = new VirgoRuntimeProvider[] { Virgo21_30Provider.INSTANCE, Virgo35Provider.INSTANCE };
 
-	public static IServerRuntimeProvider getRuntimeProvider(IRuntime runtime) {
-		if (runtime != null) {
-			for (VirgoRuntimeProvider version : RuntimeProviders.ALL_HANDLERS) {
-				if (version.isHandlerFor(runtime)) {
-					return version;
-				}
-			}
-		}
-		return InvalidRuntimeProvider.INSTANCE;
-	}
+    public static IServerRuntimeProvider getRuntimeProvider(IRuntime runtime) {
+        if (runtime != null) {
+            for (VirgoRuntimeProvider version : RuntimeProviders.ALL_HANDLERS) {
+                if (version.isHandlerFor(runtime)) {
+                    return version;
+                }
+            }
+        }
+        return InvalidRuntimeProvider.INSTANCE;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/Virgo21_30Provider.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/Virgo21_30Provider.java
index 76372cd..baabc61 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/Virgo21_30Provider.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/Virgo21_30Provider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SAP AG - initial implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.runtimes;
 
 import java.io.IOException;
@@ -26,75 +27,75 @@
 
 /**
  * {@link IServerRuntimeProvider} for Virgo Server 2.1.x through 3.0.x.
- * 
+ *
  * @author Borislav Kapukaranov
  * @author Miles Parker
  */
 public class Virgo21_30Provider extends VirgoRuntimeProvider {
 
-	// Assumes Stateless
-	public static final VirgoRuntimeProvider INSTANCE = new Virgo21_30Provider();
+    // Assumes Stateless
+    public static final VirgoRuntimeProvider INSTANCE = new Virgo21_30Provider();
 
-	public static final String LEGACY_CONNECTOR_BUNDLE_NAME = "org.eclipse.virgo.ide.management.remote_1.0.0.201203091803.jar"; //$NON-NLS-1$
+    public static final String LEGACY_CONNECTOR_BUNDLE_NAME = "org.eclipse.virgo.ide.management.remote_1.0.0.201203091803.jar"; //$NON-NLS-1$
 
-	private Virgo21_30Provider() {
-	}
+    private Virgo21_30Provider() {
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getRuntimeClass() {
-		return "org.eclipse.virgo.osgi.launcher.Launcher";
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public String getRuntimeClass() {
+        return "org.eclipse.virgo.osgi.launcher.Launcher";
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String[] getRuntimeProgramArguments(IServerBehaviour behaviour) {
-		String serverHome = ServerUtils.getServer(behaviour).getRuntimeBaseDirectory().toOSString();
-		List<String> list = new ArrayList<String>();
-		list.add("-config \"" + serverHome + "/lib/org.eclipse.virgo.kernel.launch.properties\"");
-		list.add("-Forg.eclipse.virgo.kernel.home=\"" + serverHome + "\"");
-		list.add("-Forg.eclipse.virgo.kernel.config=\"" + serverHome + "/config," + serverHome + "/stage\"");
-		list.add("-Fosgi.configuration.area=\"" + serverHome + "/work/osgi/configuration\"");
-		list.add("-Fosgi.java.profile=\"file:" + serverHome + "/lib/java6-server.profile\"");
-		list.add("-Fosgi.clean=true");
-		return list.toArray(new String[list.size()]);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public String[] getRuntimeProgramArguments(IServerBehaviour behaviour) {
+        String serverHome = ServerUtils.getServer(behaviour).getRuntimeBaseDirectory().toOSString();
+        List<String> list = new ArrayList<String>();
+        list.add("-config \"" + serverHome + "/lib/org.eclipse.virgo.kernel.launch.properties\"");
+        list.add("-Forg.eclipse.virgo.kernel.home=\"" + serverHome + "\"");
+        list.add("-Forg.eclipse.virgo.kernel.config=\"" + serverHome + "/config," + serverHome + "/stage\"");
+        list.add("-Fosgi.configuration.area=\"" + serverHome + "/work/osgi/configuration\"");
+        list.add("-Fosgi.java.profile=\"file:" + serverHome + "/lib/java6-server.profile\"");
+        list.add("-Fosgi.clean=true");
+        return list.toArray(new String[list.size()]);
+    }
 
-	@Override
-	public String getSupportedVersions() {
-		return "2.1-3.0";
-	}
+    @Override
+    public String getSupportedVersions() {
+        return "2.1-3.0";
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#createDependencyLocator(org.eclipse.wst.server.core.IRuntime,
-	 *      java.lang.String, java.lang.String[], java.lang.String,
-	 *      org.eclipse.virgo.ide.manifest.core.dependencies.IDependencyLocator.JavaVersion)
-	 */
-	public IDependencyLocator createDependencyLocator(IRuntime runtime, String serverHomePath,
-			String[] additionalSearchPaths, String indexDirectoryPath, JavaVersion javaVersion) throws IOException {
-		return new Pre35DependencyLocatorVirgo(serverHomePath, additionalSearchPaths, indexDirectoryPath, javaVersion);
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#createDependencyLocator(org.eclipse.wst.server.core.IRuntime,
+     *      java.lang.String, java.lang.String[], java.lang.String,
+     *      org.eclipse.virgo.ide.manifest.core.dependencies.IDependencyLocator.JavaVersion)
+     */
+    public IDependencyLocator createDependencyLocator(IRuntime runtime, String serverHomePath, String[] additionalSearchPaths,
+        String indexDirectoryPath, JavaVersion javaVersion) throws IOException {
+        return new Pre35DependencyLocatorVirgo(serverHomePath, additionalSearchPaths, indexDirectoryPath, javaVersion);
+    }
 
-	public URI getConnectorBundleUri() {
-		return ServerCorePlugin.getDefault().getBundleUri(LEGACY_CONNECTOR_BUNDLE_NAME);
-	}
+    public URI getConnectorBundleUri() {
+        return ServerCorePlugin.getDefault().getBundleUri(LEGACY_CONNECTOR_BUNDLE_NAME);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public String getConfigurationDir() {
-		return "config";
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String getConfigurationDir() {
+        return "config";
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	String getProfileDir() {
-		return "lib";
-	}
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    String getProfileDir() {
+        return "lib";
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/Virgo35Provider.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/Virgo35Provider.java
index 6cb5986..1b192ef 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/Virgo35Provider.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/Virgo35Provider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SAP AG - initial implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.runtimes;
 
 import java.io.File;
@@ -43,147 +44,149 @@
  */
 public class Virgo35Provider extends VirgoRuntimeProvider {
 
-	// Assumes Stateless
-	public static final VirgoRuntimeProvider INSTANCE = new Virgo35Provider();
+    // Assumes Stateless
+    public static final VirgoRuntimeProvider INSTANCE = new Virgo35Provider();
 
-	public static final String GEMINI_CONNECTOR_BUNDLE_NAME = "org.eclipse.virgo.ide.management.remote_3.5.0.201208291630.jar"; //$NON-NLS-1$
+    public static final String GEMINI_CONNECTOR_BUNDLE_NAME = "org.eclipse.virgo.ide.management.remote_3.5.0.201208291630.jar"; //$NON-NLS-1$
 
-	private Virgo35Provider() {
-	}
+    private Virgo35Provider() {
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getRuntimeClass() {
-		return "org.eclipse.equinox.launcher.Main";
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public String getRuntimeClass() {
+        return "org.eclipse.equinox.launcher.Main";
+    }
 
-	@Override
-	public String getConfigurationDir() {
-		return "configuration";
-	}
+    @Override
+    public String getConfigurationDir() {
+        return "configuration";
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getProfileDir()
-	 */
-	@Override
-	String getProfileDir() {
-		return getConfigurationDir();
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getProfileDir()
+     */
+    @Override
+    String getProfileDir() {
+        return getConfigurationDir();
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeClasspath(org.eclipse.core.runtime.IPath)
-	 */
-	@Override
-	public List<IRuntimeClasspathEntry> getRuntimeClasspath(IPath installPath) {
-		List<IRuntimeClasspathEntry> cp = super.getRuntimeClasspath(installPath);
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeClasspath(org.eclipse.core.runtime.IPath)
+     */
+    @Override
+    public List<IRuntimeClasspathEntry> getRuntimeClasspath(IPath installPath) {
+        List<IRuntimeClasspathEntry> cp = super.getRuntimeClasspath(installPath);
 
-		IPath pluginsPath = installPath.append("plugins");
-		if (pluginsPath.toFile().exists()) {
-			File pluginsFolder = pluginsPath.toFile();
-			for (File library : pluginsFolder.listFiles(new FileFilter() {
-				public boolean accept(File pathname) {
-					return pathname.isFile() && pathname.toString().endsWith(".jar")
-							&& pathname.toString().contains("org.eclipse.osgi_")
-							&& pathname.toString().contains("org.eclipse.equinox.console.supportability_");
-				}
-			})) {
-				IPath path = pluginsPath.append(library.getName());
-				cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-			}
-		}
+        IPath pluginsPath = installPath.append("plugins");
+        if (pluginsPath.toFile().exists()) {
+            File pluginsFolder = pluginsPath.toFile();
+            for (File library : pluginsFolder.listFiles(new FileFilter() {
 
-		return cp;
-	}
+                public boolean accept(File pathname) {
+                    return pathname.isFile() && pathname.toString().endsWith(".jar") && pathname.toString().contains("org.eclipse.osgi_")
+                        && pathname.toString().contains("org.eclipse.equinox.console.supportability_");
+                }
+            })) {
+                IPath path = pluginsPath.append(library.getName());
+                cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
+            }
+        }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String[] getRuntimeProgramArguments(IServerBehaviour behaviour) {
-		List<String> list = new ArrayList<String>();
-		list.add("-noExit");
-		return list.toArray(new String[list.size()]);
-	}
+        return cp;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	@Override
-	public String[] getRuntimeVMArguments(IServerBehaviour behaviour, IPath installPath, IPath configPath,
-			IPath deployPath) {
-		String[] commonArguments = super.getRuntimeVMArguments(behaviour, installPath, configPath, deployPath);
-		String serverHome = ServerUtils.getServer(behaviour).getRuntimeBaseDirectory().toOSString();
-		List<String> list = new ArrayList<String>();
-		list.addAll(Arrays.asList(commonArguments));
+    /**
+     * {@inheritDoc}
+     */
+    public String[] getRuntimeProgramArguments(IServerBehaviour behaviour) {
+        List<String> list = new ArrayList<String>();
+        list.add("-noExit");
+        return list.toArray(new String[list.size()]);
+    }
 
-		list.add("-Dorg.eclipse.virgo.kernel.config=" + serverHome + "/" + getConfigurationDir() + "," + serverHome
-				+ "/stage");
-		list.add("-Dosgi.java.profile=file:" + serverHome + "/" + getConfigurationDir() + "/java6-server.profile");
-		list.add("-Declipse.ignoreApp=true");
-		list.add("-Dosgi.install.area=" + serverHome);
-		list.add("-Dosgi.configuration.area=" + serverHome + "/work");
-		list.add("-Dssh.server.keystore=" + serverHome + "/" + getConfigurationDir() + "/hostkey.ser");
-		list.add("-Djava.endorsed.dirs=\"" + serverHome + "/lib/endorsed\"");
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String[] getRuntimeVMArguments(IServerBehaviour behaviour, IPath installPath, IPath configPath, IPath deployPath) {
+        String[] commonArguments = super.getRuntimeVMArguments(behaviour, installPath, configPath, deployPath);
+        String serverHome = ServerUtils.getServer(behaviour).getRuntimeBaseDirectory().toOSString();
+        List<String> list = new ArrayList<String>();
+        list.addAll(Arrays.asList(commonArguments));
 
-		String fwClassPath = createFWClassPath(serverHome);
+        list.add("-Dorg.eclipse.virgo.kernel.config=" + serverHome + "/" + getConfigurationDir() + "," + serverHome + "/stage");
+        list.add("-Dosgi.java.profile=file:" + serverHome + "/" + getConfigurationDir() + "/java6-server.profile");
+        list.add("-Declipse.ignoreApp=true");
+        list.add("-Dosgi.install.area=" + serverHome);
+        list.add("-Dosgi.configuration.area=" + serverHome + "/work");
+        list.add("-Dssh.server.keystore=" + serverHome + "/" + getConfigurationDir() + "/hostkey.ser");
+        list.add("-Djava.endorsed.dirs=\"" + serverHome + "/lib/endorsed\"");
 
-		list.add("-Dosgi.frameworkClassPath=" + fwClassPath);
+        String fwClassPath = createFWClassPath(serverHome);
 
-		return list.toArray(new String[list.size()]);
-	}
+        list.add("-Dosgi.frameworkClassPath=" + fwClassPath);
 
-	private String createFWClassPath(String serverHome) {
-		StringBuilder fwClassPath = new StringBuilder();
-		File libDir = new File(serverHome + "/lib");
-		if (libDir.exists()) {
-			for (File file : libDir.listFiles()) {
-				if (file.getName().endsWith(".jar")) {
-					fwClassPath.append("file:" + file.getAbsolutePath() + ",");
-				}
-			}
-		}
-		File plugins = new File(serverHome + "/plugins");
-		if (plugins.exists()) {
-			for (File file : plugins.listFiles()) {
-				if (file.getName().contains("org.eclipse.osgi_")) {
-					fwClassPath.append("file:" + file.getAbsolutePath() + ",");
-				}
-				if (file.getName().contains("org.eclipse.equinox.console.supportability_")) {
-					fwClassPath.append("file:" + file.getAbsolutePath() + ",");
-				}
-			}
-		}
-		fwClassPath.deleteCharAt(fwClassPath.length() - 1);
-		return fwClassPath.toString();
-	}
+        return list.toArray(new String[list.size()]);
+    }
 
-	@Override
-	public String getSupportedVersions() {
-		return "3.5+";
-	}
+    private String createFWClassPath(String serverHome) {
+        StringBuilder fwClassPath = new StringBuilder();
+        File libDir = new File(serverHome + "/lib");
+        if (libDir.exists()) {
+            for (File file : libDir.listFiles()) {
+                if (file.getName().endsWith(".jar")) {
+                    fwClassPath.append("file:" + file.getAbsolutePath() + ",");
+                }
+            }
+        }
+        File plugins = new File(serverHome + "/plugins");
+        if (plugins.exists()) {
+            for (File file : plugins.listFiles()) {
+                if (file.getName().contains("org.eclipse.osgi_")) {
+                    fwClassPath.append("file:" + file.getAbsolutePath() + ",");
+                }
+                if (file.getName().contains("org.eclipse.equinox.console.supportability_")) {
+                    fwClassPath.append("file:" + file.getAbsolutePath() + ",");
+                }
+            }
+        }
+        fwClassPath.deleteCharAt(fwClassPath.length() - 1);
+        return fwClassPath.toString();
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#createDependencyLocator(org.eclipse.wst.server.core.IRuntime,
-	 *      java.lang.String, java.lang.String[], java.lang.String,
-	 *      org.eclipse.virgo.ide.manifest.core.dependencies.IDependencyLocator.JavaVersion)
-	 */
-	public IDependencyLocator createDependencyLocator(IRuntime runtime, String serverHomePath,
-			String[] additionalSearchPaths, String indexDirectoryPath, JavaVersion javaVersion) throws IOException {
-		return new DependencyLocatorVirgo(serverHomePath, additionalSearchPaths, indexDirectoryPath, javaVersion);
-	}
+    @Override
+    public String getSupportedVersions() {
+        return "3.5+";
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getConnectorBundleUri()
-	 */
-	public URI getConnectorBundleUri() {
-		return ServerCorePlugin.getDefault().getBundleUri(GEMINI_CONNECTOR_BUNDLE_NAME);
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#createDependencyLocator(org.eclipse.wst.server.core.IRuntime,
+     *      java.lang.String, java.lang.String[], java.lang.String,
+     *      org.eclipse.virgo.ide.manifest.core.dependencies.IDependencyLocator.JavaVersion)
+     */
+    public IDependencyLocator createDependencyLocator(IRuntime runtime, String serverHomePath, String[] additionalSearchPaths,
+        String indexDirectoryPath, JavaVersion javaVersion) throws IOException {
+        return new DependencyLocatorVirgo(serverHomePath, additionalSearchPaths, indexDirectoryPath, javaVersion);
+    }
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getServerDeployCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour, org.eclipse.wst.server.core.IModule)
-	 */
-	@Override
-	public IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour IServerBehaviour, IModule module) {
-		return new JmxServerDeployCommand(IServerBehaviour, module, true);
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getConnectorBundleUri()
+     */
+    public URI getConnectorBundleUri() {
+        return ServerCorePlugin.getDefault().getBundleUri(GEMINI_CONNECTOR_BUNDLE_NAME);
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see
+     * org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getServerDeployCommand(org.eclipse.
+     * virgo.ide.runtime.core.IServerBehaviour, org.eclipse.wst.server.core.IModule)
+     */
+    @Override
+    public IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour IServerBehaviour, IModule module) {
+        return new JmxServerDeployCommand(IServerBehaviour, module, true);
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/VirgoRuntimeProvider.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/VirgoRuntimeProvider.java
index f986cd9..a0be498 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/VirgoRuntimeProvider.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/runtimes/VirgoRuntimeProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.runtimes;
 
 import java.io.File;
@@ -62,384 +63,379 @@
  */
 public abstract class VirgoRuntimeProvider implements IServerRuntimeProvider {
 
-	private static final String EXT_DIR = "ext";
+    private static final String EXT_DIR = "ext";
 
-	private static final String USR_DIR = "usr";
+    private static final String USR_DIR = "usr";
 
-	private static final String REPOSITORY_DIR = "repository";
+    private static final String REPOSITORY_DIR = "repository";
 
-	public static final String SERVER_VIRGO_BASE = "org.eclipse.virgo.server.runtime.virgo";
+    public static final String SERVER_VIRGO_BASE = "org.eclipse.virgo.server.runtime.virgo";
 
-	private static final String BUNDLE_OBJECT_NAME = "org.eclipse.virgo.kernel:type=Model,artifact-type=bundle,name=$NAME,version=$VERSION";
+    private static final String BUNDLE_OBJECT_NAME = "org.eclipse.virgo.kernel:type=Model,artifact-type=bundle,name=$NAME,version=$VERSION";
 
-	private static final String DEPLOYER_MBEAN_NAME = "org.eclipse.virgo.kernel:category=Control,type=Deployer";
+    private static final String DEPLOYER_MBEAN_NAME = "org.eclipse.virgo.kernel:category=Control,type=Deployer";
 
-	private static final String PAR_OBJECT_NAME = "org.eclipse.virgo.kernel:type=Model,artifact-type=par,name=$NAME,version=$VERSION";
+    private static final String PAR_OBJECT_NAME = "org.eclipse.virgo.kernel:type=Model,artifact-type=par,name=$NAME,version=$VERSION";
 
-	private static final String PLAN_OBJECT_NAME = "org.eclipse.virgo.kernel:type=Model,artifact-type=plan,name=$NAME,version=$VERSION";
+    private static final String PLAN_OBJECT_NAME = "org.eclipse.virgo.kernel:type=Model,artifact-type=plan,name=$NAME,version=$VERSION";
 
-	private static final String RECOVERY_MONITOR_MBEAN_NAME = "org.eclipse.virgo.kernel:category=Control,type=RecoveryMonitor";
+    private static final String RECOVERY_MONITOR_MBEAN_NAME = "org.eclipse.virgo.kernel:category=Control,type=RecoveryMonitor";
 
-	private static final String SHUTDOWN_MBEAN_NAME = "org.eclipse.virgo.kernel:type=Shutdown";
+    private static final String SHUTDOWN_MBEAN_NAME = "org.eclipse.virgo.kernel:type=Shutdown";
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getDeployerMBeanName() {
-		return DEPLOYER_MBEAN_NAME;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public String getDeployerMBeanName() {
+        return DEPLOYER_MBEAN_NAME;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getRecoveryMonitorMBeanName() {
-		return RECOVERY_MONITOR_MBEAN_NAME;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public String getRecoveryMonitorMBeanName() {
+        return RECOVERY_MONITOR_MBEAN_NAME;
+    }
 
-	/**
-	 * {@inheritDoc} Provides generic runtime arguments shared by all versions.
-	 */
-	public String[] getRuntimeVMArguments(IServerBehaviour behaviour, IPath installPath, IPath configPath,
-			IPath deployPath) {
-		String serverHome = ServerUtils.getServer(behaviour).getRuntimeBaseDirectory().toOSString();
-		String absConfigDir = serverHome + "/" + getConfigurationDir();
-		List<String> list = new ArrayList<String>();
-		list.add("-XX:+HeapDumpOnOutOfMemoryError");
-		list.add("-XX:ErrorFile=\"" + serverHome + "/serviceability/error.log\"");
-		list.add("-XX:HeapDumpPath=\"" + serverHome + "/serviceability/heap_dump.hprof\"");
-		list.add("-XX:MaxPermSize=" + ServerUtils.getServer(behaviour).getMaxPermSize());
-		list.add("-Djava.rmi.server.hostname=127.0.0.1");
-		list.add("-Dorg.eclipse.virgo.kernel.home=\"" + serverHome + "\"");
-		list.add("-Djava.io.tmpdir=\"" + serverHome + "/work/tmp/\"");
-		list.add("-Dcom.sun.management.jmxremote");
-		list.add("-Dssh.server.keystore=\"" + absConfigDir + "/hostkey.ser\"");
-		list.add("-Dcom.sun.management.jmxremote.port=" + ServerUtils.getServer(behaviour).getMBeanServerPort());
-		list.add("-Dcom.sun.management.jmxremote.authenticate=false");
-		list.add("-Dcom.sun.management.jmxremote.ssl=false");
-		list.add("-Dorg.eclipse.virgo.kernel.authentication.file=\"" + absConfigDir
-				+ "/org.eclipse.virgo.kernel.users.properties\"");
-		list.add("-Djava.security.auth.login.config=\"" + absConfigDir
-				+ "/org.eclipse.virgo.kernel.authentication.config\"");
-		if (getInstallationType(ServerUtils.getServer(behaviour).getRuntime().getRuntime()) == InstallationType.JETTY) {
-			list.add("-Djetty.home=\"" + serverHome + "/jetty\"");
-		}
-		return list.toArray(new String[list.size()]);
-	}
+    /**
+     * {@inheritDoc} Provides generic runtime arguments shared by all versions.
+     */
+    public String[] getRuntimeVMArguments(IServerBehaviour behaviour, IPath installPath, IPath configPath, IPath deployPath) {
+        String serverHome = ServerUtils.getServer(behaviour).getRuntimeBaseDirectory().toOSString();
+        String absConfigDir = serverHome + "/" + getConfigurationDir();
+        List<String> list = new ArrayList<String>();
+        list.add("-XX:+HeapDumpOnOutOfMemoryError");
+        list.add("-XX:ErrorFile=\"" + serverHome + "/serviceability/error.log\"");
+        list.add("-XX:HeapDumpPath=\"" + serverHome + "/serviceability/heap_dump.hprof\"");
+        list.add("-XX:MaxPermSize=" + ServerUtils.getServer(behaviour).getMaxPermSize());
+        list.add("-Djava.rmi.server.hostname=127.0.0.1");
+        list.add("-Dorg.eclipse.virgo.kernel.home=\"" + serverHome + "\"");
+        list.add("-Djava.io.tmpdir=\"" + serverHome + "/work/tmp/\"");
+        list.add("-Dcom.sun.management.jmxremote");
+        list.add("-Dssh.server.keystore=\"" + absConfigDir + "/hostkey.ser\"");
+        list.add("-Dcom.sun.management.jmxremote.port=" + ServerUtils.getServer(behaviour).getMBeanServerPort());
+        list.add("-Dcom.sun.management.jmxremote.authenticate=false");
+        list.add("-Dcom.sun.management.jmxremote.ssl=false");
+        list.add("-Dorg.eclipse.virgo.kernel.authentication.file=\"" + absConfigDir + "/org.eclipse.virgo.kernel.users.properties\"");
+        list.add("-Djava.security.auth.login.config=\"" + absConfigDir + "/org.eclipse.virgo.kernel.authentication.config\"");
+        if (getInstallationType(ServerUtils.getServer(behaviour).getRuntime().getRuntime()) == InstallationType.JETTY) {
+            list.add("-Djetty.home=\"" + serverHome + "/jetty\"");
+        }
+        return list.toArray(new String[list.size()]);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public IServerCommand<Void> getServerUndeployCommand(IServerBehaviour serverBehaviour, IModule module) {
-		return new JmxServerUndeployCommand(serverBehaviour, module);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public IServerCommand<Void> getServerUndeployCommand(IServerBehaviour serverBehaviour, IModule module) {
+        return new JmxServerUndeployCommand(serverBehaviour, module);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public IServerCommand<Void> getServerUpdateCommand(IServerBehaviour serverBehaviour, IModule module,
-			IModuleFile moduleFile, DeploymentIdentity identity, String bundleSymbolicName, String targetPath) {
-		return new JmxServerUpdateCommand(serverBehaviour, module, moduleFile, identity, bundleSymbolicName,
-				targetPath, BUNDLE_OBJECT_NAME, PAR_OBJECT_NAME, PLAN_OBJECT_NAME);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public IServerCommand<Void> getServerUpdateCommand(IServerBehaviour serverBehaviour, IModule module, IModuleFile moduleFile,
+        DeploymentIdentity identity, String bundleSymbolicName, String targetPath) {
+        return new JmxServerUpdateCommand(serverBehaviour, module, moduleFile, identity, bundleSymbolicName, targetPath, BUNDLE_OBJECT_NAME,
+            PAR_OBJECT_NAME, PLAN_OBJECT_NAME);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getShutdownMBeanName() {
-		return SHUTDOWN_MBEAN_NAME;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public String getShutdownMBeanName() {
+        return SHUTDOWN_MBEAN_NAME;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @throws IOException
-	 */
-	public Properties getProperties(IPath installPath, String type) throws IOException {
-		String version = installPath.append("lib").append("." + type).toOSString();
-		File versionFile = new File(version);
-		if (versionFile.exists()) {
-			InputStream is = null;
-			is = new FileInputStream(versionFile);
-			Properties versionProperties = new Properties();
-			versionProperties.load(is);
-			try {
-				is.close();
-			} catch (IOException e) {
-			}
-			return versionProperties;
-		} else {
-			throw new IOException("Installation does not contain a properties file. Path: " + installPath);
-		}
-	}
+    /**
+     * {@inheritDoc}
+     *
+     * @throws IOException
+     */
+    public Properties getProperties(IPath installPath, String type) throws IOException {
+        String version = installPath.append("lib").append("." + type).toOSString();
+        File versionFile = new File(version);
+        if (versionFile.exists()) {
+            InputStream is = null;
+            is = new FileInputStream(versionFile);
+            Properties versionProperties = new Properties();
+            versionProperties.load(is);
+            try {
+                is.close();
+            } catch (IOException e) {
+            }
+            return versionProperties;
+        } else {
+            throw new IOException("Installation does not contain a properties file. Path: " + installPath);
+        }
+    }
 
-	protected String getRepositoryConfigurationFileName() {
-		return "org.eclipse.virgo.repository.properties";
-	}
+    protected String getRepositoryConfigurationFileName() {
+        return "org.eclipse.virgo.repository.properties";
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public IStatus canAddModule(IModule module) {
-		return Status.OK_STATUS;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public IStatus canAddModule(IModule module) {
+        return Status.OK_STATUS;
+    }
 
-	public IServerCommand<Boolean> getServerPingCommand(IServerBehaviour IServerBehaviour) {
-		return new JmxServerPingCommand(IServerBehaviour);
-	}
+    public IServerCommand<Boolean> getServerPingCommand(IServerBehaviour IServerBehaviour) {
+        return new JmxServerPingCommand(IServerBehaviour);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public IServerCommand<Void> getServerShutdownCommand(IServerBehaviour IServerBehaviour) {
-		return new JmxServerShutdownCommand(IServerBehaviour);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public IServerCommand<Void> getServerShutdownCommand(IServerBehaviour IServerBehaviour) {
+        return new JmxServerShutdownCommand(IServerBehaviour);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public IServerCommand<Void> getServerRefreshCommand(IServerBehaviour IServerBehaviour, IModule module,
-			String bundleSymbolicName) {
-		return new JmxServerRefreshCommand(IServerBehaviour, module, bundleSymbolicName);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public IServerCommand<Void> getServerRefreshCommand(IServerBehaviour IServerBehaviour, IModule module, String bundleSymbolicName) {
+        return new JmxServerRefreshCommand(IServerBehaviour, module, bundleSymbolicName);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String[] getExcludedRuntimeProgramArguments(boolean starting) {
-		List<String> list = new ArrayList<String>();
-		return list.toArray(new String[list.size()]);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public String[] getExcludedRuntimeProgramArguments(boolean starting) {
+        List<String> list = new ArrayList<String>();
+        return list.toArray(new String[list.size()]);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getConfigPath(IRuntime runtime) {
-		return runtime.getLocation().append(getConfigurationDir()).append("server.config").toString();
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public String getConfigPath(IRuntime runtime) {
+        return runtime.getLocation().append(getConfigurationDir()).append("server.config").toString();
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getProfilePath(IRuntime runtime) {
-		return runtime.getLocation().append(getProfileDir()).append("java6-server.profile").toString();
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public String getProfilePath(IRuntime runtime) {
+        return runtime.getLocation().append(getProfileDir()).append("java6-server.profile").toString();
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public IPath getRuntimeBaseDirectory(IServer server) {
-		return server.getRuntime().getLocation();
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public IPath getRuntimeBaseDirectory(IServer server) {
+        return server.getRuntime().getLocation();
+    }
 
-	/**
-	 * Provides runtime class path common to server versions.
-	 *
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeClasspath(org.eclipse.core.runtime.IPath)
-	 */
-	public List<IRuntimeClasspathEntry> getRuntimeClasspath(IPath installPath) {
-		List<IRuntimeClasspathEntry> cp = new ArrayList<IRuntimeClasspathEntry>();
+    /**
+     * Provides runtime class path common to server versions.
+     *
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getRuntimeClasspath(org.eclipse.core.runtime.IPath)
+     */
+    public List<IRuntimeClasspathEntry> getRuntimeClasspath(IPath installPath) {
+        List<IRuntimeClasspathEntry> cp = new ArrayList<IRuntimeClasspathEntry>();
 
-		IPath binPath = installPath.append("lib");
-		if (binPath.toFile().exists()) {
-			File libFolder = binPath.toFile();
-			for (File library : libFolder.listFiles(new FileFilter() {
-				public boolean accept(File pathname) {
-					return pathname.isFile() && pathname.toString().endsWith(".jar");
-				}
-			})) {
-				IPath path = binPath.append(library.getName());
-				cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
-			}
-		}
+        IPath binPath = installPath.append("lib");
+        if (binPath.toFile().exists()) {
+            File libFolder = binPath.toFile();
+            for (File library : libFolder.listFiles(new FileFilter() {
 
-		return cp;
-	}
+                public boolean accept(File pathname) {
+                    return pathname.isFile() && pathname.toString().endsWith(".jar");
+                }
+            })) {
+                IPath path = binPath.append(library.getName());
+                cp.add(JavaRuntime.newArchiveRuntimeClasspathEntry(path));
+            }
+        }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getUserLevelBundleRepositoryPath(IRuntime runtime) {
-		return runtime.getLocation().append(REPOSITORY_DIR).append(USR_DIR).toString();
-	}
+        return cp;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public String getUserLevelLibraryRepositoryPath(IRuntime runtime) {
-		return runtime.getLocation().append(REPOSITORY_DIR).append(USR_DIR).toString();
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public String getUserLevelBundleRepositoryPath(IRuntime runtime) {
+        return runtime.getLocation().append(REPOSITORY_DIR).append(USR_DIR).toString();
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getExtLevelBundleRepositoryPath(org.eclipse.wst.server.core.IRuntime)
-	 */
-	public String getExtLevelBundleRepositoryPath(IRuntime runtime) {
-		return runtime.getLocation().append(REPOSITORY_DIR).append(EXT_DIR).toString();
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public String getUserLevelLibraryRepositoryPath(IRuntime runtime) {
+        return runtime.getLocation().append(REPOSITORY_DIR).append(USR_DIR).toString();
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour IServerBehaviour, IModule module) {
-		return new JmxServerDeployCommand(IServerBehaviour, module);
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getExtLevelBundleRepositoryPath(org.eclipse.wst.server.core.IRuntime)
+     */
+    public String getExtLevelBundleRepositoryPath(IRuntime runtime) {
+        return runtime.getLocation().append(REPOSITORY_DIR).append(EXT_DIR).toString();
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public IServerCommand<Map<Long, IBundle>> getServerBundleAdminCommand(IServerBehaviour serverBehaviour) {
-		return new JmxBundleAdminServerCommand(serverBehaviour);
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour IServerBehaviour, IModule module) {
+        return new JmxServerDeployCommand(IServerBehaviour, module);
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerDeployCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
-	 */
-	public IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour serverBehaviour) {
-		return new GenericJmxServerDeployCommand(serverBehaviour, getConnectorBundleUri());
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public IServerCommand<Map<Long, IBundle>> getServerBundleAdminCommand(IServerBehaviour serverBehaviour) {
+        return new JmxBundleAdminServerCommand(serverBehaviour);
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public IServerCommand<String> getServerBundleAdminExecuteCommand(IServerBehaviour serverBehaviour, String command) {
-		return new JmxBundleAdminExecuteCommand(serverBehaviour, command);
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.core.IServerRuntimeProvider#getServerDeployCommand(org.eclipse.virgo.ide.runtime.core.IServerBehaviour)
+     */
+    public IServerCommand<DeploymentIdentity> getServerDeployCommand(IServerBehaviour serverBehaviour) {
+        return new GenericJmxServerDeployCommand(serverBehaviour, getConnectorBundleUri());
+    }
 
-	private void createRepositoryConfiguration(IServerBehaviour serverBehaviour, String fileName) {
-		// copy repository.properties into the stage and add the stage
-		// repository
-		File serverHome = ServerUtils.getServer(serverBehaviour).getRuntimeBaseDirectory().toFile();
-		Properties properties = new Properties();
-		try {
-			properties.load(new FileInputStream(new File(serverHome, getConfigurationDir() + File.separatorChar
-					+ fileName)));
-		} catch (FileNotFoundException e) {
-			// TODO CD add logging
-		} catch (IOException e) {
-			// TODO CD add logging
-		}
+    /**
+     * {@inheritDoc}
+     */
+    public IServerCommand<String> getServerBundleAdminExecuteCommand(IServerBehaviour serverBehaviour, String command) {
+        return new JmxBundleAdminExecuteCommand(serverBehaviour, command);
+    }
 
-		properties.put("stage.type", "watched");
-		properties.put("stage.watchDirectory", "stage");
+    private void createRepositoryConfiguration(IServerBehaviour serverBehaviour, String fileName) {
+        // copy repository.properties into the stage and add the stage
+        // repository
+        File serverHome = ServerUtils.getServer(serverBehaviour).getRuntimeBaseDirectory().toFile();
+        Properties properties = new Properties();
+        try {
+            properties.load(new FileInputStream(new File(serverHome, getConfigurationDir() + File.separatorChar + fileName)));
+        } catch (FileNotFoundException e) {
+            // TODO CD add logging
+        } catch (IOException e) {
+            // TODO CD add logging
+        }
 
-		String chain = properties.getProperty("chain");
-		chain = "stage" + (StringUtils.hasLength(chain) ? "," + chain : "");
-		properties.put("chain", chain);
+        properties.put("stage.type", "watched");
+        properties.put("stage.watchDirectory", "stage");
 
-		try {
-			File stageDirectory = new File(serverHome, "stage");
-			if (!stageDirectory.exists()) {
-				stageDirectory.mkdirs();
-			}
-			properties.store(new FileOutputStream(new File(serverHome, "stage" + File.separator + fileName)),
-					"Generated by Virgo IDE " + ServerCorePlugin.getDefault().getBundle().getVersion());
-		} catch (FileNotFoundException e) {
-			// TODO CD add logging
-		} catch (IOException e) {
-			// TODO CD add logging
-		}
-	}
+        String chain = properties.getProperty("chain");
+        chain = "stage" + (StringUtils.hasLength(chain) ? "," + chain : "");
+        properties.put("chain", chain);
 
-	public void preStartup(IServerBehaviour serverBehaviour) {
-		File serverHome = ServerUtils.getServer(serverBehaviour).getRuntimeBaseDirectory().toFile();
-		File workFolder = new File(serverHome, "work");
-		if (ServerUtils.getServer(serverBehaviour).shouldCleanStartup()) {
-			PublishHelper.deleteDirectory(workFolder, new NullProgressMonitor());
-			PublishHelper.deleteDirectory(new File(serverHome, "serviceability"), new NullProgressMonitor());
-		}
-		new File(workFolder, "tmp").mkdirs(); // Fix 464814
-		createRepositoryConfiguration(serverBehaviour, getRepositoryConfigurationFileName());
-	}
+        try {
+            File stageDirectory = new File(serverHome, "stage");
+            if (!stageDirectory.exists()) {
+                stageDirectory.mkdirs();
+            }
+            properties.store(new FileOutputStream(new File(serverHome, "stage" + File.separator + fileName)),
+                "Generated by Virgo IDE " + ServerCorePlugin.getDefault().getBundle().getVersion());
+        } catch (FileNotFoundException e) {
+            // TODO CD add logging
+        } catch (IOException e) {
+            // TODO CD add logging
+        }
+    }
 
-	public boolean isHandlerFor(IRuntime runtime) {
-		IPath configPath = runtime.getLocation().append(getConfigurationDir());
-		File configDir = configPath.toFile();
-		return configDir.exists();
-	}
+    public void preStartup(IServerBehaviour serverBehaviour) {
+        File serverHome = ServerUtils.getServer(serverBehaviour).getRuntimeBaseDirectory().toFile();
+        File workFolder = new File(serverHome, "work");
+        if (ServerUtils.getServer(serverBehaviour).shouldCleanStartup()) {
+            PublishHelper.deleteDirectory(workFolder, new NullProgressMonitor());
+            PublishHelper.deleteDirectory(new File(serverHome, "serviceability"), new NullProgressMonitor());
+        }
+        new File(workFolder, "tmp").mkdirs(); // Fix 464814
+        createRepositoryConfiguration(serverBehaviour, getRepositoryConfigurationFileName());
+    }
 
-	/**
-	 * {@inheritDoc}
-	 */
-	public IStatus verifyInstallation(IRuntime runtime) {
-		InstallationType installation = getInstallationType(runtime);
-		if (installation == null) {
-			return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID,
-					"Invalid Virgo Server: Could not determine version.");
-		}
-		return new Status(IStatus.OK, ServerCorePlugin.PLUGIN_ID, "Valid installation: " + getName(runtime) + ".");
-	}
+    public boolean isHandlerFor(IRuntime runtime) {
+        IPath configPath = runtime.getLocation().append(getConfigurationDir());
+        File configDir = configPath.toFile();
+        return configDir.exists();
+    }
 
-	public InstallationType getInstallationType(IRuntime runtime) {
-		Properties versionProperties;
-		IPath location = runtime.getLocation();
-		try {
-			versionProperties = getProperties(location, "version");
-		} catch (IOException e) {
-			return null;
-		}
-		String versionString = versionProperties.getProperty("virgo.server.version");
-		if (versionString != null) {
-			if (location.append("jetty").toFile().exists()) {
-				return InstallationType.JETTY;
-			} else {
-				return InstallationType.TOMCAT;
-			}
-		}
-		versionString = versionProperties.getProperty("virgo.kernel.version");
-		if (versionString != null) {
-			return InstallationType.KERNEL;
-		}
-		versionString = versionProperties.getProperty("virgo.nano.version");
-		if (versionString != null) {
-			return InstallationType.NANO;
-		}
-		return null;
-	}
+    /**
+     * {@inheritDoc}
+     */
+    public IStatus verifyInstallation(IRuntime runtime) {
+        InstallationType installation = getInstallationType(runtime);
+        if (installation == null) {
+            return new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "Invalid Virgo Server: Could not determine version.");
+        }
+        return new Status(IStatus.OK, ServerCorePlugin.PLUGIN_ID, "Valid installation: " + getName(runtime) + ".");
+    }
 
-	public String getVersionName(IRuntime runtime) {
-		Properties versionProperties;
-		try {
-			versionProperties = getProperties(runtime.getLocation(), "version");
-		} catch (IOException e) {
-			return null;
-		}
-		String versionString = versionProperties.getProperty("virgo.server.version");
-		if (versionString == null) {
-			versionString = versionProperties.getProperty("virgo.kernel.version");
-		}
-		if (versionString == null) {
-			versionString = versionProperties.getProperty("virgo.nano.version");
-		}
-		if (versionString == null) {
-			versionString = "Unknown";
-		}
-		return versionString;
-	}
+    public InstallationType getInstallationType(IRuntime runtime) {
+        Properties versionProperties;
+        IPath location = runtime.getLocation();
+        try {
+            versionProperties = getProperties(location, "version");
+        } catch (IOException e) {
+            return null;
+        }
+        String versionString = versionProperties.getProperty("virgo.server.version");
+        if (versionString != null) {
+            if (location.append("jetty").toFile().exists()) {
+                return InstallationType.JETTY;
+            } else {
+                return InstallationType.TOMCAT;
+            }
+        }
+        versionString = versionProperties.getProperty("virgo.kernel.version");
+        if (versionString != null) {
+            return InstallationType.KERNEL;
+        }
+        versionString = versionProperties.getProperty("virgo.nano.version");
+        if (versionString != null) {
+            return InstallationType.NANO;
+        }
+        return null;
+    }
 
-	public String getName(IRuntime runtime) {
-		return getInstallationType(runtime).getName() + " v" + getVersionName(runtime);
-	}
+    public String getVersionName(IRuntime runtime) {
+        Properties versionProperties;
+        try {
+            versionProperties = getProperties(runtime.getLocation(), "version");
+        } catch (IOException e) {
+            return null;
+        }
+        String versionString = versionProperties.getProperty("virgo.server.version");
+        if (versionString == null) {
+            versionString = versionProperties.getProperty("virgo.kernel.version");
+        }
+        if (versionString == null) {
+            versionString = versionProperties.getProperty("virgo.nano.version");
+        }
+        if (versionString == null) {
+            versionString = "Unknown";
+        }
+        return versionString;
+    }
 
-	public abstract String getSupportedVersions();
+    public String getName(IRuntime runtime) {
+        return getInstallationType(runtime).getName() + " v" + getVersionName(runtime);
+    }
 
-	public abstract String getConfigurationDir();
+    public abstract String getSupportedVersions();
 
-	public String[] getServerPropertiesDirectories() {
-		return new String[] { getConfigurationDir(), "repository/ext" };
-	}
+    public abstract String getConfigurationDir();
 
-	public String[] getServerLogDirectories() {
-		return new String[] { getLogDir() + "/logs", getLogDir() + "/eventlogs" };
-	}
+    public String[] getServerPropertiesDirectories() {
+        return new String[] { getConfigurationDir(), "repository/ext" };
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getLogDir()
-	 */
-	public String getLogDir() {
-		return "serviceability";
-	}
+    public String[] getServerLogDirectories() {
+        return new String[] { getLogDir() + "/logs", getLogDir() + "/eventlogs" };
+    }
 
-	/**
-	 * Non-API
-	 */
-	abstract String getProfileDir();
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.core.runtimes.VirgoRuntimeProvider#getLogDir()
+     */
+    public String getLogDir() {
+        return "serviceability";
+    }
+
+    /**
+     * Non-API
+     */
+    abstract String getProfileDir();
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/utils/StatusUtil.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/utils/StatusUtil.java
index a91d060..1cc4c8a 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/utils/StatusUtil.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/utils/StatusUtil.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.utils;
 
 import java.io.IOException;
@@ -18,30 +19,29 @@
 import org.eclipse.virgo.ide.runtime.core.ServerCorePlugin;
 
 /**
- * 
+ *
  * @author mparker
- * 
+ *
  */
 public class StatusUtil {
-	public static void error(String message, Exception e) {
-		error(message, e, StatusManager.LOG);
-	}
-	/**
-	 * @param message
-	 *            the message to be reported
-	 * @param e
-	 *            the cause
-	 * @param style
-	 *            a bitmask of style bits as enumerated on {@link StatusManager}
-	 */
-	public static void error(String message, Exception e, int style) {
-		StatusManager.getManager().handle(
-				new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "An IO Exception occurred.", e), style);
-	}
-	public static void error(Exception e) {
-		if (e instanceof IOException) {
-			error("An IO Exception occurred.", e);
-		}
-		error("An unexpected exception occurred.", e);
-	}
+
+    public static void error(String message, Exception e) {
+        error(message, e, StatusManager.LOG);
+    }
+
+    /**
+     * @param message the message to be reported
+     * @param e the cause
+     * @param style a bitmask of style bits as enumerated on {@link StatusManager}
+     */
+    public static void error(String message, Exception e, int style) {
+        StatusManager.getManager().handle(new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "An IO Exception occurred.", e), style);
+    }
+
+    public static void error(Exception e) {
+        if (e instanceof IOException) {
+            error("An IO Exception occurred.", e);
+        }
+        error("An unexpected exception occurred.", e);
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/utils/WebDownloadUtils.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/utils/WebDownloadUtils.java
index c6b4116..d4ed932 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/utils/WebDownloadUtils.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/core/utils/WebDownloadUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.core.utils;
 
 import java.io.BufferedInputStream;
@@ -28,222 +29,217 @@
 import org.eclipse.core.net.proxy.IProxyData;
 import org.eclipse.core.net.proxy.IProxyService;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.virgo.ide.runtime.core.ServerCorePlugin;
 import org.osgi.framework.ServiceReference;
 
 /**
- * Utility to download files using Apache HTTPClient with using Eclipse's proxy
- * service.
- * 
+ * Utility to download files using Apache HTTPClient with using Eclipse's proxy service.
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class WebDownloadUtils {
 
-	private static final int CONNNECT_TIMEOUT = 60000;
+    private static final int CONNNECT_TIMEOUT = 60000;
 
-	private static final int HTTP_PORT = 80;
+    private static final int HTTP_PORT = 80;
 
-	private static final int SOCKET_TIMEOUT = 60000;
+    private static final int SOCKET_TIMEOUT = 60000;
 
-	private static Credentials getCredentials(IProxyData proxyData, String host) {
-		int i = proxyData.getUserId().indexOf("\\");
-		if (i > 0 && i < proxyData.getUserId().length() - 1) {
-			return new NTCredentials(proxyData.getUserId().substring(i + 1), proxyData.getPassword(), host, proxyData
-					.getUserId().substring(0, i));
-		} else {
-			return new UsernamePasswordCredentials(proxyData.getUserId(), proxyData.getPassword());
-		}
-	}
+    private static Credentials getCredentials(IProxyData proxyData, String host) {
+        int i = proxyData.getUserId().indexOf("\\");
+        if (i > 0 && i < proxyData.getUserId().length() - 1) {
+            return new NTCredentials(proxyData.getUserId().substring(i + 1), proxyData.getPassword(), host, proxyData.getUserId().substring(0, i));
+        } else {
+            return new UsernamePasswordCredentials(proxyData.getUserId(), proxyData.getPassword());
+        }
+    }
 
-	private static String getHost(String repositoryUrl) {
-		String result = repositoryUrl;
-		int colonSlashSlash = repositoryUrl.indexOf("://");
+    private static String getHost(String repositoryUrl) {
+        String result = repositoryUrl;
+        int colonSlashSlash = repositoryUrl.indexOf("://");
 
-		if (colonSlashSlash >= 0) {
-			result = repositoryUrl.substring(colonSlashSlash + 3);
-		}
+        if (colonSlashSlash >= 0) {
+            result = repositoryUrl.substring(colonSlashSlash + 3);
+        }
 
-		int colonPort = result.indexOf(':');
-		int requestPath = result.indexOf('/');
+        int colonPort = result.indexOf(':');
+        int requestPath = result.indexOf('/');
 
-		int substringEnd;
+        int substringEnd;
 
-		// minimum positive, or string length
-		if (colonPort > 0 && requestPath > 0) {
-			substringEnd = Math.min(colonPort, requestPath);
-		} else if (colonPort > 0) {
-			substringEnd = colonPort;
-		} else if (requestPath > 0) {
-			substringEnd = requestPath;
-		} else {
-			substringEnd = result.length();
-		}
+        // minimum positive, or string length
+        if (colonPort > 0 && requestPath > 0) {
+            substringEnd = Math.min(colonPort, requestPath);
+        } else if (colonPort > 0) {
+            substringEnd = colonPort;
+        } else if (requestPath > 0) {
+            substringEnd = requestPath;
+        } else {
+            substringEnd = result.length();
+        }
 
-		return result.substring(0, substringEnd);
-	}
+        return result.substring(0, substringEnd);
+    }
 
-	public static Date getLastModifiedDate(String url, IProgressMonitor monitor) {
-		GetMethod method = null;
-		BufferedInputStream bis = null;
-		FileOutputStream fos = null;
-		try {
-			if (monitor.isCanceled()) {
-				return null;
-			}
-			HttpClient client = new HttpClient();
-			method = new GetMethod(url);
-			method.setFollowRedirects(true);
+    public static Date getLastModifiedDate(String url, IProgressMonitor monitor) {
+        GetMethod method = null;
+        BufferedInputStream bis = null;
+        FileOutputStream fos = null;
+        try {
+            if (monitor.isCanceled()) {
+                return null;
+            }
+            HttpClient client = new HttpClient();
+            method = new GetMethod(url);
+            method.setFollowRedirects(true);
 
-			HostConfiguration hostConfiguration = new HostConfiguration();
-			hostConfiguration.setHost(getHost(url), HTTP_PORT, "http");
+            HostConfiguration hostConfiguration = new HostConfiguration();
+            hostConfiguration.setHost(getHost(url), HTTP_PORT, "http");
 
-			configureHttpClientProxy(url, client, hostConfiguration);
+            configureHttpClientProxy(url, client, hostConfiguration);
 
-			client.getHttpConnectionManager().getParams().setSoTimeout(SOCKET_TIMEOUT);
-			client.getHttpConnectionManager().getParams().setConnectionTimeout(CONNNECT_TIMEOUT);
+            client.getHttpConnectionManager().getParams().setSoTimeout(SOCKET_TIMEOUT);
+            client.getHttpConnectionManager().getParams().setConnectionTimeout(CONNNECT_TIMEOUT);
 
-			// Execute the GET method
-			int statusCode = client.executeMethod(hostConfiguration, method);
-			if (statusCode == 200) {
+            // Execute the GET method
+            int statusCode = client.executeMethod(hostConfiguration, method);
+            if (statusCode == 200) {
 
-				if (monitor.isCanceled()) {
-					return null;
-				}
+                if (monitor.isCanceled()) {
+                    return null;
+                }
 
-				Header lastModified = method.getResponseHeader("Last-Modified");
-				if (lastModified != null) {
-					return DateUtil.parseDate(lastModified.getValue());
-				}
-			}
-		} catch (Exception e) {
-		} finally {
-			try {
-				if (method != null) {
-					method.releaseConnection();
-				}
-			} catch (Exception e2) {
-			}
-			try {
-				if (bis != null) {
-					bis.close();
-				}
-			} catch (Exception e2) {
-			}
-			try {
-				if (fos != null) {
-					fos.close();
-				}
-			} catch (Exception e2) {
-			}
-		}
-		return null;
-	}
+                Header lastModified = method.getResponseHeader("Last-Modified");
+                if (lastModified != null) {
+                    return DateUtil.parseDate(lastModified.getValue());
+                }
+            }
+        } catch (Exception e) {
+        } finally {
+            try {
+                if (method != null) {
+                    method.releaseConnection();
+                }
+            } catch (Exception e2) {
+            }
+            try {
+                if (bis != null) {
+                    bis.close();
+                }
+            } catch (Exception e2) {
+            }
+            try {
+                if (fos != null) {
+                    fos.close();
+                }
+            } catch (Exception e2) {
+            }
+        }
+        return null;
+    }
 
-	public static File downloadFile(String url, File outputPath, IProgressMonitor monitor) {
-		GetMethod method = null;
-		BufferedInputStream bis = null;
-		FileOutputStream fos = null;
-		File outputFile = null;
-		try {
-			if (monitor.isCanceled()) {
-				return null;
-			}
-			HttpClient client = new HttpClient();
-			method = new GetMethod(url);
-			method.setFollowRedirects(true);
+    public static File downloadFile(String url, File outputPath, IProgressMonitor monitor) {
+        GetMethod method = null;
+        BufferedInputStream bis = null;
+        FileOutputStream fos = null;
+        File outputFile = null;
+        try {
+            if (monitor.isCanceled()) {
+                return null;
+            }
+            HttpClient client = new HttpClient();
+            method = new GetMethod(url);
+            method.setFollowRedirects(true);
 
-			HostConfiguration hostConfiguration = new HostConfiguration();
-			hostConfiguration.setHost(getHost(url), HTTP_PORT, "http");
+            HostConfiguration hostConfiguration = new HostConfiguration();
+            hostConfiguration.setHost(getHost(url), HTTP_PORT, "http");
 
-			configureHttpClientProxy(url, client, hostConfiguration);
+            configureHttpClientProxy(url, client, hostConfiguration);
 
-			client.getHttpConnectionManager().getParams().setSoTimeout(SOCKET_TIMEOUT);
-			client.getHttpConnectionManager().getParams().setConnectionTimeout(CONNNECT_TIMEOUT);
+            client.getHttpConnectionManager().getParams().setSoTimeout(SOCKET_TIMEOUT);
+            client.getHttpConnectionManager().getParams().setConnectionTimeout(CONNNECT_TIMEOUT);
 
-			// Execute the GET method
-			int statusCode = client.executeMethod(hostConfiguration, method);
-			if (statusCode == 200) {
+            // Execute the GET method
+            int statusCode = client.executeMethod(hostConfiguration, method);
+            if (statusCode == 200) {
 
-				int ix = method.getPath().lastIndexOf('/');
-				String fileName = method.getPath().substring(ix + 1);
-				monitor.subTask("Downloading file '" + fileName + "'");
+                int ix = method.getPath().lastIndexOf('/');
+                String fileName = method.getPath().substring(ix + 1);
+                monitor.subTask("Downloading file '" + fileName + "'");
 
-				if (monitor.isCanceled()) {
-					return null;
-				}
+                if (monitor.isCanceled()) {
+                    return null;
+                }
 
-				Header[] header = method.getResponseHeaders("content-length");
-				long totalBytes = Long.valueOf(header[0].getValue());
+                Header[] header = method.getResponseHeaders("content-length");
+                long totalBytes = Long.valueOf(header[0].getValue());
 
-				InputStream is = method.getResponseBodyAsStream();
-				bis = new BufferedInputStream(is);
-				outputFile = new File(outputPath, fileName);
-				fos = new FileOutputStream(outputFile);
-				long bytesRead = 0;
-				byte[] bytes = new byte[8192];
-				int count = bis.read(bytes);
-				while (count != -1 && count <= 8192) {
-					if (monitor.isCanceled()) {
-						return null;
-					}
-					bytesRead = bytesRead + count;
-					float percent = (Float.valueOf(bytesRead) / Float.valueOf(totalBytes)) * 100;
-					monitor.subTask("Downloading file '" + fileName + "': " + bytesRead + "bytes/" + totalBytes
-						+ "bytes (" + Math.round(percent) + "%)");
-					fos.write(bytes, 0, count);
-					count = bis.read(bytes);
-				}
-				if (count != -1) {
-					fos.write(bytes, 0, count);
-				}
-			}
+                InputStream is = method.getResponseBodyAsStream();
+                bis = new BufferedInputStream(is);
+                outputFile = new File(outputPath, fileName);
+                fos = new FileOutputStream(outputFile);
+                long bytesRead = 0;
+                byte[] bytes = new byte[8192];
+                int count = bis.read(bytes);
+                while (count != -1 && count <= 8192) {
+                    if (monitor.isCanceled()) {
+                        return null;
+                    }
+                    bytesRead = bytesRead + count;
+                    float percent = Float.valueOf(bytesRead) / Float.valueOf(totalBytes) * 100;
+                    monitor.subTask(
+                        "Downloading file '" + fileName + "': " + bytesRead + "bytes/" + totalBytes + "bytes (" + Math.round(percent) + "%)");
+                    fos.write(bytes, 0, count);
+                    count = bis.read(bytes);
+                }
+                if (count != -1) {
+                    fos.write(bytes, 0, count);
+                }
+            }
 
-			return outputFile;
-		} catch (Exception e) {
-			ServerCorePlugin
-					.getDefault()
-					.getLog()
-					.log(new Status(Status.ERROR, ServerCorePlugin.PLUGIN_ID, 1, "Error downloading bundle/library", e));
-		} finally {
-			try {
-				if (method != null) {
-					method.releaseConnection();
-				}
-			} catch (Exception e2) {
-			}
-			try {
-				if (bis != null) {
-					bis.close();
-				}
-			} catch (Exception e2) {
-			}
-			try {
-				if (fos != null) {
-					fos.close();
-				}
-			} catch (Exception e2) {
-			}
-		}
+            return outputFile;
+        } catch (Exception e) {
+            ServerCorePlugin.getDefault().getLog().log(
+                new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, 1, "Error downloading bundle/library", e));
+        } finally {
+            try {
+                if (method != null) {
+                    method.releaseConnection();
+                }
+            } catch (Exception e2) {
+            }
+            try {
+                if (bis != null) {
+                    bis.close();
+                }
+            } catch (Exception e2) {
+            }
+            try {
+                if (fos != null) {
+                    fos.close();
+                }
+            } catch (Exception e2) {
+            }
+        }
 
-		return null;
-	}
+        return null;
+    }
 
-	private static void configureHttpClientProxy(String url, HttpClient client, HostConfiguration hostConfiguration) {
-		ServiceReference services = ServerCorePlugin.getDefault().getBundle().getBundleContext()
-				.getServiceReference(IProxyService.class.getName());
-		if (services != null) {
-			IProxyService proxyService = (IProxyService) ServerCorePlugin.getDefault().getBundle().getBundleContext()
-					.getService(services);
-			IProxyData proxyData = proxyService.getProxyDataForHost(getHost(url), IProxyData.HTTP_PROXY_TYPE);
-			if (proxyService.isProxiesEnabled() && proxyData != null) {
-				hostConfiguration.setProxy(proxyData.getHost(), proxyData.getPort());
-			}
-			if (proxyData != null && proxyData.isRequiresAuthentication()) {
-				client.getState().setProxyCredentials(AuthScope.ANY, getCredentials(proxyData, getHost(url)));
-			}
-		}
-	}
+    private static void configureHttpClientProxy(String url, HttpClient client, HostConfiguration hostConfiguration) {
+        ServiceReference services = ServerCorePlugin.getDefault().getBundle().getBundleContext().getServiceReference(IProxyService.class.getName());
+        if (services != null) {
+            IProxyService proxyService = (IProxyService) ServerCorePlugin.getDefault().getBundle().getBundleContext().getService(services);
+            IProxyData proxyData = proxyService.getProxyDataForHost(getHost(url), IProxyData.HTTP_PROXY_TYPE);
+            if (proxyService.isProxiesEnabled() && proxyData != null) {
+                hostConfiguration.setProxy(proxyData.getHost(), proxyData.getPort());
+            }
+            if (proxyData != null && proxyData.isRequiresAuthentication()) {
+                client.getState().setProxyCredentials(AuthScope.ANY, getCredentials(proxyData, getHost(url)));
+            }
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ArtefactProjectFileContainer.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ArtefactProjectFileContainer.java
index 1f198c4..9efcf07 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ArtefactProjectFileContainer.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ArtefactProjectFileContainer.java
@@ -24,41 +24,41 @@
  */
 public class ArtefactProjectFileContainer extends ProjectFileContainer {
 
-	private final LocalArtefactSet artefactSet;
+    private final LocalArtefactSet artefactSet;
 
-	public ArtefactProjectFileContainer(ServerProject serverProject, LocalArtefactSet artefactSet) {
-		super(serverProject);
-		this.artefactSet = artefactSet;
-	}
+    public ArtefactProjectFileContainer(ServerProject serverProject, LocalArtefactSet artefactSet) {
+        super(serverProject);
+        this.artefactSet = artefactSet;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.ProjectFileContainer#createFileReferences()
-	 */
-	@Override
-	protected ProjectFileReference[] createFileReferences() {
-		List<ProjectFileReference> references = new ArrayList<ProjectFileReference>();
-		createFolder(getRootFolder());
-		for (IArtefact artefact : artefactSet.getArtefacts()) {
-			if (artefact instanceof ILocalArtefact) {
-				ProjectFileReference fileReference = new ProjectFileReference(this, (ILocalArtefact) artefact);
-				references.add(fileReference);
-			}
-		}
-		return references.toArray(new ProjectFileReference[0]);
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.ProjectFileContainer#createFileReferences()
+     */
+    @Override
+    protected ProjectFileReference[] createFileReferences() {
+        List<ProjectFileReference> references = new ArrayList<ProjectFileReference>();
+        createFolder(getRootFolder());
+        for (IArtefact artefact : this.artefactSet.getArtefacts()) {
+            if (artefact instanceof ILocalArtefact) {
+                ProjectFileReference fileReference = new ProjectFileReference(this, (ILocalArtefact) artefact);
+                references.add(fileReference);
+            }
+        }
+        return references.toArray(new ProjectFileReference[0]);
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectContainer#getArtefactSet()
-	 */
-	public LocalArtefactSet getArtefactSet() {
-		return artefactSet;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectContainer#getArtefactSet()
+     */
+    public LocalArtefactSet getArtefactSet() {
+        return this.artefactSet;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.ProjectFileContainer#getRootFolder()
-	 */
-	@Override
-	protected IFolder getRootFolder() {
-		return getServerProject().getWorkspaceProject().getFolder(getArtefactSet().getRelativePath());
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.ProjectFileContainer#getRootFolder()
+     */
+    @Override
+    protected IFolder getRootFolder() {
+        return getServerProject().getWorkspaceProject().getFolder(getArtefactSet().getRelativePath());
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/IServerProjectArtefact.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/IServerProjectArtefact.java
index c6a1778..501bba0 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/IServerProjectArtefact.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/IServerProjectArtefact.java
@@ -14,12 +14,13 @@
 import org.eclipse.virgo.ide.runtime.core.artefacts.ILocalArtefact;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public interface IServerProjectArtefact {
-	IServerProjectContainer getContainer();
 
-	public ILocalArtefact getArtefact();
+    IServerProjectContainer getContainer();
+
+    public ILocalArtefact getArtefact();
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/IServerProjectContainer.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/IServerProjectContainer.java
index b810b50..7f08d56 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/IServerProjectContainer.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/IServerProjectContainer.java
@@ -15,14 +15,15 @@
 import org.eclipse.wst.server.core.IServer;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public interface IServerProjectContainer {
-	Object[] getMembers();
 
-	IServer getServer();
+    Object[] getMembers();
 
-	LocalArtefactSet getArtefactSet();
+    IServer getServer();
+
+    LocalArtefactSet getArtefactSet();
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectBundleContainer.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectBundleContainer.java
index adb5286..e51e480 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectBundleContainer.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectBundleContainer.java
@@ -37,122 +37,122 @@
 
 /**
  * Provides a wrapper for an artefact set that acts as a Library. TODO we may not need artefact sets at all.
- * 
+ *
  * @author Miles Parker
  */
 @SuppressWarnings("restriction")
-public class ProjectBundleContainer extends PackageFragmentRootContainer implements IClasspathContainer,
-		IServerProjectContainer {
+public class ProjectBundleContainer extends PackageFragmentRootContainer implements IClasspathContainer, IServerProjectContainer {
 
-	private final LocalArtefactSet artefactSet;
+    private final LocalArtefactSet artefactSet;
 
-	private final List<IClasspathEntry> entries;
+    private final List<IClasspathEntry> entries;
 
-	private final List<IPackageFragmentRoot> roots;
+    private final List<IPackageFragmentRoot> roots;
 
-	protected ProjectBundleContainer(final ServerProject serverProject, LocalArtefactSet artefactSet) {
-		super(serverProject.getJavaProject());
-		this.artefactSet = artefactSet;
+    protected ProjectBundleContainer(final ServerProject serverProject, LocalArtefactSet artefactSet) {
+        super(serverProject.getJavaProject());
+        this.artefactSet = artefactSet;
 
-		entries = new ArrayList<IClasspathEntry>();
-		roots = new ArrayList<IPackageFragmentRoot>();
-		for (IArtefact artefact : artefactSet.getArtefacts()) {
-			if (artefact instanceof ILocalArtefact) {
-				ILocalArtefact localArtefact = (ILocalArtefact) artefact;
-				IPath location = new Path(localArtefact.getFile().getAbsolutePath());
-				IClasspathEntry entry = JavaCore.newLibraryEntry(location, null, null);
-				entries.add(entry);
-				IPackageFragmentRoot packageFragmentRoot = new ProjectBundleRoot(this, localArtefact);
-				roots.add(packageFragmentRoot);
-			}
-		}
-		try {
-			JavaCore.setClasspathContainer(getPath(), new IJavaProject[] { serverProject.javaProject },
-					new IClasspathContainer[] { ProjectBundleContainer.this }, null);
-			serverProject.getLibraryEntries().add(JavaCore.newContainerEntry(getPath()));
-		} catch (JavaModelException e) {
-			StatusManager.getManager().handle(
-					new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "Problem occurred in bundle manager.", e));
-		}
-	}
+        this.entries = new ArrayList<IClasspathEntry>();
+        this.roots = new ArrayList<IPackageFragmentRoot>();
+        for (IArtefact artefact : artefactSet.getArtefacts()) {
+            if (artefact instanceof ILocalArtefact) {
+                ILocalArtefact localArtefact = (ILocalArtefact) artefact;
+                IPath location = new Path(localArtefact.getFile().getAbsolutePath());
+                IClasspathEntry entry = JavaCore.newLibraryEntry(location, null, null);
+                this.entries.add(entry);
+                IPackageFragmentRoot packageFragmentRoot = new ProjectBundleRoot(this, localArtefact);
+                this.roots.add(packageFragmentRoot);
+            }
+        }
+        try {
+            JavaCore.setClasspathContainer(getPath(), new IJavaProject[] { serverProject.javaProject },
+                new IClasspathContainer[] { ProjectBundleContainer.this }, null);
+            serverProject.getLibraryEntries().add(JavaCore.newContainerEntry(getPath()));
+        } catch (JavaModelException e) {
+            StatusManager.getManager().handle(new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "Problem occurred in bundle manager.", e));
+        }
+    }
 
-	@Override
-	public boolean equals(Object obj) {
-		if (obj instanceof ProjectBundleContainer) {
-			ProjectBundleContainer other = (ProjectBundleContainer) obj;
-			return artefactSet.equals(other.artefactSet);
-		}
-		return false;
-	}
+    @Override
+    public boolean equals(Object obj) {
+        if (obj instanceof ProjectBundleContainer) {
+            ProjectBundleContainer other = (ProjectBundleContainer) obj;
+            return this.artefactSet.equals(other.artefactSet);
+        }
+        return false;
+    }
 
-	@Override
-	public int hashCode() {
-		return getJavaProject().hashCode();
-	}
+    @Override
+    public int hashCode() {
+        return getJavaProject().hashCode();
+    }
 
-	@Override
-	public IAdaptable[] getChildren() {
-		return getPackageFragmentRoots();
-	}
+    @Override
+    public IAdaptable[] getChildren() {
+        return getPackageFragmentRoots();
+    }
 
-	@Override
-	public ImageDescriptor getImageDescriptor() {
-		return JavaPluginImages.DESC_OBJS_LIBRARY;
-	}
+    @Override
+    public ImageDescriptor getImageDescriptor() {
+        return JavaPluginImages.DESC_OBJS_LIBRARY;
+    }
 
-	@Override
-	public String getLabel() {
-		return artefactSet.getShortLabel();
-	}
+    @Override
+    public String getLabel() {
+        return this.artefactSet.getShortLabel();
+    }
 
-	/* (non-Javadoc)
-	 * @see org.eclipse.jdt.internal.ui.packageview.PackageFragmentRootContainer#getPackageFragmentRoots()
-	 */
-	@Override
-	public IPackageFragmentRoot[] getPackageFragmentRoots() {
-		return roots.toArray(new IPackageFragmentRoot[roots.size()]);
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jdt.internal.ui.packageview.PackageFragmentRootContainer#getPackageFragmentRoots()
+     */
+    @Override
+    public IPackageFragmentRoot[] getPackageFragmentRoots() {
+        return this.roots.toArray(new IPackageFragmentRoot[this.roots.size()]);
+    }
 
-	/**
-	 * @see org.eclipse.jdt.core.IClasspathContainer#getClasspathEntries()
-	 */
-	public IClasspathEntry[] getClasspathEntries() {
-		return entries.toArray(new IClasspathEntry[entries.size()]);
-	}
+    /**
+     * @see org.eclipse.jdt.core.IClasspathContainer#getClasspathEntries()
+     */
+    public IClasspathEntry[] getClasspathEntries() {
+        return this.entries.toArray(new IClasspathEntry[this.entries.size()]);
+    }
 
-	/**
-	 * @see org.eclipse.jdt.core.IClasspathContainer#getDescription()
-	 */
-	public String getDescription() {
-		return artefactSet.getShortLabel();
-	}
+    /**
+     * @see org.eclipse.jdt.core.IClasspathContainer#getDescription()
+     */
+    public String getDescription() {
+        return this.artefactSet.getShortLabel();
+    }
 
-	/**
-	 * @see org.eclipse.jdt.core.IClasspathContainer#getKind()
-	 */
-	public int getKind() {
-		return IClasspathContainer.K_APPLICATION;
-	}
+    /**
+     * @see org.eclipse.jdt.core.IClasspathContainer#getKind()
+     */
+    public int getKind() {
+        return IClasspathContainer.K_APPLICATION;
+    }
 
-	/**
-	 * @see org.eclipse.jdt.core.IClasspathContainer#getPath()
-	 */
-	public IPath getPath() {
-		return new Path(artefactSet.getFile().getAbsolutePath() + "/" + artefactSet.getArtefactType().getPluralLabel());
-	}
+    /**
+     * @see org.eclipse.jdt.core.IClasspathContainer#getPath()
+     */
+    public IPath getPath() {
+        return new Path(this.artefactSet.getFile().getAbsolutePath() + "/" + this.artefactSet.getArtefactType().getPluralLabel());
+    }
 
-	public IServer getServer() {
-		return artefactSet.getRepository().getServer();
-	}
+    public IServer getServer() {
+        return this.artefactSet.getRepository().getServer();
+    }
 
-	public LocalArtefactSet getArtefactSet() {
-		return artefactSet;
-	}
+    public LocalArtefactSet getArtefactSet() {
+        return this.artefactSet;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectContainer#getMembers()
-	 */
-	public Object[] getMembers() {
-		return getPackageFragmentRoots();
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectContainer#getMembers()
+     */
+    public Object[] getMembers() {
+        return getPackageFragmentRoots();
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectBundleRoot.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectBundleRoot.java
index ec17c3a..bd0adfc 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectBundleRoot.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectBundleRoot.java
@@ -18,22 +18,22 @@
 
 public class ProjectBundleRoot extends JarPackageFragmentRoot implements IServerProjectArtefact {
 
-	private final ILocalArtefact artefact;
+    private final ILocalArtefact artefact;
 
-	private final ProjectBundleContainer container;
+    private final ProjectBundleContainer container;
 
-	//Override to allow constructor access for jar package
-	public ProjectBundleRoot(ProjectBundleContainer container, ILocalArtefact artefact) {
-		super(new Path(artefact.getFile().getAbsolutePath()), (JavaProject) container.getJavaProject());
-		this.container = container;
-		this.artefact = artefact;
-	}
+    // Override to allow constructor access for jar package
+    public ProjectBundleRoot(ProjectBundleContainer container, ILocalArtefact artefact) {
+        super(new Path(artefact.getFile().getAbsolutePath()), (JavaProject) container.getJavaProject());
+        this.container = container;
+        this.artefact = artefact;
+    }
 
-	public IServerProjectContainer getContainer() {
-		return container;
-	}
+    public IServerProjectContainer getContainer() {
+        return this.container;
+    }
 
-	public ILocalArtefact getArtefact() {
-		return artefact;
-	}
+    public ILocalArtefact getArtefact() {
+        return this.artefact;
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectFileContainer.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectFileContainer.java
index 4c18229..9813f35 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectFileContainer.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectFileContainer.java
@@ -25,56 +25,55 @@
  */
 public abstract class ProjectFileContainer implements IServerProjectContainer {
 
-	private final ServerProject serverProject;
+    private final ServerProject serverProject;
 
-	protected ProjectFileReference[] fileReferences;
+    protected ProjectFileReference[] fileReferences;
 
-	protected ProjectFileContainer(ServerProject serverProject) {
-		this.serverProject = serverProject;
-	}
+    protected ProjectFileContainer(ServerProject serverProject) {
+        this.serverProject = serverProject;
+    }
 
-	public static void createFolder(IFolder folder) {
-		IContainer parent = folder.getParent();
-		if (parent instanceof IFolder) {
-			createFolder((IFolder) parent);
-		}
-		if (!folder.exists()) {
-			try {
-				folder.create(true, true, null);
-			} catch (CoreException e) {
-				StatusManager.getManager().handle(
-						new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID,
-								"Problem occurred while managing server project.", e));
-			}
-		}
-	}
+    public static void createFolder(IFolder folder) {
+        IContainer parent = folder.getParent();
+        if (parent instanceof IFolder) {
+            createFolder((IFolder) parent);
+        }
+        if (!folder.exists()) {
+            try {
+                folder.create(true, true, null);
+            } catch (CoreException e) {
+                StatusManager.getManager().handle(
+                    new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "Problem occurred while managing server project.", e));
+            }
+        }
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectContainer#getMembers()
-	 */
-	public Object[] getMembers() {
-		return getFileReferences();
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectContainer#getMembers()
+     */
+    public Object[] getMembers() {
+        return getFileReferences();
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectContainer#getServer()
-	 */
-	public IServer getServer() {
-		return getServerProject().getServer();
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectContainer#getServer()
+     */
+    public IServer getServer() {
+        return getServerProject().getServer();
+    }
 
-	public ProjectFileReference[] getFileReferences() {
-		if (fileReferences == null) {
-			fileReferences = createFileReferences();
-		}
-		return fileReferences;
-	}
+    public ProjectFileReference[] getFileReferences() {
+        if (this.fileReferences == null) {
+            this.fileReferences = createFileReferences();
+        }
+        return this.fileReferences;
+    }
 
-	protected abstract ProjectFileReference[] createFileReferences();
+    protected abstract ProjectFileReference[] createFileReferences();
 
-	protected abstract IFolder getRootFolder();
+    protected abstract IFolder getRootFolder();
 
-	public ServerProject getServerProject() {
-		return serverProject;
-	}
+    public ServerProject getServerProject() {
+        return this.serverProject;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectFileReference.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectFileReference.java
index b539c31..56a3c97 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectFileReference.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ProjectFileReference.java
@@ -26,61 +26,60 @@
  */
 public class ProjectFileReference implements IServerProjectArtefact, IAdaptable {
 
-	ProjectFileContainer container;
+    ProjectFileContainer container;
 
-	ILocalArtefact library;
+    ILocalArtefact library;
 
-	private final File runtimeFile;
+    private final File runtimeFile;
 
-	private final IFile workspaceFile;
+    private final IFile workspaceFile;
 
-	public ProjectFileReference(ProjectFileContainer container, ILocalArtefact artefact) {
-		super();
-		this.container = container;
-		this.library = artefact;
+    public ProjectFileReference(ProjectFileContainer container, ILocalArtefact artefact) {
+        super();
+        this.container = container;
+        this.library = artefact;
 
-		runtimeFile = artefact.getFile();
-		String artefactRelative = runtimeFile.getAbsolutePath().replace(
-				((LocalArtefactSet) artefact.getSet()).getFile().getAbsolutePath(), "");
-		workspaceFile = container.getRootFolder().getFile(artefactRelative);
-		try {
-			runtimeFile.setReadOnly();
-			workspaceFile.createLink(new Path(runtimeFile.getAbsolutePath()), IResource.REPLACE, null);
-		} catch (CoreException e) {
-			ServerProjectManager.handleException(e);
-		}
+        this.runtimeFile = artefact.getFile();
+        String artefactRelative = this.runtimeFile.getAbsolutePath().replace(((LocalArtefactSet) artefact.getSet()).getFile().getAbsolutePath(), "");
+        this.workspaceFile = container.getRootFolder().getFile(artefactRelative);
+        try {
+            this.runtimeFile.setReadOnly();
+            this.workspaceFile.createLink(new Path(this.runtimeFile.getAbsolutePath()), IResource.REPLACE, null);
+        } catch (CoreException e) {
+            ServerProjectManager.handleException(e);
+        }
 
-	}
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectArtefact#getContainer()
-	 */
-	public IServerProjectContainer getContainer() {
-		return container;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectArtefact#getContainer()
+     */
+    public IServerProjectContainer getContainer() {
+        return this.container;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectArtefact#getArtefact()
-	 */
-	public ILocalArtefact getArtefact() {
-		return library;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectArtefact#getArtefact()
+     */
+    public ILocalArtefact getArtefact() {
+        return this.library;
+    }
 
-	public File getRuntimeFile() {
-		return runtimeFile;
-	}
+    public File getRuntimeFile() {
+        return this.runtimeFile;
+    }
 
-	public IFile getWorkspaceFile() {
-		return workspaceFile;
-	}
+    public IFile getWorkspaceFile() {
+        return this.workspaceFile;
+    }
 
-	/**
-	 * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
-	 */
-	public Object getAdapter(Class adapter) {
-		if (adapter == IFile.class) {
-			return workspaceFile;
-		}
-		return null;
-	}
+    /**
+     * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
+     */
+    public Object getAdapter(Class adapter) {
+        if (adapter == IFile.class) {
+            return this.workspaceFile;
+        }
+        return null;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ServerProject.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ServerProject.java
index cd273a8..ac5b21b 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ServerProject.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ServerProject.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.projects;
 
 import java.io.File;
@@ -48,270 +49,269 @@
  * Manages a server project for a Virgo server. The server project acts as a kind of proxy server, allowing us to
  * transparently support UI -- and eventually other features -- leveraging existing Eclipse IDE capabilities such as JDT
  * and PDE support. There should be one and only one server project for a given server.
- * 
+ *
  * @author Miles Parker
  * @author Leo Dos Santos
  */
 public class ServerProject {
 
-	public static final String SERVER_PROJECT_ID = "org.eclipse.virgo.ide.runtime.managedProject";
+    public static final String SERVER_PROJECT_ID = "org.eclipse.virgo.ide.runtime.managedProject";
 
-	final IServer server;
+    final IServer server;
 
-	JavaProject javaProject;
+    JavaProject javaProject;
 
-	private IProject project;
+    private IProject project;
 
-	private List<IServerProjectContainer> containers;
+    private List<IServerProjectContainer> containers;
 
-	private List<IClasspathEntry> libraryEntries;
+    private List<IClasspathEntry> libraryEntries;
 
-	private List<ArtefactSet> artefactSets;
+    private List<ArtefactSet> artefactSets;
 
-	private Map<ArtefactSet, IServerProjectContainer> projectContainerForArtefactSet;
+    private Map<ArtefactSet, IServerProjectContainer> projectContainerForArtefactSet;
 
-	public static final String LOG_WORKSPACE_DIR = "logs";
+    public static final String LOG_WORKSPACE_DIR = "logs";
 
-	public static final String PROPERTIES_DIR = "properties";
+    public static final String PROPERTIES_DIR = "properties";
 
-	public ServerProject(IServer server) {
-		this.server = server;
-		updateWorkspaceProject();
-	}
+    public ServerProject(IServer server) {
+        this.server = server;
+        updateWorkspaceProject();
+    }
 
-	public void refresh() {
-		updateWorkspaceProject();
+    public void refresh() {
+        updateWorkspaceProject();
 
-		clearArtefacts();
+        clearArtefacts();
 
-		if (isRuntimeExists()) {
-			//TODO we need a more efficient way of updating this
-			clearFiles();
+        if (isRuntimeExists()) {
+            // TODO we need a more efficient way of updating this
+            clearFiles();
 
-			refreshArtefacts();
+            refreshArtefacts();
 
-			refreshDirectories();
+            refreshDirectories();
 
-			try {
-				javaProject.setRawClasspath(
-						getLibraryEntries().toArray(new IClasspathEntry[getLibraryEntries().size()]), null);
-			} catch (JavaModelException e) {
-				ServerProjectManager.handleException(e);
-			}
-		} else {
+            try {
+                this.javaProject.setRawClasspath(getLibraryEntries().toArray(new IClasspathEntry[getLibraryEntries().size()]), null);
+            } catch (JavaModelException e) {
+                ServerProjectManager.handleException(e);
+            }
+        } else {
 
-		}
-	}
+        }
+    }
 
-	public void refreshArtefacts() {
-		ArtefactRepository repository = RepositoryUtils.getRepositoryContents(server.getRuntime());
-		repository.setServer(server);
-		Map<File, ArtefactRepository> setForFile = new HashMap<File, ArtefactRepository>();
+    public void refreshArtefacts() {
+        ArtefactRepository repository = RepositoryUtils.getRepositoryContents(this.server.getRuntime());
+        repository.setServer(this.server);
+        Map<File, ArtefactRepository> setForFile = new HashMap<File, ArtefactRepository>();
 
-		for (IArtefact bundle : repository.getAllArtefacts().getArtefacts()) {
-			if (bundle instanceof ILocalArtefact) {
-				File file = ((ILocalArtefact) bundle).getFile().getParentFile();
-				if (file.getParentFile().getName().equals("subsystems")) {
-					file = file.getParentFile();
-				}
-				if (setForFile.containsKey(file)) {
-					setForFile.get(file).add(bundle);
-				} else {
-					ArtefactRepository localRepository = new LocalArtefactRepository(file);
-					localRepository.setServer(server);
-					localRepository.add(bundle);
-					setForFile.put(file, localRepository);
-				}
-			}
-		}
-		for (ArtefactRepository repos : setForFile.values()) {
-			if (repos.getBundleSet().getArtefacts().iterator().hasNext()) {
-				artefactSets.add(repos.getBundleSet());
-			}
-			if (repos.getLibrarySet().getArtefacts().iterator().hasNext()) {
-				artefactSets.add(repos.getLibrarySet());
-			}
-		}
+        for (IArtefact bundle : repository.getAllArtefacts().getArtefacts()) {
+            if (bundle instanceof ILocalArtefact) {
+                File file = ((ILocalArtefact) bundle).getFile().getParentFile();
+                if (file.getParentFile().getName().equals("subsystems")) {
+                    file = file.getParentFile();
+                }
+                if (setForFile.containsKey(file)) {
+                    setForFile.get(file).add(bundle);
+                } else {
+                    ArtefactRepository localRepository = new LocalArtefactRepository(file);
+                    localRepository.setServer(this.server);
+                    localRepository.add(bundle);
+                    setForFile.put(file, localRepository);
+                }
+            }
+        }
+        for (ArtefactRepository repos : setForFile.values()) {
+            if (repos.getBundleSet().getArtefacts().iterator().hasNext()) {
+                this.artefactSets.add(repos.getBundleSet());
+            }
+            if (repos.getLibrarySet().getArtefacts().iterator().hasNext()) {
+                this.artefactSets.add(repos.getLibrarySet());
+            }
+        }
 
-		for (ArtefactSet artefactSet : artefactSets) {
-			if (artefactSet instanceof LocalArtefactSet) {
-				LocalArtefactSet localSet = (LocalArtefactSet) artefactSet;
-				if (artefactSet.getArtefactType() == ArtefactType.BUNDLE) {
-					ProjectBundleContainer container = new ProjectBundleContainer(this, localSet);
-					containers.add(container);
-					projectContainerForArtefactSet.put(localSet, container);
-				} else if (artefactSet.getArtefactType() == ArtefactType.LIBRARY) {
-					ProjectFileContainer container = new ArtefactProjectFileContainer(this, localSet);
-					containers.add(container);
-					projectContainerForArtefactSet.put(localSet, container);
-				}
-			}
-		}
-	}
+        for (ArtefactSet artefactSet : this.artefactSets) {
+            if (artefactSet instanceof LocalArtefactSet) {
+                LocalArtefactSet localSet = (LocalArtefactSet) artefactSet;
+                if (artefactSet.getArtefactType() == ArtefactType.BUNDLE) {
+                    ProjectBundleContainer container = new ProjectBundleContainer(this, localSet);
+                    this.containers.add(container);
+                    this.projectContainerForArtefactSet.put(localSet, container);
+                } else if (artefactSet.getArtefactType() == ArtefactType.LIBRARY) {
+                    ProjectFileContainer container = new ArtefactProjectFileContainer(this, localSet);
+                    this.containers.add(container);
+                    this.projectContainerForArtefactSet.put(localSet, container);
+                }
+            }
+        }
+    }
 
-	public void refreshDirectories() {
-		try {
-			IServerRuntimeProvider provider = RuntimeProviders.getRuntimeProvider(getServer().getRuntime());
-			for (String runtimeDir : provider.getServerPropertiesDirectories()) {
-				synchronizeRuntimeDirectory(PROPERTIES_DIR, runtimeDir);
-			}
-			for (String runtimeDir : provider.getServerLogDirectories()) {
-				synchronizeRuntimeDirectory(LOG_WORKSPACE_DIR, runtimeDir);
-			}
-		} catch (CoreException e) {
-			throw new RuntimeException(e);
-		}
-	}
+    public void refreshDirectories() {
+        try {
+            IServerRuntimeProvider provider = RuntimeProviders.getRuntimeProvider(getServer().getRuntime());
+            for (String runtimeDir : provider.getServerPropertiesDirectories()) {
+                synchronizeRuntimeDirectory(PROPERTIES_DIR, runtimeDir);
+            }
+            for (String runtimeDir : provider.getServerLogDirectories()) {
+                synchronizeRuntimeDirectory(LOG_WORKSPACE_DIR, runtimeDir);
+            }
+        } catch (CoreException e) {
+            throw new RuntimeException(e);
+        }
+    }
 
-	void synchronizeRuntimeDirectory(String workspaceDirectory, String runtimeDirectory) throws CoreException {
-		IFolder folder = getWorkspaceProject().getFolder(workspaceDirectory + "/" + runtimeDirectory);
-		ProjectFileContainer.createFolder(folder);
-		File runtimeFolder = getServer().getRuntime().getLocation().append(runtimeDirectory).toFile();
-		File[] files = runtimeFolder.listFiles();
-		if (files != null) {
-			for (File runtimeFile : files) {
-				linkFile(folder, runtimeFile, runtimeDirectory);
-			}
-		}
-	}
+    void synchronizeRuntimeDirectory(String workspaceDirectory, String runtimeDirectory) throws CoreException {
+        IFolder folder = getWorkspaceProject().getFolder(workspaceDirectory + "/" + runtimeDirectory);
+        ProjectFileContainer.createFolder(folder);
+        File runtimeFolder = getServer().getRuntime().getLocation().append(runtimeDirectory).toFile();
+        File[] files = runtimeFolder.listFiles();
+        if (files != null) {
+            for (File runtimeFile : files) {
+                linkFile(folder, runtimeFile, runtimeDirectory);
+            }
+        }
+    }
 
-	protected void linkFile(IFolder folder, File runtimeFile, String runtimeDirectory) {
-		if (!runtimeFile.isDirectory()) {
-			IFile workspaceFile = folder.getFile(runtimeFile.getName());
-			try {
-				workspaceFile.createLink(new Path(runtimeFile.getAbsolutePath()), IResource.REPLACE, null);
-			} catch (CoreException e) {
-				ServerProjectManager.handleException(e);
-			}
-		}
-	}
+    protected void linkFile(IFolder folder, File runtimeFile, String runtimeDirectory) {
+        if (!runtimeFile.isDirectory()) {
+            IFile workspaceFile = folder.getFile(runtimeFile.getName());
+            try {
+                workspaceFile.createLink(new Path(runtimeFile.getAbsolutePath()), IResource.REPLACE, null);
+            } catch (CoreException e) {
+                ServerProjectManager.handleException(e);
+            }
+        }
+    }
 
-	protected boolean isRuntimeExists() {
-		String home = ServerUtils.getServerHome(server.getRuntime());
-		if (home == null) {
-			return false;
-		}
-		return new File(home).exists();
-	}
+    protected boolean isRuntimeExists() {
+        String home = ServerUtils.getServerHome(this.server.getRuntime());
+        if (home == null) {
+            return false;
+        }
+        return new File(home).exists();
+    }
 
-	protected void clearFiles() {
-		if (project != null) {
-			try {
-				for (IResource resource : project.members()) {
-					if (resource instanceof IFolder) {
-						resource.setReadOnly(false);
-						resource.delete(true, null);
-					}
-				}
-			} catch (CoreException e) {
-				ServerProjectManager.handleException(e);
-			}
-		}
-	}
+    protected void clearFiles() {
+        if (this.project != null) {
+            try {
+                for (IResource resource : this.project.members()) {
+                    if (resource instanceof IFolder) {
+                        resource.setReadOnly(false);
+                        resource.delete(true, null);
+                    }
+                }
+            } catch (CoreException e) {
+                ServerProjectManager.handleException(e);
+            }
+        }
+    }
 
-	protected void clearArtefacts() {
-		libraryEntries = new ArrayList<IClasspathEntry>();
-		containers = new ArrayList<IServerProjectContainer>();
-		artefactSets = new ArrayList<ArtefactSet>();
-		projectContainerForArtefactSet = new HashMap<ArtefactSet, IServerProjectContainer>();
-	}
+    protected void clearArtefacts() {
+        this.libraryEntries = new ArrayList<IClasspathEntry>();
+        this.containers = new ArrayList<IServerProjectContainer>();
+        this.artefactSets = new ArrayList<ArtefactSet>();
+        this.projectContainerForArtefactSet = new HashMap<ArtefactSet, IServerProjectContainer>();
+    }
 
-	protected void updateProject() {
-		if (isRuntimeExists()) {
-			updateWorkspaceProject();
-		} else {
-			deleteWorkspaceProject();
-		}
-	}
+    protected void updateProject() {
+        if (isRuntimeExists()) {
+            updateWorkspaceProject();
+        } else {
+            deleteWorkspaceProject();
+        }
+    }
 
-	void deleteWorkspaceProject() {
-		IWorkspace ws = ResourcesPlugin.getWorkspace();
-		String projectName = getWorkspaceProjectName();
-		project = ws.getRoot().getProject(projectName);
-		if (project != null && project.exists()) {
-			try {
-				project.delete(false, null);
-			} catch (CoreException e) {
-				ServerProjectManager.handleException(e);
-			}
-		}
-		project = null;
-		clearArtefacts();
-	}
+    void deleteWorkspaceProject() {
+        IWorkspace ws = ResourcesPlugin.getWorkspace();
+        String projectName = getWorkspaceProjectName();
+        this.project = ws.getRoot().getProject(projectName);
+        if (this.project != null && this.project.exists()) {
+            try {
+                this.project.delete(false, null);
+            } catch (CoreException e) {
+                ServerProjectManager.handleException(e);
+            }
+        }
+        this.project = null;
+        clearArtefacts();
+    }
 
-	void updateWorkspaceProject() {
-		if (isRuntimeExists()) {
-			try {
-				IWorkspace ws = ResourcesPlugin.getWorkspace();
-				String projectName = getWorkspaceProjectName();
-				project = ws.getRoot().getProject(projectName);
-				if (!project.exists()) {
-					IProjectDescription description = new ProjectDescription();
-					description.setNatureIds(new String[] { JavaCore.NATURE_ID, SERVER_PROJECT_ID });
-					description.setComment("Created and managed by Virgo Tooling.");
-					description.setName(projectName);
-					project.create(description, null);
-				}
-				if (!project.isOpen()) {
-					project.open(null);
-				}
+    void updateWorkspaceProject() {
+        if (isRuntimeExists()) {
+            try {
+                IWorkspace ws = ResourcesPlugin.getWorkspace();
+                String projectName = getWorkspaceProjectName();
+                this.project = ws.getRoot().getProject(projectName);
+                if (!this.project.exists()) {
+                    IProjectDescription description = new ProjectDescription();
+                    description.setNatureIds(new String[] { JavaCore.NATURE_ID, SERVER_PROJECT_ID });
+                    description.setComment("Created and managed by Virgo Tooling.");
+                    description.setName(projectName);
+                    this.project.create(description, null);
+                }
+                if (!this.project.isOpen()) {
+                    this.project.open(null);
+                }
 
-				javaProject = (JavaProject) JavaCore.create(project);
-			} catch (CoreException e) {
-				ServerProjectManager.handleException(e);
-			}
-		}
-	}
+                this.javaProject = (JavaProject) JavaCore.create(this.project);
+            } catch (CoreException e) {
+                ServerProjectManager.handleException(e);
+            }
+        }
+    }
 
-	String getWorkspaceProjectName() {
-		return server.getName() + " Server";
-	}
+    String getWorkspaceProjectName() {
+        return this.server.getName() + " Server";
+    }
 
-	public IProject getWorkspaceProject() {
-		return project;
-	}
+    public IProject getWorkspaceProject() {
+        return this.project;
+    }
 
-	@SuppressWarnings("restriction")
-	public JavaProject getJavaProject() {
-		return javaProject;
-	}
+    @SuppressWarnings("restriction")
+    public JavaProject getJavaProject() {
+        return this.javaProject;
+    }
 
-	public List<IServerProjectContainer> getContainers() {
-		return containers;
-	}
+    public List<IServerProjectContainer> getContainers() {
+        return this.containers;
+    }
 
-	public IServerProjectContainer getContainer(ArtefactSet set) {
-		return projectContainerForArtefactSet.get(set);
-	}
+    public IServerProjectContainer getContainer(ArtefactSet set) {
+        return this.projectContainerForArtefactSet.get(set);
+    }
 
-	public IServer getServer() {
-		return server;
-	}
+    public IServer getServer() {
+        return this.server;
+    }
 
-	public List<ArtefactSet> getArtefactSets() {
-		return artefactSets;
-	}
+    public List<ArtefactSet> getArtefactSets() {
+        return this.artefactSets;
+    }
 
-	public List<IClasspathEntry> getLibraryEntries() {
-		return libraryEntries;
-	}
+    public List<IClasspathEntry> getLibraryEntries() {
+        return this.libraryEntries;
+    }
 
-	/**
-	 * Checks server type for virgo. Null safe.
-	 */
-	public static boolean isVirgo(IServer server) {
-		return server != null && server.getServerType().getId().equals(ServerCorePlugin.VIRGO_SERVER_ID);
-	}
+    /**
+     * Checks server type for virgo. Null safe.
+     */
+    public static boolean isVirgo(IServer server) {
+        return server != null && server.getServerType().getId().equals(ServerCorePlugin.VIRGO_SERVER_ID);
+    }
 
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	@Override
-	public boolean equals(Object obj) {
-		if (obj instanceof ServerProject) {
-			ServerProject other = (ServerProject) obj;
-			return other.project.equals(project);
-		}
-		return false;
-	}
+    /**
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @Override
+    public boolean equals(Object obj) {
+        if (obj instanceof ServerProject) {
+            ServerProject other = (ServerProject) obj;
+            return other.project.equals(this.project);
+        }
+        return false;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ServerProjectManager.java b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ServerProjectManager.java
index f604a5e..6746187 100644
--- a/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ServerProjectManager.java
+++ b/org.eclipse.virgo.ide.runtime.core/src/org/eclipse/virgo/ide/runtime/internal/ui/projects/ServerProjectManager.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.projects;
 
 import java.util.HashMap;
@@ -25,112 +26,107 @@
 /**
  * The server project manager is responsible for tracking existing server projects and creating and destorying them as
  * appropriate. Server Projects are created on demand.
- * 
+ *
  * @author Miles Parker
  */
 public class ServerProjectManager implements IServerLifecycleListener {
 
-	private static ServerProjectManager INSTANCE;
+    private static ServerProjectManager INSTANCE;
 
-	private final Map<IServer, ServerProject> projectForServer = new HashMap<IServer, ServerProject>();
+    private final Map<IServer, ServerProject> projectForServer = new HashMap<IServer, ServerProject>();
 
-	private final Map<String, ServerProject> projectForName = new HashMap<String, ServerProject>();
+    private final Map<String, ServerProject> projectForName = new HashMap<String, ServerProject>();
 
-	public static ServerProjectManager getInstance() {
-		if (INSTANCE == null) {
-			INSTANCE = new ServerProjectManager();
-			ServerCore.addServerLifecycleListener(INSTANCE);
-		}
-		return INSTANCE;
-	}
+    public static ServerProjectManager getInstance() {
+        if (INSTANCE == null) {
+            INSTANCE = new ServerProjectManager();
+            ServerCore.addServerLifecycleListener(INSTANCE);
+        }
+        return INSTANCE;
+    }
 
-	/**
-	 * Returns a project for the provided server.
-	 * 
-	 * @param server
-	 *            the target server
-	 * @param create
-	 *            If a project doesn't already exist, create one.
-	 * @param refresh
-	 *            (update) the contents of the server as well
-	 */
-	public synchronized ServerProject getProject(IServer server, boolean create, boolean refresh) {
-		if (ServerProject.isVirgo(server)) {
-			ServerProject serverProject = projectForServer.get(server);
-			if (serverProject == null && create) {
-				serverProject = new ServerProject(server);
-				if (serverProject.getWorkspaceProject() != null) {
-					projectForServer.put(server, serverProject);
-					projectForName.put(serverProject.getWorkspaceProject().getName(), serverProject);
-				} else {
-					serverProject = null;
-				}
-			}
-			if (serverProject != null && refresh) {
-				serverProject.refresh();
-			}
-			return serverProject;
-		}
-		return null;
-	}
+    /**
+     * Returns a project for the provided server.
+     *
+     * @param server the target server
+     * @param create If a project doesn't already exist, create one.
+     * @param refresh (update) the contents of the server as well
+     */
+    public synchronized ServerProject getProject(IServer server, boolean create, boolean refresh) {
+        if (ServerProject.isVirgo(server)) {
+            ServerProject serverProject = this.projectForServer.get(server);
+            if (serverProject == null && create) {
+                serverProject = new ServerProject(server);
+                if (serverProject.getWorkspaceProject() != null) {
+                    this.projectForServer.put(server, serverProject);
+                    this.projectForName.put(serverProject.getWorkspaceProject().getName(), serverProject);
+                } else {
+                    serverProject = null;
+                }
+            }
+            if (serverProject != null && refresh) {
+                serverProject.refresh();
+            }
+            return serverProject;
+        }
+        return null;
+    }
 
-	/**
-	 * Returns a project for the server, without creating or refrehing it.
-	 */
-	public ServerProject getProject(IServer server) {
-		return getProject(server, false, false);
-	}
+    /**
+     * Returns a project for the server, without creating or refrehing it.
+     */
+    public ServerProject getProject(IServer server) {
+        return getProject(server, false, false);
+    }
 
-	public synchronized void updateProjects() {
-		Map<String, ServerProject> unmatchedProjects = new HashMap<String, ServerProject>(projectForName);
-		for (IServer server : ServerCore.getServers()) {
-			ServerProject project = getProject(server, true, true);
-			if (project != null) {
-				unmatchedProjects.remove(project.getWorkspaceProjectName());
-			}
-		}
-		for (ServerProject oldProject : unmatchedProjects.values()) {
-			oldProject.deleteWorkspaceProject();
-			projectForName.remove(oldProject.getJavaProject().getProject().getName());
-		}
-	}
+    public synchronized void updateProjects() {
+        Map<String, ServerProject> unmatchedProjects = new HashMap<String, ServerProject>(this.projectForName);
+        for (IServer server : ServerCore.getServers()) {
+            ServerProject project = getProject(server, true, true);
+            if (project != null) {
+                unmatchedProjects.remove(project.getWorkspaceProjectName());
+            }
+        }
+        for (ServerProject oldProject : unmatchedProjects.values()) {
+            oldProject.deleteWorkspaceProject();
+            this.projectForName.remove(oldProject.getJavaProject().getProject().getName());
+        }
+    }
 
-	protected static void handleException(CoreException e) {
-		StatusManager.getManager().handle(
-				new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID,
-						"Problem occurred while managing server project.", e));
-	}
+    protected static void handleException(CoreException e) {
+        StatusManager.getManager().handle(
+            new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "Problem occurred while managing server project.", e));
+    }
 
-	/**
-	 * @see org.eclipse.wst.server.core.IServerLifecycleListener#serverAdded(org.eclipse.wst.server.core.IServer)
-	 */
-	public void serverAdded(IServer server) {
-		getProject(server, true, true);
-	}
+    /**
+     * @see org.eclipse.wst.server.core.IServerLifecycleListener#serverAdded(org.eclipse.wst.server.core.IServer)
+     */
+    public void serverAdded(IServer server) {
+        getProject(server, true, true);
+    }
 
-	/**
-	 * @see org.eclipse.wst.server.core.IServerLifecycleListener#serverChanged(org.eclipse.wst.server.core.IServer)
-	 */
-	public synchronized void serverChanged(IServer server) {
-		if (ServerProject.isVirgo(server)) {
-			ServerProject project = getProject(server, false, false);
-			if (project.getWorkspaceProject() == null
-					|| !projectForName.containsKey(project.getWorkspaceProject().getName())) {
-				//The project name has probably changed, so update everything
-				updateProjects();
-			}
-		}
-	}
+    /**
+     * @see org.eclipse.wst.server.core.IServerLifecycleListener#serverChanged(org.eclipse.wst.server.core.IServer)
+     */
+    public synchronized void serverChanged(IServer server) {
+        if (ServerProject.isVirgo(server)) {
+            ServerProject project = getProject(server, false, false);
+            if (project.getWorkspaceProject() == null || !this.projectForName.containsKey(project.getWorkspaceProject().getName())) {
+                // The project name has probably changed, so update everything
+                updateProjects();
+            }
+        }
+    }
 
-	/**
-	 * @see org.eclipse.wst.server.core.IServerLifecycleListener#serverRemoved(org.eclipse.wst.server.core.IServer)
-	 */
-	public synchronized void serverRemoved(IServer server) {
-		ServerProject project = getProject(server);
-		if (project != null) {
-			projectForServer.remove(server);
-			projectForName.remove(project.getWorkspaceProject().getName());
-			project.deleteWorkspaceProject();
-		}
-	}
+    /**
+     * @see org.eclipse.wst.server.core.IServerLifecycleListener#serverRemoved(org.eclipse.wst.server.core.IServer)
+     */
+    public synchronized void serverRemoved(IServer server) {
+        ServerProject project = getProject(server);
+        if (project != null) {
+            this.projectForServer.remove(server);
+            this.projectForName.remove(project.getWorkspaceProject().getName());
+            project.deleteWorkspaceProject();
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.runtime.ui/.settings/org.eclipse.jdt.core.prefs
index 800d708..4321bd9 100644
--- a/org.eclipse.virgo.ide.runtime.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.runtime.ui/.settings/org.eclipse.jdt.core.prefs
@@ -7,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -81,14 +83,14 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
@@ -96,7 +98,7 @@
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
@@ -106,12 +108,12 @@
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -122,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -159,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -167,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -218,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -295,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -349,16 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
 org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.runtime.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.runtime.ui/.settings/org.eclipse.jdt.ui.prefs
index 8ace67a..6c98016 100644
--- a/org.eclipse.virgo.ide.runtime.ui/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.runtime.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_'Virgo based on Mylyn'
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerLicenseRuntimeWizardFragment.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerLicenseRuntimeWizardFragment.java
index e467de8..832aff5 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerLicenseRuntimeWizardFragment.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerLicenseRuntimeWizardFragment.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui;
 
 import org.eclipse.swt.widgets.Composite;
@@ -17,61 +18,65 @@
 
 /**
  * {@link WizardFragment} to accept license terms.
- * 
+ *
  * @author Christian Dupuis
  */
 @SuppressWarnings("restriction")
 public class ServerLicenseRuntimeWizardFragment extends WizardFragment {
 
-	public static final String LICENSE = "license";
+    public static final String LICENSE = "license";
 
-	public static final String LICENSE_NONE = "none";
+    public static final String LICENSE_NONE = "none";
 
-	public static final String LICENSE_UNKNOWN = "unknown";
+    public static final String LICENSE_UNKNOWN = "unknown";
 
-	public static final String LICENSE_ACCEPT = "accept";
+    public static final String LICENSE_ACCEPT = "accept";
 
-	public static final String LICENSE_SERVER = "license_server";
+    public static final String LICENSE_SERVER = "license_server";
 
-	protected LicenseComposite comp;
+    protected LicenseComposite comp;
 
-	public ServerLicenseRuntimeWizardFragment() {
-		// do nothing
-	}
+    public ServerLicenseRuntimeWizardFragment() {
+        // do nothing
+    }
 
-	public void enter() {
-		if (comp != null) {
-			comp.updateLicense();
-		}
-	}
+    @Override
+    public void enter() {
+        if (this.comp != null) {
+            this.comp.updateLicense();
+        }
+    }
 
-	public boolean hasComposite() {
-		return true;
-	}
+    @Override
+    public boolean hasComposite() {
+        return true;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage()
-	 */
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		comp = new LicenseComposite(parent, getTaskModel(), wizard);
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.wst.server.ui.internal.task.WizardTask#getWizardPage()
+     */
+    @Override
+    public Composite createComposite(Composite parent, IWizardHandle wizard) {
+        this.comp = new LicenseComposite(parent, getTaskModel(), wizard);
 
-		wizard.setTitle("License Terms");
-		wizard.setDescription("Review and accept License Terms");
-		wizard.setImageDescriptor(ServerUiImages.DESC_WIZB_SERVER);
-		return comp;
-	}
+        wizard.setTitle("License Terms");
+        wizard.setDescription("Review and accept License Terms");
+        wizard.setImageDescriptor(ServerUiImages.DESC_WIZB_SERVER);
+        return this.comp;
+    }
 
-	public boolean isComplete() {
-		try {
-			Boolean b = (Boolean) getTaskModel().getObject(ServerLicenseRuntimeWizardFragment.LICENSE_ACCEPT);
-			if (b != null && b.booleanValue()) {
-				return true;
-			}
-		} catch (Exception e) {
-			// ignore
-		}
-		return false;
-	}
+    @Override
+    public boolean isComplete() {
+        try {
+            Boolean b = (Boolean) getTaskModel().getObject(ServerLicenseRuntimeWizardFragment.LICENSE_ACCEPT);
+            if (b != null && b.booleanValue()) {
+                return true;
+            }
+        } catch (Exception e) {
+            // ignore
+        }
+        return false;
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerRuntimeComposite.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerRuntimeComposite.java
index a4af74a..14ec684 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerRuntimeComposite.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerRuntimeComposite.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui;
 
 import java.util.ArrayList;
@@ -53,311 +54,313 @@
 @SuppressWarnings("restriction")
 public class ServerRuntimeComposite extends Composite {
 
-	protected IRuntimeWorkingCopy runtimeWC;
+    protected IRuntimeWorkingCopy runtimeWC;
 
-	protected IServerRuntimeWorkingCopy runtime;
+    protected IServerRuntimeWorkingCopy runtime;
 
-	protected IWizardHandle wizard;
+    protected IWizardHandle wizard;
 
-	protected Text installDir;
+    protected Text installDir;
 
-	protected Text name;
+    protected Text name;
 
-	protected Combo vmCombo;
+    protected Combo vmCombo;
 
-	protected List<IVMInstall> installedJREs;
+    protected List<IVMInstall> installedJREs;
 
-	protected String[] jreNames;
+    protected String[] jreNames;
 
-	protected IInstallableRuntime ir;
+    protected IInstallableRuntime ir;
 
-	protected Label installLabel;
+    protected Label installLabel;
 
-	protected Button install;
+    protected Button install;
 
-	private Combo versionCombo;
+    protected ServerRuntimeComposite(Composite parent, IWizardHandle wizard, String wizardTitle, String wizardDescription) {
+        this(parent, wizard, wizardTitle, wizardDescription, ServerUiImages.DESC_WIZB_SERVER);
+    }
 
-	protected ServerRuntimeComposite(Composite parent, IWizardHandle wizard, String wizardTitle,
-			String wizardDescription) {
-		this(parent, wizard, wizardTitle, wizardDescription, ServerUiImages.DESC_WIZB_SERVER);
-	}
+    protected ServerRuntimeComposite(Composite parent, IWizardHandle wizard, String wizardTitle, String wizardDescription,
+        ImageDescriptor imageDescriptor) {
+        super(parent, SWT.NONE);
+        this.wizard = wizard;
 
-	protected ServerRuntimeComposite(Composite parent, IWizardHandle wizard, String wizardTitle,
-			String wizardDescription, ImageDescriptor imageDescriptor) {
-		super(parent, SWT.NONE);
-		this.wizard = wizard;
+        wizard.setTitle(wizardTitle);
+        wizard.setDescription(wizardDescription);
+        wizard.setImageDescriptor(imageDescriptor);
 
-		wizard.setTitle(wizardTitle);
-		wizard.setDescription(wizardDescription);
-		wizard.setImageDescriptor(imageDescriptor);
+        createControl();
+    }
 
-		createControl();
-	}
+    protected void setRuntime(IRuntimeWorkingCopy newRuntime) {
+        if (newRuntime == null) {
+            this.runtimeWC = null;
+            this.runtime = null;
+        } else {
+            this.runtimeWC = newRuntime;
+            this.runtime = (IServerRuntimeWorkingCopy) newRuntime.loadAdapter(IServerRuntimeWorkingCopy.class, null);
+        }
 
-	protected void setRuntime(IRuntimeWorkingCopy newRuntime) {
-		if (newRuntime == null) {
-			runtimeWC = null;
-			runtime = null;
-		} else {
-			runtimeWC = newRuntime;
-			runtime = (IServerRuntimeWorkingCopy) newRuntime.loadAdapter(IServerRuntimeWorkingCopy.class, null);
-		}
+        if (this.runtimeWC == null) {
+            this.ir = null;
+            this.install.setEnabled(false);
+            this.installLabel.setText("");
+        } else {
+            this.ir = ServerPlugin.findInstallableRuntime(this.runtimeWC.getRuntimeType().getId());
+        }
 
-		if (runtimeWC == null) {
-			ir = null;
-			install.setEnabled(false);
-			installLabel.setText("");
-		} else {
-			ir = ServerPlugin.findInstallableRuntime(runtimeWC.getRuntimeType().getId());
-		}
+        init();
+        validate();
+    }
 
-		init();
-		validate();
-	}
+    protected void createControl() {
+        GridLayout layout = new GridLayout();
+        layout.numColumns = 2;
+        setLayout(layout);
+        setLayoutData(new GridData(GridData.FILL_BOTH));
 
-	protected void createControl() {
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		setLayout(layout);
-		setLayoutData(new GridData(GridData.FILL_BOTH));
+        Label label = new Label(this, SWT.NONE);
+        label.setText(ServerUiPlugin.getResourceString("runtimeName"));
+        GridData data = new GridData();
+        data.horizontalSpan = 2;
+        label.setLayoutData(data);
 
-		Label label = new Label(this, SWT.NONE);
-		label.setText(ServerUiPlugin.getResourceString("runtimeName"));
-		GridData data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
+        this.name = new Text(this, SWT.BORDER);
+        data = new GridData(GridData.FILL_HORIZONTAL);
+        this.name.setLayoutData(data);
+        this.name.addModifyListener(new ModifyListener() {
 
-		name = new Text(this, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		name.setLayoutData(data);
-		name.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				runtimeWC.setName(name.getText());
-				validate();
-			}
-		});
+            public void modifyText(ModifyEvent e) {
+                ServerRuntimeComposite.this.runtimeWC.setName(ServerRuntimeComposite.this.name.getText());
+                validate();
+            }
+        });
 
-		label = new Label(this, SWT.NONE);
-		label.setText(ServerUiPlugin.getResourceString("installDir"));
-		data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
+        label = new Label(this, SWT.NONE);
+        label.setText(ServerUiPlugin.getResourceString("installDir"));
+        data = new GridData();
+        data.horizontalSpan = 2;
+        label.setLayoutData(data);
 
-		installDir = new Text(this, SWT.BORDER);
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		installDir.setLayoutData(data);
-		installDir.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				runtimeWC.setLocation(new Path(installDir.getText()));
-				validate();
-			}
-		});
+        this.installDir = new Text(this, SWT.BORDER);
+        data = new GridData(GridData.FILL_HORIZONTAL);
+        this.installDir.setLayoutData(data);
+        this.installDir.addModifyListener(new ModifyListener() {
 
-		Button browse = SWTUtil.createButton(this, ServerUiPlugin.getResourceString("browse"));
-		browse.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent se) {
-				DirectoryDialog dialog = new DirectoryDialog(ServerRuntimeComposite.this.getShell());
-				dialog.setMessage(ServerUiPlugin.getResourceString("selectInstallDir"));
-				dialog.setFilterPath(installDir.getText());
-				String selectedDirectory = dialog.open();
-				if (selectedDirectory != null) {
-					installDir.setText(selectedDirectory);
-				}
-			}
-		});
+            public void modifyText(ModifyEvent e) {
+                ServerRuntimeComposite.this.runtimeWC.setLocation(new Path(ServerRuntimeComposite.this.installDir.getText()));
+                validate();
+            }
+        });
 
-//		Composite configuration = new Composite(this, SWT.BORDER);
-//		GridLayout configLayout = new GridLayout();
-//		configLayout.numColumns = 2;
-//		configuration.setLayout(configLayout);
-//		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-//		configuration.setLayoutData(data);
-//
-//		Label versionLabel = new Label(configuration, SWT.NONE);
-//		versionLabel.setText(ServerUiPlugin.getResourceString("version"));
-//		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-//		versionLabel.setLayoutData(data);
-//
-//		versionCombo = new Combo(configuration, SWT.DROP_DOWN | SWT.READ_ONLY);
-//
-//		List<String> names = new ArrayList<String>();
-//		for (ServerVirgoHandler version : ServerVersionAdapter.ALL_HANDLERS) {
-//			names.add(version.getName());
-//		}
-//		versionCombo.setItems(names.toArray(new String[] {}));
-//		data = new GridData(GridData.FILL_HORIZONTAL);
-//
-//		versionCombo.setLayoutData(data);
-//
-//		versionCombo.addSelectionListener(new SelectionListener() {
-//			public void widgetSelected(SelectionEvent e) {
-//				int sel = versionCombo.getSelectionIndex();
-//				runtime.setVirgoVersion(ServerVersionAdapter.ALL_HANDLERS[sel]);
-//				validate();
-//			}
-//
-//			public void widgetDefaultSelected(SelectionEvent e) {
-//				widgetSelected(e);
-//			}
-//		});
+        Button browse = SWTUtil.createButton(this, ServerUiPlugin.getResourceString("browse"));
+        browse.addSelectionListener(new SelectionAdapter() {
 
-		updateJREs();
+            @Override
+            public void widgetSelected(SelectionEvent se) {
+                DirectoryDialog dialog = new DirectoryDialog(ServerRuntimeComposite.this.getShell());
+                dialog.setMessage(ServerUiPlugin.getResourceString("selectInstallDir"));
+                dialog.setFilterPath(ServerRuntimeComposite.this.installDir.getText());
+                String selectedDirectory = dialog.open();
+                if (selectedDirectory != null) {
+                    ServerRuntimeComposite.this.installDir.setText(selectedDirectory);
+                }
+            }
+        });
 
-		// JDK location
-		label = new Label(this, SWT.NONE);
-		label.setText(ServerUiPlugin.getResourceString("installedJRE"));
-		data = new GridData();
-		data.horizontalSpan = 2;
-		label.setLayoutData(data);
+        // Composite configuration = new Composite(this, SWT.BORDER);
+        // GridLayout configLayout = new GridLayout();
+        // configLayout.numColumns = 2;
+        // configuration.setLayout(configLayout);
+        // data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+        // configuration.setLayoutData(data);
+        //
+        // Label versionLabel = new Label(configuration, SWT.NONE);
+        // versionLabel.setText(ServerUiPlugin.getResourceString("version"));
+        // data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+        // versionLabel.setLayoutData(data);
+        //
+        // versionCombo = new Combo(configuration, SWT.DROP_DOWN | SWT.READ_ONLY);
+        //
+        // List<String> names = new ArrayList<String>();
+        // for (ServerVirgoHandler version : ServerVersionAdapter.ALL_HANDLERS) {
+        // names.add(version.getName());
+        // }
+        // versionCombo.setItems(names.toArray(new String[] {}));
+        // data = new GridData(GridData.FILL_HORIZONTAL);
+        //
+        // versionCombo.setLayoutData(data);
+        //
+        // versionCombo.addSelectionListener(new SelectionListener() {
+        // public void widgetSelected(SelectionEvent e) {
+        // int sel = versionCombo.getSelectionIndex();
+        // runtime.setVirgoVersion(ServerVersionAdapter.ALL_HANDLERS[sel]);
+        // validate();
+        // }
+        //
+        // public void widgetDefaultSelected(SelectionEvent e) {
+        // widgetSelected(e);
+        // }
+        // });
 
-		vmCombo = new Combo(this, SWT.DROP_DOWN | SWT.READ_ONLY);
-		vmCombo.setItems(jreNames);
-		data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		vmCombo.setLayoutData(data);
+        updateJREs();
 
-		vmCombo.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				int sel = vmCombo.getSelectionIndex();
-				IVMInstall vmInstall = null;
-				if (sel > 0) {
-					vmInstall = installedJREs.get(sel - 1);
-				}
+        // JDK location
+        label = new Label(this, SWT.NONE);
+        label.setText(ServerUiPlugin.getResourceString("installedJRE"));
+        data = new GridData();
+        data.horizontalSpan = 2;
+        label.setLayoutData(data);
 
-				runtime.setVMInstall(vmInstall);
-				validate();
-			}
+        this.vmCombo = new Combo(this, SWT.DROP_DOWN | SWT.READ_ONLY);
+        this.vmCombo.setItems(this.jreNames);
+        data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+        this.vmCombo.setLayoutData(data);
 
-			public void widgetDefaultSelected(SelectionEvent e) {
-				widgetSelected(e);
-			}
-		});
+        this.vmCombo.addSelectionListener(new SelectionListener() {
 
-		Button button = SWTUtil.createButton(this, ServerUiPlugin.getResourceString("installedJREs"));
-		button.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				String currentVM = vmCombo.getText();
-				if (showPreferencePage()) {
-					updateJREs();
-					vmCombo.setItems(jreNames);
-					vmCombo.setText(currentVM);
-					if (vmCombo.getSelectionIndex() == -1) {
-						vmCombo.select(0);
-					}
-					validate();
-				}
-			}
-		});
+            public void widgetSelected(SelectionEvent e) {
+                int sel = ServerRuntimeComposite.this.vmCombo.getSelectionIndex();
+                IVMInstall vmInstall = null;
+                if (sel > 0) {
+                    vmInstall = ServerRuntimeComposite.this.installedJREs.get(sel - 1);
+                }
 
-		init();
-		validate();
+                ServerRuntimeComposite.this.runtime.setVMInstall(vmInstall);
+                validate();
+            }
 
-		Dialog.applyDialogFont(this);
+            public void widgetDefaultSelected(SelectionEvent e) {
+                widgetSelected(e);
+            }
+        });
 
-		name.forceFocus();
-	}
+        Button button = SWTUtil.createButton(this, ServerUiPlugin.getResourceString("installedJREs"));
+        button.addSelectionListener(new SelectionAdapter() {
 
-	protected void updateJREs() {
-		// get all installed JVMs
-		installedJREs = new ArrayList<IVMInstall>();
-		IVMInstallType[] vmInstallTypes = JavaRuntime.getVMInstallTypes();
-		int size = vmInstallTypes.length;
-		for (int i = 0; i < size; i++) {
-			IVMInstall[] vmInstalls = vmInstallTypes[i].getVMInstalls();
-			int size2 = vmInstalls.length;
-			for (int j = 0; j < size2; j++) {
-				installedJREs.add(vmInstalls[j]);
-			}
-		}
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                String currentVM = ServerRuntimeComposite.this.vmCombo.getText();
+                if (showPreferencePage()) {
+                    updateJREs();
+                    ServerRuntimeComposite.this.vmCombo.setItems(ServerRuntimeComposite.this.jreNames);
+                    ServerRuntimeComposite.this.vmCombo.setText(currentVM);
+                    if (ServerRuntimeComposite.this.vmCombo.getSelectionIndex() == -1) {
+                        ServerRuntimeComposite.this.vmCombo.select(0);
+                    }
+                    validate();
+                }
+            }
+        });
 
-		// get names
-		size = installedJREs.size();
-		jreNames = new String[size + 1];
-		jreNames[0] = ServerUiPlugin.getResourceString("runtimeDefaultJRE");
-		for (int i = 0; i < size; i++) {
-			IVMInstall vmInstall = installedJREs.get(i);
-			jreNames[i + 1] = vmInstall.getName();
-		}
-	}
+        init();
+        validate();
 
-	protected boolean showPreferencePage() {
-		String id = "org.eclipse.jdt.debug.ui.preferences.VMPreferencePage";
-		PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager();
-		IPreferenceNode node = manager.find("org.eclipse.jdt.ui.preferences.JavaBasePreferencePage").findSubNode(id);
-		PreferenceManager manager2 = new PreferenceManager();
-		manager2.addToRoot(node);
-		PreferenceDialog dialog = new PreferenceDialog(getShell(), manager2);
-		dialog.create();
-		return (dialog.open() == Window.OK);
-	}
+        Dialog.applyDialogFont(this);
 
-	protected void init() {
-		if (name == null || runtime == null) {
-			return;
-		}
+        this.name.forceFocus();
+    }
 
-		if (runtimeWC.getName() != null) {
-			name.setText(runtimeWC.getName());
-		} else {
-			name.setText("");
-		}
+    protected void updateJREs() {
+        // get all installed JVMs
+        this.installedJREs = new ArrayList<IVMInstall>();
+        IVMInstallType[] vmInstallTypes = JavaRuntime.getVMInstallTypes();
+        int size = vmInstallTypes.length;
+        for (int i = 0; i < size; i++) {
+            IVMInstall[] vmInstalls = vmInstallTypes[i].getVMInstalls();
+            int size2 = vmInstalls.length;
+            for (int j = 0; j < size2; j++) {
+                this.installedJREs.add(vmInstalls[j]);
+            }
+        }
 
-		if (runtimeWC.getLocation() != null) {
-			installDir.setText(runtimeWC.getLocation().toOSString());
-		} else {
-			installDir.setText("");
-		}
+        // get names
+        size = this.installedJREs.size();
+        this.jreNames = new String[size + 1];
+        this.jreNames[0] = ServerUiPlugin.getResourceString("runtimeDefaultJRE");
+        for (int i = 0; i < size; i++) {
+            IVMInstall vmInstall = this.installedJREs.get(i);
+            this.jreNames[i + 1] = vmInstall.getName();
+        }
+    }
 
-//		updateConfiguration();
+    protected boolean showPreferencePage() {
+        String id = "org.eclipse.jdt.debug.ui.preferences.VMPreferencePage";
+        PreferenceManager manager = PlatformUI.getWorkbench().getPreferenceManager();
+        IPreferenceNode node = manager.find("org.eclipse.jdt.ui.preferences.JavaBasePreferencePage").findSubNode(id);
+        PreferenceManager manager2 = new PreferenceManager();
+        manager2.addToRoot(node);
+        PreferenceDialog dialog = new PreferenceDialog(getShell(), manager2);
+        dialog.create();
+        return dialog.open() == Window.OK;
+    }
 
-		// set selection
-		if (runtime.isUsingDefaultJRE()) {
-			vmCombo.select(0);
-		} else {
-			boolean found = false;
-			int size = installedJREs.size();
-			for (int i = 0; i < size; i++) {
-				IVMInstall vmInstall = installedJREs.get(i);
-				if (vmInstall.equals(runtime.getVMInstall())) {
-					vmCombo.select(i + 1);
-					found = true;
-				}
-			}
-			if (!found) {
-				vmCombo.select(0);
-			}
-		}
-	}
+    protected void init() {
+        if (this.name == null || this.runtime == null) {
+            return;
+        }
 
-//	private void updateConfiguration() {
-//		int v = 0;
-//		for (ServerVirgoHandler version : ServerVersionAdapter.ALL_HANDLERS) {
-//			if (version.isHandlerFor(runtimeWC)) {
-//				versionCombo.select(v);
-//				break;
-//			}
-//			v++;
-//		}
-//	}
+        if (this.runtimeWC.getName() != null) {
+            this.name.setText(this.runtimeWC.getName());
+        } else {
+            this.name.setText("");
+        }
 
-	protected void validate() {
-		if (runtime == null) {
-			wizard.setMessage("", IMessageProvider.ERROR);
-			return;
-		}
+        if (this.runtimeWC.getLocation() != null) {
+            this.installDir.setText(this.runtimeWC.getLocation().toOSString());
+        } else {
+            this.installDir.setText("");
+        }
 
-		IStatus status = runtimeWC.validate(null);
-		if (status == null) {
-			wizard.setMessage(null, IMessageProvider.NONE);
-		} else if (status.isOK()) {
-			wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION);
-		} else if (status.getSeverity() == IStatus.WARNING) {
-			wizard.setMessage(status.getMessage(), IMessageProvider.WARNING);
-		} else {
-			wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
-		}
-		wizard.update();
-//		updateConfiguration();
-	}
+        // updateConfiguration();
+
+        // set selection
+        if (this.runtime.isUsingDefaultJRE()) {
+            this.vmCombo.select(0);
+        } else {
+            boolean found = false;
+            int size = this.installedJREs.size();
+            for (int i = 0; i < size; i++) {
+                IVMInstall vmInstall = this.installedJREs.get(i);
+                if (vmInstall.equals(this.runtime.getVMInstall())) {
+                    this.vmCombo.select(i + 1);
+                    found = true;
+                }
+            }
+            if (!found) {
+                this.vmCombo.select(0);
+            }
+        }
+    }
+
+    // private void updateConfiguration() {
+    // int v = 0;
+    // for (ServerVirgoHandler version : ServerVersionAdapter.ALL_HANDLERS) {
+    // if (version.isHandlerFor(runtimeWC)) {
+    // versionCombo.select(v);
+    // break;
+    // }
+    // v++;
+    // }
+    // }
+
+    protected void validate() {
+        if (this.runtime == null) {
+            this.wizard.setMessage("", IMessageProvider.ERROR);
+            return;
+        }
+
+        IStatus status = this.runtimeWC.validate(null);
+        if (status == null) {
+            this.wizard.setMessage(null, IMessageProvider.NONE);
+        } else if (status.isOK()) {
+            this.wizard.setMessage(status.getMessage(), IMessageProvider.INFORMATION);
+        } else if (status.getSeverity() == IStatus.WARNING) {
+            this.wizard.setMessage(status.getMessage(), IMessageProvider.WARNING);
+        } else {
+            this.wizard.setMessage(status.getMessage(), IMessageProvider.ERROR);
+        }
+        this.wizard.update();
+        // updateConfiguration();
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerUiImages.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerUiImages.java
index 89ae2d0..f2bae56 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerUiImages.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerUiImages.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui;
 
 import java.net.MalformedURLException;
@@ -29,165 +30,163 @@
  * PROD_ Misc images MISC_ Where are the images? The images (typically gifs) are found in the same location as this
  * plugin class. This may mean the same package directory as the package holding this class. The images are declared
  * using <code>this.getClass()</code> to ensure they are looked up via this plugin class.
- * 
+ *
  * @author Christian Dupuis
  * @author Miles Parker
  * @see org.eclipse.jface.resource.ImageRegistry
  */
 public class ServerUiImages {
 
-	private static final String ICON_PATH_PREFIX = "icons/full/";
+    private static final String ICON_PATH_PREFIX = "icons/full/";
 
-	private static final String NAME_PREFIX = ServerUiPlugin.PLUGIN_ID + '.';
+    private static final String NAME_PREFIX = ServerUiPlugin.PLUGIN_ID + '.';
 
-	private static final int NAME_PREFIX_LENGTH = NAME_PREFIX.length();
+    private static final int NAME_PREFIX_LENGTH = NAME_PREFIX.length();
 
-	/* Declare Common paths */
-	private static URL ICON_BASE_URL = null;
+    /* Declare Common paths */
+    private static URL ICON_BASE_URL = null;
 
-	static {
-		try {
-			ICON_BASE_URL = new URL(ServerUiPlugin.getDefault().getBundle().getEntry("/"), ICON_PATH_PREFIX);
-		} catch (MalformedURLException e) {
-			ServerUiPlugin.log(e);
-		}
-	}
+    static {
+        try {
+            ICON_BASE_URL = new URL(ServerUiPlugin.getDefault().getBundle().getEntry("/"), ICON_PATH_PREFIX);
+        } catch (MalformedURLException e) {
+            ServerUiPlugin.log(e);
+        }
+    }
 
-	/** A table of all the <code>ImageDescriptor</code>s. */
-	private static Map<String, ImageDescriptor> imageDescriptors;
+    /** A table of all the <code>ImageDescriptor</code>s. */
+    private static Map<String, ImageDescriptor> imageDescriptors;
 
-	public static final String IMG_WIZB_SERVER = NAME_PREFIX + "springsource_wiz.png";
+    public static final String IMG_WIZB_SERVER = NAME_PREFIX + "springsource_wiz.png";
 
-	public static final String IMG_WIZB_VIRGO_SERVER = NAME_PREFIX + "virgo_wiz.png";
+    public static final String IMG_WIZB_VIRGO_SERVER = NAME_PREFIX + "virgo_wiz.png";
 
-	public static final String IMG_OBJ_PORT = NAME_PREFIX + "port_obj.gif";
+    public static final String IMG_OBJ_PORT = NAME_PREFIX + "port_obj.gif";
 
-	public static final String IMG_OBJ_VIRGO = NAME_PREFIX + "virgo_obj.png";
+    public static final String IMG_OBJ_VIRGO = NAME_PREFIX + "virgo_obj.png";
 
-	public static final String IMG_OBJ_VIRGO_LIB = NAME_PREFIX + "virgo_obj_lib.png";
+    public static final String IMG_OBJ_VIRGO_LIB = NAME_PREFIX + "virgo_obj_lib.png";
 
-	public static final String IMG_OBJ_VIRGO_FILE = NAME_PREFIX + "virgo_obj_file.png";
+    public static final String IMG_OBJ_VIRGO_FILE = NAME_PREFIX + "virgo_obj_file.png";
 
-	public static final String IMG_VIRGO_OVER = NAME_PREFIX + "virgo_over.png";
+    public static final String IMG_VIRGO_OVER = NAME_PREFIX + "virgo_over.png";
 
-	public static final String IMG_OBJ_BUNDLE = NAME_PREFIX + "bundle_obj.gif";
+    public static final String IMG_OBJ_BUNDLE = NAME_PREFIX + "bundle_obj.gif";
 
-	public static final String IMG_OBJ_BUNDLE_SRC = NAME_PREFIX + "bundle_src_obj.gif";
+    public static final String IMG_OBJ_BUNDLE_SRC = NAME_PREFIX + "bundle_src_obj.gif";
 
-	public static final String IMG_OBJ_LIB = NAME_PREFIX + "lib_obj.gif";
+    public static final String IMG_OBJ_LIB = NAME_PREFIX + "lib_obj.gif";
 
-	public static final String IMG_OBJ_FILE = NAME_PREFIX + "file_obj.gif";
+    public static final String IMG_OBJ_FILE = NAME_PREFIX + "file_obj.gif";
 
-	// Use IPath and toOSString to build the names to ensure they have the slashes correct
-	private final static String OBJECT = "obj16/"; //basic colors - size 16x16
+    // Use IPath and toOSString to build the names to ensure they have the slashes correct
+    private final static String OBJECT = "obj16/"; // basic colors - size 16x16
 
-	// Use IPath and toOSString to build the names to ensure they have the slashes correct
-	private final static String OVER = "over08/"; //basic colors - size 16x16
+    // Use IPath and toOSString to build the names to ensure they have the slashes correct
+    private final static String OVER = "over08/"; // basic colors - size 16x16
 
-	private final static String WIZBAN = "wizban/"; //basic colors - size 16x16
+    private final static String WIZBAN = "wizban/"; // basic colors - size 16x16
 
-	//private final static String OVR = "ovr16/"; //basic colors - size 7x8
+    // private final static String OVR = "ovr16/"; //basic colors - size 7x8
 
-	public static final ImageDescriptor DESC_WIZB_SERVER = createManaged(WIZBAN, IMG_WIZB_SERVER);
+    public static final ImageDescriptor DESC_WIZB_SERVER = createManaged(WIZBAN, IMG_WIZB_SERVER);
 
-	public static final ImageDescriptor DESC_WIZB_VIRGO_SERVER = createManaged(WIZBAN, IMG_WIZB_VIRGO_SERVER);
+    public static final ImageDescriptor DESC_WIZB_VIRGO_SERVER = createManaged(WIZBAN, IMG_WIZB_VIRGO_SERVER);
 
-	public static final ImageDescriptor DESC_OBJ_VIRGO_LIB = createManaged(OBJECT, IMG_OBJ_VIRGO_LIB);
+    public static final ImageDescriptor DESC_OBJ_VIRGO_LIB = createManaged(OBJECT, IMG_OBJ_VIRGO_LIB);
 
-	public static final ImageDescriptor DESC_OBJ_VIRGO_FILE = createManaged(OBJECT, IMG_OBJ_VIRGO_FILE);
+    public static final ImageDescriptor DESC_OBJ_VIRGO_FILE = createManaged(OBJECT, IMG_OBJ_VIRGO_FILE);
 
-	public static final ImageDescriptor DESC_OBJ_VIRGO_OVER = createManaged(OVER, IMG_OBJ_VIRGO);
+    public static final ImageDescriptor DESC_OBJ_VIRGO_OVER = createManaged(OVER, IMG_OBJ_VIRGO);
 
-	public static final ImageDescriptor DESC_OBJ_PORT = createManaged(OBJECT, IMG_OBJ_PORT);
+    public static final ImageDescriptor DESC_OBJ_PORT = createManaged(OBJECT, IMG_OBJ_PORT);
 
-	public static final ImageDescriptor DESC_OBJ_VIRGO = createManaged(OBJECT, IMG_OBJ_VIRGO);
+    public static final ImageDescriptor DESC_OBJ_VIRGO = createManaged(OBJECT, IMG_OBJ_VIRGO);
 
-	public static final ImageDescriptor DESC_OBJ_BUNDLE = createManaged(OBJECT, IMG_OBJ_BUNDLE);
+    public static final ImageDescriptor DESC_OBJ_BUNDLE = createManaged(OBJECT, IMG_OBJ_BUNDLE);
 
-	public static final ImageDescriptor DESC_OBJ_BUNDLE_SRC = createManaged(OBJECT, IMG_OBJ_BUNDLE_SRC);
+    public static final ImageDescriptor DESC_OBJ_BUNDLE_SRC = createManaged(OBJECT, IMG_OBJ_BUNDLE_SRC);
 
-	public static final ImageDescriptor DESC_OBJ_LIB = createManaged(OBJECT, IMG_OBJ_LIB);
+    public static final ImageDescriptor DESC_OBJ_LIB = createManaged(OBJECT, IMG_OBJ_LIB);
 
-	public static final ImageDescriptor DESC_OBJ_FILE = createManaged(OBJECT, IMG_OBJ_FILE);
+    public static final ImageDescriptor DESC_OBJ_FILE = createManaged(OBJECT, IMG_OBJ_FILE);
 
-	/*
-	 * Helper method to initialize the image registry from the BeansUIPlugin
-	 * class.
-	 */
-	/* package */static void initializeImageRegistry(ImageRegistry registry) {
-		for (String key : imageDescriptors.keySet()) {
-			registry.put(key, imageDescriptors.get(key));
-		}
-	}
+    /*
+     * Helper method to initialize the image registry from the BeansUIPlugin class.
+     */
+    /* package */static void initializeImageRegistry(ImageRegistry registry) {
+        for (String key : imageDescriptors.keySet()) {
+            registry.put(key, imageDescriptors.get(key));
+        }
+    }
 
-	/**
-	 * Returns the {@link Image} identified by the given key, or <code>null</code> if it does not exist.
-	 */
-	public static Image getImage(String key) {
-		return ServerUiPlugin.getDefault().getImageRegistry().get(key);
-	}
+    /**
+     * Returns the {@link Image} identified by the given key, or <code>null</code> if it does not exist.
+     */
+    public static Image getImage(String key) {
+        return ServerUiPlugin.getDefault().getImageRegistry().get(key);
+    }
 
-	/**
-	 * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions are retrieved from
-	 * the *tool16 folders.
-	 */
-	public static void setToolImageDescriptors(IAction action, String iconName) {
-		setImageDescriptors(action, "tool16", iconName);
-	}
+    /**
+     * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions are retrieved from
+     * the *tool16 folders.
+     */
+    public static void setToolImageDescriptors(IAction action, String iconName) {
+        setImageDescriptors(action, "tool16", iconName);
+    }
 
-	/**
-	 * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions are retrieved from
-	 * the *lcl16 folders.
-	 */
-	public static void setLocalImageDescriptors(IAction action, String iconName) {
-		setImageDescriptors(action, "lcl16", iconName);
-	}
+    /**
+     * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions are retrieved from
+     * the *lcl16 folders.
+     */
+    public static void setLocalImageDescriptors(IAction action, String iconName) {
+        setImageDescriptors(action, "lcl16", iconName);
+    }
 
-	//---- Helper methods to access icons on the file system -------------------
+    // ---- Helper methods to access icons on the file system -------------------
 
-	private static void setImageDescriptors(IAction action, String type, String relPath) {
-		action.setImageDescriptor(create("e" + type, relPath));
-		try {
-			ImageDescriptor id = ImageDescriptor.createFromURL(makeIconFileURL("d" + type, relPath));
-			if (id != null) {
-				action.setDisabledImageDescriptor(id);
-			}
-		} catch (MalformedURLException e) {
-			ServerUiPlugin.log(e);
-		}
-	}
+    private static void setImageDescriptors(IAction action, String type, String relPath) {
+        action.setImageDescriptor(create("e" + type, relPath));
+        try {
+            ImageDescriptor id = ImageDescriptor.createFromURL(makeIconFileURL("d" + type, relPath));
+            if (id != null) {
+                action.setDisabledImageDescriptor(id);
+            }
+        } catch (MalformedURLException e) {
+            ServerUiPlugin.log(e);
+        }
+    }
 
-	private static ImageDescriptor createManaged(String prefix, String name) {
-		try {
-			ImageDescriptor result = ImageDescriptor.createFromURL(makeIconFileURL(prefix,
-					name.substring(NAME_PREFIX_LENGTH)));
-			if (imageDescriptors == null) {
-				imageDescriptors = new HashMap<String, ImageDescriptor>();
-			}
-			imageDescriptors.put(name, result);
-			return result;
-		} catch (MalformedURLException e) {
-			ServerUiPlugin.log(e);
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
+    private static ImageDescriptor createManaged(String prefix, String name) {
+        try {
+            ImageDescriptor result = ImageDescriptor.createFromURL(makeIconFileURL(prefix, name.substring(NAME_PREFIX_LENGTH)));
+            if (imageDescriptors == null) {
+                imageDescriptors = new HashMap<String, ImageDescriptor>();
+            }
+            imageDescriptors.put(name, result);
+            return result;
+        } catch (MalformedURLException e) {
+            ServerUiPlugin.log(e);
+            return ImageDescriptor.getMissingImageDescriptor();
+        }
+    }
 
-	private static ImageDescriptor create(String prefix, String name) {
-		try {
-			return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name));
-		} catch (MalformedURLException e) {
-			ServerUiPlugin.log(e);
-			return ImageDescriptor.getMissingImageDescriptor();
-		}
-	}
+    private static ImageDescriptor create(String prefix, String name) {
+        try {
+            return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name));
+        } catch (MalformedURLException e) {
+            ServerUiPlugin.log(e);
+            return ImageDescriptor.getMissingImageDescriptor();
+        }
+    }
 
-	private static URL makeIconFileURL(String prefix, String name) throws MalformedURLException {
-		if (ICON_BASE_URL == null) {
-			throw new MalformedURLException();
-		}
+    private static URL makeIconFileURL(String prefix, String name) throws MalformedURLException {
+        if (ICON_BASE_URL == null) {
+            throw new MalformedURLException();
+        }
 
-		StringBuffer buffer = new StringBuffer(prefix);
-		buffer.append('/').append(name);
-		return new URL(ICON_BASE_URL, buffer.toString());
-	}
+        StringBuffer buffer = new StringBuffer(prefix);
+        buffer.append('/').append(name);
+        return new URL(ICON_BASE_URL, buffer.toString());
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerUiPlugin.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerUiPlugin.java
index 0f6d47a..49de687 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerUiPlugin.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/ServerUiPlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui;
 
 import java.util.MissingResourceException;
@@ -22,154 +23,153 @@
 
 /**
  * The activator class controls the plug-in life cycle
- * 
+ *
  * @author Christian Dupuis
  */
 public class ServerUiPlugin extends AbstractUIPlugin {
 
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.virgo.ide.runtime.ui";
+    // The plug-in ID
+    public static final String PLUGIN_ID = "org.eclipse.virgo.ide.runtime.ui";
 
-	private static final String RESOURCE_NAME = "org.eclipse.virgo.ide.runtime.internal.ui.messages";
+    private static final String RESOURCE_NAME = "org.eclipse.virgo.ide.runtime.internal.ui.messages";
 
-	public static final String REPOSITORY_PAGE_ID = "org.eclipse.virgo.ide.server.ui.configuration.editor.repository";
+    public static final String REPOSITORY_PAGE_ID = "org.eclipse.virgo.ide.server.ui.configuration.editor.repository";
 
-	public static final String PREF_DOWNLOAD_MESSAGE_KEY = PLUGIN_ID + "..download.message";
+    public static final String PREF_DOWNLOAD_MESSAGE_KEY = PLUGIN_ID + "..download.message";
 
-	// The shared instance
-	private static ServerUiPlugin plugin;
+    // The shared instance
+    private static ServerUiPlugin plugin;
 
-	/** Resource bundle */
-	private ResourceBundle resourceBundle;
+    /** Resource bundle */
+    private ResourceBundle resourceBundle;
 
-	//Naturally, this isn't public in WST..sigh.
-	public static final String WST_SERVER_VIEW_ID = "org.eclipse.wst.server.ui.ServersView";
+    // Naturally, this isn't public in WST..sigh.
+    public static final String WST_SERVER_VIEW_ID = "org.eclipse.wst.server.ui.ServersView";
 
-	public static final String WST_EDITOR_ID = "org.eclipse.wst.server.ui.internal.editor.ServerEditor";
+    public static final String WST_EDITOR_ID = "org.eclipse.wst.server.ui.internal.editor.ServerEditor";
 
-	public static final String ARTEFACTS_BROWSER_VIEW_ID = "org.eclipse.virgo.ide.runtime.ui.ArtefactsBrowserView";
+    public static final String ARTEFACTS_BROWSER_VIEW_ID = "org.eclipse.virgo.ide.runtime.ui.ArtefactsBrowserView";
 
-	public static final String ARTEFACTS_DETAIL_VIEW_ID = "org.eclipse.virgo.ide.runtime.ui.ArtefactsDetailView";
+    public static final String ARTEFACTS_DETAIL_VIEW_ID = "org.eclipse.virgo.ide.runtime.ui.ArtefactsDetailView";
 
-	public static final String RUNTIME_OUTLINE_VIEW_ID = "org.eclipse.virgo.ide.runtime.ui.OutlineView";
+    public static final String RUNTIME_OUTLINE_VIEW_ID = "org.eclipse.virgo.ide.runtime.ui.OutlineView";
 
-	public static final String PROPERTIES_VIEW_ID = "org.eclipse.virgo.ide.runtime.ui.PropertiesView";
+    public static final String PROPERTIES_VIEW_ID = "org.eclipse.virgo.ide.runtime.ui.PropertiesView";
 
-	public static final String PROPERTIES_CONTENT_ID = "org.eclipse.virgo.ide.runtime.ui.properties";
+    public static final String PROPERTIES_CONTENT_ID = "org.eclipse.virgo.ide.runtime.ui.properties";
 
-	public static final String FLATTENED_PROPERTIES_CONTENT_ID = "org.eclipse.virgo.ide.runtime.ui.flattenedProperties";
+    public static final String FLATTENED_PROPERTIES_CONTENT_ID = "org.eclipse.virgo.ide.runtime.ui.flattenedProperties";
 
-	public static final String LOG_VIEW_ID = "org.eclipse.virgo.ide.runtime.ui.LogView";
+    public static final String LOG_VIEW_ID = "org.eclipse.virgo.ide.runtime.ui.LogView";
 
-	public static final String LOG_CONTENT_ID = "org.eclipse.virgo.ide.runtime.ui.logs";
+    public static final String LOG_CONTENT_ID = "org.eclipse.virgo.ide.runtime.ui.logs";
 
-	public static final String RUNTIME_ARTEFACTS_CONTENT_ID = "org.eclipse.virgo.ide.runtime.ui.runtimeArtefacts";
+    public static final String RUNTIME_ARTEFACTS_CONTENT_ID = "org.eclipse.virgo.ide.runtime.ui.runtimeArtefacts";
 
-	public static final String RUNTIME_FLATTENED_ARTEFACTS_CONTENT_ID = "org.eclipse.virgo.ide.runtime.ui.flattenedRuntimeArtefacts";
+    public static final String RUNTIME_FLATTENED_ARTEFACTS_CONTENT_ID = "org.eclipse.virgo.ide.runtime.ui.flattenedRuntimeArtefacts";
 
-	/**
-	 * The constructor
-	 */
-	public ServerUiPlugin() {
-	}
+    /**
+     * The constructor
+     */
+    public ServerUiPlugin() {
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle(RESOURCE_NAME);
-		} catch (MissingResourceException e) {
-			resourceBundle = null;
-		}
-		plugin.getPreferenceStore().setDefault(PREF_DOWNLOAD_MESSAGE_KEY, false);
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+     */
+    @Override
+    public void start(BundleContext context) throws Exception {
+        super.start(context);
+        plugin = this;
+        try {
+            this.resourceBundle = ResourceBundle.getBundle(RESOURCE_NAME);
+        } catch (MissingResourceException e) {
+            this.resourceBundle = null;
+        }
+        plugin.getPreferenceStore().setDefault(PREF_DOWNLOAD_MESSAGE_KEY, false);
 
-		ServerProjectManager.getInstance().updateProjects();
-	}
+        ServerProjectManager.getInstance().updateProjects();
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+     */
+    @Override
+    public void stop(BundleContext context) throws Exception {
+        plugin = null;
+        super.stop(context);
+    }
 
-	@Override
-	protected void initializeImageRegistry(ImageRegistry reg) {
-		ServerUiImages.initializeImageRegistry(reg);
-	}
+    @Override
+    protected void initializeImageRegistry(ImageRegistry reg) {
+        ServerUiImages.initializeImageRegistry(reg);
+    }
 
-	/**
-	 * Returns the shared instance
-	 * 
-	 * @return the shared instance
-	 */
-	public static ServerUiPlugin getDefault() {
-		return plugin;
-	}
+    /**
+     * Returns the shared instance
+     *
+     * @return the shared instance
+     */
+    public static ServerUiPlugin getDefault() {
+        return plugin;
+    }
 
-	public static void log(IStatus status) {
-		getDefault().getLog().log(status);
-	}
+    public static void log(IStatus status) {
+        getDefault().getLog().log(status);
+    }
 
-	/**
-	 * Writes the message to the plug-in's log
-	 * 
-	 * @param message
-	 *            the text to write to the log
-	 */
-	public static void log(String message, Throwable exception) {
-		IStatus status = createErrorStatus(message, exception);
-		getDefault().getLog().log(status);
-	}
+    /**
+     * Writes the message to the plug-in's log
+     *
+     * @param message the text to write to the log
+     */
+    public static void log(String message, Throwable exception) {
+        IStatus status = createErrorStatus(message, exception);
+        getDefault().getLog().log(status);
+    }
 
-	public static void log(Throwable exception) {
-		getDefault().getLog().log(createErrorStatus("Internal Error", exception));
-	}
+    public static void log(Throwable exception) {
+        getDefault().getLog().log(createErrorStatus("Internal Error", exception));
+    }
 
-	/**
-	 * Returns a new <code>IStatus</code> for this plug-in
-	 */
-	public static IStatus createErrorStatus(String message, Throwable exception) {
-		if (message == null) {
-			message = "";
-		}
-		return new Status(IStatus.ERROR, PLUGIN_ID, 0, message, exception);
-	}
+    /**
+     * Returns a new <code>IStatus</code> for this plug-in
+     */
+    public static IStatus createErrorStatus(String message, Throwable exception) {
+        if (message == null) {
+            message = "";
+        }
+        return new Status(IStatus.ERROR, PLUGIN_ID, 0, message, exception);
+    }
 
-	/**
-	 * Returns the string from the plugin's resource bundle, or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		String bundleString;
-		ResourceBundle bundle = getDefault().getResourceBundle();
-		if (bundle != null) {
-			try {
-				bundleString = bundle.getString(key);
-			} catch (MissingResourceException e) {
-				log(e);
-				bundleString = "!" + key + "!";
-			}
-		} else {
-			bundleString = "!" + key + "!";
-		}
-		return bundleString;
-	}
+    /**
+     * Returns the string from the plugin's resource bundle, or 'key' if not found.
+     */
+    public static String getResourceString(String key) {
+        String bundleString;
+        ResourceBundle bundle = getDefault().getResourceBundle();
+        if (bundle != null) {
+            try {
+                bundleString = bundle.getString(key);
+            } catch (MissingResourceException e) {
+                log(e);
+                bundleString = "!" + key + "!";
+            }
+        } else {
+            bundleString = "!" + key + "!";
+        }
+        return bundleString;
+    }
 
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public final ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
+    /**
+     * Returns the plugin's resource bundle,
+     */
+    public final ResourceBundle getResourceBundle() {
+        return this.resourceBundle;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/VirgoLaunchConfigurationTabGroup.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/VirgoLaunchConfigurationTabGroup.java
index e0d2bbb..27a77e1 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/VirgoLaunchConfigurationTabGroup.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/VirgoLaunchConfigurationTabGroup.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui;
 
 import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
@@ -26,20 +27,20 @@
  */
 public class VirgoLaunchConfigurationTabGroup extends AbstractLaunchConfigurationTabGroup {
 
-	public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
-		ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[6];
-		tabs[0] = new ServerLaunchConfigurationTab(new String[] { ServerCorePlugin.VIRGO_SERVER_ID });
-		tabs[0].setLaunchConfigurationDialog(dialog);
-		tabs[1] = new JavaArgumentsTab();
-		tabs[1].setLaunchConfigurationDialog(dialog);
-		tabs[2] = new JavaClasspathTab();
-		tabs[2].setLaunchConfigurationDialog(dialog);
-		tabs[3] = new SourceLookupTab();
-		tabs[3].setLaunchConfigurationDialog(dialog);
-		tabs[4] = new EnvironmentTab();
-		tabs[4].setLaunchConfigurationDialog(dialog);
-		tabs[5] = new CommonTab();
-		tabs[5].setLaunchConfigurationDialog(dialog);
-		setTabs(tabs);
-	}
+    public void createTabs(ILaunchConfigurationDialog dialog, String mode) {
+        ILaunchConfigurationTab[] tabs = new ILaunchConfigurationTab[6];
+        tabs[0] = new ServerLaunchConfigurationTab(new String[] { ServerCorePlugin.VIRGO_SERVER_ID });
+        tabs[0].setLaunchConfigurationDialog(dialog);
+        tabs[1] = new JavaArgumentsTab();
+        tabs[1].setLaunchConfigurationDialog(dialog);
+        tabs[2] = new JavaClasspathTab();
+        tabs[2].setLaunchConfigurationDialog(dialog);
+        tabs[3] = new SourceLookupTab();
+        tabs[3].setLaunchConfigurationDialog(dialog);
+        tabs[4] = new EnvironmentTab();
+        tabs[4].setLaunchConfigurationDialog(dialog);
+        tabs[5] = new CommonTab();
+        tabs[5].setLaunchConfigurationDialog(dialog);
+        setTabs(tabs);
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/VirgoServerRuntimeWizardFragment.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/VirgoServerRuntimeWizardFragment.java
index e97a87e..76f5399 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/VirgoServerRuntimeWizardFragment.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/VirgoServerRuntimeWizardFragment.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui;
 
 import org.eclipse.core.runtime.IPath;
@@ -25,47 +26,46 @@
  */
 public class VirgoServerRuntimeWizardFragment extends WizardFragment {
 
-	protected ServerRuntimeComposite comp;
+    protected ServerRuntimeComposite comp;
 
-	@Override
-	public boolean hasComposite() {
-		return true;
-	}
+    @Override
+    public boolean hasComposite() {
+        return true;
+    }
 
-	@Override
-	public boolean isComplete() {
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
+    @Override
+    public boolean isComplete() {
+        IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
 
-		if (runtime == null) {
-			return false;
-		}
-		IStatus status = runtime.validate(null);
-		return (status == null || status.getSeverity() != IStatus.ERROR);
-	}
+        if (runtime == null) {
+            return false;
+        }
+        IStatus status = runtime.validate(null);
+        return status == null || status.getSeverity() != IStatus.ERROR;
+    }
 
-	@Override
-	public Composite createComposite(Composite parent, IWizardHandle wizard) {
-		String wizardTitle = ServerUiPlugin.getResourceString("virgoWizardTitle");
-		String wizardDescription = ServerUiPlugin.getResourceString("virgoWizardDescription");
-		comp = new ServerRuntimeComposite(parent, wizard, wizardTitle, wizardDescription,
-				ServerUiImages.DESC_WIZB_VIRGO_SERVER);
-		return comp;
-	}
+    @Override
+    public Composite createComposite(Composite parent, IWizardHandle wizard) {
+        String wizardTitle = ServerUiPlugin.getResourceString("virgoWizardTitle");
+        String wizardDescription = ServerUiPlugin.getResourceString("virgoWizardDescription");
+        this.comp = new ServerRuntimeComposite(parent, wizard, wizardTitle, wizardDescription, ServerUiImages.DESC_WIZB_VIRGO_SERVER);
+        return this.comp;
+    }
 
-	@Override
-	public void enter() {
-		if (comp != null) {
-			IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-			comp.setRuntime(runtime);
-		}
-	}
+    @Override
+    public void enter() {
+        if (this.comp != null) {
+            IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
+            this.comp.setRuntime(runtime);
+        }
+    }
 
-	@Override
-	public void exit() {
-		IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
-		IPath path = runtime.getLocation();
-		if (runtime.validate(null).getSeverity() != IStatus.ERROR) {
-			ServerCorePlugin.setPreference("location" + runtime.getRuntimeType().getId(), path.toString());
-		}
-	}
+    @Override
+    public void exit() {
+        IRuntimeWorkingCopy runtime = (IRuntimeWorkingCopy) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
+        IPath path = runtime.getLocation();
+        if (runtime.validate(null).getSeverity() != IStatus.ERROR) {
+            ServerCorePlugin.setPreference("location" + runtime.getRuntimeType().getId(), path.toString());
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/OpenBundleManifestAction.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/OpenBundleManifestAction.java
index b5b4250..f190d4c 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/OpenBundleManifestAction.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/OpenBundleManifestAction.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.actions;
 
 import org.eclipse.jface.action.IAction;
@@ -21,33 +22,33 @@
 
 /**
  * Open the manifest for the supplied bundle.
- * 
+ *
  * @author Miles Parker
  * @since 1.0.0
  */
 public class OpenBundleManifestAction implements IObjectActionDelegate {
 
-	LocalBundleArtefact artefact;
+    LocalBundleArtefact artefact;
 
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		// nothing to do here
-	}
+    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+        // nothing to do here
+    }
 
-	public void run(IAction action) {
-		if (artefact != null) {
-			BundleManifestEditor.openExternalPlugin(artefact.getFile(), BundleModelUtility.F_MANIFEST_FP);
-		}
-	}
+    public void run(IAction action) {
+        if (this.artefact != null) {
+            BundleManifestEditor.openExternalPlugin(this.artefact.getFile(), BundleModelUtility.F_MANIFEST_FP);
+        }
+    }
 
-	public void selectionChanged(IAction action, ISelection selection) {
-		if (!selection.isEmpty()) {
-			if (selection instanceof IStructuredSelection) {
-				Object obj = ((IStructuredSelection) selection).getFirstElement();
-				if (obj instanceof LocalBundleArtefact) {
-					artefact = (LocalBundleArtefact) obj;
-				}
-			}
-		}
-	}
+    public void selectionChanged(IAction action, ISelection selection) {
+        if (!selection.isEmpty()) {
+            if (selection instanceof IStructuredSelection) {
+                Object obj = ((IStructuredSelection) selection).getFirstElement();
+                if (obj instanceof LocalBundleArtefact) {
+                    this.artefact = (LocalBundleArtefact) obj;
+                }
+            }
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/OpenProjectManifestAction.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/OpenProjectManifestAction.java
index af24242..d817fc4 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/OpenProjectManifestAction.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/OpenProjectManifestAction.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.actions;
 
 import org.eclipse.core.resources.IFile;
@@ -37,62 +38,60 @@
 
 /**
  * Action implementation that opens a MANIFEST.MF or par.xml file of the selected module.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 @SuppressWarnings("restriction")
 public class OpenProjectManifestAction implements IObjectActionDelegate {
 
-	private IModule selectedModule;
+    private IModule selectedModule;
 
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		// nothing to do here
-	}
+    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+        // nothing to do here
+    }
 
-	public void run(IAction action) {
-		IProject project = selectedModule.getProject();
-		if (FacetUtils.isBundleProject(project)) {
-			openResource(BundleManifestUtils.locateManifest(JavaCore.create(project), false));
-		} else if (FacetUtils.isParProject(project)) {
-			openResource(project.findMember(BundleManifestCorePlugin.MANIFEST_FILE_LOCATION));
-		} else {
-			try {
-				if (FacetUtils.hasNature(project, JavaCore.NATURE_ID)
-						&& FacetedProjectFramework.hasProjectFacet(project, FacetCorePlugin.WEB_FACET_ID)) {
-					openResource(BundleManifestUtils.locateManifest(JavaCore.create(project), false));
-				}
-			} catch (CoreException e) {
-				StatusManager.getManager().handle(
-						new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID,
-								"Problem occurred while openeing project manifest.", e));
-			}
-		}
-	}
+    public void run(IAction action) {
+        IProject project = this.selectedModule.getProject();
+        if (FacetUtils.isBundleProject(project)) {
+            openResource(BundleManifestUtils.locateManifest(JavaCore.create(project), false));
+        } else if (FacetUtils.isParProject(project)) {
+            openResource(project.findMember(BundleManifestCorePlugin.MANIFEST_FILE_LOCATION));
+        } else {
+            try {
+                if (FacetUtils.hasNature(project, JavaCore.NATURE_ID)
+                    && FacetedProjectFramework.hasProjectFacet(project, FacetCorePlugin.WEB_FACET_ID)) {
+                    openResource(BundleManifestUtils.locateManifest(JavaCore.create(project), false));
+                }
+            } catch (CoreException e) {
+                StatusManager.getManager().handle(
+                    new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "Problem occurred while openeing project manifest.", e));
+            }
+        }
+    }
 
-	private void openResource(IResource resource) {
-		if (resource instanceof IFile) {
-			try {
-				IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), (IFile) resource);
-			} catch (PartInitException e) {
-				StatusManager.getManager().handle(
-						new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID,
-								"Problem occurred while opening project manifest.", e));
-			}
-		}
-	}
+    private void openResource(IResource resource) {
+        if (resource instanceof IFile) {
+            try {
+                IDE.openEditor(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(), (IFile) resource);
+            } catch (PartInitException e) {
+                StatusManager.getManager().handle(
+                    new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "Problem occurred while opening project manifest.", e));
+            }
+        }
+    }
 
-	public void selectionChanged(IAction action, ISelection selection) {
-		selectedModule = null;
-		if (!selection.isEmpty()) {
-			if (selection instanceof IStructuredSelection) {
-				Object obj = ((IStructuredSelection) selection).getFirstElement();
-				if (obj instanceof ModuleServer) {
-					ModuleServer ms = (ModuleServer) obj;
-					selectedModule = ms.module[ms.module.length - 1];
-				}
-			}
-		}
-	}
+    public void selectionChanged(IAction action, ISelection selection) {
+        this.selectedModule = null;
+        if (!selection.isEmpty()) {
+            if (selection instanceof IStructuredSelection) {
+                Object obj = ((IStructuredSelection) selection).getFirstElement();
+                if (obj instanceof ModuleServer) {
+                    ModuleServer ms = (ModuleServer) obj;
+                    this.selectedModule = ms.module[ms.module.length - 1];
+                }
+            }
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/OpenServerProjectFileAction.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/OpenServerProjectFileAction.java
index 8dbb602..4b794f5 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/OpenServerProjectFileAction.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/OpenServerProjectFileAction.java
@@ -9,6 +9,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.actions;
 
 import java.util.Iterator;
@@ -39,111 +40,97 @@
  * <p>
  * This class may be instantiated; it is not intended to be subclassed.
  * </p>
- * 
+ *
  * @author Others
  * @author Miles Parker
  * @noextend This class is not intended to be subclassed by clients.
  */
 public class OpenServerProjectFileAction extends SelectionListenerAction {
 
-	/**
-	 * The id of this action.
-	 */
-	public static final String ID = PlatformUI.PLUGIN_ID + ".OpenFileAction";//$NON-NLS-1$
+    /**
+     * The id of this action.
+     */
+    public static final String ID = PlatformUI.PLUGIN_ID + ".OpenFileAction";//$NON-NLS-1$
 
-	/**
-	 * The editor to open.
-	 */
-	private final IEditorDescriptor editorDescriptor;
+    private final IWorkbenchPage workbenchPage2;
 
-	private final IWorkbenchPage workbenchPage2;
+    /**
+     * Creates a new action that will open editors on the then-selected file resources. Equivalent to
+     * <code>OpenFileAction(page,null)</code>.
+     *
+     * @param page the workbench page in which to open the editor
+     */
+    public OpenServerProjectFileAction(IWorkbenchPage page) {
+        this(page, null);
+    }
 
-	/**
-	 * Creates a new action that will open editors on the then-selected file resources. Equivalent to
-	 * <code>OpenFileAction(page,null)</code>.
-	 * 
-	 * @param page
-	 *            the workbench page in which to open the editor
-	 */
-	public OpenServerProjectFileAction(IWorkbenchPage page) {
-		this(page, null);
-	}
+    /**
+     * Creates a new action that will open instances of the specified editor on the then-selected file resources.
+     *
+     * @param page the workbench page in which to open the editor
+     * @param descriptor the editor descriptor, or <code>null</code> if unspecified
+     */
+    public OpenServerProjectFileAction(IWorkbenchPage page, IEditorDescriptor descriptor) {
+        super("Open Linked File");
+        this.workbenchPage2 = page;
+        setText(descriptor == null ? IDEWorkbenchMessages.OpenFileAction_text : descriptor.getLabel());
+        PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IIDEHelpContextIds.OPEN_FILE_ACTION);
+        setToolTipText(IDEWorkbenchMessages.OpenFileAction_toolTip);
+        setId(ID);
+    }
 
-	/**
-	 * Creates a new action that will open instances of the specified editor on the then-selected file resources.
-	 * 
-	 * @param page
-	 *            the workbench page in which to open the editor
-	 * @param descriptor
-	 *            the editor descriptor, or <code>null</code> if unspecified
-	 */
-	public OpenServerProjectFileAction(IWorkbenchPage page, IEditorDescriptor descriptor) {
-		super("Open Linked File");
-		this.workbenchPage2 = page;
-		setText(descriptor == null ? IDEWorkbenchMessages.OpenFileAction_text : descriptor.getLabel());
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IIDEHelpContextIds.OPEN_FILE_ACTION);
-		setToolTipText(IDEWorkbenchMessages.OpenFileAction_toolTip);
-		setId(ID);
-		this.editorDescriptor = descriptor;
-	}
+    /**
+     * @see org.eclipse.ui.actions.OpenSystemEditorAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
+     */
+    @Override
+    public boolean updateSelection(IStructuredSelection selection) {
+        Object element = ((StructuredSelection) selection).getFirstElement();
+        return selection instanceof StructuredSelection
+            && (element instanceof ProjectFileReference || element instanceof IFile || element instanceof ServerFile);
+    }
 
-	/**
-	 * @see org.eclipse.ui.actions.OpenSystemEditorAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
-	 */
-	@Override
-	public boolean updateSelection(IStructuredSelection selection) {
-		Object element = ((StructuredSelection) selection).getFirstElement();
-		return selection instanceof StructuredSelection
-				&& (element instanceof ProjectFileReference || element instanceof IFile || element instanceof ServerFile);
-	}
+    /**
+     * @see org.eclipse.ui.actions.OpenSystemEditorAction#run()
+     */
+    @Override
+    public void run() {
+        Iterator iterator = getStructuredSelection().iterator();
+        while (iterator.hasNext()) {
+            Object next = iterator.next();
+            if (next instanceof ProjectFileReference) {
+                openFile(((ProjectFileReference) next).getWorkspaceFile());
+            } else if (next instanceof IFile) {
+                openFile((IFile) next);
+            } else if (next instanceof ServerFileSelection) {
+                openFile((ServerFileSelection) next);
+            } else if (next instanceof ServerFile) {
+                openFile(((ServerFile) next).getFile());
+            }
+        }
+    }
 
-	/**
-	 * @see org.eclipse.ui.actions.OpenSystemEditorAction#run()
-	 */
-	@Override
-	public void run() {
-		Iterator iterator = getStructuredSelection().iterator();
-		while (iterator.hasNext()) {
-			Object next = iterator.next();
-			if (next instanceof ProjectFileReference) {
-				openFile(((ProjectFileReference) next).getWorkspaceFile());
-			} else if (next instanceof IFile) {
-				openFile((IFile) next);
-			} else if (next instanceof ServerFileSelection) {
-				openFile((ServerFileSelection) next);
-			} else if (next instanceof ServerFile) {
-				openFile(((ServerFile) next).getFile());
-			}
-		}
-	}
+    public void openFile(ServerFileSelection selection) {
+        IEditorPart openEditor = openFile(selection.getFile());
+        if (openEditor instanceof ITextEditor) {
+            ((ITextEditor) openEditor).selectAndReveal(selection.getOffset(), selection.getLength());
+        }
+    }
 
-	public void openFile(ServerFileSelection selection) {
-		IEditorPart openEditor = openFile(selection.getFile());
-		if (openEditor instanceof ITextEditor) {
-			((ITextEditor) openEditor).selectAndReveal(selection.getOffset(), selection.getLength());
-		}
-	}
-
-	public IEditorPart openFile(IFile file) {
-		try {
-			IEditorDescriptor defaultEditor = workbenchPage2.getWorkbenchWindow()
-					.getWorkbench()
-					.getEditorRegistry()
-					.getDefaultEditor(file.getName());
-			if (defaultEditor == null) {
-				defaultEditor = workbenchPage2.getWorkbenchWindow()
-						.getWorkbench()
-						.getEditorRegistry()
-						.getDefaultEditor("fake.txt");
-			}
-			if (defaultEditor != null) {
-				IEditorPart openEditor = workbenchPage2.openEditor(new FileEditorInput(file), defaultEditor.getId());
-				return openEditor;
-			}
-		} catch (PartInitException e) {
-			DialogUtil.openError(workbenchPage2.getWorkbenchWindow().getShell(),
-					IDEWorkbenchMessages.OpenSystemEditorAction_dialogTitle, e.getMessage(), e);
-		}
-		return null;
-	}
+    public IEditorPart openFile(IFile file) {
+        try {
+            IEditorDescriptor defaultEditor = this.workbenchPage2.getWorkbenchWindow().getWorkbench().getEditorRegistry().getDefaultEditor(
+                file.getName());
+            if (defaultEditor == null) {
+                defaultEditor = this.workbenchPage2.getWorkbenchWindow().getWorkbench().getEditorRegistry().getDefaultEditor("fake.txt");
+            }
+            if (defaultEditor != null) {
+                IEditorPart openEditor = this.workbenchPage2.openEditor(new FileEditorInput(file), defaultEditor.getId());
+                return openEditor;
+            }
+        } catch (PartInitException e) {
+            DialogUtil.openError(this.workbenchPage2.getWorkbenchWindow().getShell(), IDEWorkbenchMessages.OpenSystemEditorAction_dialogTitle,
+                e.getMessage(), e);
+        }
+        return null;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/RedeployBundleAction.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/RedeployBundleAction.java
index 99e56ca..413049f 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/RedeployBundleAction.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/actions/RedeployBundleAction.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.actions;
 
 import java.util.Arrays;
@@ -30,77 +31,77 @@
 
 /**
  * Action implementation that redeploys the selected module or bundle
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 @SuppressWarnings("restriction")
 public class RedeployBundleAction implements IObjectActionDelegate {
 
-	private IModule selectedModule;
+    private IModule selectedModule;
 
-	private IServer server;
+    private IServer server;
 
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		// nothing to do here
-	}
+    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+        // nothing to do here
+    }
 
-	public void run(IAction action) {
+    public void run(IAction action) {
 
-		if (server.getServerState() != IServer.STATE_STARTED) {
-			return;
-		}
+        if (this.server.getServerState() != IServer.STATE_STARTED) {
+            return;
+        }
 
-		Job publishJob = new Job("Redeploy of module '" + selectedModule.getName() + "'") {
+        Job publishJob = new Job("Redeploy of module '" + this.selectedModule.getName() + "'") {
 
-			@Override
-			protected IStatus run(IProgressMonitor monitor) {
-				IServerBehaviour behaviour = (IServerBehaviour) server.loadAdapter(IServerBehaviour.class, null);
-				// PAR selected
-				if (FacetCorePlugin.PAR_FACET_ID.equals(selectedModule.getModuleType().getId())) {
-					behaviour.getServerDeployer().redeploy(selectedModule);
-				}
-				// Bundle selected
-				else if (FacetCorePlugin.BUNDLE_FACET_ID.equals(selectedModule.getModuleType().getId())) {
-					List<IModule> modules = Arrays.asList(server.getModules());
-					if (modules.contains(selectedModule)) {
-						// Single deployed module
-						behaviour.getServerDeployer().redeploy(selectedModule);
-					} else {
-						for (IModule module : modules) {
-							List<IModule> childModules = Arrays.asList(server.getChildModules(new IModule[] { module },
-									null));
-							if (childModules.contains(selectedModule)
-									&& FacetCorePlugin.PAR_FACET_ID.equals(module.getModuleType().getId())) {
-								behaviour.getServerDeployer().refresh(module, selectedModule);
-							}
-						}
-					}
-				}
-				// Web module selected
-				else if (FacetCorePlugin.WEB_FACET_ID.equals(selectedModule.getModuleType().getId())) {
-					behaviour.getServerDeployer().redeploy(selectedModule);
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		publishJob.setPriority(Job.INTERACTIVE);
-		publishJob.schedule();
+            @Override
+            protected IStatus run(IProgressMonitor monitor) {
+                IServerBehaviour behaviour = (IServerBehaviour) RedeployBundleAction.this.server.loadAdapter(IServerBehaviour.class, null);
+                // PAR selected
+                if (FacetCorePlugin.PAR_FACET_ID.equals(RedeployBundleAction.this.selectedModule.getModuleType().getId())) {
+                    behaviour.getServerDeployer().redeploy(RedeployBundleAction.this.selectedModule);
+                }
+                // Bundle selected
+                else if (FacetCorePlugin.BUNDLE_FACET_ID.equals(RedeployBundleAction.this.selectedModule.getModuleType().getId())) {
+                    List<IModule> modules = Arrays.asList(RedeployBundleAction.this.server.getModules());
+                    if (modules.contains(RedeployBundleAction.this.selectedModule)) {
+                        // Single deployed module
+                        behaviour.getServerDeployer().redeploy(RedeployBundleAction.this.selectedModule);
+                    } else {
+                        for (IModule module : modules) {
+                            List<IModule> childModules = Arrays.asList(
+                                RedeployBundleAction.this.server.getChildModules(new IModule[] { module }, null));
+                            if (childModules.contains(RedeployBundleAction.this.selectedModule)
+                                && FacetCorePlugin.PAR_FACET_ID.equals(module.getModuleType().getId())) {
+                                behaviour.getServerDeployer().refresh(module, RedeployBundleAction.this.selectedModule);
+                            }
+                        }
+                    }
+                }
+                // Web module selected
+                else if (FacetCorePlugin.WEB_FACET_ID.equals(RedeployBundleAction.this.selectedModule.getModuleType().getId())) {
+                    behaviour.getServerDeployer().redeploy(RedeployBundleAction.this.selectedModule);
+                }
+                return Status.OK_STATUS;
+            }
+        };
+        publishJob.setPriority(Job.INTERACTIVE);
+        publishJob.schedule();
 
-	}
+    }
 
-	public void selectionChanged(IAction action, ISelection selection) {
-		selectedModule = null;
-		if (!selection.isEmpty()) {
-			if (selection instanceof IStructuredSelection) {
-				Object obj = ((IStructuredSelection) selection).getFirstElement();
-				if (obj instanceof ModuleServer) {
-					ModuleServer ms = (ModuleServer) obj;
-					this.server = ms.server;
-					this.selectedModule = ms.module[ms.module.length - 1];
-				}
-			}
-		}
-	}
+    public void selectionChanged(IAction action, ISelection selection) {
+        this.selectedModule = null;
+        if (!selection.isEmpty()) {
+            if (selection instanceof IStructuredSelection) {
+                Object obj = ((IStructuredSelection) selection).getFirstElement();
+                if (obj instanceof ModuleServer) {
+                    ModuleServer ms = (ModuleServer) obj;
+                    this.server = ms.server;
+                    this.selectedModule = ms.module[ms.module.length - 1];
+                }
+            }
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ArtefactOrderEditorSection.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ArtefactOrderEditorSection.java
index 0b809bd..534e458 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ArtefactOrderEditorSection.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ArtefactOrderEditorSection.java
@@ -64,256 +64,246 @@
  */
 public class ArtefactOrderEditorSection extends ServerEditorSection {
 
-	/**
-	 * An operation used for making ordering changes in the UI, triggering dirty state and supporting UNDO.
-	 *
-	 * Changes are applied to the server only when the editor is saved using a different operation, see
-	 * {@link ArtefactOrderEditorSection#doSave(IProgressMonitor)}
-	 */
-	private class ModifyArtefactOrderEditorCommand extends AbstractOperation {
+    /**
+     * An operation used for making ordering changes in the UI, triggering dirty state and supporting UNDO.
+     *
+     * Changes are applied to the server only when the editor is saved using a different operation, see
+     * {@link ArtefactOrderEditorSection#doSave(IProgressMonitor)}
+     */
+    private class ModifyArtefactOrderEditorCommand extends AbstractOperation {
 
-		private List<IModule> oldOrder;
+        private List<IModule> oldOrder;
 
-		private final List<IModule> newOrder;
+        private final List<IModule> newOrder;
 
-		ModifyArtefactOrderEditorCommand(List<IModule> newOrder) {
-			super("Modify artefact order in editor UI"); //$NON-NLS-1$
-			this.newOrder = newOrder;
-		}
+        ModifyArtefactOrderEditorCommand(List<IModule> newOrder) {
+            super("Modify artefact order in editor UI"); //$NON-NLS-1$
+            this.newOrder = newOrder;
+        }
 
-		@Override
-		public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-			this.oldOrder = ArtefactOrderEditorSection.this.orderedModules;
-			ArtefactOrderEditorSection.this.orderedModules = this.newOrder;
-			ArtefactOrderEditorSection.this.bundleTableViewer.setInput(ArtefactOrderEditorSection.this.orderedModules);
-			return Status.OK_STATUS;
-		}
+        @Override
+        public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+            this.oldOrder = ArtefactOrderEditorSection.this.orderedModules;
+            ArtefactOrderEditorSection.this.orderedModules = this.newOrder;
+            ArtefactOrderEditorSection.this.bundleTableViewer.setInput(ArtefactOrderEditorSection.this.orderedModules);
+            return Status.OK_STATUS;
+        }
 
-		@Override
-		public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-			return execute(monitor, info);
-		}
+        @Override
+        public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+            return execute(monitor, info);
+        }
 
-		@Override
-		public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
-			ArtefactOrderEditorSection.this.orderedModules = this.oldOrder;
-			this.oldOrder = null;
-			ArtefactOrderEditorSection.this.bundleTableViewer.setInput(ArtefactOrderEditorSection.this.orderedModules);
-			return Status.OK_STATUS;
-		}
+        @Override
+        public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+            ArtefactOrderEditorSection.this.orderedModules = this.oldOrder;
+            this.oldOrder = null;
+            ArtefactOrderEditorSection.this.bundleTableViewer.setInput(ArtefactOrderEditorSection.this.orderedModules);
+            return Status.OK_STATUS;
+        }
 
-	}
+    }
 
-	protected IServerWorkingCopy serverWorkingCopy;
+    protected IServerWorkingCopy serverWorkingCopy;
 
-	// represents the model for the table
-	private List<IModule> orderedModules;
+    // represents the model for the table
+    private List<IModule> orderedModules;
 
-	protected boolean updating;
+    protected boolean updating;
 
-	protected PropertyChangeListener listener;
+    protected PropertyChangeListener listener;
 
-	private Table bundleTable;
+    private Table bundleTable;
 
-	private TableViewer bundleTableViewer;
+    private TableViewer bundleTableViewer;
 
-	private Button upButton;
+    private Button upButton;
 
-	private Button downButton;
+    private Button downButton;
 
-	protected void addConfigurationChangeListener() {
-		this.listener = new PropertyChangeListener() {
+    protected void addConfigurationChangeListener() {
+        this.listener = new PropertyChangeListener() {
 
-			public void propertyChange(PropertyChangeEvent event) {
-				if (ArtefactOrderEditorSection.this.updating) {
-					return;
-				}
-				ArtefactOrderEditorSection.this.updating = true;
-				if (org.eclipse.virgo.ide.runtime.core.IServer.PROPERTY_ARTEFACT_ORDER
-						.equals(event.getPropertyName())) {
-					initialize();
-				}
-				ArtefactOrderEditorSection.this.updating = false;
-			}
-		};
-		this.serverWorkingCopy.addConfigurationChangeListener(this.listener);
-	}
+            public void propertyChange(PropertyChangeEvent event) {
+                if (ArtefactOrderEditorSection.this.updating) {
+                    return;
+                }
+                ArtefactOrderEditorSection.this.updating = true;
+                if (org.eclipse.virgo.ide.runtime.core.IServer.PROPERTY_ARTEFACT_ORDER.equals(event.getPropertyName())) {
+                    initialize();
+                }
+                ArtefactOrderEditorSection.this.updating = false;
+            }
+        };
+        this.serverWorkingCopy.addConfigurationChangeListener(this.listener);
+    }
 
-	@Override
-	public void createSection(Composite parent) {
-		super.createSection(parent);
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
+    @Override
+    public void createSection(Composite parent) {
+        super.createSection(parent);
+        FormToolkit toolkit = getFormToolkit(parent.getDisplay());
 
-		Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED
-				| ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
-		section.setText(Messages.ArtefactOrderEditorSection_title);
-		section.setDescription(Messages.ArtefactOrderEditorSection_description);
-		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
+        Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR
+            | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
+        section.setText(Messages.ArtefactOrderEditorSection_title);
+        section.setDescription(Messages.ArtefactOrderEditorSection_description);
+        section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
 
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 5;
-		layout.marginWidth = 1;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 1;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL, GridData.FILL_VERTICAL, true, true));
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
+        Composite composite = toolkit.createComposite(section);
+        GridLayout layout = new GridLayout();
+        layout.numColumns = 2;
+        layout.marginHeight = 5;
+        layout.marginWidth = 1;
+        layout.verticalSpacing = 5;
+        layout.horizontalSpacing = 1;
+        composite.setLayout(layout);
+        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL, GridData.FILL_VERTICAL, true, true));
+        toolkit.paintBordersFor(composite);
+        section.setClient(composite);
 
-		this.bundleTable = toolkit.createTable(composite, SWT.MULTI | SWT.V_SCROLL | SWT.FULL_SELECTION);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		int modulesNumber = this.server.getModules().length;
-		data.heightHint = this.bundleTable.getItemHeight() * Math.min(Math.max(5, modulesNumber), 10)
-				+ this.bundleTable.getBorderWidth() * 2;
-		this.bundleTable.setLayoutData(data);
-		this.bundleTableViewer = new TableViewer(this.bundleTable);
-		this.bundleTableViewer.setContentProvider(new ArrayContentProvider());
-		this.bundleTableViewer.setLabelProvider(ServerUICore.getLabelProvider());
+        this.bundleTable = toolkit.createTable(composite, SWT.MULTI | SWT.V_SCROLL | SWT.FULL_SELECTION);
+        GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
+        int modulesNumber = this.server.getModules().length;
+        data.heightHint = this.bundleTable.getItemHeight() * Math.min(Math.max(5, modulesNumber), 10) + this.bundleTable.getBorderWidth() * 2;
+        this.bundleTable.setLayoutData(data);
+        this.bundleTableViewer = new TableViewer(this.bundleTable);
+        this.bundleTableViewer.setContentProvider(new ArrayContentProvider());
+        this.bundleTableViewer.setLabelProvider(ServerUICore.getLabelProvider());
 
-		this.bundleTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+        this.bundleTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
 
-			public void selectionChanged(SelectionChangedEvent event) {
-				updateButtons(event.getSelection());
-			}
+            public void selectionChanged(SelectionChangedEvent event) {
+                updateButtons(event.getSelection());
+            }
 
-		});
+        });
 
-		Composite buttonComposite = new Composite(composite, SWT.NONE);
-		buttonComposite.setLayout(new GridLayout(1, true));
-		data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		buttonComposite.setLayoutData(data);
+        Composite buttonComposite = new Composite(composite, SWT.NONE);
+        buttonComposite.setLayout(new GridLayout(1, true));
+        data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
+        buttonComposite.setLayoutData(data);
 
-		this.upButton = toolkit.createButton(buttonComposite, Messages.ArtefactOrderEditorSection_up_button, SWT.PUSH);
-		data = new GridData();
-		this.upButton.setLayoutData(data);
-		this.upButton.addSelectionListener(new SelectionAdapter() {
+        this.upButton = toolkit.createButton(buttonComposite, Messages.ArtefactOrderEditorSection_up_button, SWT.PUSH);
+        data = new GridData();
+        this.upButton.setLayoutData(data);
+        this.upButton.addSelectionListener(new SelectionAdapter() {
 
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection selection = (IStructuredSelection) ArtefactOrderEditorSection.this.bundleTableViewer
-						.getSelection();
-				List<IModule> allModules = new ArrayList<IModule>(ArtefactOrderEditorSection.this.orderedModules);
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                IStructuredSelection selection = (IStructuredSelection) ArtefactOrderEditorSection.this.bundleTableViewer.getSelection();
+                List<IModule> allModules = new ArrayList<IModule>(ArtefactOrderEditorSection.this.orderedModules);
 
-				for (IModule aModule : (List<IModule>) selection.toList()) {
-					int index = allModules.indexOf(aModule);
-					allModules.remove(aModule);
-					allModules.add(index - 1, aModule);
-				}
+                for (IModule aModule : (List<IModule>) selection.toList()) {
+                    int index = allModules.indexOf(aModule);
+                    allModules.remove(aModule);
+                    allModules.add(index - 1, aModule);
+                }
 
-				execute(new ModifyArtefactOrderEditorCommand(allModules));
-				updateButtons(selection);
-			}
-		});
-		this.downButton = toolkit.createButton(buttonComposite, Messages.ArtefactOrderEditorSection_down_button,
-				SWT.PUSH);
-		this.downButton.setLayoutData(data);
-		this.downButton.addSelectionListener(new SelectionAdapter() {
+                execute(new ModifyArtefactOrderEditorCommand(allModules));
+                updateButtons(selection);
+            }
+        });
+        this.downButton = toolkit.createButton(buttonComposite, Messages.ArtefactOrderEditorSection_down_button, SWT.PUSH);
+        this.downButton.setLayoutData(data);
+        this.downButton.addSelectionListener(new SelectionAdapter() {
 
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				IStructuredSelection selection = (IStructuredSelection) ArtefactOrderEditorSection.this.bundleTableViewer
-						.getSelection();
-				List<IModule> allModules = new ArrayList<IModule>(ArtefactOrderEditorSection.this.orderedModules);
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                IStructuredSelection selection = (IStructuredSelection) ArtefactOrderEditorSection.this.bundleTableViewer.getSelection();
+                List<IModule> allModules = new ArrayList<IModule>(ArtefactOrderEditorSection.this.orderedModules);
 
-				List<IModule> reversedSelection = new ArrayList<IModule>(selection.toList());
-				Collections.reverse(reversedSelection);
+                List<IModule> reversedSelection = new ArrayList<IModule>(selection.toList());
+                Collections.reverse(reversedSelection);
 
-				for (IModule aModule : reversedSelection) {
-					int index = allModules.indexOf(aModule);
-					allModules.remove(aModule);
-					allModules.add(index + 1, aModule);
-				}
+                for (IModule aModule : reversedSelection) {
+                    int index = allModules.indexOf(aModule);
+                    allModules.remove(aModule);
+                    allModules.add(index + 1, aModule);
+                }
 
-				execute(new ModifyArtefactOrderEditorCommand(allModules));
-				updateButtons(selection);
-			}
-		});
-		initialize();
-	}
+                execute(new ModifyArtefactOrderEditorCommand(allModules));
+                updateButtons(selection);
+            }
+        });
+        initialize();
+    }
 
-	/**
-	 * @see ServerEditorSection#dispose()
-	 */
-	@Override
-	public void dispose() {
-		if (this.server != null) {
-			this.server.removePropertyChangeListener(this.listener);
-		}
-	}
+    /**
+     * @see ServerEditorSection#dispose()
+     */
+    @Override
+    public void dispose() {
+        if (this.server != null) {
+            this.server.removePropertyChangeListener(this.listener);
+        }
+    }
 
-	/**
-	 * @see ServerEditorSection#init(IEditorSite, IEditorInput)
-	 */
-	@Override
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
+    /**
+     * @see ServerEditorSection#init(IEditorSite, IEditorInput)
+     */
+    @Override
+    public void init(IEditorSite site, IEditorInput input) {
+        super.init(site, input);
 
-		this.serverWorkingCopy = (IServerWorkingCopy) this.server.loadAdapter(IServerWorkingCopy.class,
-				new NullProgressMonitor());
+        this.serverWorkingCopy = (IServerWorkingCopy) this.server.loadAdapter(IServerWorkingCopy.class, new NullProgressMonitor());
 
-		addConfigurationChangeListener();
-	}
+        addConfigurationChangeListener();
+    }
 
-	/**
-	 * Initialize model and view.
-	 */
-	protected void initialize() {
-		final List<String> orderedArtefacts = this.serverWorkingCopy.getConfiguration().getArtefactOrder();
+    /**
+     * Initialize model and view.
+     */
+    protected void initialize() {
+        final List<String> orderedArtefacts = this.serverWorkingCopy.getConfiguration().getArtefactOrder();
 
-		this.orderedModules = new ArrayList(Arrays.asList(this.server.getModules()));
+        this.orderedModules = new ArrayList(Arrays.asList(this.server.getModules()));
 
-		// sort the modules according the order defined in the server configuration
-		Collections.sort(this.orderedModules, new java.util.Comparator<IModule>() {
+        // sort the modules according the order defined in the server configuration
+        Collections.sort(this.orderedModules, new java.util.Comparator<IModule>() {
 
-			public int compare(IModule o1, IModule o2) {
-				Integer m1 = orderedArtefacts.contains(o1.getId())
-						? orderedArtefacts.indexOf(o1.getId())
-						: Integer.MAX_VALUE;
-				Integer m2 = orderedArtefacts.contains(o2.getId())
-						? orderedArtefacts.indexOf(o2.getId())
-						: Integer.MAX_VALUE;
-				return m1.compareTo(m2);
-			}
-		});
-		this.bundleTableViewer.setInput(this.orderedModules);
-	}
+            public int compare(IModule o1, IModule o2) {
+                Integer m1 = orderedArtefacts.contains(o1.getId()) ? orderedArtefacts.indexOf(o1.getId()) : Integer.MAX_VALUE;
+                Integer m2 = orderedArtefacts.contains(o2.getId()) ? orderedArtefacts.indexOf(o2.getId()) : Integer.MAX_VALUE;
+                return m1.compareTo(m2);
+            }
+        });
+        this.bundleTableViewer.setInput(this.orderedModules);
+    }
 
-	private void updateButtons(ISelection selections) {
-		IStructuredSelection ss = (IStructuredSelection) selections;
-		List<IModule> selectedModules = ss.toList();
+    private void updateButtons(ISelection selections) {
+        IStructuredSelection ss = (IStructuredSelection) selections;
+        List<IModule> selectedModules = ss.toList();
 
-		List<IModule> allModules = this.orderedModules;
+        List<IModule> allModules = this.orderedModules;
 
-		final int lowerBound = allModules.size() - 1;
-		boolean initialState = !selections.isEmpty() && !allModules.isEmpty();
-		boolean canMoveUp = initialState;
-		boolean canMoveDown = initialState;
+        final int lowerBound = allModules.size() - 1;
+        boolean initialState = !selections.isEmpty() && !allModules.isEmpty();
+        boolean canMoveUp = initialState;
+        boolean canMoveDown = initialState;
 
-		for (int i = 0; i < selectedModules.size() && initialState; i++) {
-			IModule obj = selectedModules.get(i);
-			int index = allModules.indexOf(obj);
-			canMoveUp = canMoveUp && index > 0;
-			canMoveDown = canMoveDown && index < lowerBound;
-		}
+        for (int i = 0; i < selectedModules.size() && initialState; i++) {
+            IModule obj = selectedModules.get(i);
+            int index = allModules.indexOf(obj);
+            canMoveUp = canMoveUp && index > 0;
+            canMoveDown = canMoveDown && index < lowerBound;
+        }
 
-		this.upButton.setEnabled(canMoveUp);
-		this.downButton.setEnabled(canMoveDown);
-	}
+        this.upButton.setEnabled(canMoveUp);
+        this.downButton.setEnabled(canMoveDown);
+    }
 
-	@Override
-	public void doSave(IProgressMonitor monitor) {
-		List<String> artefactOrder = new ArrayList<String>();
-		for (Object module : this.orderedModules) {
-			artefactOrder.add(((IModule) module).getId());
-		}
+    @Override
+    public void doSave(IProgressMonitor monitor) {
+        List<String> artefactOrder = new ArrayList<String>();
+        for (Object module : this.orderedModules) {
+            artefactOrder.add(((IModule) module).getId());
+        }
 
-		if (!this.serverWorkingCopy.getArtefactOrder().equals(artefactOrder)) {
-			this.updating = true;
-			execute(new ModifyArtefactOrderCommand(this.serverWorkingCopy, artefactOrder));
-			this.updating = false;
-		}
-	}
+        if (!this.serverWorkingCopy.getArtefactOrder().equals(artefactOrder)) {
+            this.updating = true;
+            execute(new ModifyArtefactOrderCommand(this.serverWorkingCopy, artefactOrder));
+            this.updating = false;
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/Messages.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/Messages.java
index 0e85a62..70c6a3b 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/Messages.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/Messages.java
@@ -107,6 +107,7 @@
     public static String ArtefactOrderEditorSection_up_button;
 
     public static String ArtefactOrderEditorSection_down_button;
+
     static {
         // initialize resource bundle
         NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/RepositoryBrowserEditorPage.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/RepositoryBrowserEditorPage.java
index 52f0c51..9ea6089 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/RepositoryBrowserEditorPage.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/RepositoryBrowserEditorPage.java
@@ -157,7 +157,7 @@
     @Override
     public void createPartControl(Composite parent) {
 
-        shell = parent.getShell();
+        this.shell = parent.getShell();
 
         FormToolkit toolkit = getFormToolkit(parent.getDisplay());
 
@@ -189,27 +189,27 @@
     public void dispose() {
         super.dispose();
 
-        if (serverWC != null) {
-            serverWC.removeConfigurationChangeListener(propertyListener);
+        if (this.serverWC != null) {
+            this.serverWC.removeConfigurationChangeListener(this.propertyListener);
         }
-        Job.getJobManager().removeJobChangeListener(jobListener);
-        ServerCorePlugin.getArtefactRepositoryManager().removeBundleRepositoryChangeListener(repositoryListener);
+        Job.getJobManager().removeJobChangeListener(this.jobListener);
+        ServerCorePlugin.getArtefactRepositoryManager().removeBundleRepositoryChangeListener(this.repositoryListener);
     }
 
     @Override
     public void init(IEditorSite site, IEditorInput input) {
         super.init(site, input);
 
-        IServerWorkingCopy ts = (IServerWorkingCopy) server.loadAdapter(IServerWorkingCopy.class, null);
-        serverWC = ts;
+        IServerWorkingCopy ts = (IServerWorkingCopy) this.server.loadAdapter(IServerWorkingCopy.class, null);
+        this.serverWC = ts;
         addListeners();
         initialize();
     }
 
     @Override
     public void setFocus() {
-        if (searchResultTable != null) {
-            searchResultTable.setFocus();
+        if (this.searchResultTable != null) {
+            this.searchResultTable.setFocus();
         }
     }
 
@@ -228,10 +228,10 @@
         toolkit.paintBordersFor(leftComposite);
         leftSection.setClient(leftComposite);
 
-        searchText = toolkit.createText(leftComposite, Messages.RepositoryBrowserEditorPage_4);
+        this.searchText = toolkit.createText(leftComposite, Messages.RepositoryBrowserEditorPage_4);
         GridData data = new GridData(GridData.FILL_HORIZONTAL);
-        searchText.setLayoutData(data);
-        searchText.addKeyListener(new KeyListener() {
+        this.searchText.setLayoutData(data);
+        this.searchText.addKeyListener(new KeyListener() {
 
             public void keyPressed(KeyEvent e) {
                 if (e.character == SWT.CR || e.character == SWT.LF) {
@@ -248,8 +248,8 @@
         data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
         searchButtonComposite.setLayoutData(data);
 
-        searchButton = toolkit.createButton(searchButtonComposite, Messages.RepositoryBrowserEditorPage_Search, SWT.PUSH);
-        searchButton.addSelectionListener(new SelectionAdapter() {
+        this.searchButton = toolkit.createButton(searchButtonComposite, Messages.RepositoryBrowserEditorPage_Search, SWT.PUSH);
+        this.searchButton.addSelectionListener(new SelectionAdapter() {
 
             @Override
             public void widgetSelected(SelectionEvent e) {
@@ -258,57 +258,58 @@
         });
         data = new GridData(GridData.FILL_HORIZONTAL);
         data.widthHint = 100;
-        searchButton.setLayoutData(data);
+        this.searchButton.setLayoutData(data);
 
-        searchResultTable = toolkit.createTree(leftComposite, SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK);
+        this.searchResultTable = toolkit.createTree(leftComposite, SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.CHECK);
 
-        searchResultTableViewer = new CheckboxTreeViewer(searchResultTable);
-        searchResultTableViewer.setContentProvider(searchResultContentProvider);
-        searchResultTableViewer.setLabelProvider(coloredRespositoryLabelProvider);
-        searchResultTableViewer.setInput(this); // activate content provider
-        searchResultTableViewer.setSorter(new RepositoryViewerSorter());
-        searchResultTableViewer.addCheckStateListener(new ICheckStateListener() {
+        this.searchResultTableViewer = new CheckboxTreeViewer(this.searchResultTable);
+        this.searchResultTableViewer.setContentProvider(this.searchResultContentProvider);
+        this.searchResultTableViewer.setLabelProvider(this.coloredRespositoryLabelProvider);
+        this.searchResultTableViewer.setInput(this); // activate content provider
+        this.searchResultTableViewer.setSorter(new RepositoryViewerSorter());
+        this.searchResultTableViewer.addCheckStateListener(new ICheckStateListener() {
 
             public void checkStateChanged(CheckStateChangedEvent event) {
                 handleCheckStateChange(event);
-                downloadButton.setEnabled(searchResultTableViewer.getCheckedElements().length > 0);
+                RepositoryBrowserEditorPage.this.downloadButton.setEnabled(
+                    RepositoryBrowserEditorPage.this.searchResultTableViewer.getCheckedElements().length > 0);
             }
         });
-        searchResultTableViewer.addTreeListener(new ITreeViewerListener() {
+        this.searchResultTableViewer.addTreeListener(new ITreeViewerListener() {
 
             public void treeCollapsed(TreeExpansionEvent event) {
             }
 
             public void treeExpanded(TreeExpansionEvent event) {
                 final Object element = event.getElement();
-                if (searchResultTableViewer.getGrayed(element) == false) {
-                    BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
+                if (RepositoryBrowserEditorPage.this.searchResultTableViewer.getGrayed(element) == false) {
+                    BusyIndicator.showWhile(RepositoryBrowserEditorPage.this.shell.getDisplay(), new Runnable() {
 
                         public void run() {
-                            setSubtreeChecked(element, searchResultTableViewer.getChecked(element), false);
+                            setSubtreeChecked(element, RepositoryBrowserEditorPage.this.searchResultTableViewer.getChecked(element), false);
                         }
                     });
                 }
             }
         });
-        registerContextMenu(searchResultTableViewer);
+        registerContextMenu(this.searchResultTableViewer);
 
         data = new GridData(GridData.FILL_BOTH);
         data.heightHint = 120;
-        searchResultTable.setLayoutData(data);
-        searchResultTable.addSelectionListener(new SelectionAdapter() {
+        this.searchResultTable.setLayoutData(data);
+        this.searchResultTable.addSelectionListener(new SelectionAdapter() {
 
             @Override
             public void widgetSelected(SelectionEvent e) {
-                ISelection selection = searchResultTableViewer.getSelection();
+                ISelection selection = RepositoryBrowserEditorPage.this.searchResultTableViewer.getSelection();
                 if (selection instanceof IStructuredSelection) {
                     Object element = ((IStructuredSelection) selection).getFirstElement();
                     if (element instanceof IArtefact) {
-                        anaylseButton.setEnabled(true);
-                        licenseButton.setEnabled(true);
+                        RepositoryBrowserEditorPage.this.anaylseButton.setEnabled(true);
+                        RepositoryBrowserEditorPage.this.licenseButton.setEnabled(true);
                     } else {
-                        anaylseButton.setEnabled(false);
-                        licenseButton.setEnabled(false);
+                        RepositoryBrowserEditorPage.this.anaylseButton.setEnabled(false);
+                        RepositoryBrowserEditorPage.this.licenseButton.setEnabled(false);
                     }
                 }
             }
@@ -328,7 +329,9 @@
 
             @Override
             public void widgetSelected(SelectionEvent selectionEvent) {
-                searchResultTableViewer.setCheckedElements(searchResultContentProvider.getElements(searchResultTableViewer.getInput()));
+                RepositoryBrowserEditorPage.this.searchResultTableViewer.setCheckedElements(
+                    RepositoryBrowserEditorPage.this.searchResultContentProvider.getElements(
+                        RepositoryBrowserEditorPage.this.searchResultTableViewer.getInput()));
             }
         });
 
@@ -340,22 +343,22 @@
 
             @Override
             public void widgetSelected(SelectionEvent selectionEvent) {
-                searchResultTableViewer.setCheckedElements(new Object[0]);
+                RepositoryBrowserEditorPage.this.searchResultTableViewer.setCheckedElements(new Object[0]);
             }
         });
 
         // insert vertical space to make the download button stand out
         toolkit.createLabel(buttonComposite, Messages.RepositoryBrowserEditorPage_10);
 
-        anaylseButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_Analyse, SWT.PUSH);
-        anaylseButton.setEnabled(false);
-        anaylseButton.setLayoutData(data);
-        anaylseButton.setToolTipText(Messages.RepositoryBrowserEditorPage_AnalyseSelected);
-        anaylseButton.addSelectionListener(new SelectionAdapter() {
+        this.anaylseButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_Analyse, SWT.PUSH);
+        this.anaylseButton.setEnabled(false);
+        this.anaylseButton.setLayoutData(data);
+        this.anaylseButton.setToolTipText(Messages.RepositoryBrowserEditorPage_AnalyseSelected);
+        this.anaylseButton.addSelectionListener(new SelectionAdapter() {
 
             @Override
             public void widgetSelected(SelectionEvent selectionEvent) {
-                ISelection selection = searchResultTableViewer.getSelection();
+                ISelection selection = RepositoryBrowserEditorPage.this.searchResultTableViewer.getSelection();
                 if (selection instanceof IStructuredSelection) {
                     Object element = ((IStructuredSelection) selection).getFirstElement();
                     if (element instanceof IArtefact) {
@@ -365,15 +368,15 @@
             }
         });
 
-        licenseButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_ViewLicense, SWT.PUSH);
-        licenseButton.setEnabled(false);
-        licenseButton.setLayoutData(data);
-        licenseButton.setToolTipText(Messages.RepositoryBrowserEditorPage_OpenLicense);
-        licenseButton.addSelectionListener(new SelectionAdapter() {
+        this.licenseButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_ViewLicense, SWT.PUSH);
+        this.licenseButton.setEnabled(false);
+        this.licenseButton.setLayoutData(data);
+        this.licenseButton.setToolTipText(Messages.RepositoryBrowserEditorPage_OpenLicense);
+        this.licenseButton.addSelectionListener(new SelectionAdapter() {
 
             @Override
             public void widgetSelected(SelectionEvent selectionEvent) {
-                ISelection selection = searchResultTableViewer.getSelection();
+                ISelection selection = RepositoryBrowserEditorPage.this.searchResultTableViewer.getSelection();
                 if (selection instanceof IStructuredSelection) {
                     Object element = ((IStructuredSelection) selection).getFirstElement();
                     if (element instanceof LibraryArtefact) {
@@ -388,16 +391,16 @@
         // insert vertical space to make the download button stand out
         toolkit.createLabel(buttonComposite, ""); //$NON-NLS-1$
 
-        downloadButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_Download, SWT.PUSH);
-        downloadButton.setEnabled(false);
-        downloadButton.setLayoutData(data);
-        downloadButton.setToolTipText(Messages.RepositoryBrowserEditorPage_DownloadSelected);
-        downloadButton.addSelectionListener(new SelectionAdapter() {
+        this.downloadButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_Download, SWT.PUSH);
+        this.downloadButton.setEnabled(false);
+        this.downloadButton.setLayoutData(data);
+        this.downloadButton.setToolTipText(Messages.RepositoryBrowserEditorPage_DownloadSelected);
+        this.downloadButton.addSelectionListener(new SelectionAdapter() {
 
             @Override
             public void widgetSelected(SelectionEvent selectionEvent) {
                 Set<Artefact> artifacts = new LinkedHashSet<Artefact>();
-                Object[] selections = searchResultTableViewer.getCheckedElements();
+                Object[] selections = RepositoryBrowserEditorPage.this.searchResultTableViewer.getCheckedElements();
                 for (Object selection : selections) {
                     if (selection instanceof IArtefact) {
                         artifacts.add((Artefact) selection);
@@ -407,10 +410,10 @@
                 boolean showDialog = ServerUiPlugin.getDefault().getPreferenceStore().getBoolean(ServerUiPlugin.PLUGIN_ID + ".download.message"); //$NON-NLS-1$
 
                 if (!showDialog) {
-                    MessageDialogWithToggle dialog = MessageDialogWithToggle.openOkCancelConfirm(shell,
-                        Messages.RepositoryBrowserEditorPage_DownloadBundlesAndLibraries,
-                        Messages.RepositoryBrowserEditorPage_DownloadTriggerMessage, Messages.RepositoryBrowserEditorPage_DontShowDialog, false,
-                        ServerUiPlugin.getDefault().getPreferenceStore(), ServerUiPlugin.PLUGIN_ID + ".download.message"); //$NON-NLS-1$
+                    MessageDialogWithToggle dialog = MessageDialogWithToggle.openOkCancelConfirm(RepositoryBrowserEditorPage.this.shell,
+                        Messages.RepositoryBrowserEditorPage_DownloadBundlesAndLibraries, Messages.RepositoryBrowserEditorPage_DownloadTriggerMessage,
+                        Messages.RepositoryBrowserEditorPage_DontShowDialog, false, ServerUiPlugin.getDefault().getPreferenceStore(),
+                        ServerUiPlugin.PLUGIN_ID + ".download.message"); //$NON-NLS-1$
                     if (dialog.getReturnCode() != Window.OK) {
                         return;
                     } else {
@@ -422,13 +425,13 @@
                 Set<IRuntime> runtimes = new HashSet<IRuntime>();
                 runtimes.add(getServer().getRuntime());
                 RepositoryProvisioningJob operation = new RepositoryProvisioningJob(runtimes, RepositoryUtils.resolveDependencies(artifacts, false),
-                    downloadSourcesCheckbox.getSelection());
+                    RepositoryBrowserEditorPage.this.downloadSourcesCheckbox.getSelection());
                 operation.setProperty(IProgressConstants.ICON_PROPERTY, ServerUiImages.DESC_OBJ_BUNDLE);
                 operation.schedule();
 
                 // reset checked state
-                searchResultTableViewer.setCheckedElements(new Object[0]);
-                downloadButton.setEnabled(false);
+                RepositoryBrowserEditorPage.this.searchResultTableViewer.setCheckedElements(new Object[0]);
+                RepositoryBrowserEditorPage.this.downloadButton.setEnabled(false);
             }
         });
 
@@ -442,10 +445,10 @@
         wrappedComposite.setLayout(twLayout);
         GridDataFactory.fillDefaults().grab(true, false).span(2, 1).applyTo(wrappedComposite);
 
-        downloadSourcesCheckbox = toolkit.createButton(wrappedComposite, Messages.RepositoryBrowserEditorPage_DownloadSourceJars, SWT.CHECK
-            | SWT.WRAP);
-        downloadSourcesCheckbox.setSelection(true);
-        downloadSourcesCheckbox.setLayoutData(new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP));
+        this.downloadSourcesCheckbox = toolkit.createButton(wrappedComposite, Messages.RepositoryBrowserEditorPage_DownloadSourceJars,
+            SWT.CHECK | SWT.WRAP);
+        this.downloadSourcesCheckbox.setSelection(true);
+        this.downloadSourcesCheckbox.setLayoutData(new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP));
 
         Link repoLink = new Link(wrappedComposite, SWT.WRAP);
         repoLink.setText(Messages.RepositoryBrowserEditorPage_SourceReposMessage);
@@ -458,12 +461,12 @@
         });
         repoLink.setLayoutData(new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP));
 
-        update = new Link(wrappedComposite, SWT.WRAP);
-        update.addSelectionListener(new SelectionAdapter() {
+        this.update = new Link(wrappedComposite, SWT.WRAP);
+        this.update.addSelectionListener(new SelectionAdapter() {
 
             @Override
             public void widgetSelected(SelectionEvent e) {
-                if (MessageDialog.openQuestion(shell, Messages.RepositoryBrowserEditorPage_UpdateLocalBundles,
+                if (MessageDialog.openQuestion(RepositoryBrowserEditorPage.this.shell, Messages.RepositoryBrowserEditorPage_UpdateLocalBundles,
                     Messages.RepositoryBrowserEditorPage_ConfirmIndexMessage)) {
                     ServerCorePlugin.getArtefactRepositoryManager().update();
                 }
@@ -471,7 +474,7 @@
             }
         });
         setRepositoryDateString();
-        update.setLayoutData(new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP));
+        this.update.setLayoutData(new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP));
 
         Hyperlink disclaimer = toolkit.createHyperlink(wrappedComposite, Messages.RepositoryBrowserEditorPage_FirewallConfigureMessage, SWT.WRAP);
         disclaimer.addHyperlinkListener(new HyperlinkAdapter() {
@@ -497,7 +500,7 @@
     private void setRepositoryDateString() {
         Date date = ServerCorePlugin.getArtefactRepositoryManager().getArtefactRepositoryDate();
         String dateString = dateFormat.format(date);
-        update.setText(Messages.RepositoryBrowserEditorPage_UpdateURL + dateString + ")"); //$NON-NLS-1$
+        this.update.setText(Messages.RepositoryBrowserEditorPage_UpdateURL + dateString + ")"); //$NON-NLS-1$
     }
 
     protected String getServerName() {
@@ -530,14 +533,14 @@
         composite2.setLayoutData(new GridData(GridData.FILL_BOTH));
         toolkit.paintBordersFor(composite2);
 
-        repositoryTableViewer = new CommonViewer(ServerUiPlugin.ARTEFACTS_BROWSER_VIEW_ID, composite2, SWT.BORDER | SWT.SINGLE);
-        repositoryTableViewer.setSorter(new RepositoryViewerSorter());
+        this.repositoryTableViewer = new CommonViewer(ServerUiPlugin.ARTEFACTS_BROWSER_VIEW_ID, composite2, SWT.BORDER | SWT.SINGLE);
+        this.repositoryTableViewer.setSorter(new RepositoryViewerSorter());
 
-        registerContextMenu(repositoryTableViewer);
+        registerContextMenu(this.repositoryTableViewer);
 
         data = new GridData(GridData.FILL_BOTH);
         data.heightHint = 120;
-        repositoryTableViewer.getControl().setLayoutData(data);
+        this.repositoryTableViewer.getControl().setLayoutData(data);
 
         Composite buttonComposite = new Composite(composite2, SWT.NONE);
         buttonComposite.setLayout(new GridLayout(1, true));
@@ -546,10 +549,10 @@
 
         data = new GridData(GridData.FILL_HORIZONTAL);
         data.widthHint = 100;
-        refreshButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_Refresh, SWT.PUSH);
-        refreshButton.setLayoutData(data);
-        refreshButton.setToolTipText(Messages.RepositoryBrowserEditorPage_RefreshMessage);
-        refreshButton.addSelectionListener(new SelectionAdapter() {
+        this.refreshButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_Refresh, SWT.PUSH);
+        this.refreshButton.setLayoutData(data);
+        this.refreshButton.setToolTipText(Messages.RepositoryBrowserEditorPage_RefreshMessage);
+        this.refreshButton.addSelectionListener(new SelectionAdapter() {
 
             @Override
             public void widgetSelected(SelectionEvent selectionEvent) {
@@ -557,10 +560,10 @@
             }
         });
 
-        downloadSourcesButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_InstallSources, SWT.PUSH);
-        downloadSourcesButton.setLayoutData(data);
-        downloadSourcesButton.setToolTipText(Messages.RepositoryBrowserEditorPage_InstallSourcesMessage);
-        downloadSourcesButton.addSelectionListener(new SelectionAdapter() {
+        this.downloadSourcesButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_InstallSources, SWT.PUSH);
+        this.downloadSourcesButton.setLayoutData(data);
+        this.downloadSourcesButton.setToolTipText(Messages.RepositoryBrowserEditorPage_InstallSourcesMessage);
+        this.downloadSourcesButton.addSelectionListener(new SelectionAdapter() {
 
             @Override
             public void widgetSelected(SelectionEvent selectionEvent) {
@@ -571,14 +574,14 @@
         // insert vertical space to make the download button stand out
         toolkit.createLabel(buttonComposite, Messages.RepositoryBrowserEditorPage_40);
 
-        openManifestButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_OpenManifest, SWT.PUSH);
-        openManifestButton.setLayoutData(data);
-        openManifestButton.setToolTipText(Messages.RepositoryBrowserEditorPage_OpenManifestMessage);
-        openManifestButton.addSelectionListener(new SelectionAdapter() {
+        this.openManifestButton = toolkit.createButton(buttonComposite, Messages.RepositoryBrowserEditorPage_OpenManifest, SWT.PUSH);
+        this.openManifestButton.setLayoutData(data);
+        this.openManifestButton.setToolTipText(Messages.RepositoryBrowserEditorPage_OpenManifestMessage);
+        this.openManifestButton.addSelectionListener(new SelectionAdapter() {
 
             @Override
             public void widgetSelected(SelectionEvent selectionEvent) {
-                ISelection selection = repositoryTableViewer.getSelection();
+                ISelection selection = RepositoryBrowserEditorPage.this.repositoryTableViewer.getSelection();
                 if (selection instanceof IStructuredSelection) {
                     Object element = ((IStructuredSelection) selection).getFirstElement();
                     if (element instanceof IPackageFragmentRoot) {
@@ -589,17 +592,17 @@
             }
         });
 
-        openManifestButton.setEnabled(false);
-        repositoryTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+        this.openManifestButton.setEnabled(false);
+        this.repositoryTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
 
             public void selectionChanged(SelectionChangedEvent event) {
                 ISelection selection = event.getSelection();
                 if (selection instanceof IStructuredSelection) {
                     Object element = ((IStructuredSelection) selection).getFirstElement();
                     if (element instanceof IPackageFragmentRoot) {
-                        openManifestButton.setEnabled(true);
+                        RepositoryBrowserEditorPage.this.openManifestButton.setEnabled(true);
                     } else {
-                        openManifestButton.setEnabled(false);
+                        RepositoryBrowserEditorPage.this.openManifestButton.setEnabled(false);
                     }
                 }
             }
@@ -631,12 +634,12 @@
     }
 
     private void refreshBundleRepository() {
-        RefreshBundleJob.execute(shell, getServer().getRuntime());
+        RefreshBundleJob.execute(this.shell, getServer().getRuntime());
     }
 
     protected void downloadSources() {
         Set<Artefact> artifacts = new LinkedHashSet<Artefact>();
-        ArtefactRepository repository = RepositoryUtils.getRepositoryContents(server.getRuntime());
+        ArtefactRepository repository = RepositoryUtils.getRepositoryContents(this.server.getRuntime());
         for (IArtefactTyped bundle : repository.getBundles()) {
             if (bundle instanceof LocalBundleArtefact) {
                 if (!((LocalBundleArtefact) bundle).isSourceDownloaded()) {
@@ -652,7 +655,7 @@
     }
 
     private void handleCheckStateChange(final CheckStateChangedEvent event) {
-        BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
+        BusyIndicator.showWhile(this.shell.getDisplay(), new Runnable() {
 
             public void run() {
                 boolean state = event.getChecked();
@@ -666,100 +669,103 @@
         // checked state is set lazily on expand, don't set it if container is
         // collapsed
 
-        Object[] members = searchResultContentProvider.getChildren(container);
+        Object[] members = this.searchResultContentProvider.getChildren(container);
         for (int i = members.length - 1; i >= 0; i--) {
             Object element = members[i];
-            boolean elementGrayChecked = searchResultTableViewer.getGrayed(element) || searchResultTableViewer.getChecked(element);
+            boolean elementGrayChecked = this.searchResultTableViewer.getGrayed(element) || this.searchResultTableViewer.getChecked(element);
             if (state) {
-                searchResultTableViewer.setChecked(element, true);
-                searchResultTableViewer.setGrayed(element, false);
+                this.searchResultTableViewer.setChecked(element, true);
+                this.searchResultTableViewer.setGrayed(element, false);
             } else {
-                searchResultTableViewer.setGrayChecked(element, false);
+                this.searchResultTableViewer.setGrayChecked(element, false);
             } // unchecked state only
               // needs
-            if ((state || elementGrayChecked)) {
+            if (state || elementGrayChecked) {
                 setSubtreeChecked(element, state, true);
             }
         }
     }
 
     private void updateParentState(Object child) {
-        if (child == null || searchResultContentProvider.getParent(child) == null) {
+        if (child == null || this.searchResultContentProvider.getParent(child) == null) {
             return;
         }
-        Object parent = searchResultContentProvider.getParent(child);
+        Object parent = this.searchResultContentProvider.getParent(child);
         boolean childChecked = false;
-        Object[] members = searchResultContentProvider.getChildren(parent);
+        Object[] members = this.searchResultContentProvider.getChildren(parent);
         for (int i = members.length - 1; i >= 0; i--) {
-            if (searchResultTableViewer.getChecked(members[i]) || searchResultTableViewer.getGrayed(members[i])) {
+            if (this.searchResultTableViewer.getChecked(members[i]) || this.searchResultTableViewer.getGrayed(members[i])) {
                 childChecked = true;
                 break;
             }
         }
-        searchResultTableViewer.setGrayChecked(parent, childChecked);
+        this.searchResultTableViewer.setGrayChecked(parent, childChecked);
         updateParentState(parent);
     }
 
     protected void addListeners() {
-        propertyListener = new PropertyChangeListener() {
+        this.propertyListener = new PropertyChangeListener() {
 
             public void propertyChange(PropertyChangeEvent event) {
             }
         };
 
-        serverWC.addConfigurationChangeListener(propertyListener);
-        Job.getJobManager().addJobChangeListener(jobListener);
+        this.serverWC.addConfigurationChangeListener(this.propertyListener);
+        Job.getJobManager().addJobChangeListener(this.jobListener);
 
-        repositoryListener = new IBundleRepositoryChangeListener() {
+        this.repositoryListener = new IBundleRepositoryChangeListener() {
 
             public void bundleRepositoryChanged(IRuntime runtime) {
                 refreshViewers();
             }
         };
-        ServerCorePlugin.getArtefactRepositoryManager().addBundleRepositoryChangeListener(repositoryListener);
+        ServerCorePlugin.getArtefactRepositoryManager().addBundleRepositoryChangeListener(this.repositoryListener);
 
     }
 
     protected void handleSearch() {
-        String search = searchText.getText();
-        searchResultTableViewer.setInput(RepositoryUtils.searchForArtifacts(search));
-        searchResultTableViewer.expandToLevel(2);
+        String search = this.searchText.getText();
+        this.searchResultTableViewer.setInput(RepositoryUtils.searchForArtifacts(search));
+        this.searchResultTableViewer.expandToLevel(2);
     }
 
     protected void initialize() {
-        if (searchResultTable == null) {
+        if (this.searchResultTable == null) {
             return;
         }
-        searchResultTable.removeAll();
+        this.searchResultTable.removeAll();
         setErrorMessage(null);
         initializeViewers();
     }
 
     protected void initializeViewers() {
-        shell.getDisplay().asyncExec(new Runnable() {
+        this.shell.getDisplay().asyncExec(new Runnable() {
 
             public void run() {
-                if (repositoryTableViewer.getControl() != null && !repositoryTableViewer.getControl().isDisposed()) {
-                    repositoryTableViewer.setInput(getServer());
-                    repositoryTableViewer.expandToLevel(2);
+                if (RepositoryBrowserEditorPage.this.repositoryTableViewer.getControl() != null
+                    && !RepositoryBrowserEditorPage.this.repositoryTableViewer.getControl().isDisposed()) {
+                    RepositoryBrowserEditorPage.this.repositoryTableViewer.setInput(getServer());
+                    RepositoryBrowserEditorPage.this.repositoryTableViewer.expandToLevel(2);
                 }
-                if (searchResultTableViewer.getControl() != null && !searchResultTableViewer.getControl().isDisposed()) {
-                    searchResultTableViewer.refresh(true);
-                    searchResultTableViewer.expandToLevel(2);
+                if (RepositoryBrowserEditorPage.this.searchResultTableViewer.getControl() != null
+                    && !RepositoryBrowserEditorPage.this.searchResultTableViewer.getControl().isDisposed()) {
+                    RepositoryBrowserEditorPage.this.searchResultTableViewer.refresh(true);
+                    RepositoryBrowserEditorPage.this.searchResultTableViewer.expandToLevel(2);
                 }
             }
         });
     }
 
     protected void refreshViewers() {
-        shell.getDisplay().asyncExec(new Runnable() {
+        this.shell.getDisplay().asyncExec(new Runnable() {
 
             public void run() {
-                if (repositoryTableViewer.getControl() != null && !repositoryTableViewer.getControl().isDisposed()) {
-                    ISelection selection = repositoryTableViewer.getSelection();
-                    repositoryTableViewer.refresh();
-                    repositoryTableViewer.setSelection(selection);
-                    searchResultTableViewer.refresh(true);
+                if (RepositoryBrowserEditorPage.this.repositoryTableViewer.getControl() != null
+                    && !RepositoryBrowserEditorPage.this.repositoryTableViewer.getControl().isDisposed()) {
+                    ISelection selection = RepositoryBrowserEditorPage.this.repositoryTableViewer.getSelection();
+                    RepositoryBrowserEditorPage.this.repositoryTableViewer.refresh();
+                    RepositoryBrowserEditorPage.this.repositoryTableViewer.setSelection(selection);
+                    RepositoryBrowserEditorPage.this.searchResultTableViewer.refresh(true);
                 }
             }
         });
@@ -774,10 +780,10 @@
                     refreshViewers();
                 }
             } else if (event.getJob() instanceof ArtefactRepositoryManager.ArtefactRepositoryUpdateJob) {
-                shell.getDisplay().asyncExec(new Runnable() {
+                RepositoryBrowserEditorPage.this.shell.getDisplay().asyncExec(new Runnable() {
 
                     public void run() {
-                        if (update != null && !update.isDisposed()) {
+                        if (RepositoryBrowserEditorPage.this.update != null && !RepositoryBrowserEditorPage.this.update.isDisposed()) {
                             setRepositoryDateString();
                         }
                     }
@@ -799,8 +805,8 @@
      */
     public void selectionChanged(SelectionChangedEvent event) {
         IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-        repositoryTableViewer.setSelection(sel, true);
-        repositoryTableViewer.expandToLevel(sel.getFirstElement(), AbstractTreeViewer.ALL_LEVELS);
+        this.repositoryTableViewer.setSelection(sel, true);
+        this.repositoryTableViewer.expandToLevel(sel.getFirstElement(), AbstractTreeViewer.ALL_LEVELS);
     }
 
     private class ColoredRespositoryLabelProvider extends RuntimeLabelProvider implements IColorProvider {
@@ -810,7 +816,7 @@
         }
 
         public Color getForeground(Object element) {
-            ArtefactRepository repository = RepositoryUtils.getRepositoryContents(server.getRuntime());
+            ArtefactRepository repository = RepositoryUtils.getRepositoryContents(RepositoryBrowserEditorPage.this.server.getRuntime());
             if (repository != null && element instanceof Artefact && repository.contains((IArtefact) element)) {
                 return Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GRAY);
             }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ServerDeployEditorSection.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ServerDeployEditorSection.java
index e77cc9e..863c4e7 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ServerDeployEditorSection.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ServerDeployEditorSection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.editor;
 
 import java.beans.PropertyChangeEvent;
@@ -46,200 +47,201 @@
  */
 public class ServerDeployEditorSection extends ServerEditorSection {
 
-	protected IServerWorkingCopy serverWorkingCopy;
+    protected IServerWorkingCopy serverWorkingCopy;
 
-	protected Text port;
+    protected Text port;
 
-	protected Text timeout;
+    protected Text timeout;
 
-	protected Text username;
+    protected Text username;
 
-	protected Text password;
+    protected Text password;
 
-	protected boolean updating;
+    protected boolean updating;
 
-	protected PropertyChangeListener listener;
+    protected PropertyChangeListener listener;
 
-	protected void addConfigurationChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (updating) {
-					return;
-				}
-				updating = true;
-				if (IServer.PROPERTY_MBEAN_SERVER_PASSWORD.equals(event.getPropertyName())) {
-					password.setText(event.getNewValue().toString());
-				} else if (IServer.PROPERTY_DEPLOY_TIMEOUT.equals(event.getPropertyName())) {
-					timeout.setText(event.getNewValue().toString());
-				} else if (IServer.PROPERTY_MBEAN_SERVER_PORT.equals(event.getPropertyName())) {
-					port.setText(event.getNewValue().toString());
-				} else if (IServer.PROPERTY_MBEAN_SERVER_USERNAME.equals(event.getPropertyName())) {
-					username.setText(event.getNewValue().toString());
-				}
-				updating = false;
-			}
-		};
-		serverWorkingCopy.addConfigurationChangeListener(listener);
-	}
+    protected void addConfigurationChangeListener() {
+        this.listener = new PropertyChangeListener() {
 
-	@Override
-	public void createSection(Composite parent) {
-		super.createSection(parent);
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
+            public void propertyChange(PropertyChangeEvent event) {
+                if (ServerDeployEditorSection.this.updating) {
+                    return;
+                }
+                ServerDeployEditorSection.this.updating = true;
+                if (IServer.PROPERTY_MBEAN_SERVER_PASSWORD.equals(event.getPropertyName())) {
+                    ServerDeployEditorSection.this.password.setText(event.getNewValue().toString());
+                } else if (IServer.PROPERTY_DEPLOY_TIMEOUT.equals(event.getPropertyName())) {
+                    ServerDeployEditorSection.this.timeout.setText(event.getNewValue().toString());
+                } else if (IServer.PROPERTY_MBEAN_SERVER_PORT.equals(event.getPropertyName())) {
+                    ServerDeployEditorSection.this.port.setText(event.getNewValue().toString());
+                } else if (IServer.PROPERTY_MBEAN_SERVER_USERNAME.equals(event.getPropertyName())) {
+                    ServerDeployEditorSection.this.username.setText(event.getNewValue().toString());
+                }
+                ServerDeployEditorSection.this.updating = false;
+            }
+        };
+        this.serverWorkingCopy.addConfigurationChangeListener(this.listener);
+    }
 
-		Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED
-				| ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
-		section.setText("Deployer Control");
-		section.setDescription("Configure the communication with the server Deployer Control.");
-		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
+    @Override
+    public void createSection(Composite parent) {
+        super.createSection(parent);
+        FormToolkit toolkit = getFormToolkit(parent.getDisplay());
 
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 15;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
+        Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR
+            | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
+        section.setText("Deployer Control");
+        section.setDescription("Configure the communication with the server Deployer Control.");
+        section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
 
-		GridData data = new GridData(SWT.FILL, SWT.CENTER, true, false);
+        Composite composite = toolkit.createComposite(section);
+        GridLayout layout = new GridLayout();
+        layout.numColumns = 2;
+        layout.marginHeight = 5;
+        layout.marginWidth = 10;
+        layout.verticalSpacing = 5;
+        layout.horizontalSpacing = 15;
+        composite.setLayout(layout);
+        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
+        toolkit.paintBordersFor(composite);
+        section.setClient(composite);
 
-		Label portLabel = toolkit.createLabel(composite, "Port:");
-		portLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
-		port = toolkit.createText(composite, "");
-		port.setLayoutData(data);
-		port.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (updating) {
-					return;
-				}
-				getManagedForm().getMessageManager().removeMessages(port);
-				int newPort = -1;
-				try {
-					newPort = Integer.valueOf(port.getText());
-				} catch (NumberFormatException nfe) {
-					getManagedForm().getMessageManager().addMessage("MALFORMED-PORT", "Port must be a positive number",
-							null, IMessageProvider.ERROR, port);
-					return;
-				}
-				setErrorMessage(null);
-				updating = true;
-				execute(new ModifyDeployerPortCommand(serverWorkingCopy, newPort));
-				updating = false;
-			}
-		});
+        GridData data = new GridData(SWT.FILL, SWT.CENTER, true, false);
 
-		Label timeoutLabel = toolkit.createLabel(composite, "Timeout:");
-		timeoutLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
-		timeout = toolkit.createText(composite, "");
-		timeout.setLayoutData(data);
-		timeout.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (updating) {
-					return;
-				}
-				getManagedForm().getMessageManager().removeMessages(timeout);
-				Integer newTimeout = null;
-				try {
-					newTimeout = Integer.valueOf(timeout.getText());
-				} catch (NumberFormatException nfe) {
-					getManagedForm().getMessageManager().addMessage("MALFORMED-TIMEOUT",
-							"Timeout must be a positive number", null, IMessageProvider.ERROR, timeout);
-					return;
-				}
-				if (newTimeout < 5) {
-					getManagedForm().getMessageManager().addMessage("INVALID-TIMEOUT", "Timeout cannot be less than 5",
-							null, IMessageProvider.ERROR, timeout);
-					return;
-				}
-				updating = true;
-				execute(new ModifyDeployerTimeoutCommand(serverWorkingCopy, newTimeout));
-				updating = false;
-			}
-		});
+        Label portLabel = toolkit.createLabel(composite, "Port:");
+        portLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+        this.port = toolkit.createText(composite, "");
+        this.port.setLayoutData(data);
+        this.port.addModifyListener(new ModifyListener() {
 
-//		Label usernameLabel = toolkit.createLabel(composite, "Username:");
-//		usernameLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
-//		username = toolkit.createText(composite, "");
-//		username.setLayoutData(data);
-//		username.addModifyListener(new ModifyListener() {
-//			public void modifyText(ModifyEvent e) {
-//				if (updating)
-//					return;
-//				updating = true;
-//				execute(new ModifyDeployerUsernameCommand(serverWorkingCopy, username.getText()));
-//				updating = false;
-//			}
-//		});
-//
-//		Label passwordLabel = toolkit.createLabel(composite, "Password:");
-//		passwordLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
-//		password = toolkit.createText(composite, "", SWT.PASSWORD);
-//		password.setLayoutData(data);
-//		password.addModifyListener(new ModifyListener() {
-//			public void modifyText(ModifyEvent e) {
-//				if (updating)
-//					return;
-//				updating = true;
-//				execute(new ModifyDeployerPasswordCommand(serverWorkingCopy, password.getText()));
-//				updating = false;
-//			}
-//		});
+            public void modifyText(ModifyEvent e) {
+                if (ServerDeployEditorSection.this.updating) {
+                    return;
+                }
+                getManagedForm().getMessageManager().removeMessages(ServerDeployEditorSection.this.port);
+                int newPort = -1;
+                try {
+                    newPort = Integer.valueOf(ServerDeployEditorSection.this.port.getText());
+                } catch (NumberFormatException nfe) {
+                    getManagedForm().getMessageManager().addMessage("MALFORMED-PORT", "Port must be a positive number", null, IMessageProvider.ERROR,
+                        ServerDeployEditorSection.this.port);
+                    return;
+                }
+                setErrorMessage(null);
+                ServerDeployEditorSection.this.updating = true;
+                execute(new ModifyDeployerPortCommand(ServerDeployEditorSection.this.serverWorkingCopy, newPort));
+                ServerDeployEditorSection.this.updating = false;
+            }
+        });
 
-		initialize();
-	}
+        Label timeoutLabel = toolkit.createLabel(composite, "Timeout:");
+        timeoutLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+        this.timeout = toolkit.createText(composite, "");
+        this.timeout.setLayoutData(data);
+        this.timeout.addModifyListener(new ModifyListener() {
 
-	/**
-	 * @see ServerEditorSection#dispose()
-	 */
-	@Override
-	public void dispose() {
-		if (server != null) {
-			server.removePropertyChangeListener(listener);
-		}
-	}
+            public void modifyText(ModifyEvent e) {
+                if (ServerDeployEditorSection.this.updating) {
+                    return;
+                }
+                getManagedForm().getMessageManager().removeMessages(ServerDeployEditorSection.this.timeout);
+                Integer newTimeout = null;
+                try {
+                    newTimeout = Integer.valueOf(ServerDeployEditorSection.this.timeout.getText());
+                } catch (NumberFormatException nfe) {
+                    getManagedForm().getMessageManager().addMessage("MALFORMED-TIMEOUT", "Timeout must be a positive number", null,
+                        IMessageProvider.ERROR, ServerDeployEditorSection.this.timeout);
+                    return;
+                }
+                if (newTimeout < 5) {
+                    getManagedForm().getMessageManager().addMessage("INVALID-TIMEOUT", "Timeout cannot be less than 5", null, IMessageProvider.ERROR,
+                        ServerDeployEditorSection.this.timeout);
+                    return;
+                }
+                ServerDeployEditorSection.this.updating = true;
+                execute(new ModifyDeployerTimeoutCommand(ServerDeployEditorSection.this.serverWorkingCopy, newTimeout));
+                ServerDeployEditorSection.this.updating = false;
+            }
+        });
 
-	/**
-	 * @see ServerEditorSection#init(IEditorSite, IEditorInput)
-	 */
-	@Override
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		serverWorkingCopy = (IServerWorkingCopy) server.loadAdapter(IServerWorkingCopy.class, new NullProgressMonitor());
-		addConfigurationChangeListener();
-	}
+        // Label usernameLabel = toolkit.createLabel(composite, "Username:");
+        // usernameLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+        // username = toolkit.createText(composite, "");
+        // username.setLayoutData(data);
+        // username.addModifyListener(new ModifyListener() {
+        // public void modifyText(ModifyEvent e) {
+        // if (updating)
+        // return;
+        // updating = true;
+        // execute(new ModifyDeployerUsernameCommand(serverWorkingCopy, username.getText()));
+        // updating = false;
+        // }
+        // });
+        //
+        // Label passwordLabel = toolkit.createLabel(composite, "Password:");
+        // passwordLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+        // password = toolkit.createText(composite, "", SWT.PASSWORD);
+        // password.setLayoutData(data);
+        // password.addModifyListener(new ModifyListener() {
+        // public void modifyText(ModifyEvent e) {
+        // if (updating)
+        // return;
+        // updating = true;
+        // execute(new ModifyDeployerPasswordCommand(serverWorkingCopy, password.getText()));
+        // updating = false;
+        // }
+        // });
 
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		updating = true;
-		this.port.setText("" + serverWorkingCopy.getMBeanServerPort());
-		this.timeout.setText("" + serverWorkingCopy.getDeployTimeout());
-//		this.username.setText(serverWorkingCopy.getDeployerUsername());
-//		this.password.setText(serverWorkingCopy.getDeployerPassword());
-		updating = false;
-	}
+        initialize();
+    }
 
-	@Override
-	public IStatus[] getSaveStatus() {
-		// this errors should never happen as the port and timeout controls now prevent the user
-		// from entering invalid values.
-		try {
-			Integer.valueOf(port.getText());
-		} catch (NumberFormatException nfe) {
-			return new IStatus[] { new Status(IStatus.ERROR, ServerUiPlugin.PLUGIN_ID, "'" + port.getText()
-					+ "' is not a valid port number") };
-		}
-		try {
-			Integer.valueOf(timeout.getText());
-		} catch (NumberFormatException nfe) {
-			return new IStatus[] { new Status(IStatus.ERROR, ServerUiPlugin.PLUGIN_ID, "'" + timeout.getText()
-					+ "' is not a valid timeout") };
-		}
-		return super.getSaveStatus();
-	}
+    /**
+     * @see ServerEditorSection#dispose()
+     */
+    @Override
+    public void dispose() {
+        if (this.server != null) {
+            this.server.removePropertyChangeListener(this.listener);
+        }
+    }
+
+    /**
+     * @see ServerEditorSection#init(IEditorSite, IEditorInput)
+     */
+    @Override
+    public void init(IEditorSite site, IEditorInput input) {
+        super.init(site, input);
+        this.serverWorkingCopy = (IServerWorkingCopy) this.server.loadAdapter(IServerWorkingCopy.class, new NullProgressMonitor());
+        addConfigurationChangeListener();
+    }
+
+    /**
+     * Initialize the fields in this editor.
+     */
+    protected void initialize() {
+        this.updating = true;
+        this.port.setText("" + this.serverWorkingCopy.getMBeanServerPort());
+        this.timeout.setText("" + this.serverWorkingCopy.getDeployTimeout());
+        // this.username.setText(serverWorkingCopy.getDeployerUsername());
+        // this.password.setText(serverWorkingCopy.getDeployerPassword());
+        this.updating = false;
+    }
+
+    @Override
+    public IStatus[] getSaveStatus() {
+        // this errors should never happen as the port and timeout controls now prevent the user
+        // from entering invalid values.
+        try {
+            Integer.valueOf(this.port.getText());
+        } catch (NumberFormatException nfe) {
+            return new IStatus[] { new Status(IStatus.ERROR, ServerUiPlugin.PLUGIN_ID, "'" + this.port.getText() + "' is not a valid port number") };
+        }
+        try {
+            Integer.valueOf(this.timeout.getText());
+        } catch (NumberFormatException nfe) {
+            return new IStatus[] { new Status(IStatus.ERROR, ServerUiPlugin.PLUGIN_ID, "'" + this.timeout.getText() + "' is not a valid timeout") };
+        }
+        return super.getSaveStatus();
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ServerOutlinePage.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ServerOutlinePage.java
index 2e4816c..fcf615d 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ServerOutlinePage.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ServerOutlinePage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.editor;
 
 import java.lang.reflect.Method;
@@ -48,122 +49,118 @@
 @SuppressWarnings("restriction")
 public class ServerOutlinePage extends ContentOutlinePage {
 
-	private CommonViewer contentOutlineViewer;
+    private CommonViewer contentOutlineViewer;
 
-	protected Object input;
+    protected Object input;
 
-	final ServerEditor editor;
+    final ServerEditor editor;
 
-	public ServerOutlinePage(ServerEditor editor) {
-		this.editor = editor;
-	}
+    public ServerOutlinePage(ServerEditor editor) {
+        this.editor = editor;
+    }
 
-	private IEditorPart getActiveEditor() {
-		try {
-			Method method = MultiPageEditorPart.class.getDeclaredMethod("getActiveEditor", new Class[] {});
-			method.setAccessible(true);
-			Object result = method.invoke(editor, new Object[] {});
-			return (IEditorPart) result;
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		}
-	}
+    private IEditorPart getActiveEditor() {
+        try {
+            Method method = MultiPageEditorPart.class.getDeclaredMethod("getActiveEditor", new Class[] {});
+            method.setAccessible(true);
+            Object result = method.invoke(this.editor, new Object[] {});
+            return (IEditorPart) result;
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
 
-	/**
-	 * @see org.eclipse.ui.views.contentoutline.ContentOutlinePage#getControl()
-	 */
-	@Override
-	public Control getControl() {
-		return contentOutlineViewer.getControl();
-	}
+    /**
+     * @see org.eclipse.ui.views.contentoutline.ContentOutlinePage#getControl()
+     */
+    @Override
+    public Control getControl() {
+        return this.contentOutlineViewer.getControl();
+    }
 
-	/**
-	 * @see org.eclipse.ui.views.contentoutline.ContentOutlinePage#getTreeViewer()
-	 */
-	@Override
-	protected TreeViewer getTreeViewer() {
-		return contentOutlineViewer;
-	}
+    /**
+     * @see org.eclipse.ui.views.contentoutline.ContentOutlinePage#getTreeViewer()
+     */
+    @Override
+    protected TreeViewer getTreeViewer() {
+        return this.contentOutlineViewer;
+    }
 
-	@Override
-	public void createControl(Composite parent) {
-		super.createControl(parent);
+    @Override
+    public void createControl(Composite parent) {
+        super.createControl(parent);
 
-		contentOutlineViewer = new CommonViewer(ServerUiPlugin.RUNTIME_OUTLINE_VIEW_ID, parent, SWT.MULTI
-				| SWT.H_SCROLL | SWT.V_SCROLL);
-		//contentOutlineViewer.addSelectionChangedListener(this);
-		contentOutlineViewer.setInput(editor);
+        this.contentOutlineViewer = new CommonViewer(ServerUiPlugin.RUNTIME_OUTLINE_VIEW_ID, parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
+        // contentOutlineViewer.addSelectionChangedListener(this);
+        this.contentOutlineViewer.setInput(this.editor);
 
-		contentOutlineViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+        this.contentOutlineViewer.addSelectionChangedListener(new ISelectionChangedListener() {
 
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection sel = (IStructuredSelection) event.getSelection();
-				ISelection selection = getTreeViewer().getSelection();
-				if (selection instanceof TreeSelection) {
-					TreeSelection treeSel = (TreeSelection) selection;
-					if (treeSel.getPaths().length > 0) {
-						TreePath firstPath = treeSel.getPaths()[0];
-						if (firstPath.getFirstSegment() instanceof IEditorPart) {
-							IEditorPart newPart = (IEditorPart) firstPath.getFirstSegment();
-							if (getActiveEditor() != newPart) {
-								editor.setActiveEditor(newPart);
-							}
-							List<Object> leafList = new ArrayList<Object>();
-							for (TreePath path : treeSel.getPaths()) {
-								leafList.add(path.getLastSegment());
-							}
-							if (leafList.size() > 0) {
-								ISelectionChangedListener pageListener = (ISelectionChangedListener) newPart.getAdapter(ISelectionChangedListener.class);
-								if (pageListener instanceof ISelectionChangedListener) {
-									pageListener.selectionChanged(new SelectionChangedEvent(getTreeViewer(),
-											new StructuredSelection(leafList)));
-								}
-							}
-						}
-					} else if (sel.getFirstElement() instanceof IEditorPart) {
-						editor.setActiveEditor((IEditorPart) sel.getFirstElement());
-					}
-				}
-			}
-		});
-		contentOutlineViewer.setSorter(new ArtefactSignatureSorter());
-		registerContextMenu(contentOutlineViewer);
-	}
+            public void selectionChanged(SelectionChangedEvent event) {
+                IStructuredSelection sel = (IStructuredSelection) event.getSelection();
+                ISelection selection = getTreeViewer().getSelection();
+                if (selection instanceof TreeSelection) {
+                    TreeSelection treeSel = (TreeSelection) selection;
+                    if (treeSel.getPaths().length > 0) {
+                        TreePath firstPath = treeSel.getPaths()[0];
+                        if (firstPath.getFirstSegment() instanceof IEditorPart) {
+                            IEditorPart newPart = (IEditorPart) firstPath.getFirstSegment();
+                            if (getActiveEditor() != newPart) {
+                                ServerOutlinePage.this.editor.setActiveEditor(newPart);
+                            }
+                            List<Object> leafList = new ArrayList<Object>();
+                            for (TreePath path : treeSel.getPaths()) {
+                                leafList.add(path.getLastSegment());
+                            }
+                            if (leafList.size() > 0) {
+                                ISelectionChangedListener pageListener = newPart.getAdapter(ISelectionChangedListener.class);
+                                if (pageListener instanceof ISelectionChangedListener) {
+                                    pageListener.selectionChanged(new SelectionChangedEvent(getTreeViewer(), new StructuredSelection(leafList)));
+                                }
+                            }
+                        }
+                    } else if (sel.getFirstElement() instanceof IEditorPart) {
+                        ServerOutlinePage.this.editor.setActiveEditor((IEditorPart) sel.getFirstElement());
+                    }
+                }
+            }
+        });
+        this.contentOutlineViewer.setSorter(new ArtefactSignatureSorter());
+        registerContextMenu(this.contentOutlineViewer);
+    }
 
-	protected void registerContextMenu(StructuredViewer viewer) {
-		MenuManager manager = new MenuManager();
-		Menu menu = manager.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu("Something", manager, viewer);
-	}
+    protected void registerContextMenu(StructuredViewer viewer) {
+        MenuManager manager = new MenuManager();
+        Menu menu = manager.createContextMenu(viewer.getControl());
+        viewer.getControl().setMenu(menu);
+        getSite().registerContextMenu("Something", manager, viewer);
+    }
 
-	class SortingAction extends Action {
+    class SortingAction extends Action {
 
-		private boolean sortingOn;
+        private boolean sortingOn;
 
-		public SortingAction() {
-			super();
-			PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IHelpContextIds.OUTLINE_SORT_ACTION);
-			setText(PDEUIMessages.PDEMultiPageContentOutline_SortingAction_label);
-			setImageDescriptor(PDEPluginImages.DESC_ALPHAB_SORT_CO);
-			setDisabledImageDescriptor(PDEPluginImages.DESC_ALPHAB_SORT_CO_DISABLED);
-			setToolTipText(PDEUIMessages.PDEMultiPageContentOutline_SortingAction_tooltip);
-			setDescription(PDEUIMessages.PDEMultiPageContentOutline_SortingAction_description);
-			setChecked(sortingOn);
-		}
+        public SortingAction() {
+            super();
+            PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IHelpContextIds.OUTLINE_SORT_ACTION);
+            setText(PDEUIMessages.PDEMultiPageContentOutline_SortingAction_label);
+            setImageDescriptor(PDEPluginImages.DESC_ALPHAB_SORT_CO);
+            setDisabledImageDescriptor(PDEPluginImages.DESC_ALPHAB_SORT_CO_DISABLED);
+            setToolTipText(PDEUIMessages.PDEMultiPageContentOutline_SortingAction_tooltip);
+            setDescription(PDEUIMessages.PDEMultiPageContentOutline_SortingAction_description);
+            setChecked(this.sortingOn);
+        }
 
-		@Override
-		public void run() {
-			setChecked(isChecked());
-			valueChanged(isChecked());
-		}
+        @Override
+        public void run() {
+            setChecked(isChecked());
+            valueChanged(isChecked());
+        }
 
-		private void valueChanged(final boolean on) {
-			sortingOn = on;
-			PDEPlugin.getDefault()
-					.getPreferenceStore()
-					.setValue("PDEMultiPageContentOutline.SortingAction.isChecked", on); //$NON-NLS-1$
-		}
+        private void valueChanged(final boolean on) {
+            this.sortingOn = on;
+            PDEPlugin.getDefault().getPreferenceStore().setValue("PDEMultiPageContentOutline.SortingAction.isChecked", on); //$NON-NLS-1$
+        }
 
-	}
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/StartupEditorSection.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/StartupEditorSection.java
index fe600fe..4f51db8 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/StartupEditorSection.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/StartupEditorSection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.editor;
 
 import java.beans.PropertyChangeEvent;
@@ -40,152 +41,157 @@
 
 /**
  * {@link ServerEditorSection} section that allows to configure some startup parameters
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @since 1.0.1
  */
 public class StartupEditorSection extends ServerEditorSection {
 
-	protected IServerWorkingCopy serverWorkingCopy;
+    protected IServerWorkingCopy serverWorkingCopy;
 
-	protected boolean updating;
+    protected boolean updating;
 
-	protected PropertyChangeListener listener;
+    protected PropertyChangeListener listener;
 
-	private Button tailLogFiles;
+    private Button tailLogFiles;
 
-	private Button cleanStartup;
+    private Button cleanStartup;
 
-	private Text maxPermSizeField;
+    private Text maxPermSizeField;
 
-	protected void addConfigurationChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (updating) {
-					return;
-				}
-				updating = true;
-				if (IServer.PROPERTY_TAIL_LOG_FILES.equals(event.getPropertyName())) {
-					tailLogFiles.setSelection(Boolean.valueOf(event.getNewValue().toString()));
-				} else if (IServer.PROPERTY_CLEAN_STARTUP.equals(event.getPropertyName())) {
-					cleanStartup.setSelection(Boolean.valueOf(event.getNewValue().toString()));
-				} else if (IServer.PROPERTY_MAX_PERM_SIZE.equals(event.getPropertyName())) {
-					maxPermSizeField.setText(event.getNewValue().toString());
-				}
-				updating = false;
-			}
-		};
-		serverWorkingCopy.addConfigurationChangeListener(listener);
-	}
+    protected void addConfigurationChangeListener() {
+        this.listener = new PropertyChangeListener() {
 
-	@Override
-	public void createSection(Composite parent) {
-		super.createSection(parent);
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
+            public void propertyChange(PropertyChangeEvent event) {
+                if (StartupEditorSection.this.updating) {
+                    return;
+                }
+                StartupEditorSection.this.updating = true;
+                if (IServer.PROPERTY_TAIL_LOG_FILES.equals(event.getPropertyName())) {
+                    StartupEditorSection.this.tailLogFiles.setSelection(Boolean.valueOf(event.getNewValue().toString()));
+                } else if (IServer.PROPERTY_CLEAN_STARTUP.equals(event.getPropertyName())) {
+                    StartupEditorSection.this.cleanStartup.setSelection(Boolean.valueOf(event.getNewValue().toString()));
+                } else if (IServer.PROPERTY_MAX_PERM_SIZE.equals(event.getPropertyName())) {
+                    StartupEditorSection.this.maxPermSizeField.setText(event.getNewValue().toString());
+                }
+                StartupEditorSection.this.updating = false;
+            }
+        };
+        this.serverWorkingCopy.addConfigurationChangeListener(this.listener);
+    }
 
-		Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED
-				| ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
-		section.setText("Server Startup Configuration");
-		section.setDescription("Specify startup options. Changing a setting requires a server restart.");
-		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
+    @Override
+    public void createSection(Composite parent) {
+        super.createSection(parent);
+        FormToolkit toolkit = getFormToolkit(parent.getDisplay());
 
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 5;
-		layout.marginWidth = 10;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 15;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
+        Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR
+            | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
+        section.setText("Server Startup Configuration");
+        section.setDescription("Specify startup options. Changing a setting requires a server restart.");
+        section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
 
-		GridData data = new GridData(SWT.FILL, SWT.TOP, true, false);
-		data.horizontalSpan = 2;
+        Composite composite = toolkit.createComposite(section);
+        GridLayout layout = new GridLayout();
+        layout.numColumns = 2;
+        layout.marginHeight = 5;
+        layout.marginWidth = 10;
+        layout.verticalSpacing = 5;
+        layout.horizontalSpacing = 15;
+        composite.setLayout(layout);
+        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
+        toolkit.paintBordersFor(composite);
+        section.setClient(composite);
 
-		tailLogFiles = toolkit.createButton(composite, "Tail application trace files into Console view", SWT.CHECK);
-		tailLogFiles.setLayoutData(data);
-		tailLogFiles.addSelectionListener(new SelectionAdapter() {
+        GridData data = new GridData(SWT.FILL, SWT.TOP, true, false);
+        data.horizontalSpan = 2;
 
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				if (updating) {
-					return;
-				}
-				updating = true;
-				execute(new ModifyTailLogFilesCommand(serverWorkingCopy, tailLogFiles.getSelection()));
-				updating = false;
-			}
-		});
+        this.tailLogFiles = toolkit.createButton(composite, "Tail application trace files into Console view", SWT.CHECK);
+        this.tailLogFiles.setLayoutData(data);
+        this.tailLogFiles.addSelectionListener(new SelectionAdapter() {
 
-		cleanStartup = toolkit.createButton(composite, "Start server with -clean option", SWT.CHECK);
-		cleanStartup.setLayoutData(data);
-		cleanStartup.addSelectionListener(new SelectionAdapter() {
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                if (StartupEditorSection.this.updating) {
+                    return;
+                }
+                StartupEditorSection.this.updating = true;
+                execute(new ModifyTailLogFilesCommand(StartupEditorSection.this.serverWorkingCopy,
+                    StartupEditorSection.this.tailLogFiles.getSelection()));
+                StartupEditorSection.this.updating = false;
+            }
+        });
 
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				if (updating) {
-					return;
-				}
-				updating = true;
-				execute(new ModifyCleanStartupCommand(serverWorkingCopy, cleanStartup.getSelection()));
-				updating = false;
-			}
-		});
+        this.cleanStartup = toolkit.createButton(composite, "Start server with -clean option", SWT.CHECK);
+        this.cleanStartup.setLayoutData(data);
+        this.cleanStartup.addSelectionListener(new SelectionAdapter() {
 
-		data = new GridData(SWT.FILL, SWT.CENTER, true, false);
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                if (StartupEditorSection.this.updating) {
+                    return;
+                }
+                StartupEditorSection.this.updating = true;
+                execute(new ModifyCleanStartupCommand(StartupEditorSection.this.serverWorkingCopy,
+                    StartupEditorSection.this.cleanStartup.getSelection()));
+                StartupEditorSection.this.updating = false;
+            }
+        });
 
-		Label maxPermSizeLabel = toolkit.createLabel(composite, "-XX:MaxPermSize=");
-		maxPermSizeLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
-		maxPermSizeField = toolkit.createText(composite, "");
-		maxPermSizeField.setLayoutData(data);
-		maxPermSizeField.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				if (updating) {
-					return;
-				}
-				updating = true;
-				execute(new ModifyMaxPermSizeCommand(serverWorkingCopy, maxPermSizeField.getText()));
-				updating = false;
-			}
-		});
+        data = new GridData(SWT.FILL, SWT.CENTER, true, false);
 
-		toolkit.createLabel(composite, "");
+        Label maxPermSizeLabel = toolkit.createLabel(composite, "-XX:MaxPermSize=");
+        maxPermSizeLabel.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+        this.maxPermSizeField = toolkit.createText(composite, "");
+        this.maxPermSizeField.setLayoutData(data);
+        this.maxPermSizeField.addModifyListener(new ModifyListener() {
 
-		initialize();
-	}
+            public void modifyText(ModifyEvent e) {
+                if (StartupEditorSection.this.updating) {
+                    return;
+                }
+                StartupEditorSection.this.updating = true;
+                execute(
+                    new ModifyMaxPermSizeCommand(StartupEditorSection.this.serverWorkingCopy, StartupEditorSection.this.maxPermSizeField.getText()));
+                StartupEditorSection.this.updating = false;
+            }
+        });
 
-	/**
-	 * @see ServerEditorSection#dispose()
-	 */
-	@Override
-	public void dispose() {
-		if (server != null) {
-			server.removePropertyChangeListener(listener);
-		}
-	}
+        toolkit.createLabel(composite, "");
 
-	/**
-	 * @see ServerEditorSection#init(IEditorSite, IEditorInput)
-	 */
-	@Override
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		serverWorkingCopy = (IServerWorkingCopy) server.loadAdapter(IServerWorkingCopy.class, new NullProgressMonitor());
-		addConfigurationChangeListener();
-	}
+        initialize();
+    }
 
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		updating = true;
-		this.tailLogFiles.setSelection(serverWorkingCopy.shouldTailTraceFiles());
-		this.cleanStartup.setSelection(serverWorkingCopy.shouldCleanStartup());
-		this.maxPermSizeField.setText(serverWorkingCopy.getMaxPermSize());
-		updating = false;
-	}
+    /**
+     * @see ServerEditorSection#dispose()
+     */
+    @Override
+    public void dispose() {
+        if (this.server != null) {
+            this.server.removePropertyChangeListener(this.listener);
+        }
+    }
+
+    /**
+     * @see ServerEditorSection#init(IEditorSite, IEditorInput)
+     */
+    @Override
+    public void init(IEditorSite site, IEditorInput input) {
+        super.init(site, input);
+        this.serverWorkingCopy = (IServerWorkingCopy) this.server.loadAdapter(IServerWorkingCopy.class, new NullProgressMonitor());
+        addConfigurationChangeListener();
+    }
+
+    /**
+     * Initialize the fields in this editor.
+     */
+    protected void initialize() {
+        this.updating = true;
+        this.tailLogFiles.setSelection(this.serverWorkingCopy.shouldTailTraceFiles());
+        this.cleanStartup.setSelection(this.serverWorkingCopy.shouldCleanStartup());
+        this.maxPermSizeField.setText(this.serverWorkingCopy.getMaxPermSize());
+        this.updating = false;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/StaticResourcesEditorSection.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/StaticResourcesEditorSection.java
index dd45238..7bcfc04 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/StaticResourcesEditorSection.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/StaticResourcesEditorSection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.editor;
 
 import java.beans.PropertyChangeEvent;
@@ -18,7 +19,6 @@
 
 import org.apache.commons.lang.StringUtils;
 import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IInputValidator;
 import org.eclipse.jface.dialogs.InputDialog;
 import org.eclipse.jface.layout.GridDataFactory;
@@ -30,6 +30,7 @@
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.window.Window;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
@@ -55,300 +56,315 @@
 
 /**
  * {@link ServerEditorSection} section that allows to configure the JMX deployer credentials
- * 
+ *
  * @author Christian Dupuis
  * @author Steffen Pingel
  * @since 1.1.3
  */
 public class StaticResourcesEditorSection extends ServerEditorSection {
 
-	protected IServerWorkingCopy serverWorkingCopy;
+    protected IServerWorkingCopy serverWorkingCopy;
 
-	private Table filenameTable;
+    private Table filenameTable;
 
-	private TableViewer filenamesTableViewer;
+    private TableViewer filenamesTableViewer;
 
-	private Button addButton;
+    private Button addButton;
 
-	private Button deleteButton;
+    private Button deleteButton;
 
-	private Button upButton;
+    private Button upButton;
 
-	private Button downButton;
+    private Button downButton;
 
-	protected boolean updating;
+    protected boolean updating;
 
-	protected PropertyChangeListener listener;
+    protected PropertyChangeListener listener;
 
-	private StaticFilenamesContentProvider contentProvider;
+    private StaticFilenamesContentProvider contentProvider;
 
-	protected void addConfigurationChangeListener() {
-		listener = new PropertyChangeListener() {
-			public void propertyChange(PropertyChangeEvent event) {
-				if (IServerWorkingCopy.PROPERTY_STATIC_FILENAMES.equals(event.getPropertyName())) {
-					filenamesTableViewer.setInput(server);
-				}
-			}
-		};
-		serverWorkingCopy.addConfigurationChangeListener(listener);
-	}
+    protected void addConfigurationChangeListener() {
+        this.listener = new PropertyChangeListener() {
 
-	public void createSection(Composite parent) {
-		super.createSection(parent);
-		FormToolkit toolkit = getFormToolkit(parent.getDisplay());
+            public void propertyChange(PropertyChangeEvent event) {
+                if (org.eclipse.virgo.ide.runtime.core.IServer.PROPERTY_STATIC_FILENAMES.equals(event.getPropertyName())) {
+                    StaticResourcesEditorSection.this.filenamesTableViewer.setInput(StaticResourcesEditorSection.this.server);
+                }
+            }
+        };
+        this.serverWorkingCopy.addConfigurationChangeListener(this.listener);
+    }
 
-		Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED
-				| ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
-		section.setText("Redeploy Behavior");
-		section.setDescription("Configure server redeploy and refresh behavior on changes to project resources.\n\nDefine patterns for files that should be copied into the server without redeploying the bundle or application. Spring XML configuration files be handled separately.");
-		section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
+    @Override
+    public void createSection(Composite parent) {
+        super.createSection(parent);
+        FormToolkit toolkit = getFormToolkit(parent.getDisplay());
 
-		Composite composite = toolkit.createComposite(section);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 5;
-		layout.marginWidth = 1;
-		layout.verticalSpacing = 5;
-		layout.horizontalSpacing = 10;
-		composite.setLayout(layout);
-		composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
-		toolkit.paintBordersFor(composite);
-		section.setClient(composite);
+        Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR
+            | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
+        section.setText("Redeploy Behavior");
+        section.setDescription(
+            "Configure server redeploy and refresh behavior on changes to project resources.\n\nDefine patterns for files that should be copied into the server without redeploying the bundle or application. Spring XML configuration files be handled separately.");
+        section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
 
-		filenameTable = toolkit.createTable(composite, SWT.SINGLE | SWT.V_SCROLL | SWT.FULL_SELECTION);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-		data.heightHint = 130;
-		filenameTable.setLayoutData(data);
-		filenamesTableViewer = new TableViewer(filenameTable);
-		contentProvider = new StaticFilenamesContentProvider();
-		filenamesTableViewer.setContentProvider(contentProvider);
-		filenamesTableViewer.setLabelProvider(new FilenameLabelProvider());
+        Composite composite = toolkit.createComposite(section);
+        GridLayout layout = new GridLayout();
+        layout.numColumns = 2;
+        layout.marginHeight = 5;
+        layout.marginWidth = 1;
+        layout.verticalSpacing = 5;
+        layout.horizontalSpacing = 10;
+        composite.setLayout(layout);
+        composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
+        toolkit.paintBordersFor(composite);
+        section.setClient(composite);
 
-		filenamesTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement();
-				deleteButton.setEnabled(obj != null);
-				updateButtons(obj);
-			}
-		});
+        this.filenameTable = toolkit.createTable(composite, SWT.SINGLE | SWT.V_SCROLL | SWT.FULL_SELECTION);
+        GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
+        data.heightHint = 130;
+        this.filenameTable.setLayoutData(data);
+        this.filenamesTableViewer = new TableViewer(this.filenameTable);
+        this.contentProvider = new StaticFilenamesContentProvider();
+        this.filenamesTableViewer.setContentProvider(this.contentProvider);
+        this.filenamesTableViewer.setLabelProvider(new FilenameLabelProvider());
 
-		Composite buttonComposite = new Composite(composite, SWT.NONE);
-		GridLayout buttonLayout = new GridLayout(1, true);
-		buttonLayout.marginWidth = 0;
-		buttonLayout.marginHeight = 0;
-		buttonComposite.setLayout(buttonLayout);
-		GridDataFactory.fillDefaults().applyTo(buttonComposite);
+        this.filenamesTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
 
-		addButton = toolkit.createButton(buttonComposite, "Add", SWT.PUSH);
-		GridDataFactory.fillDefaults().applyTo(addButton);
-		addButton.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				if (updating) {
-					return;
-				}
+            public void selectionChanged(SelectionChangedEvent event) {
+                Object obj = ((IStructuredSelection) event.getSelection()).getFirstElement();
+                StaticResourcesEditorSection.this.deleteButton.setEnabled(obj != null);
+                updateButtons(obj);
+            }
+        });
 
-				InputDialog dialog = new InputDialog(
-						getShell(),
-						"New filename pattern",
-						"Enter a new filename pattern for static resources (wildcards such as '*' and '?' are supported):",
-						"", new IInputValidator() {
+        Composite buttonComposite = new Composite(composite, SWT.NONE);
+        GridLayout buttonLayout = new GridLayout(1, true);
+        buttonLayout.marginWidth = 0;
+        buttonLayout.marginHeight = 0;
+        buttonComposite.setLayout(buttonLayout);
+        GridDataFactory.fillDefaults().applyTo(buttonComposite);
 
-							public String isValid(String newText) {
-								if (!StringUtils.isNotBlank(newText)) {
-									return "Pattern can't be empty";
-								}
-								return null;
-							}
-						});
-				if (dialog.open() == Dialog.OK) {
-					updating = true;
-					List<Object> filenames = new ArrayList<Object>(Arrays.asList(contentProvider.getElements(server)));
-					filenames.add(dialog.getValue());
-					execute(new ModifyStaticResourcesCommand(serverWorkingCopy, StringUtils.join(filenames, ",")));
-					filenamesTableViewer.setInput(server);
-					filenamesTableViewer.setSelection(new StructuredSelection(dialog.getValue()));
-					// update buttons
-					updating = false;
-				}
-			}
-		});
+        this.addButton = toolkit.createButton(buttonComposite, "Add", SWT.PUSH);
+        GridDataFactory.fillDefaults().applyTo(this.addButton);
+        this.addButton.addSelectionListener(new SelectionAdapter() {
 
-		deleteButton = toolkit.createButton(buttonComposite, "Delete", SWT.PUSH);
-		GridDataFactory.fillDefaults().applyTo(deleteButton);
-		deleteButton.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				Object selectedArtefact = ((IStructuredSelection) filenamesTableViewer.getSelection()).getFirstElement();
-				if (updating) {
-					return;
-				}
-				updating = true;
-				List<Object> filenames = new ArrayList<Object>(Arrays.asList(contentProvider.getElements(server)));
-				filenames.remove(selectedArtefact);
-				execute(new ModifyStaticResourcesCommand(serverWorkingCopy, StringUtils.join(filenames, ",")));
-				filenamesTableViewer.setInput(server);
-				// update buttons
-				updating = false;
-			}
-		});
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                if (StaticResourcesEditorSection.this.updating) {
+                    return;
+                }
 
-		upButton = toolkit.createButton(buttonComposite, "Up", SWT.PUSH);
-		GridDataFactory.fillDefaults().applyTo(upButton);
-		upButton.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				Object selectedArtefact = ((IStructuredSelection) filenamesTableViewer.getSelection()).getFirstElement();
-				List<Object> modules = new ArrayList<Object>();
-				modules.addAll(Arrays.asList(contentProvider.getElements(server)));
-				int index = modules.indexOf(selectedArtefact);
-				modules.remove(selectedArtefact);
-				modules.add(index - 1, selectedArtefact);
-				if (updating) {
-					return;
-				}
-				updating = true;
-				execute(new ModifyStaticResourcesCommand(serverWorkingCopy, StringUtils.join(modules, ",")));
-				filenamesTableViewer.setInput(server);
-				updateButtons(selectedArtefact);
-				updating = false;
-			}
-		});
+                InputDialog dialog = new InputDialog(getShell(), "New filename pattern",
+                    "Enter a new filename pattern for static resources (wildcards such as '*' and '?' are supported):", "", new IInputValidator() {
 
-		downButton = toolkit.createButton(buttonComposite, "Down", SWT.PUSH);
-		GridDataFactory.fillDefaults().applyTo(downButton);
-		downButton.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				Object selectedArtefact = ((IStructuredSelection) filenamesTableViewer.getSelection()).getFirstElement();
-				List<Object> modules = new ArrayList<Object>();
-				modules.addAll(Arrays.asList(contentProvider.getElements(server)));
-				int index = modules.indexOf(selectedArtefact);
-				modules.remove(selectedArtefact);
-				modules.add(index + 1, selectedArtefact);
-				if (updating) {
-					return;
-				}
-				updating = true;
-				execute(new ModifyStaticResourcesCommand(serverWorkingCopy, StringUtils.join(modules, ",")));
-				filenamesTableViewer.setInput(server);
-				updateButtons(selectedArtefact);
-				updating = false;
-			}
-		});
+                    public String isValid(String newText) {
+                        if (!StringUtils.isNotBlank(newText)) {
+                            return "Pattern can't be empty";
+                        }
+                        return null;
+                    }
+                });
+                if (dialog.open() == Window.OK) {
+                    StaticResourcesEditorSection.this.updating = true;
+                    List<Object> filenames = new ArrayList<Object>(
+                        Arrays.asList(StaticResourcesEditorSection.this.contentProvider.getElements(StaticResourcesEditorSection.this.server)));
+                    filenames.add(dialog.getValue());
+                    execute(new ModifyStaticResourcesCommand(StaticResourcesEditorSection.this.serverWorkingCopy, StringUtils.join(filenames, ",")));
+                    StaticResourcesEditorSection.this.filenamesTableViewer.setInput(StaticResourcesEditorSection.this.server);
+                    StaticResourcesEditorSection.this.filenamesTableViewer.setSelection(new StructuredSelection(dialog.getValue()));
+                    // update buttons
+                    StaticResourcesEditorSection.this.updating = false;
+                }
+            }
+        });
 
-		FormText restoreDefault = toolkit.createFormText(composite, true);
-		restoreDefault.setText("<form><p><a href=\"exportbundle\">Restore default</a> filename pattern</p></form>",
-				true, false);
-		restoreDefault.addHyperlinkListener(new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				updating = true;
-				execute(new ModifyStaticResourcesCommand(serverWorkingCopy, IServerWorkingCopy.DEFAULT_STATIC_FILENAMES));
-				filenamesTableViewer.setInput(server);
-				updating = false;
-			}
-		});
-		updateEnablement();
-		initialize();
-	}
+        this.deleteButton = toolkit.createButton(buttonComposite, "Delete", SWT.PUSH);
+        GridDataFactory.fillDefaults().applyTo(this.deleteButton);
+        this.deleteButton.addSelectionListener(new SelectionAdapter() {
 
-	private void updateButtons() {
-		IStructuredSelection selection = (IStructuredSelection) filenamesTableViewer.getSelection();
-		Object selectedArtefact = selection.getFirstElement();
-		updateButtons(selectedArtefact);
-	}
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                Object selectedArtefact = ((IStructuredSelection) StaticResourcesEditorSection.this.filenamesTableViewer.getSelection()).getFirstElement();
+                if (StaticResourcesEditorSection.this.updating) {
+                    return;
+                }
+                StaticResourcesEditorSection.this.updating = true;
+                List<Object> filenames = new ArrayList<Object>(
+                    Arrays.asList(StaticResourcesEditorSection.this.contentProvider.getElements(StaticResourcesEditorSection.this.server)));
+                filenames.remove(selectedArtefact);
+                execute(new ModifyStaticResourcesCommand(StaticResourcesEditorSection.this.serverWorkingCopy, StringUtils.join(filenames, ",")));
+                StaticResourcesEditorSection.this.filenamesTableViewer.setInput(StaticResourcesEditorSection.this.server);
+                // update buttons
+                StaticResourcesEditorSection.this.updating = false;
+            }
+        });
 
-	private void updateButtons(Object obj) {
-		if (obj instanceof String) {
-			List<Object> modules = Arrays.asList(contentProvider.getElements(server));
-			int index = modules.indexOf(obj);
-			upButton.setEnabled(index > 0);
-			downButton.setEnabled(index < modules.size() - 1);
-			deleteButton.setEnabled(true);
-		} else {
-			upButton.setEnabled(false);
-			downButton.setEnabled(false);
-			deleteButton.setEnabled(false);
-		}
-	}
+        this.upButton = toolkit.createButton(buttonComposite, "Up", SWT.PUSH);
+        GridDataFactory.fillDefaults().applyTo(this.upButton);
+        this.upButton.addSelectionListener(new SelectionAdapter() {
 
-	private void updateEnablement() {
-		addButton.setEnabled(true);
-		updateButtons();
-	}
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                Object selectedArtefact = ((IStructuredSelection) StaticResourcesEditorSection.this.filenamesTableViewer.getSelection()).getFirstElement();
+                List<Object> modules = new ArrayList<Object>();
+                modules.addAll(
+                    Arrays.asList(StaticResourcesEditorSection.this.contentProvider.getElements(StaticResourcesEditorSection.this.server)));
+                int index = modules.indexOf(selectedArtefact);
+                modules.remove(selectedArtefact);
+                modules.add(index - 1, selectedArtefact);
+                if (StaticResourcesEditorSection.this.updating) {
+                    return;
+                }
+                StaticResourcesEditorSection.this.updating = true;
+                execute(new ModifyStaticResourcesCommand(StaticResourcesEditorSection.this.serverWorkingCopy, StringUtils.join(modules, ",")));
+                StaticResourcesEditorSection.this.filenamesTableViewer.setInput(StaticResourcesEditorSection.this.server);
+                updateButtons(selectedArtefact);
+                StaticResourcesEditorSection.this.updating = false;
+            }
+        });
 
-	/**
-	 * @see ServerEditorSection#dispose()
-	 */
-	public void dispose() {
-		if (server != null) {
-			server.removePropertyChangeListener(listener);
-		}
-	}
+        this.downButton = toolkit.createButton(buttonComposite, "Down", SWT.PUSH);
+        GridDataFactory.fillDefaults().applyTo(this.downButton);
+        this.downButton.addSelectionListener(new SelectionAdapter() {
 
-	/**
-	 * @see ServerEditorSection#init(IEditorSite, IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input) {
-		super.init(site, input);
-		serverWorkingCopy = (IServerWorkingCopy) server.loadAdapter(IServerWorkingCopy.class, new NullProgressMonitor());
-		addConfigurationChangeListener();
-	}
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                Object selectedArtefact = ((IStructuredSelection) StaticResourcesEditorSection.this.filenamesTableViewer.getSelection()).getFirstElement();
+                List<Object> modules = new ArrayList<Object>();
+                modules.addAll(
+                    Arrays.asList(StaticResourcesEditorSection.this.contentProvider.getElements(StaticResourcesEditorSection.this.server)));
+                int index = modules.indexOf(selectedArtefact);
+                modules.remove(selectedArtefact);
+                modules.add(index + 1, selectedArtefact);
+                if (StaticResourcesEditorSection.this.updating) {
+                    return;
+                }
+                StaticResourcesEditorSection.this.updating = true;
+                execute(new ModifyStaticResourcesCommand(StaticResourcesEditorSection.this.serverWorkingCopy, StringUtils.join(modules, ",")));
+                StaticResourcesEditorSection.this.filenamesTableViewer.setInput(StaticResourcesEditorSection.this.server);
+                updateButtons(selectedArtefact);
+                StaticResourcesEditorSection.this.updating = false;
+            }
+        });
 
-	/**
-	 * Initialize the fields in this editor.
-	 */
-	protected void initialize() {
-		updating = true;
-		filenamesTableViewer.setInput(server);
-		deleteButton.setEnabled(false);
-		updating = false;
-	}
+        FormText restoreDefault = toolkit.createFormText(composite, true);
+        restoreDefault.setText("<form><p><a href=\"exportbundle\">Restore default</a> filename pattern</p></form>", true, false);
+        restoreDefault.addHyperlinkListener(new HyperlinkAdapter() {
 
-	class StaticFilenamesContentProvider implements ITreeContentProvider {
+            @Override
+            public void linkActivated(HyperlinkEvent e) {
+                StaticResourcesEditorSection.this.updating = true;
+                execute(new ModifyStaticResourcesCommand(StaticResourcesEditorSection.this.serverWorkingCopy,
+                    IServerWorkingCopy.DEFAULT_STATIC_FILENAMES));
+                StaticResourcesEditorSection.this.filenamesTableViewer.setInput(StaticResourcesEditorSection.this.server);
+                StaticResourcesEditorSection.this.updating = false;
+            }
+        });
+        updateEnablement();
+        initialize();
+    }
 
-		public void dispose() {
-		}
+    private void updateButtons() {
+        IStructuredSelection selection = (IStructuredSelection) this.filenamesTableViewer.getSelection();
+        Object selectedArtefact = selection.getFirstElement();
+        updateButtons(selectedArtefact);
+    }
 
-		public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+    private void updateButtons(Object obj) {
+        if (obj instanceof String) {
+            List<Object> modules = Arrays.asList(this.contentProvider.getElements(this.server));
+            int index = modules.indexOf(obj);
+            this.upButton.setEnabled(index > 0);
+            this.downButton.setEnabled(index < modules.size() - 1);
+            this.deleteButton.setEnabled(true);
+        } else {
+            this.upButton.setEnabled(false);
+            this.downButton.setEnabled(false);
+            this.deleteButton.setEnabled(false);
+        }
+    }
 
-		}
+    private void updateEnablement() {
+        this.addButton.setEnabled(true);
+        updateButtons();
+    }
 
-		public Object[] getElements(Object inputElement) {
-			if (inputElement instanceof IServer) {
-				IServer server = (IServer) inputElement;
-				IServerWorkingCopy dmServer = (IServerWorkingCopy) server.loadAdapter(IServerWorkingCopy.class, null);
-				String[] filenames = StringUtils.split(dmServer.getStaticFilenamePatterns(), ",");
-				return filenames;
+    /**
+     * @see ServerEditorSection#dispose()
+     */
+    @Override
+    public void dispose() {
+        if (this.server != null) {
+            this.server.removePropertyChangeListener(this.listener);
+        }
+    }
 
-			}
-			return new Object[0];
-		}
+    /**
+     * @see ServerEditorSection#init(IEditorSite, IEditorInput)
+     */
+    @Override
+    public void init(IEditorSite site, IEditorInput input) {
+        super.init(site, input);
+        this.serverWorkingCopy = (IServerWorkingCopy) this.server.loadAdapter(IServerWorkingCopy.class, new NullProgressMonitor());
+        addConfigurationChangeListener();
+    }
 
-		public Object[] getChildren(Object parentElement) {
-			return getElements(parentElement);
-		}
+    /**
+     * Initialize the fields in this editor.
+     */
+    protected void initialize() {
+        this.updating = true;
+        this.filenamesTableViewer.setInput(this.server);
+        this.deleteButton.setEnabled(false);
+        this.updating = false;
+    }
 
-		public Object getParent(Object element) {
-			return null;
-		}
+    class StaticFilenamesContentProvider implements ITreeContentProvider {
 
-		public boolean hasChildren(Object element) {
-			return getChildren(element).length > 0;
-		}
+        public void dispose() {
+        }
 
-	}
+        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
 
-	class FilenameLabelProvider extends LabelProvider {
+        }
 
-		public Image getImage(Object element) {
-			return ServerUiImages.getImage(ServerUiImages.IMG_OBJ_FILE);
-		}
+        public Object[] getElements(Object inputElement) {
+            if (inputElement instanceof IServer) {
+                IServer server = (IServer) inputElement;
+                IServerWorkingCopy dmServer = (IServerWorkingCopy) server.loadAdapter(IServerWorkingCopy.class, null);
+                String[] filenames = StringUtils.split(dmServer.getStaticFilenamePatterns(), ",");
+                return filenames;
 
-		public String getText(Object element) {
-			return element.toString();
-		}
+            }
+            return new Object[0];
+        }
 
-	}
+        public Object[] getChildren(Object parentElement) {
+            return getElements(parentElement);
+        }
+
+        public Object getParent(Object element) {
+            return null;
+        }
+
+        public boolean hasChildren(Object element) {
+            return getChildren(element).length > 0;
+        }
+
+    }
+
+    class FilenameLabelProvider extends LabelProvider {
+
+        @Override
+        public Image getImage(Object element) {
+            return ServerUiImages.getImage(ServerUiImages.IMG_OBJ_FILE);
+        }
+
+        @Override
+        public String getText(Object element) {
+            return element.toString();
+        }
+
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/VirgoEditorAdapterFactory.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/VirgoEditorAdapterFactory.java
index 4683f6a..a319dd5 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/VirgoEditorAdapterFactory.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/VirgoEditorAdapterFactory.java
@@ -6,6 +6,7 @@
  * </copyright>
  *
  */
+
 package org.eclipse.virgo.ide.runtime.internal.ui.editor;
 
 import java.lang.reflect.InvocationTargetException;
@@ -26,60 +27,60 @@
  */
 public class VirgoEditorAdapterFactory implements IAdapterFactory {
 
-	/**
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
-	 */
-	public Object getAdapter(Object adaptableObject, Class adapterType) {
-		if (adapterType == IContentOutlinePage.class && adaptableObject instanceof ServerEditor) {
-			if (getVirgoServer((IEditorPart) adaptableObject) != null) {
-				return new ServerOutlinePage((ServerEditor) adaptableObject);
-			}
-		}
-		return null;
-	}
+    /**
+     * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
+     */
+    public Object getAdapter(Object adaptableObject, Class adapterType) {
+        if (adapterType == IContentOutlinePage.class && adaptableObject instanceof ServerEditor) {
+            if (getVirgoServer((IEditorPart) adaptableObject) != null) {
+                return new ServerOutlinePage((ServerEditor) adaptableObject);
+            }
+        }
+        return null;
+    }
 
-	public static IServer getVirgoServer(IEditorPart part) {
-		IServer server = getServer(part);
-		if (ServerProject.isVirgo(server)) {
-			return server;
-		}
-		return null;
-	}
+    public static IServer getVirgoServer(IEditorPart part) {
+        IServer server = getServer(part);
+        if (ServerProject.isVirgo(server)) {
+            return server;
+        }
+        return null;
+    }
 
-	public static IServer getServer(IEditorPart part) {
-		if (part instanceof ServerEditor) {
-			Method method;
-			try {
-				method = MultiPageEditorPart.class.getDeclaredMethod("getActiveEditor", new Class[] {});
-				method.setAccessible(true);
-				Object result = method.invoke(part, new Object[] {});
-				if (result instanceof ServerEditorPart) {
-					IServerWorkingCopy serverEditor = ((ServerEditorPart) result).getServer();
-					if (serverEditor != null) {
-						IServer server = serverEditor.getOriginal();
-						return server;
-					}
-				}
-			} catch (SecurityException e) {
-				throw new RuntimeException(e);
-			} catch (NoSuchMethodException e) {
-				throw new RuntimeException(e);
-			} catch (IllegalArgumentException e) {
-				throw new RuntimeException(e);
-			} catch (IllegalAccessException e) {
-				throw new RuntimeException(e);
-			} catch (InvocationTargetException e) {
-				throw new RuntimeException(e);
-			}
-		}
-		return null;
-	}
+    public static IServer getServer(IEditorPart part) {
+        if (part instanceof ServerEditor) {
+            Method method;
+            try {
+                method = MultiPageEditorPart.class.getDeclaredMethod("getActiveEditor", new Class[] {});
+                method.setAccessible(true);
+                Object result = method.invoke(part, new Object[] {});
+                if (result instanceof ServerEditorPart) {
+                    IServerWorkingCopy serverEditor = ((ServerEditorPart) result).getServer();
+                    if (serverEditor != null) {
+                        IServer server = serverEditor.getOriginal();
+                        return server;
+                    }
+                }
+            } catch (SecurityException e) {
+                throw new RuntimeException(e);
+            } catch (NoSuchMethodException e) {
+                throw new RuntimeException(e);
+            } catch (IllegalArgumentException e) {
+                throw new RuntimeException(e);
+            } catch (IllegalAccessException e) {
+                throw new RuntimeException(e);
+            } catch (InvocationTargetException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
-	 */
-	public Class[] getAdapterList() {
-		return new Class[] { IContentOutlinePage.class };
-	}
+    /**
+     * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
+     */
+    public Class[] getAdapterList() {
+        return new Class[] { IContentOutlinePage.class };
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/VirgoRepositoryBrowserEditorPage.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/VirgoRepositoryBrowserEditorPage.java
index 3a1cd78..ad17388 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/VirgoRepositoryBrowserEditorPage.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/VirgoRepositoryBrowserEditorPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.editor;
 
 import org.eclipse.swt.graphics.Image;
@@ -16,21 +17,21 @@
 
 /**
  * {@link ServerEditorPart} that allows to browse the local and remote bundle repository.
- * 
+ *
  * @author Terry Hon
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class VirgoRepositoryBrowserEditorPage extends RepositoryBrowserEditorPage {
 
-	@Override
-	protected Image getFormImage() {
-		return ServerUiImages.getImage(ServerUiImages.IMG_OBJ_VIRGO);
-	}
+    @Override
+    protected Image getFormImage() {
+        return ServerUiImages.getImage(ServerUiImages.IMG_OBJ_VIRGO);
+    }
 
-	@Override
-	protected String getServerName() {
-		return Messages.VirgoServerName;
-	}
+    @Override
+    protected String getServerName() {
+        return Messages.VirgoServerName;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/WebUiUtils.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/WebUiUtils.java
index 54163df..35c55cc 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/WebUiUtils.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/WebUiUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.editor;
 
 import java.net.MalformedURLException;
@@ -30,43 +31,40 @@
 @SuppressWarnings("restriction")
 public class WebUiUtils {
 
-	public static void openUrl(String location) {
-		openUrl(location, 0);
-	}
+    public static void openUrl(String location) {
+        openUrl(location, 0);
+    }
 
-	private static void openUrl(String location, int customFlags) {
-		try {
-			URL url = null;
+    private static void openUrl(String location, int customFlags) {
+        try {
+            URL url = null;
 
-			if (location != null) {
-				url = new URL(location);
-			}
-			if (WebBrowserPreference.getBrowserChoice() == WebBrowserPreference.EXTERNAL) {
-				try {
-					IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport();
-					support.getExternalBrowser().openURL(url);
-				} catch (Exception e) {
-				}
-			} else {
-				IWebBrowser browser = null;
-				int flags = customFlags;
-				if (WorkbenchBrowserSupport.getInstance().isInternalWebBrowserAvailable()) {
-					flags |= IWorkbenchBrowserSupport.AS_EDITOR | IWorkbenchBrowserSupport.LOCATION_BAR
-							| IWorkbenchBrowserSupport.NAVIGATION_BAR;
-				} else {
-					flags |= IWorkbenchBrowserSupport.AS_EXTERNAL | IWorkbenchBrowserSupport.LOCATION_BAR
-							| IWorkbenchBrowserSupport.NAVIGATION_BAR;
-				}
+            if (location != null) {
+                url = new URL(location);
+            }
+            if (WebBrowserPreference.getBrowserChoice() == WebBrowserPreference.EXTERNAL) {
+                try {
+                    IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport();
+                    support.getExternalBrowser().openURL(url);
+                } catch (Exception e) {
+                }
+            } else {
+                IWebBrowser browser = null;
+                int flags = customFlags;
+                if (WorkbenchBrowserSupport.getInstance().isInternalWebBrowserAvailable()) {
+                    flags |= IWorkbenchBrowserSupport.AS_EDITOR | IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR;
+                } else {
+                    flags |= IWorkbenchBrowserSupport.AS_EXTERNAL | IWorkbenchBrowserSupport.LOCATION_BAR | IWorkbenchBrowserSupport.NAVIGATION_BAR;
+                }
 
-				String generatedId = "org.eclipse.mylyn.web.browser-" + Calendar.getInstance().getTimeInMillis();
-				browser = WorkbenchBrowserSupport.getInstance().createBrowser(flags, generatedId, null, null);
-				browser.openURL(url);
-			}
-		} catch (PartInitException e) {
-			MessageDialog.openError(Display.getDefault().getActiveShell(), "Browser init error",
-					"Browser could not be initiated");
-		} catch (MalformedURLException e) {
-		}
-	}
+                String generatedId = "org.eclipse.mylyn.web.browser-" + Calendar.getInstance().getTimeInMillis();
+                browser = WorkbenchBrowserSupport.getInstance().createBrowser(flags, generatedId, null, null);
+                browser.openURL(url);
+            }
+        } catch (PartInitException e) {
+            MessageDialog.openError(Display.getDefault().getActiveShell(), "Browser init error", "Browser could not be initiated");
+        } catch (MalformedURLException e) {
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/BundleArtefactFilter.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/BundleArtefactFilter.java
index 7c57dd7..4d5981b 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/BundleArtefactFilter.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/BundleArtefactFilter.java
@@ -17,18 +17,18 @@
 import org.eclipse.virgo.ide.runtime.internal.ui.projects.ProjectBundleRoot;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public class BundleArtefactFilter extends ViewerFilter {
 
-	/**
-	 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object,
-	 *      java.lang.Object)
-	 */
-	@Override
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		return (!(element instanceof ProjectBundleContainer) && !(element instanceof ProjectBundleRoot));
-	}
+    /**
+     * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object,
+     *      java.lang.Object)
+     */
+    @Override
+    public boolean select(Viewer viewer, Object parentElement, Object element) {
+        return !(element instanceof ProjectBundleContainer) && !(element instanceof ProjectBundleRoot);
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/FilterAction.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/FilterAction.java
index dc88274..e7307c6 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/FilterAction.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/FilterAction.java
@@ -23,74 +23,70 @@
 import org.eclipse.virgo.ide.runtime.ui.views.ArtefactCommonView;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public class FilterAction extends Action {
 
-	ArtefactCommonView navigator;
+    ArtefactCommonView navigator;
 
-	String id;
+    String id;
 
-	/*
-	 * @see Action#actionPerformed
-	 */
-	@Override
-	public void run() {
-		INavigatorFilterService activationService = navigator.getNavigatorContentService().getFilterService();
-		ICommonFilterDescriptor[] visibleFilterDescriptors = activationService.getVisibleFilterDescriptors();
-		Collection<String> activeIDs = new HashSet<String>();
-		for (ICommonFilterDescriptor filterDescriptor : visibleFilterDescriptors) {
-			String filterID = filterDescriptor.getId();
-			boolean active = activationService.isActive(filterID);
-			if (active) {
-				activeIDs.add(filterID);
-			}
-		}
-		if (isChecked()) {
-			activeIDs.remove(id);
-		} else {
-			activeIDs.add(id);
-		}
-		String[] ids = activeIDs.toArray(new String[activeIDs.size()]);
-		activationService.activateFilterIdsAndUpdateViewer(ids);
-	}
+    /*
+     * @see Action#actionPerformed
+     */
+    @Override
+    public void run() {
+        INavigatorFilterService activationService = this.navigator.getNavigatorContentService().getFilterService();
+        ICommonFilterDescriptor[] visibleFilterDescriptors = activationService.getVisibleFilterDescriptors();
+        Collection<String> activeIDs = new HashSet<String>();
+        for (ICommonFilterDescriptor filterDescriptor : visibleFilterDescriptors) {
+            String filterID = filterDescriptor.getId();
+            boolean active = activationService.isActive(filterID);
+            if (active) {
+                activeIDs.add(filterID);
+            }
+        }
+        if (isChecked()) {
+            activeIDs.remove(this.id);
+        } else {
+            activeIDs.add(this.id);
+        }
+        String[] ids = activeIDs.toArray(new String[activeIDs.size()]);
+        activationService.activateFilterIdsAndUpdateViewer(ids);
+    }
 
-	private FilterAction(ArtefactCommonView viewer, String id, ImageDescriptor image) {
-		super("", AS_CHECK_BOX); //$NON-NLS-1$
-		this.navigator = viewer;
-		this.id = id;
-		ICommonFilterDescriptor[] descriptors = viewer.getNavigatorContentService()
-				.getFilterService()
-				.getVisibleFilterDescriptors();
-		for (ICommonFilterDescriptor descriptor : descriptors) {
-			if (descriptor.getId().equals(id)) {
-				setText("Show " + descriptor.getName());
-				setDescription("Show " + descriptor.getDescription());
-				setToolTipText("Show " + descriptor.getName() + " in the list of artifacts.");
-				break;
-			}
-		}
-		setImageDescriptor(image);
-		setDisabledImageDescriptor(image);
+    private FilterAction(ArtefactCommonView viewer, String id, ImageDescriptor image) {
+        super("", AS_CHECK_BOX); //$NON-NLS-1$
+        this.navigator = viewer;
+        this.id = id;
+        ICommonFilterDescriptor[] descriptors = viewer.getNavigatorContentService().getFilterService().getVisibleFilterDescriptors();
+        for (ICommonFilterDescriptor descriptor : descriptors) {
+            if (descriptor.getId().equals(id)) {
+                setText("Show " + descriptor.getName());
+                setDescription("Show " + descriptor.getDescription());
+                setToolTipText("Show " + descriptor.getName() + " in the list of artifacts.");
+                break;
+            }
+        }
+        setImageDescriptor(image);
+        setDisabledImageDescriptor(image);
 
-		INavigatorFilterService activationService = navigator.getNavigatorContentService().getFilterService();
-		boolean active = activationService.isActive(id);
-		setChecked(!active);
-	}
+        INavigatorFilterService activationService = this.navigator.getNavigatorContentService().getFilterService();
+        boolean active = activationService.isActive(id);
+        setChecked(!active);
+    }
 
-	public static FilterAction[] createSet(ArtefactCommonView viewer) {
-		return new FilterAction[] { createBundleFilter(viewer), createLibraryFilter(viewer) };
-	}
+    public static FilterAction[] createSet(ArtefactCommonView viewer) {
+        return new FilterAction[] { createBundleFilter(viewer), createLibraryFilter(viewer) };
+    }
 
-	public static FilterAction createBundleFilter(ArtefactCommonView viewer) {
-		return new FilterAction(viewer, "org.eclipse.virgo.ide.runtime.ui.filterBundles",
-				JavaPluginImages.DESC_OBJS_EXTJAR);
-	}
+    public static FilterAction createBundleFilter(ArtefactCommonView viewer) {
+        return new FilterAction(viewer, "org.eclipse.virgo.ide.runtime.ui.filterBundles", JavaPluginImages.DESC_OBJS_EXTJAR);
+    }
 
-	public static FilterAction createLibraryFilter(ArtefactCommonView viewer) {
-		return new FilterAction(viewer, "org.eclipse.virgo.ide.runtime.ui.filterLibraries",
-				ServerUiImages.DESC_OBJ_VIRGO_LIB);
-	}
+    public static FilterAction createLibraryFilter(ArtefactCommonView viewer) {
+        return new FilterAction(viewer, "org.eclipse.virgo.ide.runtime.ui.filterLibraries", ServerUiImages.DESC_OBJ_VIRGO_LIB);
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/LibraryArtefactFilter.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/LibraryArtefactFilter.java
index 4449d32..0b9cfe3 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/LibraryArtefactFilter.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/LibraryArtefactFilter.java
@@ -19,23 +19,22 @@
 import org.eclipse.virgo.ide.runtime.internal.ui.projects.ProjectFileReference;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public class LibraryArtefactFilter extends ViewerFilter {
 
-	private static final String VIRGO_LIB_EXT = "libd";
+    private static final String VIRGO_LIB_EXT = "libd";
 
-	/**
-	 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object,
-	 *      java.lang.Object)
-	 */
-	@Override
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		return (!(element instanceof ProjectFileContainer) && !(element instanceof ProjectFileReference)
-				&& !(element instanceof LocalLibraryArtefact) && !(element instanceof IFile && ((IFile) element).getFileExtension()
-				.equals(VIRGO_LIB_EXT)));
-	}
+    /**
+     * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object,
+     *      java.lang.Object)
+     */
+    @Override
+    public boolean select(Viewer viewer, Object parentElement, Object element) {
+        return !(element instanceof ProjectFileContainer) && !(element instanceof ProjectFileReference) && !(element instanceof LocalLibraryArtefact)
+            && !(element instanceof IFile && ((IFile) element).getFileExtension().equals(VIRGO_LIB_EXT));
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/VirgoServerFilter.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/VirgoServerFilter.java
index 86dd52a..d881e28 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/VirgoServerFilter.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/filters/VirgoServerFilter.java
@@ -18,19 +18,18 @@
 import org.eclipse.virgo.ide.runtime.internal.ui.projects.ServerProject;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public class VirgoServerFilter extends ViewerFilter {
 
-	/**
-	 * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object,
-	 *      java.lang.Object)
-	 */
-	@Override
-	public boolean select(Viewer viewer, Object parentElement, Object element) {
-		return (element instanceof IProject)
-				&& !FacetUtils.hasNature((IProject) element, ServerProject.SERVER_PROJECT_ID);
-	}
+    /**
+     * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object,
+     *      java.lang.Object)
+     */
+    @Override
+    public boolean select(Viewer viewer, Object parentElement, Object element) {
+        return element instanceof IProject && !FacetUtils.hasNature((IProject) element, ServerProject.SERVER_PROJECT_ID);
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/properties/RuntimePreferencePage.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/properties/RuntimePreferencePage.java
index a0acfd6..0631dad 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/properties/RuntimePreferencePage.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/properties/RuntimePreferencePage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.properties;
 
 import org.eclipse.jface.preference.BooleanFieldEditor;
@@ -24,66 +25,68 @@
 
 /**
  * {@link PropertyPage} to configure loading of class and resource names from the repository index
- * 
+ *
  * @author Christian Dupuis
  * @since 2.3.0
  */
 public class RuntimePreferencePage extends PropertyPage implements IWorkbenchPreferencePage {
 
-	private BooleanFieldEditor booleanEditor;
+    private BooleanFieldEditor booleanEditor;
 
-	protected Control createContents(Composite parent) {
+    @Override
+    protected Control createContents(Composite parent) {
 
-		Composite entryTable = new Composite(parent, SWT.NULL);
+        Composite entryTable = new Composite(parent, SWT.NULL);
 
-		// Create a data that takes up the extra space in the dialog .
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.grabExcessHorizontalSpace = true;
-		entryTable.setLayoutData(data);
+        // Create a data that takes up the extra space in the dialog .
+        GridData data = new GridData(GridData.FILL_HORIZONTAL);
+        data.grabExcessHorizontalSpace = true;
+        entryTable.setLayoutData(data);
 
-		GridLayout layout = new GridLayout();
-		entryTable.setLayout(layout);
+        GridLayout layout = new GridLayout();
+        entryTable.setLayout(layout);
 
-		Label label = new Label(entryTable, SWT.NONE);
-		label.setText("Use this preference page to enable loading of class and resource names\n"
-				+ "from the Bundle Repository Index so that they will be included in searches.");
+        Label label = new Label(entryTable, SWT.NONE);
+        label.setText("Use this preference page to enable loading of class and resource names\n"
+            + "from the Bundle Repository Index so that they will be included in searches.");
 
-		Composite radioComposite = new Composite(entryTable, SWT.NONE);
-		radioComposite.setLayout(new GridLayout());
+        Composite radioComposite = new Composite(entryTable, SWT.NONE);
+        radioComposite.setLayout(new GridLayout());
 
-		// Create a data that takes up the extra space in the dialog.
-		radioComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        // Create a data that takes up the extra space in the dialog.
+        radioComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
-		Composite radioComposite2 = new Composite(radioComposite, SWT.NONE);
-		layout.marginWidth = 3;
-		layout.marginHeight = 3;
-		radioComposite2.setLayout(layout);
-		radioComposite2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		booleanEditor = new BooleanFieldEditor(ServerCorePlugin.PREF_LOAD_CLASSES_KEY, "Load class and resource names",
-				radioComposite2);
-		booleanEditor.setPage(this);
-		booleanEditor.setPreferenceStore(getPreferenceStore());
-		booleanEditor.load();
+        Composite radioComposite2 = new Composite(radioComposite, SWT.NONE);
+        layout.marginWidth = 3;
+        layout.marginHeight = 3;
+        radioComposite2.setLayout(layout);
+        radioComposite2.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        this.booleanEditor = new BooleanFieldEditor(ServerCorePlugin.PREF_LOAD_CLASSES_KEY, "Load class and resource names", radioComposite2);
+        this.booleanEditor.setPage(this);
+        this.booleanEditor.setPreferenceStore(getPreferenceStore());
+        this.booleanEditor.load();
 
-		Label noteLabel = new Label(radioComposite, SWT.NONE);
-		noteLabel.setText("Note: enabling this option will increase memory consumption.\nChanging the setting requires a restart to take effect.");
+        Label noteLabel = new Label(radioComposite, SWT.NONE);
+        noteLabel.setText("Note: enabling this option will increase memory consumption.\nChanging the setting requires a restart to take effect.");
 
-		return entryTable;
+        return entryTable;
 
-	}
+    }
 
-	public void init(IWorkbench workbench) {
-		// Initialize the preference store we wish to use
-		setPreferenceStore(ServerCorePlugin.getDefault().getPreferenceStore());
-	}
+    public void init(IWorkbench workbench) {
+        // Initialize the preference store we wish to use
+        setPreferenceStore(ServerCorePlugin.getDefault().getPreferenceStore());
+    }
 
-	protected void performDefaults() {
-		booleanEditor.loadDefault();
-	}
+    @Override
+    protected void performDefaults() {
+        this.booleanEditor.loadDefault();
+    }
 
-	public boolean performOk() {
-		booleanEditor.store();
-		return super.performOk();
-	}
+    @Override
+    public boolean performOk() {
+        this.booleanEditor.store();
+        return super.performOk();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ArtefactContainersContentProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ArtefactContainersContentProvider.java
index c0a5821..83d1bd9 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ArtefactContainersContentProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ArtefactContainersContentProvider.java
@@ -18,41 +18,41 @@
 import org.eclipse.wst.server.core.IServer;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public class ArtefactContainersContentProvider extends GenericTreeProvider {
 
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getElements(java.lang.Object)
-	 */
-	@Override
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof IServer) {
-			ServerProject project = ServerProjectManager.getInstance().getProject((IServer) inputElement, true, true);
-			if (project != null) {
-				Object[] containers = project.getContainers().toArray(new Object[0]);
-				return containers;
-			}
-		}
-		if (inputElement instanceof IServerProjectContainer) {
-			return ((IServerProjectContainer) inputElement).getMembers();
-		}
-		return super.getElements(inputElement);
-	}
+    /**
+     * @see org.eclipse.jface.viewers.ITreeContentProvider#getElements(java.lang.Object)
+     */
+    @Override
+    public Object[] getElements(Object inputElement) {
+        if (inputElement instanceof IServer) {
+            ServerProject project = ServerProjectManager.getInstance().getProject((IServer) inputElement, true, true);
+            if (project != null) {
+                Object[] containers = project.getContainers().toArray(new Object[0]);
+                return containers;
+            }
+        }
+        if (inputElement instanceof IServerProjectContainer) {
+            return ((IServerProjectContainer) inputElement).getMembers();
+        }
+        return super.getElements(inputElement);
+    }
 
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-	 */
-	@Override
-	public Object getParent(Object element) {
-		if (element instanceof IServerProjectArtefact) {
-			return ((IServerProjectArtefact) element).getContainer();
-		}
-		if (element instanceof IServerProjectContainer) {
-			return ((IServerProjectContainer) element).getServer();
-		}
-		return null;
-	}
+    /**
+     * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
+     */
+    @Override
+    public Object getParent(Object element) {
+        if (element instanceof IServerProjectArtefact) {
+            return ((IServerProjectArtefact) element).getContainer();
+        }
+        if (element instanceof IServerProjectContainer) {
+            return ((IServerProjectContainer) element).getServer();
+        }
+        return null;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/FlattenedArtefactsContentProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/FlattenedArtefactsContentProvider.java
index 08c9cb0..dcf713a 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/FlattenedArtefactsContentProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/FlattenedArtefactsContentProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.providers;
 
 import org.apache.commons.lang.ArrayUtils;
@@ -19,52 +20,43 @@
 
 /**
  * Common content provider for repository installation nodes.
- * 
+ *
  * @author Miles Parker
  */
 public class FlattenedArtefactsContentProvider extends RuntimeContainersContentProvider {
 
-	@Override
-	public Object[] getElements(Object inputElement) {
+    @Override
+    public Object[] getElements(Object inputElement) {
 
-		/*while (items.hasNext()) {
-			Object next = items.next();
-			if (next instanceof IServer) {
-				servers.add((IServer) next);
-			}
-			if (next instanceof LibrariesNode) {
-				servers.add(((LibrariesNode) next).getServer());
-			}
-			if (next instanceof IServerProjectContainer || next instanceof ArtefactSet) {
-				containers.add(next);
-			}
-			if (next instanceof IArtefact || next instanceof IServerProjectArtefact) {
-				artifacts.add(next);
-			}
-		}*/
+        /*
+         * while (items.hasNext()) { Object next = items.next(); if (next instanceof IServer) { servers.add((IServer)
+         * next); } if (next instanceof LibrariesNode) { servers.add(((LibrariesNode) next).getServer()); } if (next
+         * instanceof IServerProjectContainer || next instanceof ArtefactSet) { containers.add(next); } if (next
+         * instanceof IArtefact || next instanceof IServerProjectArtefact) { artifacts.add(next); } }
+         */
 
-		if (inputElement instanceof IServer) {
-			IServer server = (IServer) inputElement;
-			ServerProject project = ServerProjectManager.getInstance().getProject(server);
-			if (project != null) {
-				IServerProjectContainer[] containers = project.getContainers().toArray(new IServerProjectContainer[0]);
-				Object[] members = new Object[0];
-				for (IServerProjectContainer container : containers) {
-					Object[] roots = container.getMembers();
-					members = ArrayUtils.addAll(members, roots);
-				}
-				return members;
-			}
-		}
-		return super.getElements(inputElement);
-	}
+        if (inputElement instanceof IServer) {
+            IServer server = (IServer) inputElement;
+            ServerProject project = ServerProjectManager.getInstance().getProject(server);
+            if (project != null) {
+                IServerProjectContainer[] containers = project.getContainers().toArray(new IServerProjectContainer[0]);
+                Object[] members = new Object[0];
+                for (IServerProjectContainer container : containers) {
+                    Object[] roots = container.getMembers();
+                    members = ArrayUtils.addAll(members, roots);
+                }
+                return members;
+            }
+        }
+        return super.getElements(inputElement);
+    }
 
-	@Override
-	public Object getParent(Object element) {
-		if (element instanceof IServerProjectArtefact) {
-			return ((IServerProjectArtefact) element).getContainer().getServer();
-		}
-		return super.getParent(element);
-	}
+    @Override
+    public Object getParent(Object element) {
+        if (element instanceof IServerProjectArtefact) {
+            return ((IServerProjectArtefact) element).getContainer().getServer();
+        }
+        return super.getParent(element);
+    }
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/FlattenedPropertiesFileContentProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/FlattenedPropertiesFileContentProvider.java
index bea4973..8f6cae5 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/FlattenedPropertiesFileContentProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/FlattenedPropertiesFileContentProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.providers;
 
 import org.apache.commons.lang.ArrayUtils;
@@ -15,22 +16,22 @@
 
 /**
  * Common content provider for views on server content.
- * 
+ *
  * @author Miles Parker
  */
 public class FlattenedPropertiesFileContentProvider extends PropertiesFileContentProvider {
 
-	@Override
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof IServer) {
-			Object[] elements = super.getElements(inputElement);
-			Object[] returned = new Object[0];
-			for (Object object : elements) {
-				Object[] fileSelection = super.getElements(object);
-				returned = ArrayUtils.addAll(returned, fileSelection);
-			}
-			return returned;
-		}
-		return super.getElements(inputElement);
-	}
+    @Override
+    public Object[] getElements(Object inputElement) {
+        if (inputElement instanceof IServer) {
+            Object[] elements = super.getElements(inputElement);
+            Object[] returned = new Object[0];
+            for (Object object : elements) {
+                Object[] fileSelection = super.getElements(object);
+                returned = ArrayUtils.addAll(returned, fileSelection);
+            }
+            return returned;
+        }
+        return super.getElements(inputElement);
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/GenericTreeProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/GenericTreeProvider.java
index 3ee5a84..8ae900b 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/GenericTreeProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/GenericTreeProvider.java
@@ -18,59 +18,59 @@
 import org.eclipse.jface.viewers.Viewer;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public abstract class GenericTreeProvider implements ITreeContentProvider {
 
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getElements(java.lang.Object)
-	 */
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof Collection) {
-			Collection<?> collection = (Collection<?>) inputElement;
-			Object[] elements = new Object[] {};
-			for (Object object : collection) {
-				elements = ArrayUtils.addAll(elements, getElements(object));
-			}
-			return elements;
-		}
-		return new Object[0];
-	}
+    /**
+     * @see org.eclipse.jface.viewers.ITreeContentProvider#getElements(java.lang.Object)
+     */
+    public Object[] getElements(Object inputElement) {
+        if (inputElement instanceof Collection) {
+            Collection<?> collection = (Collection<?>) inputElement;
+            Object[] elements = new Object[] {};
+            for (Object object : collection) {
+                elements = ArrayUtils.addAll(elements, getElements(object));
+            }
+            return elements;
+        }
+        return new Object[0];
+    }
 
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
-	 */
-	public Object getParent(Object element) {
-		return null;
-	}
+    /**
+     * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
+     */
+    public Object getParent(Object element) {
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#dispose()
-	 */
-	public void dispose() {
-	}
+    /**
+     * @see org.eclipse.jface.viewers.IContentProvider#dispose()
+     */
+    public void dispose() {
+    }
 
-	/**
-	 * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object,
-	 *      java.lang.Object)
-	 */
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
+    /**
+     * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object,
+     *      java.lang.Object)
+     */
+    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+    }
 
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
-	 */
-	public Object[] getChildren(Object parentElement) {
-		return getElements(parentElement);
-	}
+    /**
+     * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
+     */
+    public Object[] getChildren(Object parentElement) {
+        return getElements(parentElement);
+    }
 
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-	 */
-	public boolean hasChildren(Object element) {
-		return getChildren(element).length > 0;
-	}
+    /**
+     * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
+     */
+    public boolean hasChildren(Object element) {
+        return getChildren(element).length > 0;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/InstalledBundlesAndLibrariesContentProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/InstalledBundlesAndLibrariesContentProvider.java
index 61e3b4f..2fc7611 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/InstalledBundlesAndLibrariesContentProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/InstalledBundlesAndLibrariesContentProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.providers;
 
 import org.eclipse.virgo.ide.runtime.internal.ui.projects.IServerProjectContainer;
@@ -15,30 +16,30 @@
 
 /**
  * Common content provider for repository installation nodes.
- * 
+ *
  * @author Miles Parker
  */
 public class InstalledBundlesAndLibrariesContentProvider extends RuntimeContainersContentProvider {
 
-	@Override
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof IServer) {
-			return new Object[] { new LibrariesNode((IServer) inputElement) };
-		}
-		if (inputElement instanceof LibrariesNode) {
-			return super.getElements(((LibrariesNode) inputElement).getServer());
-		}
-		return super.getElements(inputElement);
-	}
+    @Override
+    public Object[] getElements(Object inputElement) {
+        if (inputElement instanceof IServer) {
+            return new Object[] { new LibrariesNode((IServer) inputElement) };
+        }
+        if (inputElement instanceof LibrariesNode) {
+            return super.getElements(((LibrariesNode) inputElement).getServer());
+        }
+        return super.getElements(inputElement);
+    }
 
-	@Override
-	public Object getParent(Object element) {
-		if (element instanceof LibrariesNode) {
-			return ((LibrariesNode) element).getServer();
-		}
-		if (element instanceof IServerProjectContainer) {
-			return new LibrariesNode(((IServerProjectContainer) element).getServer());
-		}
-		return super.getParent(element);
-	}
+    @Override
+    public Object getParent(Object element) {
+        if (element instanceof LibrariesNode) {
+            return ((LibrariesNode) element).getServer();
+        }
+        if (element instanceof IServerProjectContainer) {
+            return new LibrariesNode(((IServerProjectContainer) element).getServer());
+        }
+        return super.getParent(element);
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/LibrariesNode.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/LibrariesNode.java
index 751e4e8..3bbfa89 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/LibrariesNode.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/LibrariesNode.java
@@ -16,27 +16,28 @@
 /**
  * Represents a node (may or may not be expressed directly in tree) to represent all libraries (e.g. not on a
  * per-repository basis) within a given server installation.
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public class LibrariesNode {
-	private final IServer server;
 
-	public LibrariesNode(IServer server) {
-		super();
-		this.server = server;
-	}
+    private final IServer server;
 
-	public IServer getServer() {
-		return server;
-	}
+    public LibrariesNode(IServer server) {
+        super();
+        this.server = server;
+    }
 
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	@Override
-	public boolean equals(Object other) {
-		return other instanceof LibrariesNode && ((LibrariesNode) other).server.equals(server);
-	}
+    public IServer getServer() {
+        return this.server;
+    }
+
+    /**
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @Override
+    public boolean equals(Object other) {
+        return other instanceof LibrariesNode && ((LibrariesNode) other).server.equals(this.server);
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/LogFileContentProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/LogFileContentProvider.java
index bd93cfe..8c1073b 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/LogFileContentProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/LogFileContentProvider.java
@@ -17,52 +17,52 @@
 import org.eclipse.wst.server.core.IServer;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public class LogFileContentProvider extends ServerFileContentProvider {
 
-	public static final String[] LOG_INCLUDE_EXTS = new String[] { "log" };
+    public static final String[] LOG_INCLUDE_EXTS = new String[] { "log" };
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getServerDirectories(org.eclipse.wst.server.core.IServer)
-	 */
-	@Override
-	public String[] getServerDirectories(IServer server) {
-		IServerRuntimeProvider provider = RuntimeProviders.getRuntimeProvider(server.getRuntime());
-		return provider.getServerLogDirectories();
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getServerDirectories(org.eclipse.wst.server.core.IServer)
+     */
+    @Override
+    public String[] getServerDirectories(IServer server) {
+        IServerRuntimeProvider provider = RuntimeProviders.getRuntimeProvider(server.getRuntime());
+        return provider.getServerLogDirectories();
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getBaseDirectory()
-	 */
-	@Override
-	public String getBaseDirectory() {
-		return ServerProject.LOG_WORKSPACE_DIR;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getBaseDirectory()
+     */
+    @Override
+    public String getBaseDirectory() {
+        return ServerProject.LOG_WORKSPACE_DIR;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getIncludeExtensions()
-	 */
-	@Override
-	public String[] getIncludeExtensions() {
-		return LOG_INCLUDE_EXTS;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getIncludeExtensions()
+     */
+    @Override
+    public String[] getIncludeExtensions() {
+        return LOG_INCLUDE_EXTS;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getExcludeExtensions()
-	 */
-	@Override
-	public String[] getExcludeExtensions() {
-		return null;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getExcludeExtensions()
+     */
+    @Override
+    public String[] getExcludeExtensions() {
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#isIncludeNoExtension()
-	 */
-	@Override
-	public boolean isIncludeNoExtension() {
-		return false;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#isIncludeNoExtension()
+     */
+    @Override
+    public boolean isIncludeNoExtension() {
+        return false;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/PropertiesFileContentProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/PropertiesFileContentProvider.java
index 8af0d1d..493a367 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/PropertiesFileContentProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/PropertiesFileContentProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.providers;
 
 import java.io.BufferedReader;
@@ -26,117 +27,113 @@
 
 /**
  * Common content provider for views on server content.
- * 
+ *
  * @author Miles Parker
  */
 public class PropertiesFileContentProvider extends ServerFileContentProvider {
 
-	public static final String PROPERTIES_EXT = "properties";
+    public static final String PROPERTIES_EXT = "properties";
 
-	public static final String[] PROPERTIES_INCLUDE_EXTS = null;
+    public static final String[] PROPERTIES_INCLUDE_EXTS = null;
 
-	//Should be null or should we hide xml, etc?
-	public static final String[] PROPERTIES_EXCLUDE_EXTS = new String[] { "jar", "plan", "libd" };
+    // Should be null or should we hide xml, etc?
+    public static final String[] PROPERTIES_EXCLUDE_EXTS = new String[] { "jar", "plan", "libd" };
 
-	@Override
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof ServerFile && !(inputElement instanceof ServerFileSelection)) {
-			ServerFile serverFile = (ServerFile) inputElement;
-			IFile file = serverFile.getFile();
-			if (file.getLocation().getFileExtension() != null
-					&& file.getLocation().getFileExtension().equals(PROPERTIES_EXT)) {
-				try {
-					String osString = file.getLocation().toOSString();
-					BufferedReader bufferedReader = new BufferedReader(new FileReader(osString));
-					List<ServerFileSelection> lines = new ArrayList<ServerFileSelection>();
-					String readLine = bufferedReader.readLine();
-					int offset = 0;
-					while (readLine != null) {
-						int posEquals = readLine.indexOf("=") + 1;
-						if (readLine.endsWith("\\")) {
-							String nextLine = bufferedReader.readLine();
-							int lineCount = 1;
-							while (nextLine.endsWith("\\")) {
-								readLine += nextLine;
-								nextLine = bufferedReader.readLine();
-								lineCount++;
-							}
-							readLine += nextLine;
-							String cleanLine = readLine.replaceAll("\\\\", "");
-							ServerFileSelection serverFileSelection = new ServerFileSelection(serverFile.getServer(),
-									file, cleanLine, offset + posEquals, readLine.length() + lineCount - posEquals,
-									lines.size() + 1);
-							lines.add(serverFileSelection);
-							offset += lineCount;
-						} else if (!readLine.startsWith("#") && !StringUtils.isBlank(readLine)
-								&& !readLine.endsWith("\\")) {
-							ServerFileSelection serverFileSelection = new ServerFileSelection(serverFile.getServer(),
-									file, readLine, offset + posEquals, readLine.length() - posEquals, lines.size() + 1);
-							lines.add(serverFileSelection);
-						}
-						offset += readLine.length() + 1;
-						readLine = bufferedReader.readLine();
-					}
-					bufferedReader.close();
-					return lines.toArray();
-				} catch (FileNotFoundException e) {
-					//don't really care
-				} catch (IOException e) {
-					//don't really care
-				}
-			}
-		}
-		return super.getElements(inputElement);
-	}
+    @Override
+    public Object[] getElements(Object inputElement) {
+        if (inputElement instanceof ServerFile && !(inputElement instanceof ServerFileSelection)) {
+            ServerFile serverFile = (ServerFile) inputElement;
+            IFile file = serverFile.getFile();
+            if (file.getLocation().getFileExtension() != null && file.getLocation().getFileExtension().equals(PROPERTIES_EXT)) {
+                try {
+                    String osString = file.getLocation().toOSString();
+                    BufferedReader bufferedReader = new BufferedReader(new FileReader(osString));
+                    List<ServerFileSelection> lines = new ArrayList<ServerFileSelection>();
+                    String readLine = bufferedReader.readLine();
+                    int offset = 0;
+                    while (readLine != null) {
+                        int posEquals = readLine.indexOf("=") + 1;
+                        if (readLine.endsWith("\\")) {
+                            String nextLine = bufferedReader.readLine();
+                            int lineCount = 1;
+                            while (nextLine.endsWith("\\")) {
+                                readLine += nextLine;
+                                nextLine = bufferedReader.readLine();
+                                lineCount++;
+                            }
+                            readLine += nextLine;
+                            String cleanLine = readLine.replaceAll("\\\\", "");
+                            ServerFileSelection serverFileSelection = new ServerFileSelection(serverFile.getServer(), file, cleanLine,
+                                offset + posEquals, readLine.length() + lineCount - posEquals, lines.size() + 1);
+                            lines.add(serverFileSelection);
+                            offset += lineCount;
+                        } else if (!readLine.startsWith("#") && !StringUtils.isBlank(readLine) && !readLine.endsWith("\\")) {
+                            ServerFileSelection serverFileSelection = new ServerFileSelection(serverFile.getServer(), file, readLine,
+                                offset + posEquals, readLine.length() - posEquals, lines.size() + 1);
+                            lines.add(serverFileSelection);
+                        }
+                        offset += readLine.length() + 1;
+                        readLine = bufferedReader.readLine();
+                    }
+                    bufferedReader.close();
+                    return lines.toArray();
+                } catch (FileNotFoundException e) {
+                    // don't really care
+                } catch (IOException e) {
+                    // don't really care
+                }
+            }
+        }
+        return super.getElements(inputElement);
+    }
 
-	@Override
-	public boolean hasChildren(Object element) {
-		if (element instanceof ServerFile && !(element instanceof ServerFileSelection)) {
-			IFile file = ((ServerFile) element).file;
-			return file.getLocation().getFileExtension() != null
-					&& file.getLocation().getFileExtension().equals(PROPERTIES_EXT);
-		}
-		return super.hasChildren(element);
-	}
+    @Override
+    public boolean hasChildren(Object element) {
+        if (element instanceof ServerFile && !(element instanceof ServerFileSelection)) {
+            IFile file = ((ServerFile) element).file;
+            return file.getLocation().getFileExtension() != null && file.getLocation().getFileExtension().equals(PROPERTIES_EXT);
+        }
+        return super.hasChildren(element);
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getServerDirectories(org.eclipse.wst.server.core.IServer)
-	 */
-	@Override
-	public String[] getServerDirectories(IServer server) {
-		IServerRuntimeProvider provider = RuntimeProviders.getRuntimeProvider(server.getRuntime());
-		return provider.getServerPropertiesDirectories();
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getServerDirectories(org.eclipse.wst.server.core.IServer)
+     */
+    @Override
+    public String[] getServerDirectories(IServer server) {
+        IServerRuntimeProvider provider = RuntimeProviders.getRuntimeProvider(server.getRuntime());
+        return provider.getServerPropertiesDirectories();
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getBaseDirectory()
-	 */
-	@Override
-	public String getBaseDirectory() {
-		return ServerProject.PROPERTIES_DIR;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getBaseDirectory()
+     */
+    @Override
+    public String getBaseDirectory() {
+        return ServerProject.PROPERTIES_DIR;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getIncludeExtensions()
-	 */
-	@Override
-	public String[] getIncludeExtensions() {
-		return PROPERTIES_INCLUDE_EXTS;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getIncludeExtensions()
+     */
+    @Override
+    public String[] getIncludeExtensions() {
+        return PROPERTIES_INCLUDE_EXTS;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getExcludeExtensions()
-	 */
-	@Override
-	public String[] getExcludeExtensions() {
-		return PROPERTIES_EXCLUDE_EXTS;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#getExcludeExtensions()
+     */
+    @Override
+    public String[] getExcludeExtensions() {
+        return PROPERTIES_EXCLUDE_EXTS;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#isIncludeNoExtension()
-	 */
-	@Override
-	public boolean isIncludeNoExtension() {
-		return false;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.internal.ui.providers.ServerFileContentProvider#isIncludeNoExtension()
+     */
+    @Override
+    public boolean isIncludeNoExtension() {
+        return false;
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RepositoryContentProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RepositoryContentProvider.java
index 2d59a1e..1da7498 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RepositoryContentProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RepositoryContentProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.providers;
 
 import java.io.File;
@@ -30,77 +31,77 @@
 /**
  * Common content provider for repository installation nodes. (Not currently used, but could be used in cases where we
  * don't want to create server side projects.)
- * 
+ *
  * @author Miles Parker
  * @author Christian Dupuis
  */
 public class RepositoryContentProvider implements ITreeContentProvider {
 
-	private ArtefactRepository repository;
+    private ArtefactRepository repository;
 
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof IServer) {
-			IServer server = (IServer) inputElement;
-			repository = RepositoryUtils.getRepositoryContents(server.getRuntime());
-			repository.setServer(server);
-			List<Object> children = new ArrayList<Object>();
-			Map<File, ArtefactRepository> setForFile = new HashMap<File, ArtefactRepository>();
+    public Object[] getElements(Object inputElement) {
+        if (inputElement instanceof IServer) {
+            IServer server = (IServer) inputElement;
+            this.repository = RepositoryUtils.getRepositoryContents(server.getRuntime());
+            this.repository.setServer(server);
+            List<Object> children = new ArrayList<Object>();
+            Map<File, ArtefactRepository> setForFile = new HashMap<File, ArtefactRepository>();
 
-			for (IArtefact bundle : repository.getAllArtefacts().getArtefacts()) {
-				if (bundle instanceof ILocalArtefact) {
-					File file = ((ILocalArtefact) bundle).getFile().getParentFile();
-					if (file.getParentFile().getName().equals("subsystems")) {
-						file = file.getParentFile();
-					}
-					if (setForFile.containsKey(file)) {
-						setForFile.get(file).add(bundle);
-					} else {
-						ArtefactRepository localRepository = new LocalArtefactRepository(file);
-						localRepository.setServer(server);
-						localRepository.add(bundle);
-						setForFile.put(file, localRepository);
-					}
-				}
-			}
-			for (ArtefactRepository repos : setForFile.values()) {
-				if (repos.getBundleSet().getArtefacts().iterator().hasNext()) {
-					children.add(repos.getBundleSet());
-				}
-				if (repos.getLibrarySet().getArtefacts().iterator().hasNext()) {
-					children.add(repos.getLibrarySet());
-				}
-			}
-			return children.toArray();
-		}
-		return new Object[0];
-	}
+            for (IArtefact bundle : this.repository.getAllArtefacts().getArtefacts()) {
+                if (bundle instanceof ILocalArtefact) {
+                    File file = ((ILocalArtefact) bundle).getFile().getParentFile();
+                    if (file.getParentFile().getName().equals("subsystems")) {
+                        file = file.getParentFile();
+                    }
+                    if (setForFile.containsKey(file)) {
+                        setForFile.get(file).add(bundle);
+                    } else {
+                        ArtefactRepository localRepository = new LocalArtefactRepository(file);
+                        localRepository.setServer(server);
+                        localRepository.add(bundle);
+                        setForFile.put(file, localRepository);
+                    }
+                }
+            }
+            for (ArtefactRepository repos : setForFile.values()) {
+                if (repos.getBundleSet().getArtefacts().iterator().hasNext()) {
+                    children.add(repos.getBundleSet());
+                }
+                if (repos.getLibrarySet().getArtefacts().iterator().hasNext()) {
+                    children.add(repos.getLibrarySet());
+                }
+            }
+            return children.toArray();
+        }
+        return new Object[0];
+    }
 
-	public Object[] getChildren(Object parentElement) {
-		if (parentElement instanceof ArtefactSet) {
-			return ((ArtefactSet) parentElement).toArray();
-		}
-		return new Object[0];
-	}
+    public Object[] getChildren(Object parentElement) {
+        if (parentElement instanceof ArtefactSet) {
+            return ((ArtefactSet) parentElement).toArray();
+        }
+        return new Object[0];
+    }
 
-	public Object getParent(Object element) {
-		if (element instanceof Artefact) {
-			Artefact artefact = (Artefact) element;
-			return artefact.getSet();
-		}
-		return null;
-	}
+    public Object getParent(Object element) {
+        if (element instanceof Artefact) {
+            Artefact artefact = (Artefact) element;
+            return artefact.getSet();
+        }
+        return null;
+    }
 
-	public boolean hasChildren(Object element) {
-		return getChildren(element).length > 0;
-	}
+    public boolean hasChildren(Object element) {
+        return getChildren(element).length > 0;
+    }
 
-	public void dispose() {
-	}
+    public void dispose() {
+    }
 
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
+    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+    }
 
-	public ArtefactRepository getRepository() {
-		return repository;
-	}
+    public ArtefactRepository getRepository() {
+        return this.repository;
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RepositoryPageContentProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RepositoryPageContentProvider.java
index 50ff3d1..ac711b8 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RepositoryPageContentProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RepositoryPageContentProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.providers;
 
 import org.eclipse.virgo.ide.runtime.internal.ui.editor.RepositoryBrowserEditorPage;
@@ -15,25 +16,25 @@
 
 /**
  * Common content provider for repository installation nodes.
- * 
+ *
  * @author Miles Parker
  */
 public class RepositoryPageContentProvider extends FlattenedArtefactsContentProvider {
 
-	@Override
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof RepositoryBrowserEditorPage) {
-			IServer server = ((RepositoryBrowserEditorPage) inputElement).getServer().getOriginal();
-			return super.getElements(server);
-		}
-		return new Object[0];
-	}
+    @Override
+    public Object[] getElements(Object inputElement) {
+        if (inputElement instanceof RepositoryBrowserEditorPage) {
+            IServer server = ((RepositoryBrowserEditorPage) inputElement).getServer().getOriginal();
+            return super.getElements(server);
+        }
+        return new Object[0];
+    }
 
-	/**
-	 * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
-	 */
-	@Override
-	public boolean hasChildren(Object element) {
-		return element instanceof RepositoryBrowserEditorPage;
-	}
+    /**
+     * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
+     */
+    @Override
+    public boolean hasChildren(Object element) {
+        return element instanceof RepositoryBrowserEditorPage;
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RepositorySearchResultContentProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RepositorySearchResultContentProvider.java
index 35fb822..77581f2 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RepositorySearchResultContentProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RepositorySearchResultContentProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.providers;
 
 import org.eclipse.jface.viewers.ITreeContentProvider;
@@ -21,37 +22,37 @@
  */
 public class RepositorySearchResultContentProvider implements ITreeContentProvider {
 
-	public void dispose() {
-	}
+    public void dispose() {
+    }
 
-	public Object[] getChildren(Object parentElement) {
-		if (parentElement instanceof ArtefactSet) {
-			ArtefactSet artefacts = (ArtefactSet) parentElement;
-			return artefacts.toArray();
-		}
-		return new Object[0];
-	}
+    public Object[] getChildren(Object parentElement) {
+        if (parentElement instanceof ArtefactSet) {
+            ArtefactSet artefacts = (ArtefactSet) parentElement;
+            return artefacts.toArray();
+        }
+        return new Object[0];
+    }
 
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof ArtefactRepository) {
-			ArtefactRepository artefactRepository = (ArtefactRepository) inputElement;
-			return new Object[] { artefactRepository.getBundleSet(), artefactRepository.getLibrarySet() };
-		}
-		return new Object[0];
-	}
+    public Object[] getElements(Object inputElement) {
+        if (inputElement instanceof ArtefactRepository) {
+            ArtefactRepository artefactRepository = (ArtefactRepository) inputElement;
+            return new Object[] { artefactRepository.getBundleSet(), artefactRepository.getLibrarySet() };
+        }
+        return new Object[0];
+    }
 
-	public Object getParent(Object element) {
-		if (element instanceof ArtefactSet) {
-			return ((ArtefactSet) element).getRepository();
-		}
-		return null;
-	}
+    public Object getParent(Object element) {
+        if (element instanceof ArtefactSet) {
+            return ((ArtefactSet) element).getRepository();
+        }
+        return null;
+    }
 
-	public boolean hasChildren(Object element) {
-		return getChildren(element).length > 0;
-	}
+    public boolean hasChildren(Object element) {
+        return getChildren(element).length > 0;
+    }
 
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
+    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeActionProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeActionProvider.java
index 76fa5d7..c3bf618 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeActionProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeActionProvider.java
@@ -34,83 +34,83 @@
 /**
  * @see org.eclipse.ui.internal.navigator.resources.actions#OpenActionProvider
  * @author Miles Parker
- * 
+ *
  */
 public class RuntimeActionProvider extends CommonActionProvider {
 
-	private OpenServerProjectFileAction openFileAction;
+    private OpenServerProjectFileAction openFileAction;
 
-	private ICommonViewerWorkbenchSite viewSite = null;
+    private ICommonViewerWorkbenchSite viewSite = null;
 
-	private boolean contribute = false;
+    private boolean contribute = false;
 
-	@Override
-	public void init(ICommonActionExtensionSite aConfig) {
-		if (aConfig.getViewSite() instanceof ICommonViewerWorkbenchSite) {
-			viewSite = (ICommonViewerWorkbenchSite) aConfig.getViewSite();
-			openFileAction = new OpenServerProjectFileAction(viewSite.getPage());
-			contribute = true;
-		}
-	}
+    @Override
+    public void init(ICommonActionExtensionSite aConfig) {
+        if (aConfig.getViewSite() instanceof ICommonViewerWorkbenchSite) {
+            this.viewSite = (ICommonViewerWorkbenchSite) aConfig.getViewSite();
+            this.openFileAction = new OpenServerProjectFileAction(this.viewSite.getPage());
+            this.contribute = true;
+        }
+    }
 
-	@Override
-	public void fillContextMenu(IMenuManager aMenu) {
-		if (!contribute || getContext().getSelection().isEmpty()) {
-			return;
-		}
+    @Override
+    public void fillContextMenu(IMenuManager aMenu) {
+        if (!this.contribute || getContext().getSelection().isEmpty()) {
+            return;
+        }
 
-		IStructuredSelection selection = (IStructuredSelection) getContext().getSelection();
+        IStructuredSelection selection = (IStructuredSelection) getContext().getSelection();
 
-		openFileAction.selectionChanged(selection);
-		if (openFileAction.isEnabled()) {
-			aMenu.insertAfter(ICommonMenuConstants.GROUP_OPEN, openFileAction);
-		}
-		addOpenWithMenu(aMenu);
-	}
+        this.openFileAction.selectionChanged(selection);
+        if (this.openFileAction.isEnabled()) {
+            aMenu.insertAfter(ICommonMenuConstants.GROUP_OPEN, this.openFileAction);
+        }
+        addOpenWithMenu(aMenu);
+    }
 
-	@Override
-	public void fillActionBars(IActionBars theActionBars) {
-		if (!contribute) {
-			return;
-		}
-		IStructuredSelection selection = (IStructuredSelection) getContext().getSelection();
-		if (selection.size() == 1 && selection.getFirstElement() instanceof IFile) {
-			openFileAction.selectionChanged(selection);
-			theActionBars.setGlobalActionHandler(ICommonActionConstants.OPEN, openFileAction);
-		}
+    @Override
+    public void fillActionBars(IActionBars theActionBars) {
+        if (!this.contribute) {
+            return;
+        }
+        IStructuredSelection selection = (IStructuredSelection) getContext().getSelection();
+        if (selection.size() == 1 && selection.getFirstElement() instanceof IFile) {
+            this.openFileAction.selectionChanged(selection);
+            theActionBars.setGlobalActionHandler(ICommonActionConstants.OPEN, this.openFileAction);
+        }
 
-	}
+    }
 
-	private void addOpenWithMenu(IMenuManager aMenu) {
-		IStructuredSelection ss = (IStructuredSelection) getContext().getSelection();
+    private void addOpenWithMenu(IMenuManager aMenu) {
+        IStructuredSelection ss = (IStructuredSelection) getContext().getSelection();
 
-		if (ss == null || ss.size() != 1) {
-			return;
-		}
+        if (ss == null || ss.size() != 1) {
+            return;
+        }
 
-		Object o = ss.getFirstElement();
+        Object o = ss.getFirstElement();
 
-		// first try IResource
-		IAdaptable openable = (IAdaptable) AdaptabilityUtility.getAdapter(o, IResource.class);
-		// otherwise try ResourceMapping
-		if (openable == null) {
-			openable = (IAdaptable) AdaptabilityUtility.getAdapter(o, ResourceMapping.class);
-		} else if (((IResource) openable).getType() != IResource.FILE) {
-			openable = null;
-		}
+        // first try IResource
+        IAdaptable openable = (IAdaptable) AdaptabilityUtility.getAdapter(o, IResource.class);
+        // otherwise try ResourceMapping
+        if (openable == null) {
+            openable = (IAdaptable) AdaptabilityUtility.getAdapter(o, ResourceMapping.class);
+        } else if (((IResource) openable).getType() != IResource.FILE) {
+            openable = null;
+        }
 
-		if (openable != null) {
-			// Create a menu flyout.
-			IMenuManager submenu = new MenuManager(WorkbenchNavigatorMessages.OpenActionProvider_OpenWithMenu_label,
-					ICommonMenuConstants.GROUP_OPEN_WITH);
-			submenu.add(new GroupMarker(ICommonMenuConstants.GROUP_TOP));
-			submenu.add(new OpenWithMenu(viewSite.getPage(), openable));
-			submenu.add(new GroupMarker(ICommonMenuConstants.GROUP_ADDITIONS));
+        if (openable != null) {
+            // Create a menu flyout.
+            IMenuManager submenu = new MenuManager(WorkbenchNavigatorMessages.OpenActionProvider_OpenWithMenu_label,
+                ICommonMenuConstants.GROUP_OPEN_WITH);
+            submenu.add(new GroupMarker(ICommonMenuConstants.GROUP_TOP));
+            submenu.add(new OpenWithMenu(this.viewSite.getPage(), openable));
+            submenu.add(new GroupMarker(ICommonMenuConstants.GROUP_ADDITIONS));
 
-			// Add the submenu.
-			if (submenu.getItems().length > 2 && submenu.isEnabled()) {
-				aMenu.appendToGroup(ICommonMenuConstants.GROUP_OPEN_WITH, submenu);
-			}
-		}
-	}
+            // Add the submenu.
+            if (submenu.getItems().length > 2 && submenu.isEnabled()) {
+                aMenu.appendToGroup(ICommonMenuConstants.GROUP_OPEN_WITH, submenu);
+            }
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeContainersContentProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeContainersContentProvider.java
index 9fea93b..25eea7b 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeContainersContentProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeContainersContentProvider.java
@@ -20,56 +20,56 @@
 
 public class RuntimeContainersContentProvider extends GenericTreeProvider {
 
-	@Override
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof IServer) {
-			IServer server = (IServer) inputElement;
-			if (ServerProject.isVirgo(server)) {
-				ServerProject project = ServerProjectManager.getInstance().getProject(server);
-				if (project != null) {
-					return project.getArtefactSets().toArray(new Object[0]);
-				}
-			}
-		}
-		if (inputElement instanceof IServerProjectContainer) {
-			return ((IServerProjectContainer) inputElement).getMembers();
-		}
-		if (inputElement instanceof ArtefactSet) {
-			ArtefactSet artefactSet = (ArtefactSet) inputElement;
-			IServer server = artefactSet.getRepository().getServer();
-			ServerProject project = ServerProjectManager.getInstance().getProject(server);
-			if (project != null) {
-				IServerProjectContainer container = project.getContainer(artefactSet);
-				if (container != null) {
-					return container.getMembers();
-				}
-				return artefactSet.toArray();
-			}
-		}
-		return super.getElements(inputElement);
-	}
+    @Override
+    public Object[] getElements(Object inputElement) {
+        if (inputElement instanceof IServer) {
+            IServer server = (IServer) inputElement;
+            if (ServerProject.isVirgo(server)) {
+                ServerProject project = ServerProjectManager.getInstance().getProject(server);
+                if (project != null) {
+                    return project.getArtefactSets().toArray(new Object[0]);
+                }
+            }
+        }
+        if (inputElement instanceof IServerProjectContainer) {
+            return ((IServerProjectContainer) inputElement).getMembers();
+        }
+        if (inputElement instanceof ArtefactSet) {
+            ArtefactSet artefactSet = (ArtefactSet) inputElement;
+            IServer server = artefactSet.getRepository().getServer();
+            ServerProject project = ServerProjectManager.getInstance().getProject(server);
+            if (project != null) {
+                IServerProjectContainer container = project.getContainer(artefactSet);
+                if (container != null) {
+                    return container.getMembers();
+                }
+                return artefactSet.toArray();
+            }
+        }
+        return super.getElements(inputElement);
+    }
 
-	@Override
-	public Object getParent(Object element) {
-		if (element instanceof IServerProjectContainer) {
-			return ((IServerProjectContainer) element).getServer();
-		}
-		if (element instanceof IServerProjectArtefact) {
-			return ((IServerProjectArtefact) element).getContainer();
-		}
-		return null;
-	}
+    @Override
+    public Object getParent(Object element) {
+        if (element instanceof IServerProjectContainer) {
+            return ((IServerProjectContainer) element).getServer();
+        }
+        if (element instanceof IServerProjectArtefact) {
+            return ((IServerProjectArtefact) element).getContainer();
+        }
+        return null;
+    }
 
-	public IServer getServer(Object element) {
-		if (element instanceof IServer) {
-			return (IServer) element;
-		}
-		if (element instanceof IServerProjectContainer) {
-			return ((IServerProjectContainer) element).getServer();
-		}
-		if (element instanceof IServerProjectArtefact) {
-			return ((IServerProjectArtefact) element).getContainer().getServer();
-		}
-		return null;
-	}
+    public IServer getServer(Object element) {
+        if (element instanceof IServer) {
+            return (IServer) element;
+        }
+        if (element instanceof IServerProjectContainer) {
+            return ((IServerProjectContainer) element).getServer();
+        }
+        if (element instanceof IServerProjectArtefact) {
+            return ((IServerProjectArtefact) element).getContainer().getServer();
+        }
+        return null;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeFullLabelProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeFullLabelProvider.java
index a2b7d78..019a3e2 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeFullLabelProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeFullLabelProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.providers;
 
 import org.eclipse.core.resources.IFile;
@@ -24,44 +25,41 @@
  */
 public class RuntimeFullLabelProvider extends RuntimeLabelProvider {
 
-	@Override
-	public String getText(Object element) {
-		if (element instanceof IServerProjectArtefact) {
-			return getText(((IServerProjectArtefact) element).getContainer()) + " - "
-					+ getText(((IServerProjectArtefact) element).getArtefact());
-		}
-		if (element instanceof IServerProjectContainer) {
-			return getText(((IServerProjectContainer) element).getServer()) + " - "
-					+ getText(((IServerProjectContainer) element).getArtefactSet());
-		}
-		if (element instanceof LibrariesNode) {
-			return getText(((LibrariesNode) element).getServer()) + " "
-					+ Messages.RepositoryBrowserEditorPage_BundlesAndLibraries;
-		}
-		if (element instanceof IFile) {
-			return ((IFile) element).getName();
-		}
-		if (element instanceof ArtefactSet) {
-			ArtefactSet set = (ArtefactSet) element;
-			String label = set.getArtefactType().getPluralLabel();
-			if (element instanceof LocalArtefactSet) {
-				label = ((LocalArtefactSet) element).getRelativePath() + " [" + label + "]";
-			}
-			return label;
-		} else if (element instanceof IArtefact) {
-			IArtefact version = (IArtefact) element;
-			StringBuilder l = new StringBuilder();
-			if (version.getName() != null) {
-				l.append(version.getName());
-				l.append(" - ");
-			}
-			l.append(version.getSymbolicName());
-			l.append(" (");
-			l.append(version.getVersion());
-			l.append(")");
-			return l.toString();
-		}
-		return super.getText(element);
-	}
+    @Override
+    public String getText(Object element) {
+        if (element instanceof IServerProjectArtefact) {
+            return getText(((IServerProjectArtefact) element).getContainer()) + " - " + getText(((IServerProjectArtefact) element).getArtefact());
+        }
+        if (element instanceof IServerProjectContainer) {
+            return getText(((IServerProjectContainer) element).getServer()) + " - " + getText(((IServerProjectContainer) element).getArtefactSet());
+        }
+        if (element instanceof LibrariesNode) {
+            return getText(((LibrariesNode) element).getServer()) + " " + Messages.RepositoryBrowserEditorPage_BundlesAndLibraries;
+        }
+        if (element instanceof IFile) {
+            return ((IFile) element).getName();
+        }
+        if (element instanceof ArtefactSet) {
+            ArtefactSet set = (ArtefactSet) element;
+            String label = set.getArtefactType().getPluralLabel();
+            if (element instanceof LocalArtefactSet) {
+                label = ((LocalArtefactSet) element).getRelativePath() + " [" + label + "]";
+            }
+            return label;
+        } else if (element instanceof IArtefact) {
+            IArtefact version = (IArtefact) element;
+            StringBuilder l = new StringBuilder();
+            if (version.getName() != null) {
+                l.append(version.getName());
+                l.append(" - ");
+            }
+            l.append(version.getSymbolicName());
+            l.append(" (");
+            l.append(version.getVersion());
+            l.append(")");
+            return l.toString();
+        }
+        return super.getText(element);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeLabelProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeLabelProvider.java
index 071aab2..7e20e1c 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeLabelProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeLabelProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.providers;
 
 import org.eclipse.core.resources.IFile;
@@ -37,80 +38,80 @@
  */
 public class RuntimeLabelProvider extends LabelProvider {
 
-	@Override
-	public Image getImage(Object element) {
-		if (element instanceof IServerProjectArtefact) {
-			return getImage(((IServerProjectArtefact) element).getArtefact());
-		}
-		if (element instanceof IServerProjectContainer) {
-			return getImage(((IServerProjectContainer) element).getArtefactSet());
-		}
-		if (element instanceof ProjectFileReference) {
-			return ServerUiImages.getImage(ServerUiImages.IMG_OBJ_VIRGO);
-		}
-		if (element instanceof ArtefactSet) {
-			ArtefactType artefactType = ((IArtefactTyped) element).getArtefactType();
-			if (artefactType == ArtefactType.BUNDLE) {
-				return PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_JAR_LIB_OBJ);
-			} else if (artefactType == ArtefactType.LIBRARY) {
-				return ServerUiImages.getImage(ServerUiImages.IMG_OBJ_VIRGO_LIB);
-			}
-		}
-		if (element instanceof IFile) {
-			return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
-		}
-		if (element instanceof IArtefactTyped) {
-			ArtefactType artefactType = ((IArtefactTyped) element).getArtefactType();
-			if (artefactType == ArtefactType.BUNDLE) {
-				if (element instanceof LocalBundleArtefact && ((LocalBundleArtefact) element).isSourceDownloaded()) {
-					return JavaPlugin.getImageDescriptorRegistry().get(JavaPluginImages.DESC_OBJS_EXTJAR_WSRC);
-				}
-				return JavaPlugin.getImageDescriptorRegistry().get(JavaPluginImages.DESC_OBJS_EXTJAR);
-			} else if (artefactType == ArtefactType.LIBRARY) {
-				return ServerUiImages.getImage(ServerUiImages.IMG_OBJ_VIRGO_FILE);
-			}
-		}
-		if (element instanceof LibrariesNode) {
-			return ServerUiImages.getImage(ServerUiImages.IMG_OBJ_LIB);
-		}
-		return super.getImage(element);
-	}
+    @Override
+    public Image getImage(Object element) {
+        if (element instanceof IServerProjectArtefact) {
+            return getImage(((IServerProjectArtefact) element).getArtefact());
+        }
+        if (element instanceof IServerProjectContainer) {
+            return getImage(((IServerProjectContainer) element).getArtefactSet());
+        }
+        if (element instanceof ProjectFileReference) {
+            return ServerUiImages.getImage(ServerUiImages.IMG_OBJ_VIRGO);
+        }
+        if (element instanceof ArtefactSet) {
+            ArtefactType artefactType = ((IArtefactTyped) element).getArtefactType();
+            if (artefactType == ArtefactType.BUNDLE) {
+                return PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_JAR_LIB_OBJ);
+            } else if (artefactType == ArtefactType.LIBRARY) {
+                return ServerUiImages.getImage(ServerUiImages.IMG_OBJ_VIRGO_LIB);
+            }
+        }
+        if (element instanceof IFile) {
+            return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE);
+        }
+        if (element instanceof IArtefactTyped) {
+            ArtefactType artefactType = ((IArtefactTyped) element).getArtefactType();
+            if (artefactType == ArtefactType.BUNDLE) {
+                if (element instanceof LocalBundleArtefact && ((LocalBundleArtefact) element).isSourceDownloaded()) {
+                    return JavaPlugin.getImageDescriptorRegistry().get(JavaPluginImages.DESC_OBJS_EXTJAR_WSRC);
+                }
+                return JavaPlugin.getImageDescriptorRegistry().get(JavaPluginImages.DESC_OBJS_EXTJAR);
+            } else if (artefactType == ArtefactType.LIBRARY) {
+                return ServerUiImages.getImage(ServerUiImages.IMG_OBJ_VIRGO_FILE);
+            }
+        }
+        if (element instanceof LibrariesNode) {
+            return ServerUiImages.getImage(ServerUiImages.IMG_OBJ_LIB);
+        }
+        return super.getImage(element);
+    }
 
-	@Override
-	public String getText(Object element) {
-		if (element instanceof IServerProjectArtefact) {
-			return getText(((IServerProjectArtefact) element).getArtefact());
-		}
-		if (element instanceof IServerProjectContainer) {
-			return getText(((IServerProjectContainer) element).getArtefactSet());
-		}
-		if (element instanceof LibrariesNode) {
-			return Messages.RepositoryBrowserEditorPage_BundlesAndLibraries;
-		}
-		if (element instanceof IFile) {
-			return ((IFile) element).getName();
-		}
-		if (element instanceof ArtefactSet) {
-			ArtefactSet set = (ArtefactSet) element;
-			String label = set.getArtefactType().getPluralLabel();
-			if (element instanceof LocalArtefactSet) {
-				label = ((LocalArtefactSet) element).getRelativePath() + " [" + label + "]";
-			}
-			return label;
-		} else if (element instanceof IArtefact) {
-			IArtefact version = (IArtefact) element;
-			StringBuilder l = new StringBuilder();
-			if (version.getName() != null) {
-				l.append(version.getName());
-				l.append(" - ");
-			}
-			l.append(version.getSymbolicName());
-			l.append(" (");
-			l.append(version.getVersion());
-			l.append(")");
-			return l.toString();
-		}
-		return super.getText(element);
-	}
+    @Override
+    public String getText(Object element) {
+        if (element instanceof IServerProjectArtefact) {
+            return getText(((IServerProjectArtefact) element).getArtefact());
+        }
+        if (element instanceof IServerProjectContainer) {
+            return getText(((IServerProjectContainer) element).getArtefactSet());
+        }
+        if (element instanceof LibrariesNode) {
+            return Messages.RepositoryBrowserEditorPage_BundlesAndLibraries;
+        }
+        if (element instanceof IFile) {
+            return ((IFile) element).getName();
+        }
+        if (element instanceof ArtefactSet) {
+            ArtefactSet set = (ArtefactSet) element;
+            String label = set.getArtefactType().getPluralLabel();
+            if (element instanceof LocalArtefactSet) {
+                label = ((LocalArtefactSet) element).getRelativePath() + " [" + label + "]";
+            }
+            return label;
+        } else if (element instanceof IArtefact) {
+            IArtefact version = (IArtefact) element;
+            StringBuilder l = new StringBuilder();
+            if (version.getName() != null) {
+                l.append(version.getName());
+                l.append(" - ");
+            }
+            l.append(version.getSymbolicName());
+            l.append(" (");
+            l.append(version.getVersion());
+            l.append(")");
+            return l.toString();
+        }
+        return super.getText(element);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFile.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFile.java
index ef88345..8008555 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFile.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFile.java
@@ -15,26 +15,26 @@
 import org.eclipse.wst.server.core.IServer;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public class ServerFile {
 
-	protected final IFile file;
+    protected final IFile file;
 
-	private final IServer server;
+    private final IServer server;
 
-	public ServerFile(IServer server, IFile file) {
-		this.server = server;
-		this.file = file;
-	}
+    public ServerFile(IServer server, IFile file) {
+        this.server = server;
+        this.file = file;
+    }
 
-	public IFile getFile() {
-		return file;
-	}
+    public IFile getFile() {
+        return this.file;
+    }
 
-	public IServer getServer() {
-		return server;
-	}
+    public IServer getServer() {
+        return this.server;
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFileContentProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFileContentProvider.java
index 29e1d19..d3161a6 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFileContentProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFileContentProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.providers;
 
 import java.util.ArrayList;
@@ -25,83 +26,83 @@
 
 /**
  * Common content provider for views on server content.
- * 
+ *
  * @author Miles Parker
  */
 public abstract class ServerFileContentProvider extends GenericTreeProvider {
 
-	@Override
-	public Object[] getElements(Object inputElement) {
-		if (inputElement instanceof IServer) {
-			IServer server = (IServer) inputElement;
-			ServerProject project = ServerProjectManager.getInstance().getProject(server);
-			if (project != null) {
-				List<ServerFile> files = new ArrayList<ServerFile>();
-				for (String serverDir : getServerDirectories(server)) {
-					IFolder folder = project.getWorkspaceProject().getFolder(getBaseDirectory() + "/" + serverDir);
-					try {
-						IResource[] members = folder.members();
-						for (IResource resource : members) {
-							if (isIncludeType(resource)) {
-								files.add(new ServerFile(server, (IFile) resource));
-							}
-						}
-					} catch (CoreException e) {
-						StatusManager.getManager().handle(e.getStatus());
-					}
-				}
-				return files.toArray(new Object[files.size()]);
-			}
-		}
-		return super.getElements(inputElement);
-	}
+    @Override
+    public Object[] getElements(Object inputElement) {
+        if (inputElement instanceof IServer) {
+            IServer server = (IServer) inputElement;
+            ServerProject project = ServerProjectManager.getInstance().getProject(server);
+            if (project != null) {
+                List<ServerFile> files = new ArrayList<ServerFile>();
+                for (String serverDir : getServerDirectories(server)) {
+                    IFolder folder = project.getWorkspaceProject().getFolder(getBaseDirectory() + "/" + serverDir);
+                    try {
+                        IResource[] members = folder.members();
+                        for (IResource resource : members) {
+                            if (isIncludeType(resource)) {
+                                files.add(new ServerFile(server, (IFile) resource));
+                            }
+                        }
+                    } catch (CoreException e) {
+                        StatusManager.getManager().handle(e.getStatus());
+                    }
+                }
+                return files.toArray(new Object[files.size()]);
+            }
+        }
+        return super.getElements(inputElement);
+    }
 
-	public boolean isIncludeType(IResource resource) {
-		if (resource instanceof IFile) {
-			String ext = resource.getFileExtension();
-			if (ext == null) {
-				return isIncludeNoExtension();
-			}
-			if (getIncludeExtensions() != null) {
-				return ArrayUtils.contains(getIncludeExtensions(), ext);
-			}
-			if (getExcludeExtensions() != null) {
-				return !ArrayUtils.contains(getExcludeExtensions(), ext);
-			}
-			return true;
-		}
-		return false;
-	}
+    public boolean isIncludeType(IResource resource) {
+        if (resource instanceof IFile) {
+            String ext = resource.getFileExtension();
+            if (ext == null) {
+                return isIncludeNoExtension();
+            }
+            if (getIncludeExtensions() != null) {
+                return ArrayUtils.contains(getIncludeExtensions(), ext);
+            }
+            if (getExcludeExtensions() != null) {
+                return !ArrayUtils.contains(getExcludeExtensions(), ext);
+            }
+            return true;
+        }
+        return false;
+    }
 
-	public abstract String getBaseDirectory();
+    public abstract String getBaseDirectory();
 
-	/**
-	 * If not null only files with include extensions will be added. Note: excluded files will be ignored in this case.
-	 */
-	public abstract String[] getIncludeExtensions();
+    /**
+     * If not null only files with include extensions will be added. Note: excluded files will be ignored in this case.
+     */
+    public abstract String[] getIncludeExtensions();
 
-	/**
-	 * If not null files with extensions will not be added.
-	 */
-	public abstract String[] getExcludeExtensions();
+    /**
+     * If not null files with extensions will not be added.
+     */
+    public abstract String[] getExcludeExtensions();
 
-	public abstract String[] getServerDirectories(IServer server);
+    public abstract String[] getServerDirectories(IServer server);
 
-	/**
-	 * Should files that don't have extensions be included?
-	 */
-	public abstract boolean isIncludeNoExtension();
+    /**
+     * Should files that don't have extensions be included?
+     */
+    public abstract boolean isIncludeNoExtension();
 
-	@Override
-	public Object getParent(Object element) {
-		if (element instanceof ServerFile) {
-			return ((ServerFile) element).getServer();
-		}
-		return null;
-	}
+    @Override
+    public Object getParent(Object element) {
+        if (element instanceof ServerFile) {
+            return ((ServerFile) element).getServer();
+        }
+        return null;
+    }
 
-	@Override
-	public boolean hasChildren(Object element) {
-		return element instanceof IServer && ServerProject.isVirgo((IServer) element);
-	}
+    @Override
+    public boolean hasChildren(Object element) {
+        return element instanceof IServer && ServerProject.isVirgo((IServer) element);
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFileLabelProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFileLabelProvider.java
index b4e8430..59ef575 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFileLabelProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFileLabelProvider.java
@@ -24,77 +24,78 @@
 import org.eclipse.virgo.ide.runtime.internal.ui.ServerUiImages;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public class ServerFileLabelProvider extends LabelProvider implements ILightweightLabelDecorator {
-	private static final String REMOVE_REGEXP = "org\\.eclipse\\.virgo\\.|\\.properties";
 
-	WorkbenchLabelProvider delegate = new WorkbenchLabelProvider();
+    private static final String REMOVE_REGEXP = "org\\.eclipse\\.virgo\\.|\\.properties";
 
-	/**
-	 * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
-	 */
-	@Override
-	public String getText(Object element) {
-		if (element instanceof IFile) {
-			IFile file = (IFile) element;
-			return file.getName().replaceAll(REMOVE_REGEXP, "");
-		}
-		if (element instanceof File) {
-			File file = (File) element;
-			return file.getName().replaceAll(REMOVE_REGEXP, "");
-		}
-		if (element instanceof ServerFileSelection) {
-			IFile workspaceFile = ((ServerFile) element).getFile();
-			String line = ((ServerFileSelection) element).getLine();
-			if (workspaceFile.getFileExtension() != null && workspaceFile.getFileExtension().equals("properties")) {
-				String workspaceName = workspaceFile.getName();
-				if (workspaceFile.getLocation().toPortableString().contains("repository")) {
-					line += " [User]";
-				}
-			}
-			return line;
-		}
-		if (element instanceof ServerFile) {
-			IFile workspaceFile = ((ServerFile) element).getFile();
-			String serverName = workspaceFile.getLocation().lastSegment();
-			if (workspaceFile.getFileExtension() != null && workspaceFile.getFileExtension().equals("properties")) {
-				if (workspaceFile.getLocation().toPortableString().contains("repository")) {
-					serverName += " [User]";
-				}
-			}
-			return serverName.replaceAll(REMOVE_REGEXP, "");
-		}
-		return delegate.getText(element);
-	}
+    WorkbenchLabelProvider delegate = new WorkbenchLabelProvider();
 
-	/**
-	 * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
-	 */
-	@Override
-	public Image getImage(Object element) {
-		if (element instanceof ServerFileSelection) {
-			return DebugPluginImages.getImage(IDebugUIConstants.IMG_OBJS_VARIABLE);
-		}
-		if (element instanceof ServerFile) {
-			return getImage(((ServerFile) element).getFile());
-		}
-		return delegate.getImage(element);
-	}
+    /**
+     * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
+     */
+    @Override
+    public String getText(Object element) {
+        if (element instanceof IFile) {
+            IFile file = (IFile) element;
+            return file.getName().replaceAll(REMOVE_REGEXP, "");
+        }
+        if (element instanceof File) {
+            File file = (File) element;
+            return file.getName().replaceAll(REMOVE_REGEXP, "");
+        }
+        if (element instanceof ServerFileSelection) {
+            IFile workspaceFile = ((ServerFile) element).getFile();
+            String line = ((ServerFileSelection) element).getLine();
+            if (workspaceFile.getFileExtension() != null && workspaceFile.getFileExtension().equals("properties")) {
+                workspaceFile.getName();
+                if (workspaceFile.getLocation().toPortableString().contains("repository")) {
+                    line += " [User]";
+                }
+            }
+            return line;
+        }
+        if (element instanceof ServerFile) {
+            IFile workspaceFile = ((ServerFile) element).getFile();
+            String serverName = workspaceFile.getLocation().lastSegment();
+            if (workspaceFile.getFileExtension() != null && workspaceFile.getFileExtension().equals("properties")) {
+                if (workspaceFile.getLocation().toPortableString().contains("repository")) {
+                    serverName += " [User]";
+                }
+            }
+            return serverName.replaceAll(REMOVE_REGEXP, "");
+        }
+        return this.delegate.getText(element);
+    }
 
-	public void decorate(Object element, IDecoration decoration) {
-		if (element instanceof ServerFile) {
-			ServerFile serverFile = (ServerFile) element;
-			String suffix = " [" + serverFile.getServer() + "] - " + serverFile.getFile().getLocation();
-			if (element instanceof ServerFileSelection) {
-				suffix += " #" + ((ServerFileSelection) element).getItem();
-			}
-			decoration.addSuffix(suffix);
-			if (!(element instanceof ServerFileSelection)) {
-				decoration.addOverlay(ServerUiImages.DESC_OBJ_VIRGO_OVER, IDecoration.TOP_LEFT);
-			}
-		}
-	}
+    /**
+     * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
+     */
+    @Override
+    public Image getImage(Object element) {
+        if (element instanceof ServerFileSelection) {
+            return DebugPluginImages.getImage(IDebugUIConstants.IMG_OBJS_VARIABLE);
+        }
+        if (element instanceof ServerFile) {
+            return getImage(((ServerFile) element).getFile());
+        }
+        return this.delegate.getImage(element);
+    }
+
+    public void decorate(Object element, IDecoration decoration) {
+        if (element instanceof ServerFile) {
+            ServerFile serverFile = (ServerFile) element;
+            String suffix = " [" + serverFile.getServer() + "] - " + serverFile.getFile().getLocation();
+            if (element instanceof ServerFileSelection) {
+                suffix += " #" + ((ServerFileSelection) element).getItem();
+            }
+            decoration.addSuffix(suffix);
+            if (!(element instanceof ServerFileSelection)) {
+                decoration.addOverlay(ServerUiImages.DESC_OBJ_VIRGO_OVER, IDecoration.TOP_LEFT);
+            }
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFileSelection.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFileSelection.java
index cf4c172..3b7ce4b 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFileSelection.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/ServerFileSelection.java
@@ -16,60 +16,61 @@
 import org.eclipse.wst.server.core.IServer;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public class ServerFileSelection extends ServerFile {
-	private final String line;
 
-	private final int offset;
+    private final String line;
 
-	private final int length;
+    private final int offset;
 
-	private final int item;
+    private final int length;
 
-	public ServerFileSelection(IServer server, IFile file, String line, int start, int end, int item) {
-		super(server, file);
-		this.line = line;
-		this.offset = start;
-		this.length = end;
-		this.item = item;
-	}
+    private final int item;
 
-	public String getLine() {
-		return line;
-	}
+    public ServerFileSelection(IServer server, IFile file, String line, int start, int end, int item) {
+        super(server, file);
+        this.line = line;
+        this.offset = start;
+        this.length = end;
+        this.item = item;
+    }
 
-	public int getOffset() {
-		return offset;
-	}
+    public String getLine() {
+        return this.line;
+    }
 
-	public int getLength() {
-		return length;
-	}
+    public int getOffset() {
+        return this.offset;
+    }
 
-	public int getItem() {
-		return item;
-	}
+    public int getLength() {
+        return this.length;
+    }
 
-	/**
-	 * @see java.lang.Object#hashCode()
-	 */
-	@Override
-	public int hashCode() {
-		return file.hashCode() + offset + 27103 * length;
-	}
+    public int getItem() {
+        return this.item;
+    }
 
-	/**
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	@Override
-	public boolean equals(Object arg) {
-		if (arg instanceof ServerFileSelection) {
-			ServerFileSelection other = (ServerFileSelection) arg;
-			return ObjectUtils.equals(file, other.file) && item == other.item;
-		}
-		return false;
-	}
+    /**
+     * @see java.lang.Object#hashCode()
+     */
+    @Override
+    public int hashCode() {
+        return this.file.hashCode() + this.offset + 27103 * this.length;
+    }
+
+    /**
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @Override
+    public boolean equals(Object arg) {
+        if (arg instanceof ServerFileSelection) {
+            ServerFileSelection other = (ServerFileSelection) arg;
+            return ObjectUtils.equals(this.file, other.file) && this.item == other.item;
+        }
+        return false;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/SimpleBundleLabelProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/SimpleBundleLabelProvider.java
index 2bee235..e70f916 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/SimpleBundleLabelProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/SimpleBundleLabelProvider.java
@@ -18,11 +18,11 @@
  */
 public class SimpleBundleLabelProvider extends RuntimeLabelProvider {
 
-	@Override
-	public String getText(Object element) {
-		if (element instanceof IServerProjectArtefact) {
-			return ((IServerProjectArtefact) element).getArtefact().getSignature();
-		}
-		return super.getText(element);
-	}
+    @Override
+    public String getText(Object element) {
+        if (element instanceof IServerProjectArtefact) {
+            return ((IServerProjectArtefact) element).getArtefact().getSignature();
+        }
+        return super.getText(element);
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/repository/RefreshBundleJob.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/repository/RefreshBundleJob.java
index 1b2076b..fc63abc 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/repository/RefreshBundleJob.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/repository/RefreshBundleJob.java
@@ -31,30 +31,30 @@
  * @author Leo Dos Santos
  */
 public class RefreshBundleJob implements IRunnableWithProgress {
-	private final IRuntime runtime;
 
-	RefreshBundleJob(IRuntime runtime) {
-		this.runtime = runtime;
-	}
+    private final IRuntime runtime;
 
-	public void run(final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
-		monitor.subTask(Messages.RepositoryBrowserEditorPage_RefreshingBundlesMessage);
-		if (RepositoryUtils.doesRuntimeSupportRepositories(runtime)) {
-			ServerCorePlugin.getArtefactRepositoryManager().refreshBundleRepository(runtime);
-		}
-		monitor.done();
-	}
+    RefreshBundleJob(IRuntime runtime) {
+        this.runtime = runtime;
+    }
 
-	public static void execute(Shell shell, IRuntime runtime) {
-		RefreshBundleJob job = new RefreshBundleJob(runtime);
-		try {
-			IRunnableContext context = new ProgressMonitorDialog(shell);
-			context.run(true, true, job);
-		} catch (InvocationTargetException e1) {
-			StatusManager.getManager().handle(
-					new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID,
-							"Åproblem occurred while updating repository", e1));
-		} catch (InterruptedException e) {
-		}
-	}
+    public void run(final IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+        monitor.subTask(Messages.RepositoryBrowserEditorPage_RefreshingBundlesMessage);
+        if (RepositoryUtils.doesRuntimeSupportRepositories(this.runtime)) {
+            ServerCorePlugin.getArtefactRepositoryManager().refreshBundleRepository(this.runtime);
+        }
+        monitor.done();
+    }
+
+    public static void execute(Shell shell, IRuntime runtime) {
+        RefreshBundleJob job = new RefreshBundleJob(runtime);
+        try {
+            IRunnableContext context = new ProgressMonitorDialog(shell);
+            context.run(true, true, job);
+        } catch (InvocationTargetException e1) {
+            StatusManager.getManager().handle(
+                new Status(IStatus.ERROR, ServerCorePlugin.PLUGIN_ID, "�problem occurred while updating repository", e1));
+        } catch (InterruptedException e) {
+        }
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/sorters/ArtefactSignatureSorter.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/sorters/ArtefactSignatureSorter.java
index 8528486..9770c6d 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/sorters/ArtefactSignatureSorter.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/sorters/ArtefactSignatureSorter.java
@@ -17,26 +17,26 @@
 import org.eclipse.virgo.ide.runtime.internal.ui.projects.ProjectBundleRoot;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public class ArtefactSignatureSorter extends ViewerSorter {
-	@Override
-	public int category(Object element) {
-		return 0;
-	}
 
-	@Override
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		if (e1 instanceof ProjectBundleRoot && e2 instanceof ProjectBundleRoot) {
-			return compare(viewer, ((ProjectBundleRoot) e1).getArtefact(),
-					((ProjectBundleRoot) e2).getArtefact());
-		}
-		if (e1 instanceof Artefact && e2 instanceof Artefact) {
-			return ((Artefact) e1).getSignature().compareTo(((Artefact) e2).getSignature());
-		}
-		return super.compare(viewer, e1, e2);
-	}
+    @Override
+    public int category(Object element) {
+        return 0;
+    }
+
+    @Override
+    public int compare(Viewer viewer, Object e1, Object e2) {
+        if (e1 instanceof ProjectBundleRoot && e2 instanceof ProjectBundleRoot) {
+            return compare(viewer, ((ProjectBundleRoot) e1).getArtefact(), ((ProjectBundleRoot) e2).getArtefact());
+        }
+        if (e1 instanceof Artefact && e2 instanceof Artefact) {
+            return ((Artefact) e1).getSignature().compareTo(((Artefact) e2).getSignature());
+        }
+        return super.compare(viewer, e1, e2);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/sorters/RepositoryViewerSorter.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/sorters/RepositoryViewerSorter.java
index 18555ea..fa3e60b 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/sorters/RepositoryViewerSorter.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/sorters/RepositoryViewerSorter.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.internal.ui.sorters;
 
 import org.eclipse.jface.viewers.Viewer;
@@ -22,28 +23,28 @@
  */
 public class RepositoryViewerSorter extends ArtefactSignatureSorter {
 
-	@Override
-	public int category(Object element) {
-		int category = 0;
-		if (element instanceof IArtefactTyped) {
-			IArtefactTyped typed = (IArtefactTyped) element;
-			category = typed.getArtefactType().getOrdering();
-		}
-		if (element instanceof ArtefactSet) {
-			category += 10;
-		}
-		if (category > 0) {
-			return category;
-		}
-		return super.category(element);
-	}
+    @Override
+    public int category(Object element) {
+        int category = 0;
+        if (element instanceof IArtefactTyped) {
+            IArtefactTyped typed = (IArtefactTyped) element;
+            category = typed.getArtefactType().getOrdering();
+        }
+        if (element instanceof ArtefactSet) {
+            category += 10;
+        }
+        if (category > 0) {
+            return category;
+        }
+        return super.category(element);
+    }
 
-	@Override
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		if (e1 instanceof LocalArtefactSet && e2 instanceof LocalArtefactSet) {
-			return ((ILocalEntity) e1).getFile().compareTo(((ILocalEntity) e2).getFile());
-		}
-		return super.compare(viewer, e1, e2);
-	}
+    @Override
+    public int compare(Viewer viewer, Object e1, Object e2) {
+        if (e1 instanceof LocalArtefactSet && e2 instanceof LocalArtefactSet) {
+            return ((ILocalEntity) e1).getFile().compareTo(((ILocalEntity) e2).getFile());
+        }
+        return super.compare(viewer, e1, e2);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/ServerEditorPageContentProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/ServerEditorPageContentProvider.java
index aff3956..e2d94a4 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/ServerEditorPageContentProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/ServerEditorPageContentProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.runtime.ui;
 
 import java.lang.reflect.Method;
@@ -21,88 +22,88 @@
 
 /**
  * Generic support for server pages. Should work with all WTP servers.
- * 
+ *
  * @author Miles Parker
  */
 @SuppressWarnings("restriction")
 public class ServerEditorPageContentProvider implements ITreeContentProvider {
 
-	private IEditorPart[] pageParts;
+    private IEditorPart[] pageParts;
 
-	private ServerEditor editor;
+    private ServerEditor editor;
 
-	public ServerEditorPageContentProvider() {
-	}
+    public ServerEditorPageContentProvider() {
+    }
 
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-		if (newInput instanceof ServerEditor) {
-			editor = (ServerEditor) newInput;
-			pageParts = new IEditorPart[getPageCount()];
-			for (int i = 0; i < pageParts.length; i++) {
-				pageParts[i] = getEditor(i);
-			}
-		}
-	}
+    public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+        if (newInput instanceof ServerEditor) {
+            this.editor = (ServerEditor) newInput;
+            this.pageParts = new IEditorPart[getPageCount()];
+            for (int i = 0; i < this.pageParts.length; i++) {
+                this.pageParts[i] = getEditor(i);
+            }
+        }
+    }
 
-	public void dispose() {
-	}
+    public void dispose() {
+    }
 
-	public boolean hasChildren(Object element) {
-		return element == editor && pageParts.length > 0;
-	}
+    public boolean hasChildren(Object element) {
+        return element == this.editor && this.pageParts.length > 0;
+    }
 
-	public Object getParent(Object element) {
-		for (IEditorPart part : pageParts) {
-			if (part == element) {
-				return editor;
-			}
-		}
-		return null;
-	}
+    public Object getParent(Object element) {
+        for (IEditorPart part : this.pageParts) {
+            if (part == element) {
+                return this.editor;
+            }
+        }
+        return null;
+    }
 
-	public Object[] getElements(Object inputElement) {
-		if (inputElement == editor) {
-			return pageParts;
-		}
-		return new Object[0];
-	}
+    public Object[] getElements(Object inputElement) {
+        if (inputElement == this.editor) {
+            return this.pageParts;
+        }
+        return new Object[0];
+    }
 
-	public Object[] getChildren(Object parentElement) {
-		if (parentElement == editor) {
-			return pageParts;
-		}
-		return new Object[0];
-	}
+    public Object[] getChildren(Object parentElement) {
+        if (parentElement == this.editor) {
+            return this.pageParts;
+        }
+        return new Object[0];
+    }
 
-	public void removeListener(ILabelProviderListener listener) {
-	}
+    public void removeListener(ILabelProviderListener listener) {
+    }
 
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
+    public boolean isLabelProperty(Object element, String property) {
+        return false;
+    }
 
-	public void addListener(ILabelProviderListener listener) {
-	}
+    public void addListener(ILabelProviderListener listener) {
+    }
 
-	private IEditorPart getEditor(int index) {
-		try {
-			Method method = MultiPageEditorPart.class.getDeclaredMethod("getEditor", new Class[] { Integer.TYPE });
-			method.setAccessible(true);
-			Object result = method.invoke(editor, new Object[] { index });
-			return (IEditorPart) result;
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		}
-	}
+    private IEditorPart getEditor(int index) {
+        try {
+            Method method = MultiPageEditorPart.class.getDeclaredMethod("getEditor", new Class[] { Integer.TYPE });
+            method.setAccessible(true);
+            Object result = method.invoke(this.editor, new Object[] { index });
+            return (IEditorPart) result;
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
 
-	private int getPageCount() {
-		try {
-			Method method = MultiPageEditorPart.class.getDeclaredMethod("getPageCount", new Class[] {});
-			method.setAccessible(true);
-			Object result = method.invoke(editor, new Object[] {});
-			return (Integer) result;
-		} catch (Exception e) {
-			throw new RuntimeException(e);
-		}
-	}
+    private int getPageCount() {
+        try {
+            Method method = MultiPageEditorPart.class.getDeclaredMethod("getPageCount", new Class[] {});
+            method.setAccessible(true);
+            Object result = method.invoke(this.editor, new Object[] {});
+            return (Integer) result;
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/ServerEditorPageLabelProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/ServerEditorPageLabelProvider.java
index a1746ed..f0f8ef4 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/ServerEditorPageLabelProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/ServerEditorPageLabelProvider.java
@@ -23,42 +23,42 @@
  */
 public class ServerEditorPageLabelProvider implements ILabelProvider {
 
-	public String getText(Object element) {
-		if (element instanceof IEditorPart) {
-			return ((IEditorPart) element).getTitle();
-		}
-		return null;
-	}
+    public String getText(Object element) {
+        if (element instanceof IEditorPart) {
+            return ((IEditorPart) element).getTitle();
+        }
+        return null;
+    }
 
-	public Image getImage(Object element) {
-		if (element instanceof IEditorPart) {
-			return PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_PAGE_OBJ);
-		}
-		return null;
-	}
+    public Image getImage(Object element) {
+        if (element instanceof IEditorPart) {
+            return PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_PAGE_OBJ);
+        }
+        return null;
+    }
 
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void addListener(ILabelProviderListener listener) {
-	}
+    /**
+     * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
+     */
+    public void addListener(ILabelProviderListener listener) {
+    }
 
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
-	 */
-	public void dispose() {
-	}
+    /**
+     * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
+     */
+    public void dispose() {
+    }
 
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
-	 */
-	public boolean isLabelProperty(Object element, String property) {
-		return false;
-	}
+    /**
+     * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
+     */
+    public boolean isLabelProperty(Object element, String property) {
+        return false;
+    }
 
-	/**
-	 * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
-	 */
-	public void removeListener(ILabelProviderListener listener) {
-	}
+    /**
+     * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
+     */
+    public void removeListener(ILabelProviderListener listener) {
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/ArtefactCommonView.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/ArtefactCommonView.java
index 36d0b17..19e242b 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/ArtefactCommonView.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/ArtefactCommonView.java
@@ -26,75 +26,76 @@
 import org.eclipse.wst.server.core.IServer;
 
 /**
- * 
+ *
  * @see org.eclipse.pde.internal.ui.views.dependencies.DependenciesView
  * @author Miles Parker
- * 
+ *
  */
 @SuppressWarnings("restriction")
 public class ArtefactCommonView extends CommonView {
 
-	private static final String FILTER_ACTION_GROUP = "filters";
+    private static final String FILTER_ACTION_GROUP = "filters";
 
-	private IBundleRepositoryChangeListener repositoryListener;
+    private IBundleRepositoryChangeListener repositoryListener;
 
-	/**
-	 * @see org.eclipse.ui.navigator.CommonNavigator#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	@Override
-	public void createPartControl(Composite aParent) {
+    /**
+     * @see org.eclipse.ui.navigator.CommonNavigator#createPartControl(org.eclipse.swt.widgets.Composite)
+     */
+    @Override
+    public void createPartControl(Composite aParent) {
 
-		super.createPartControl(aParent);
-		IActionBars actionBars = getViewSite().getActionBars();
-		IToolBarManager manager = actionBars.getToolBarManager();
+        super.createPartControl(aParent);
+        IActionBars actionBars = getViewSite().getActionBars();
+        IToolBarManager manager = actionBars.getToolBarManager();
 
-		manager.add(new Separator(FILTER_ACTION_GROUP));
-		FilterAction[] filterActions = FilterAction.createSet(this);
-		for (FilterAction action : filterActions) {
-			manager.appendToGroup(FILTER_ACTION_GROUP, action);
-		}
+        manager.add(new Separator(FILTER_ACTION_GROUP));
+        FilterAction[] filterActions = FilterAction.createSet(this);
+        for (FilterAction action : filterActions) {
+            manager.appendToGroup(FILTER_ACTION_GROUP, action);
+        }
 
-		repositoryListener = new IBundleRepositoryChangeListener() {
-			public void bundleRepositoryChanged(IRuntime runtime) {
-				refreshView();
-			}
-		};
-		ServerCorePlugin.getArtefactRepositoryManager().addBundleRepositoryChangeListener(repositoryListener);
-	}
+        this.repositoryListener = new IBundleRepositoryChangeListener() {
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#refreshAll()
-	 */
-	@Override
-	protected void refreshAll() {
-		for (IServer server : getServers()) {
-			RefreshBundleJob.execute(getSite().getShell(), server.getRuntime());
-			ServerProjectManager.getInstance().getProject(server).refresh();
-		}
-		super.refreshAll();
-	}
+            public void bundleRepositoryChanged(IRuntime runtime) {
+                refreshView();
+            }
+        };
+        ServerCorePlugin.getArtefactRepositoryManager().addBundleRepositoryChangeListener(this.repositoryListener);
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getListContentId()
-	 */
-	@Override
-	protected String getListContentId() {
-		return ServerUiPlugin.RUNTIME_FLATTENED_ARTEFACTS_CONTENT_ID;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#refreshAll()
+     */
+    @Override
+    protected void refreshAll() {
+        for (IServer server : getServers()) {
+            RefreshBundleJob.execute(getSite().getShell(), server.getRuntime());
+            ServerProjectManager.getInstance().getProject(server).refresh();
+        }
+        super.refreshAll();
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getTreeContentId()
-	 */
-	@Override
-	protected String getTreeContentId() {
-		return ServerUiPlugin.RUNTIME_ARTEFACTS_CONTENT_ID;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getListContentId()
+     */
+    @Override
+    protected String getListContentId() {
+        return ServerUiPlugin.RUNTIME_FLATTENED_ARTEFACTS_CONTENT_ID;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getViewId()
-	 */
-	@Override
-	protected String getViewId() {
-		return ServerUiPlugin.ARTEFACTS_DETAIL_VIEW_ID;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getTreeContentId()
+     */
+    @Override
+    protected String getTreeContentId() {
+        return ServerUiPlugin.RUNTIME_ARTEFACTS_CONTENT_ID;
+    }
+
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getViewId()
+     */
+    @Override
+    protected String getViewId() {
+        return ServerUiPlugin.ARTEFACTS_DETAIL_VIEW_ID;
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/CommonView.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/CommonView.java
index 8861d3d..99c58fe 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/CommonView.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/CommonView.java
@@ -53,353 +53,354 @@
 import org.eclipse.wst.server.ui.internal.editor.ServerEditor;
 
 /**
- * 
+ *
  * @author Miles Parker
- * 
+ *
  */
 public abstract class CommonView extends CommonNavigator implements ISelectionListener {
 
-	public static final String SHOW_VIEW_LIST = "showViewList";
+    public static final String SHOW_VIEW_LIST = "showViewList";
 
-	private static final String TREE_ACTION_GROUP = "tree";
+    private static final String TREE_ACTION_GROUP = "tree";
 
-	protected IWorkbenchPart currentPart;
+    protected IWorkbenchPart currentPart;
 
-	protected final ILabelProvider titleLabelProvider = new RuntimeFullLabelProvider();
+    protected final ILabelProvider titleLabelProvider = new RuntimeFullLabelProvider();
 
-	RuntimeContainersContentProvider containerProvider = new RuntimeContainersContentProvider();
+    RuntimeContainersContentProvider containerProvider = new RuntimeContainersContentProvider();
 
-	private List<IServer> servers = Collections.EMPTY_LIST;
+    private List<IServer> servers = Collections.EMPTY_LIST;
 
-	private static final String REFRESH_ACTION_GROUP = "refresh";
+    private static final String REFRESH_ACTION_GROUP = "refresh";
 
-	private RefreshArtefactsAction refreshAction;
+    private RefreshArtefactsAction refreshAction;
 
-	private boolean showList;
+    private boolean showList;
 
-	/**
-	 * This is a bit of a hack to determine the last view that was activated by the user in order to determine a
-	 * sensible input for any newly activated views.
-	 */
-	private IWorkbenchPart lastPartHint;
+    /**
+     * This is a bit of a hack to determine the last view that was activated by the user in order to determine a
+     * sensible input for any newly activated views.
+     */
+    private IWorkbenchPart lastPartHint;
 
-	class ShowListAction extends Action {
-		public ShowListAction() {
-			super("", AS_RADIO_BUTTON); //$NON-NLS-1$
-			setText(PDEUIMessages.DependenciesView_ShowListAction_label);
-			setDescription(PDEUIMessages.DependenciesView_ShowListAction_description);
-			setToolTipText(PDEUIMessages.DependenciesView_ShowListAction_tooltip);
-			setImageDescriptor(PDEPluginImages.DESC_FLAT_LAYOUT);
-			setDisabledImageDescriptor(PDEPluginImages.DESC_FLAT_LAYOUT_DISABLED);
-		}
+    class ShowListAction extends Action {
 
-		/*
-		 * @see Action#actionPerformed
-		 */
-		@Override
-		public void run() {
-			if (isChecked()) {
-				if (memento != null) {
-					memento.putBoolean(SHOW_VIEW_LIST, true);
-				}
-				showList = true;
-				updateActivations();
-			}
-		}
-	}
+        public ShowListAction() {
+            super("", AS_RADIO_BUTTON); //$NON-NLS-1$
+            setText(PDEUIMessages.DependenciesView_ShowListAction_label);
+            setDescription(PDEUIMessages.DependenciesView_ShowListAction_description);
+            setToolTipText(PDEUIMessages.DependenciesView_ShowListAction_tooltip);
+            setImageDescriptor(PDEPluginImages.DESC_FLAT_LAYOUT);
+            setDisabledImageDescriptor(PDEPluginImages.DESC_FLAT_LAYOUT_DISABLED);
+        }
 
-	class ShowTreeAction extends Action {
+        /*
+         * @see Action#actionPerformed
+         */
+        @Override
+        public void run() {
+            if (isChecked()) {
+                if (CommonView.this.memento != null) {
+                    CommonView.this.memento.putBoolean(SHOW_VIEW_LIST, true);
+                }
+                CommonView.this.showList = true;
+                updateActivations();
+            }
+        }
+    }
 
-		public ShowTreeAction() {
-			super("", AS_RADIO_BUTTON); //$NON-NLS-1$
-			setText(PDEUIMessages.DependenciesView_ShowTreeAction_label);
-			setDescription(PDEUIMessages.DependenciesView_ShowTreeAction_description);
-			setToolTipText(PDEUIMessages.DependenciesView_ShowTreeAction_tooltip);
-			setImageDescriptor(PDEPluginImages.DESC_HIERARCHICAL_LAYOUT);
-			setDisabledImageDescriptor(PDEPluginImages.DESC_HIERARCHICAL_LAYOUT_DISABLED);
-		}
+    class ShowTreeAction extends Action {
 
-		/*
-		 * @see Action#actionPerformed
-		 */
-		@Override
-		public void run() {
-			if (isChecked()) {
-				if (memento != null) {
-					memento.putBoolean(SHOW_VIEW_LIST, false);
-				}
-				showList = false;
-				updateActivations();
-			}
-		}
-	}
+        public ShowTreeAction() {
+            super("", AS_RADIO_BUTTON); //$NON-NLS-1$
+            setText(PDEUIMessages.DependenciesView_ShowTreeAction_label);
+            setDescription(PDEUIMessages.DependenciesView_ShowTreeAction_description);
+            setToolTipText(PDEUIMessages.DependenciesView_ShowTreeAction_tooltip);
+            setImageDescriptor(PDEPluginImages.DESC_HIERARCHICAL_LAYOUT);
+            setDisabledImageDescriptor(PDEPluginImages.DESC_HIERARCHICAL_LAYOUT_DISABLED);
+        }
 
-	class RefreshArtefactsAction extends Action {
+        /*
+         * @see Action#actionPerformed
+         */
+        @Override
+        public void run() {
+            if (isChecked()) {
+                if (CommonView.this.memento != null) {
+                    CommonView.this.memento.putBoolean(SHOW_VIEW_LIST, false);
+                }
+                CommonView.this.showList = false;
+                updateActivations();
+            }
+        }
+    }
 
-		public RefreshArtefactsAction() {
-			super("", AS_PUSH_BUTTON); //$NON-NLS-1$
-			setText(Messages.RepositoryBrowserEditorPage_Refresh);
-			setDescription(Messages.RepositoryBrowserEditorPage_RefreshMessage);
-			setToolTipText(Messages.RepositoryBrowserEditorPage_RefreshMessage);
-			setImageDescriptor(PDEPluginImages.DESC_REFRESH);
-			setDisabledImageDescriptor(PDEPluginImages.DESC_REFRESH_DISABLED);
-		}
+    class RefreshArtefactsAction extends Action {
 
-		/*
-		 * @see Action#actionPerformed
-		 */
-		@Override
-		public void run() {
-			refreshAll();
-		}
-	}
+        public RefreshArtefactsAction() {
+            super("", AS_PUSH_BUTTON); //$NON-NLS-1$
+            setText(Messages.RepositoryBrowserEditorPage_Refresh);
+            setDescription(Messages.RepositoryBrowserEditorPage_RefreshMessage);
+            setToolTipText(Messages.RepositoryBrowserEditorPage_RefreshMessage);
+            setImageDescriptor(PDEPluginImages.DESC_REFRESH);
+            setDisabledImageDescriptor(PDEPluginImages.DESC_REFRESH_DISABLED);
+        }
 
-	@Override
-	protected CommonViewer createCommonViewerObject(Composite aParent) {
-		return new CommonViewer(getViewId(), aParent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-	}
+        /*
+         * @see Action#actionPerformed
+         */
+        @Override
+        public void run() {
+            refreshAll();
+        }
+    }
 
-	protected void refreshView() {
-		Display.getDefault().asyncExec(new Runnable() {
-			public void run() {
-				ISelection selection = getCommonViewer().getSelection();
-				getCommonViewer().setInput(getCommonViewer().getInput());
-				getCommonViewer().setSelection(selection, true);
-			}
-		});
-	}
+    @Override
+    protected CommonViewer createCommonViewerObject(Composite aParent) {
+        return new CommonViewer(getViewId(), aParent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
+    }
 
-	/**
-	 * @see org.eclipse.ui.navigator.CommonNavigator#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	@Override
-	public void createPartControl(Composite aParent) {
-		for (IViewReference viewReference : getViewSite().getPage().getViewReferences()) {
-			IWorkbenchPart part = viewReference.getPart(false);
-			if (part instanceof ServersView2 && part != this) {
-				lastPartHint = part;
-				break;
-			}
-		}
-		if (lastPartHint == null) {
-			IEditorPart editor = getViewSite().getPage().getActiveEditor();
-			if (editor instanceof ServerEditor) {
-				lastPartHint = editor;
-			}
-		}
+    protected void refreshView() {
+        Display.getDefault().asyncExec(new Runnable() {
 
-		IActionBars actionBars = getViewSite().getActionBars();
-		IToolBarManager manager = actionBars.getToolBarManager();
+            public void run() {
+                ISelection selection = getCommonViewer().getSelection();
+                getCommonViewer().setInput(getCommonViewer().getInput());
+                getCommonViewer().setSelection(selection, true);
+            }
+        });
+    }
 
-		if (isSupportsListTree()) {
-			showList = false;
-			if (getMemento() != null) {
-				Boolean value = getMemento().getBoolean(SHOW_VIEW_LIST);
-				if (value != null) {
-					showList = value;
-				}
-			}
-			ShowTreeAction showTreeAction = new ShowTreeAction();
-			showTreeAction.setChecked(!showList);
-			ShowListAction showListAction = new ShowListAction();
-			showListAction.setChecked(showList);
-			manager.add(new Separator(TREE_ACTION_GROUP));
-			manager.add(new Separator("presentation")); //$NON-NLS-1$
-			manager.appendToGroup("presentation", showTreeAction); //$NON-NLS-1$
-			manager.appendToGroup("presentation", showListAction); //$NON-NLS-1$
-		}
+    /**
+     * @see org.eclipse.ui.navigator.CommonNavigator#createPartControl(org.eclipse.swt.widgets.Composite)
+     */
+    @Override
+    public void createPartControl(Composite aParent) {
+        for (IViewReference viewReference : getViewSite().getPage().getViewReferences()) {
+            IWorkbenchPart part = viewReference.getPart(false);
+            if (part instanceof ServersView2 && part != this) {
+                this.lastPartHint = part;
+                break;
+            }
+        }
+        if (this.lastPartHint == null) {
+            IEditorPart editor = getViewSite().getPage().getActiveEditor();
+            if (editor instanceof ServerEditor) {
+                this.lastPartHint = editor;
+            }
+        }
 
-		super.createPartControl(aParent);
+        IActionBars actionBars = getViewSite().getActionBars();
+        IToolBarManager manager = actionBars.getToolBarManager();
 
-		manager.add(new Separator(REFRESH_ACTION_GROUP));
-		refreshAction = new RefreshArtefactsAction();
-		refreshAction.setEnabled(false);
-		manager.appendToGroup(REFRESH_ACTION_GROUP, refreshAction);
+        if (isSupportsListTree()) {
+            this.showList = false;
+            if (getMemento() != null) {
+                Boolean value = getMemento().getBoolean(SHOW_VIEW_LIST);
+                if (value != null) {
+                    this.showList = value;
+                }
+            }
+            ShowTreeAction showTreeAction = new ShowTreeAction();
+            showTreeAction.setChecked(!this.showList);
+            ShowListAction showListAction = new ShowListAction();
+            showListAction.setChecked(this.showList);
+            manager.add(new Separator(TREE_ACTION_GROUP));
+            manager.add(new Separator("presentation")); //$NON-NLS-1$
+            manager.appendToGroup("presentation", showTreeAction); //$NON-NLS-1$
+            manager.appendToGroup("presentation", showListAction); //$NON-NLS-1$
+        }
 
-		getCommonViewer().addDoubleClickListener(new IDoubleClickListener() {
+        super.createPartControl(aParent);
 
-			public void doubleClick(DoubleClickEvent event) {
-				if (event.getSelection() instanceof StructuredSelection) {
-					final StructuredSelection sel = (StructuredSelection) event.getSelection();
-					OpenServerProjectFileAction fileAction = new OpenServerProjectFileAction(getSite().getPage()) {
-						@Override
-						public org.eclipse.jface.viewers.IStructuredSelection getStructuredSelection() {
-							return sel;
-						}
-					};
-					if (fileAction.updateSelection(sel)) {
-						fileAction.run();
-					}
-				}
-			}
-		});
-		updateActivations();
+        manager.add(new Separator(REFRESH_ACTION_GROUP));
+        this.refreshAction = new RefreshArtefactsAction();
+        this.refreshAction.setEnabled(false);
+        manager.appendToGroup(REFRESH_ACTION_GROUP, this.refreshAction);
 
-		getViewSite().getPage().addPartListener(new IPartListener() {
+        getCommonViewer().addDoubleClickListener(new IDoubleClickListener() {
 
-			public void partOpened(IWorkbenchPart part) {
-			}
+            public void doubleClick(DoubleClickEvent event) {
+                if (event.getSelection() instanceof StructuredSelection) {
+                    final StructuredSelection sel = (StructuredSelection) event.getSelection();
+                    OpenServerProjectFileAction fileAction = new OpenServerProjectFileAction(getSite().getPage()) {
 
-			public void partDeactivated(IWorkbenchPart part) {
-			}
+                        @Override
+                        public org.eclipse.jface.viewers.IStructuredSelection getStructuredSelection() {
+                            return sel;
+                        }
+                    };
+                    if (fileAction.updateSelection(sel)) {
+                        fileAction.run();
+                    }
+                }
+            }
+        });
+        updateActivations();
 
-			public void partClosed(IWorkbenchPart part) {
-			}
+        getViewSite().getPage().addPartListener(new IPartListener() {
 
-			public void partBroughtToTop(IWorkbenchPart part) {
-			}
+            public void partOpened(IWorkbenchPart part) {
+            }
 
-			public void partActivated(IWorkbenchPart part) {
-				if (part == CommonView.this) {
-					activated();
-				}
-			}
-		});
+            public void partDeactivated(IWorkbenchPart part) {
+            }
 
-		activated();
-	}
+            public void partClosed(IWorkbenchPart part) {
+            }
 
-	protected void updateContentDescription() {
-		String title = "(No Selection)";
-		Object input = getCommonViewer().getInput();
-		if (input != null && !servers.isEmpty()) {
-			title = titleLabelProvider.getText(input);
-		}
-		setContentDescription(title);
-	}
+            public void partBroughtToTop(IWorkbenchPart part) {
+            }
 
-	/* (non-Javadoc)
-	 * Method declared on ISelectionListener.
-	 * Notify the current page that the selection has changed.
-	 */
-	public void selectionChanged(IWorkbenchPart part, ISelection sel) {
-		List<IServer> lastServers = servers;
-		if (part instanceof ServersView2 && part != this) {
-			if (sel instanceof StructuredSelection) {
-				lastPartHint = part;
-				Iterator<Object> items = ((StructuredSelection) sel).iterator();
-				servers = new ArrayList<IServer>();
-				while (items.hasNext()) {
-					Object next = items.next();
-					if (next instanceof IServer) {
-						IServer server = (IServer) next;
-						if (ServerProject.isVirgo(server)) {
-							servers.add(server);
-						}
-					}
-				}
-				if (!servers.equals(lastServers)) {
-					update();
-				}
-			}
-		} else if (part instanceof IEditorPart) {
-			IServer virgoServer = VirgoEditorAdapterFactory.getVirgoServer((IEditorPart) part);
-			if (virgoServer != null) {
-				servers = Collections.singletonList(virgoServer);
-				lastPartHint = part;
-				if (!servers.equals(lastServers)) {
-					update();
-				}
-			}
-		}
-		updateContentDescription();
-		refreshAction.setEnabled(!servers.isEmpty());
-	}
+            public void partActivated(IWorkbenchPart part) {
+                if (part == CommonView.this) {
+                    activated();
+                }
+            }
+        });
 
-	protected void update() {
-		getCommonViewer().setInput(servers);
-		refreshAction.setEnabled(!getServers().isEmpty());
-		getCommonViewer().refresh();
-	}
+        activated();
+    }
 
-	/**
-	 * @see org.eclipse.ui.navigator.CommonNavigator#saveState(org.eclipse.ui.IMemento)
-	 */
-	@Override
-	public void saveState(IMemento aMemento) {
-		super.saveState(aMemento);
-		if (isSupportsListTree()) {
-			aMemento.putBoolean(SHOW_VIEW_LIST, showList);
-		}
-	}
+    protected void updateContentDescription() {
+        String title = "(No Selection)";
+        Object input = getCommonViewer().getInput();
+        if (input != null && !this.servers.isEmpty()) {
+            title = this.titleLabelProvider.getText(input);
+        }
+        setContentDescription(title);
+    }
 
-	/**
-	 * @see org.eclipse.ui.navigator.CommonNavigator#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento)
-	 */
-	@Override
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		site.getPage().addPostSelectionListener(this);
-		super.init(site, memento);
-	}
+    /*
+     * (non-Javadoc) Method declared on ISelectionListener. Notify the current page that the selection has changed.
+     */
+    public void selectionChanged(IWorkbenchPart part, ISelection sel) {
+        List<IServer> lastServers = this.servers;
+        if (part instanceof ServersView2 && part != this) {
+            if (sel instanceof StructuredSelection) {
+                this.lastPartHint = part;
+                Iterator<Object> items = ((StructuredSelection) sel).iterator();
+                this.servers = new ArrayList<IServer>();
+                while (items.hasNext()) {
+                    Object next = items.next();
+                    if (next instanceof IServer) {
+                        IServer server = (IServer) next;
+                        if (ServerProject.isVirgo(server)) {
+                            this.servers.add(server);
+                        }
+                    }
+                }
+                if (!this.servers.equals(lastServers)) {
+                    update();
+                }
+            }
+        } else if (part instanceof IEditorPart) {
+            IServer virgoServer = VirgoEditorAdapterFactory.getVirgoServer((IEditorPart) part);
+            if (virgoServer != null) {
+                this.servers = Collections.singletonList(virgoServer);
+                this.lastPartHint = part;
+                if (!this.servers.equals(lastServers)) {
+                    update();
+                }
+            }
+        }
+        updateContentDescription();
+        this.refreshAction.setEnabled(!this.servers.isEmpty());
+    }
 
-	/* (non-Javadoc)
-	 * Method declared on IWorkbenchPart.
-	 */
-	@Override
-	public void dispose() {
-		super.dispose();
-		getSite().getPage().removePostSelectionListener(this);
-		currentPart = null;
-		lastPartHint = null;
-	}
+    protected void update() {
+        getCommonViewer().setInput(this.servers);
+        this.refreshAction.setEnabled(!getServers().isEmpty());
+        getCommonViewer().refresh();
+    }
 
-	public List<IServer> getServers() {
-		return servers;
-	}
+    /**
+     * @see org.eclipse.ui.navigator.CommonNavigator#saveState(org.eclipse.ui.IMemento)
+     */
+    @Override
+    public void saveState(IMemento aMemento) {
+        super.saveState(aMemento);
+        if (isSupportsListTree()) {
+            aMemento.putBoolean(SHOW_VIEW_LIST, this.showList);
+        }
+    }
 
-	protected void refreshAll() {
-		for (IServer server : getServers()) {
-			ServerProject project = ServerProjectManager.getInstance().getProject(server);
-			if (project != null) {
-				project.refreshDirectories();
-			}
-		}
-		refreshView();
-	}
+    /**
+     * @see org.eclipse.ui.navigator.CommonNavigator#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento)
+     */
+    @Override
+    public void init(IViewSite site, IMemento memento) throws PartInitException {
+        site.getPage().addPostSelectionListener(this);
+        super.init(site, memento);
+    }
 
-	public boolean isShowList() {
-		return isSupportsListTree() && showList;
-	}
+    /*
+     * (non-Javadoc) Method declared on IWorkbenchPart.
+     */
+    @Override
+    public void dispose() {
+        super.dispose();
+        getSite().getPage().removePostSelectionListener(this);
+        this.currentPart = null;
+        this.lastPartHint = null;
+    }
 
-	protected abstract String getTreeContentId();
+    public List<IServer> getServers() {
+        return this.servers;
+    }
 
-	/**
-	 * May return null in which case we won't show list.
-	 */
-	protected String getListContentId() {
-		return null;
-	}
+    protected void refreshAll() {
+        for (IServer server : getServers()) {
+            ServerProject project = ServerProjectManager.getInstance().getProject(server);
+            if (project != null) {
+                project.refreshDirectories();
+            }
+        }
+        refreshView();
+    }
 
-	protected abstract String getViewId();
+    public boolean isShowList() {
+        return isSupportsListTree() && this.showList;
+    }
 
-	protected final boolean isSupportsListTree() {
-		return getListContentId() != null;
-	}
+    protected abstract String getTreeContentId();
 
-	protected void updateActivations() {
-		INavigatorActivationService activationService = getCommonViewer().getNavigatorContentService()
-				.getActivationService();
-		if (!isSupportsListTree()) {
-			activationService.activateExtensions(new String[] { getTreeContentId() }, false);
-		} else {
-			if (isShowList()) {
-				activationService.deactivateExtensions(new String[] { getTreeContentId() }, false);
-				activationService.activateExtensions(new String[] { getListContentId() }, false);
-			} else {
-				activationService.deactivateExtensions(new String[] { getListContentId() }, false);
-				activationService.activateExtensions(new String[] { getTreeContentId() }, false);
-			}
-		}
-	}
+    /**
+     * May return null in which case we won't show list.
+     */
+    protected String getListContentId() {
+        return null;
+    }
 
-	protected void activated() {
-		if (lastPartHint instanceof ServersView2) {
-			selectionChanged(lastPartHint, ((ServersView2) lastPartHint).getCommonViewer().getSelection());
-		} else if (lastPartHint instanceof IEditorPart) {
-			IServer virgoServer = VirgoEditorAdapterFactory.getVirgoServer((IEditorPart) lastPartHint);
-			if (virgoServer != null) {
-				selectionChanged(lastPartHint, StructuredSelection.EMPTY);
-			}
-		}
-	}
+    protected abstract String getViewId();
+
+    protected final boolean isSupportsListTree() {
+        return getListContentId() != null;
+    }
+
+    protected void updateActivations() {
+        INavigatorActivationService activationService = getCommonViewer().getNavigatorContentService().getActivationService();
+        if (!isSupportsListTree()) {
+            activationService.activateExtensions(new String[] { getTreeContentId() }, false);
+        } else {
+            if (isShowList()) {
+                activationService.deactivateExtensions(new String[] { getTreeContentId() }, false);
+                activationService.activateExtensions(new String[] { getListContentId() }, false);
+            } else {
+                activationService.deactivateExtensions(new String[] { getListContentId() }, false);
+                activationService.activateExtensions(new String[] { getTreeContentId() }, false);
+            }
+        }
+    }
+
+    protected void activated() {
+        if (this.lastPartHint instanceof ServersView2) {
+            selectionChanged(this.lastPartHint, ((ServersView2) this.lastPartHint).getCommonViewer().getSelection());
+        } else if (this.lastPartHint instanceof IEditorPart) {
+            IServer virgoServer = VirgoEditorAdapterFactory.getVirgoServer((IEditorPart) this.lastPartHint);
+            if (virgoServer != null) {
+                selectionChanged(this.lastPartHint, StructuredSelection.EMPTY);
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/LogFileCommonView.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/LogFileCommonView.java
index 4720e8c..5c71b53 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/LogFileCommonView.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/LogFileCommonView.java
@@ -16,35 +16,35 @@
 import org.eclipse.virgo.ide.runtime.internal.ui.projects.ServerProject;
 
 /**
- * 
+ *
  * @see org.eclipse.pde.internal.ui.views.dependencies.DependenciesView
  * @author Miles Parker
- * 
+ *
  */
 @SuppressWarnings("restriction")
 public class LogFileCommonView extends ServerFileCommonView {
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getContentId()
-	 */
-	@Override
-	protected String getTreeContentId() {
-		return ServerUiPlugin.LOG_CONTENT_ID;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getContentId()
+     */
+    @Override
+    protected String getTreeContentId() {
+        return ServerUiPlugin.LOG_CONTENT_ID;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getViewId()
-	 */
-	@Override
-	protected String getViewId() {
-		return ServerUiPlugin.LOG_VIEW_ID;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getViewId()
+     */
+    @Override
+    protected String getViewId() {
+        return ServerUiPlugin.LOG_VIEW_ID;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.ServerFileCommonView#getManagedDirs()
-	 */
-	@Override
-	public String[] getManagedDirs() {
-		return new String[] { ServerProject.LOG_WORKSPACE_DIR };
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.ServerFileCommonView#getManagedDirs()
+     */
+    @Override
+    public String[] getManagedDirs() {
+        return new String[] { ServerProject.LOG_WORKSPACE_DIR };
+    }
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/PropertiesFileCommonView.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/PropertiesFileCommonView.java
index b13c195..2fbe8e4 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/PropertiesFileCommonView.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/PropertiesFileCommonView.java
@@ -16,45 +16,45 @@
 import org.eclipse.virgo.ide.runtime.internal.ui.projects.ServerProject;
 
 /**
- * 
+ *
  * @see org.eclipse.pde.internal.ui.views.dependencies.DependenciesView
  * @author Miles Parker
- * 
+ *
  */
 @SuppressWarnings("restriction")
 public class PropertiesFileCommonView extends ServerFileCommonView {
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getTreeContentId()
-	 */
-	@Override
-	protected String getTreeContentId() {
-		return ServerUiPlugin.PROPERTIES_CONTENT_ID;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getTreeContentId()
+     */
+    @Override
+    protected String getTreeContentId() {
+        return ServerUiPlugin.PROPERTIES_CONTENT_ID;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getListContentId()
-	 */
-	@Override
-	protected String getListContentId() {
-		return ServerUiPlugin.FLATTENED_PROPERTIES_CONTENT_ID;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getListContentId()
+     */
+    @Override
+    protected String getListContentId() {
+        return ServerUiPlugin.FLATTENED_PROPERTIES_CONTENT_ID;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getViewId()
-	 */
-	@Override
-	protected String getViewId() {
-		return ServerUiPlugin.PROPERTIES_VIEW_ID;
-	}
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#getViewId()
+     */
+    @Override
+    protected String getViewId() {
+        return ServerUiPlugin.PROPERTIES_VIEW_ID;
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.ServerFileCommonView#getManagedDirs[]()
-	 */
-	@Override
-	public String[] getManagedDirs() {
-		return new String[] { ServerProject.PROPERTIES_DIR };
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.ServerFileCommonView#getManagedDirs[]()
+     */
+    @Override
+    public String[] getManagedDirs() {
+        return new String[] { ServerProject.PROPERTIES_DIR };
 
-	}
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/ServerFileCommonView.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/ServerFileCommonView.java
index 5436a67..91bae6c 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/ServerFileCommonView.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/ui/views/ServerFileCommonView.java
@@ -33,118 +33,120 @@
 import org.eclipse.wst.server.core.IServer;
 
 /**
- * 
+ *
  * @see org.eclipse.pde.internal.ui.views.dependencies.DependenciesView
  * @author Miles Parker
- * 
+ *
  */
 @SuppressWarnings("restriction")
 public abstract class ServerFileCommonView extends CommonView implements ISelectionListener {
 
-	private Collection<IFile> currentFiles;
+    private Collection<IFile> currentFiles;
 
-	protected IResourceChangeListener resourceListener;
+    protected IResourceChangeListener resourceListener;
 
-	private final class DeltaVisitor implements IResourceDeltaVisitor {
-		boolean change;
+    private final class DeltaVisitor implements IResourceDeltaVisitor {
 
-		public boolean visit(IResourceDelta delta) {
-			if (change) {
-				return false;
-			}
-			//only interested in changed resources (not added or removed)
-			if (delta.getKind() != IResourceDelta.CHANGED) {
-				return true;
-			}
-			//only interested in content changes
-			if ((delta.getFlags() & IResourceDelta.CONTENT) == 0) {
-				return true;
-			}
-			IResource resource = delta.getResource();
-			if (currentFiles.contains(resource)) {
-				change = true;
-			}
-			return true;
-		}
-	}
+        boolean change;
 
-	/**
-	 * @see org.eclipse.ui.navigator.CommonNavigator#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	@Override
-	public void createPartControl(Composite aParent) {
-		super.createPartControl(aParent);
-		resourceListener = new IResourceChangeListener() {
-			public void resourceChanged(IResourceChangeEvent event) {
-				//we are only interested in POST_CHANGE events
-				if (getServers().size() > 0) {
-					if (event.getType() != IResourceChangeEvent.POST_CHANGE) {
-						return;
-					}
-					IResourceDelta rootDelta = event.getDelta();
-					boolean refresh = false;
-					//get the delta, if any, for the documentation directory
-					for (IServer server : getServers()) {
-						ServerProject project = ServerProjectManager.getInstance().getProject(server);
-						if (project != null) {
-							for (String dir : getManagedDirs()) {
-								if (project.getWorkspaceProject() != null) {
-									IFolder folder = project.getWorkspaceProject().getFolder(dir);
-									IResourceDelta docDelta = rootDelta.findMember(folder.getFullPath());
-									if (docDelta == null) {
-										return;
-									}
-									DeltaVisitor visitor = new DeltaVisitor();
-									try {
-										docDelta.accept(visitor);
-									} catch (CoreException e) {
-									}
-									if (visitor.change) {
-										refresh = true;
-										break;
-									}
-								}
-							}
-						}
-					}
-					if (refresh) {
-						refreshView();
-					}
-				}
-			}
-		};
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceListener);
-		currentFiles = new HashSet<IFile>();
-	}
+        public boolean visit(IResourceDelta delta) {
+            if (this.change) {
+                return false;
+            }
+            // only interested in changed resources (not added or removed)
+            if (delta.getKind() != IResourceDelta.CHANGED) {
+                return true;
+            }
+            // only interested in content changes
+            if ((delta.getFlags() & IResourceDelta.CONTENT) == 0) {
+                return true;
+            }
+            IResource resource = delta.getResource();
+            if (ServerFileCommonView.this.currentFiles.contains(resource)) {
+                this.change = true;
+            }
+            return true;
+        }
+    }
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#update()
-	 */
-	@Override
-	protected void update() {
-		currentFiles = new HashSet<IFile>();
-		for (IServer server : getServers()) {
-			Object[] elements = ((ITreeContentProvider) getCommonViewer().getContentProvider()).getElements(server);
-			for (Object object : elements) {
-				if (object instanceof ServerFileSelection) {
-					currentFiles.add(((ServerFileSelection) object).getFile());
-				}
-				if (object instanceof IFile) {
-					currentFiles.add((IFile) object);
-				}
-			}
-		}
-		super.update();
-	}
+    /**
+     * @see org.eclipse.ui.navigator.CommonNavigator#createPartControl(org.eclipse.swt.widgets.Composite)
+     */
+    @Override
+    public void createPartControl(Composite aParent) {
+        super.createPartControl(aParent);
+        this.resourceListener = new IResourceChangeListener() {
 
-	/**
-	 * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#dispose()
-	 */
-	@Override
-	public void dispose() {
-		super.dispose();
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceListener);
-	}
+            public void resourceChanged(IResourceChangeEvent event) {
+                // we are only interested in POST_CHANGE events
+                if (getServers().size() > 0) {
+                    if (event.getType() != IResourceChangeEvent.POST_CHANGE) {
+                        return;
+                    }
+                    IResourceDelta rootDelta = event.getDelta();
+                    boolean refresh = false;
+                    // get the delta, if any, for the documentation directory
+                    for (IServer server : getServers()) {
+                        ServerProject project = ServerProjectManager.getInstance().getProject(server);
+                        if (project != null) {
+                            for (String dir : getManagedDirs()) {
+                                if (project.getWorkspaceProject() != null) {
+                                    IFolder folder = project.getWorkspaceProject().getFolder(dir);
+                                    IResourceDelta docDelta = rootDelta.findMember(folder.getFullPath());
+                                    if (docDelta == null) {
+                                        return;
+                                    }
+                                    DeltaVisitor visitor = new DeltaVisitor();
+                                    try {
+                                        docDelta.accept(visitor);
+                                    } catch (CoreException e) {
+                                    }
+                                    if (visitor.change) {
+                                        refresh = true;
+                                        break;
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    if (refresh) {
+                        refreshView();
+                    }
+                }
+            }
+        };
+        ResourcesPlugin.getWorkspace().addResourceChangeListener(this.resourceListener);
+        this.currentFiles = new HashSet<IFile>();
+    }
 
-	public abstract String[] getManagedDirs();
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#update()
+     */
+    @Override
+    protected void update() {
+        this.currentFiles = new HashSet<IFile>();
+        for (IServer server : getServers()) {
+            Object[] elements = ((ITreeContentProvider) getCommonViewer().getContentProvider()).getElements(server);
+            for (Object object : elements) {
+                if (object instanceof ServerFileSelection) {
+                    this.currentFiles.add(((ServerFileSelection) object).getFile());
+                }
+                if (object instanceof IFile) {
+                    this.currentFiles.add((IFile) object);
+                }
+            }
+        }
+        super.update();
+    }
+
+    /**
+     * @see org.eclipse.virgo.ide.runtime.ui.views.CommonView#dispose()
+     */
+    @Override
+    public void dispose() {
+        super.dispose();
+        ResourcesPlugin.getWorkspace().removeResourceChangeListener(this.resourceListener);
+    }
+
+    public abstract String[] getManagedDirs();
 }
diff --git a/org.eclipse.virgo.ide.tests.util/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.tests.util/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.tests.util/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.tests.util/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.tests.util/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.tests.util/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.tests.util/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.tests.util/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.tests.util/src/org/eclipse/virgo/ide/tests/util/VirgoIdeTestCase.java b/org.eclipse.virgo.ide.tests.util/src/org/eclipse/virgo/ide/tests/util/VirgoIdeTestCase.java
index 921dc03..1710fc6 100644
--- a/org.eclipse.virgo.ide.tests.util/src/org/eclipse/virgo/ide/tests/util/VirgoIdeTestCase.java
+++ b/org.eclipse.virgo.ide.tests.util/src/org/eclipse/virgo/ide/tests/util/VirgoIdeTestCase.java
@@ -4,57 +4,57 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.tests.util;
 
 import java.io.IOException;
 
-import junit.framework.TestCase;
-
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.IncrementalProjectBuilder;
 import org.eclipse.core.runtime.CoreException;
 import org.junit.After;
 
+import junit.framework.TestCase;
+
 /**
  * Derived from AbstractBeansCoreTestCase
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @author Terry Hon
  */
 public abstract class VirgoIdeTestCase extends TestCase {
 
-	protected IProject createPredefinedProject(final String projectName) throws CoreException, IOException {
-		return VirgoIdeTestUtil.createPredefinedProject(projectName, getBundleName());
-	}
+    protected IProject createPredefinedProject(final String projectName) throws CoreException, IOException {
+        return VirgoIdeTestUtil.createPredefinedProject(projectName, getBundleName());
+    }
 
-	protected IResource createPredefinedProjectAndGetResource(String projectName, String resourcePath)
-			throws CoreException, IOException {
-		IProject project = createPredefinedProject(projectName);
-		// XXX do a second full build to ensure markers are up-to-date
-		project.build(IncrementalProjectBuilder.FULL_BUILD, null);
+    protected IResource createPredefinedProjectAndGetResource(String projectName, String resourcePath) throws CoreException, IOException {
+        IProject project = createPredefinedProject(projectName);
+        // XXX do a second full build to ensure markers are up-to-date
+        project.build(IncrementalProjectBuilder.FULL_BUILD, null);
 
-		IResource resource = project.findMember(resourcePath);
-		VirgoIdeTestUtil.waitForResource(resource);
-		return resource;
-	}
+        IResource resource = project.findMember(resourcePath);
+        VirgoIdeTestUtil.waitForResource(resource);
+        return resource;
+    }
 
-	protected abstract String getBundleName();
+    protected abstract String getBundleName();
 
-	protected String getSourceWorkspacePath() {
-		return VirgoIdeTestUtil.getSourceWorkspacePath(getBundleName());
-	}
+    protected String getSourceWorkspacePath() {
+        return VirgoIdeTestUtil.getSourceWorkspacePath(getBundleName());
+    }
 
-	@After
-	@Override
-	public void tearDown() throws Exception {
-		VirgoIdeTestUtil.cleanUpProjects();
-		super.tearDown();
-	}
+    @After
+    @Override
+    public void tearDown() throws Exception {
+        VirgoIdeTestUtil.cleanUpProjects();
+        super.tearDown();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.tests.util/src/org/eclipse/virgo/ide/tests/util/VirgoIdeTestUtil.java b/org.eclipse.virgo.ide.tests.util/src/org/eclipse/virgo/ide/tests/util/VirgoIdeTestUtil.java
index 3eb9b69..22e3b51 100644
--- a/org.eclipse.virgo.ide.tests.util/src/org/eclipse/virgo/ide/tests/util/VirgoIdeTestUtil.java
+++ b/org.eclipse.virgo.ide.tests.util/src/org/eclipse/virgo/ide/tests/util/VirgoIdeTestUtil.java
@@ -4,10 +4,11 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.tests.util;
 
 import java.io.File;
@@ -62,371 +63,370 @@
  */
 public class VirgoIdeTestUtil {
 
-	public static final boolean ECLIPSE_3_4 = Platform.getBundle("org.eclipse.equinox.p2.repository") == null;
+    public static final boolean ECLIPSE_3_4 = Platform.getBundle("org.eclipse.equinox.p2.repository") == null;
 
-	public static final boolean ECLIPSE_3_6_OR_LATER;
+    public static final boolean ECLIPSE_3_6_OR_LATER;
 
-	static {
-		boolean found = false;
-		try {
-			StyledText.class.getMethod("setTabStops", int[].class); //$NON-NLS-1$
-			found = true;
-		} catch (NoSuchMethodException e) {
-		}
-		ECLIPSE_3_6_OR_LATER = found;
-	}
+    static {
+        boolean found = false;
+        try {
+            StyledText.class.getMethod("setTabStops", int[].class); //$NON-NLS-1$
+            found = true;
+        } catch (NoSuchMethodException e) {
+        }
+        ECLIPSE_3_6_OR_LATER = found;
+    }
 
-	public static final long WAIT_TIME = 2000;
+    public static final long WAIT_TIME = 2000;
 
-	public static String canocalizeXml(String originalServerXml) throws Exception {
-		DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-		DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder();
-		Document document = builder.parse(new InputSource(new StringReader(originalServerXml)));
-		document.normalize();
+    public static String canocalizeXml(String originalServerXml) throws Exception {
+        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
+        DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder();
+        Document document = builder.parse(new InputSource(new StringReader(originalServerXml)));
+        document.normalize();
 
-		TransformerFactory factory = TransformerFactory.newInstance();
-		Transformer transformer = factory.newTransformer();
-		StringWriter writer = new StringWriter();
-		transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-		transformer.transform(new DOMSource(document.getDocumentElement()), new StreamResult(writer));
-		return writer.toString().replace("\\s+\\n", "\\n");
-	}
+        TransformerFactory factory = TransformerFactory.newInstance();
+        Transformer transformer = factory.newTransformer();
+        StringWriter writer = new StringWriter();
+        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
+        transformer.transform(new DOMSource(document.getDocumentElement()), new StreamResult(writer));
+        return writer.toString().replace("\\s+\\n", "\\n");
+    }
 
-	public static void cleanUpProjects() throws CoreException {
-		PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().closeAllEditors(false);
-		deleteAllProjects();
-	}
+    public static void cleanUpProjects() throws CoreException {
+        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().closeAllEditors(false);
+        deleteAllProjects();
+    }
 
-	/**
-	 * Copy file from src (path to the original file) to dest (path to the destination file).
-	 */
-	private static void copy(File src, File dest) throws IOException {
-		InputStream in = new FileInputStream(src);
-		try {
-			OutputStream out = new FileOutputStream(dest);
-			try {
-				byte[] buf = new byte[1024];
-				int len;
-				while ((len = in.read(buf)) > 0) {
-					out.write(buf, 0, len);
-				}
-			} finally {
-				out.close();
-			}
-		} finally {
-			in.close();
-		}
-	}
+    /**
+     * Copy file from src (path to the original file) to dest (path to the destination file).
+     */
+    private static void copy(File src, File dest) throws IOException {
+        InputStream in = new FileInputStream(src);
+        try {
+            OutputStream out = new FileOutputStream(dest);
+            try {
+                byte[] buf = new byte[1024];
+                int len;
+                while ((len = in.read(buf)) > 0) {
+                    out.write(buf, 0, len);
+                }
+            } finally {
+                out.close();
+            }
+        } finally {
+            in.close();
+        }
+    }
 
-	/**
-	 * Copy the given source directory (and all its contents) to the given target directory.
-	 */
-	private static void copyDirectory(File source, File target) throws IOException {
-		if (!target.exists()) {
-			target.mkdirs();
-		}
-		File[] files = source.listFiles();
-		if (files == null) {
-			return;
-		}
-		for (File sourceChild : files) {
-			String name = sourceChild.getName();
-			if (name.equals(".svn")) {
-				continue;
-			}
-			File targetChild = new File(target, name);
-			if (sourceChild.isDirectory()) {
-				copyDirectory(sourceChild, targetChild);
-			} else {
-				copy(sourceChild, targetChild);
-			}
-		}
-	}
+    /**
+     * Copy the given source directory (and all its contents) to the given target directory.
+     */
+    private static void copyDirectory(File source, File target) throws IOException {
+        if (!target.exists()) {
+            target.mkdirs();
+        }
+        File[] files = source.listFiles();
+        if (files == null) {
+            return;
+        }
+        for (File sourceChild : files) {
+            String name = sourceChild.getName();
+            if (name.equals(".svn")) {
+                continue;
+            }
+            File targetChild = new File(target, name);
+            if (sourceChild.isDirectory()) {
+                copyDirectory(sourceChild, targetChild);
+            } else {
+                copy(sourceChild, targetChild);
+            }
+        }
+    }
 
-	public static IProject createPredefinedProject(final String projectName, String bundleName) throws CoreException,
-			IOException {
-		IJavaProject jp = setUpJavaProject(projectName, bundleName);
-		VirgoIdeTestUtil.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null);
-		return jp.getProject();
-	}
+    public static IProject createPredefinedProject(final String projectName, String bundleName) throws CoreException, IOException {
+        IJavaProject jp = setUpJavaProject(projectName, bundleName);
+        VirgoIdeTestUtil.getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null);
+        return jp.getProject();
+    }
 
-	public static File createTempDirectory() throws IOException {
-		return createTempDirectory("sts", null);
-	}
+    public static File createTempDirectory() throws IOException {
+        return createTempDirectory("sts", null);
+    }
 
-	public static File createTempDirectory(String prefix, String suffix) throws IOException {
-		File file = File.createTempFile(prefix, suffix);
-		file.delete();
-		file.mkdirs();
-		return file;
-	}
+    public static File createTempDirectory(String prefix, String suffix) throws IOException {
+        File file = File.createTempFile(prefix, suffix);
+        file.delete();
+        file.mkdirs();
+        return file;
+    }
 
-	public static void deleteAllProjects() throws CoreException {
-		IProject[] allProjects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
-		for (IProject project : allProjects) {
-			project.refreshLocal(IResource.DEPTH_INFINITE, null);
-			deleteProject(project, true);
-		}
-		getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null);
-	}
+    public static void deleteAllProjects() throws CoreException {
+        IProject[] allProjects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
+        for (IProject project : allProjects) {
+            project.refreshLocal(IResource.DEPTH_INFINITE, null);
+            deleteProject(project, true);
+        }
+        getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null);
+    }
 
-	public static void deleteProject(IProject project, boolean force) throws CoreException {
-		if (project.exists() && !project.isOpen()) {
-			// force opening so that project can be deleted without logging (see
-			// bug 23629)
-			project.open(null);
-		}
-		deleteResource(project, force);
-	}
+    public static void deleteProject(IProject project, boolean force) throws CoreException {
+        if (project.exists() && !project.isOpen()) {
+            // force opening so that project can be deleted without logging (see
+            // bug 23629)
+            project.open(null);
+        }
+        deleteResource(project, force);
+    }
 
-	/**
-	 * Delete this resource.
-	 */
-	private static void deleteResource(IResource resource, boolean force) throws CoreException {
-		if (!resource.exists() || !resource.isAccessible()) {
-			return;
-		}
-		waitForManualBuild();
-		waitForAutoBuild();
-		CoreException lastException = null;
-		try {
-			resource.delete(force, null);
-		} catch (CoreException e) {
-			lastException = e;
-			// just print for info
-			System.out.println("(CoreException): " + e.getMessage() + " Resource " + resource.getFullPath()); //$NON-NLS-1$ //$NON-NLS-2$
-			e.printStackTrace();
-		} catch (IllegalArgumentException iae) {
-			// just print for info
-			System.out.println("(IllegalArgumentException): " + iae.getMessage() + ", resource " + resource.getFullPath()); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (!force) {
-			return;
-		}
-		int retryCount = 10; // wait 1 minute at most
-		while (resource.isAccessible() && --retryCount >= 0) {
-			waitForAutoBuild();
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-			}
-			try {
-				resource.delete(true, null);
-			} catch (CoreException e) {
-				lastException = e;
-				// just print for info
-				System.out.println("(CoreException) Retry " + retryCount + ": " + e.getMessage() + ", resource " + resource.getFullPath()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			} catch (IllegalArgumentException iae) {
-				// just print for info
-				System.out.println("(IllegalArgumentException) Retry " + retryCount + ": " + iae.getMessage() + ", resource " + resource.getFullPath()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-		}
-		if (!resource.isAccessible()) {
-			return;
-		}
-		System.err.println("Failed to delete " + resource.getFullPath()); //$NON-NLS-1$
-		if (lastException != null) {
-			throw lastException;
-		}
-	}
+    /**
+     * Delete this resource.
+     */
+    private static void deleteResource(IResource resource, boolean force) throws CoreException {
+        if (!resource.exists() || !resource.isAccessible()) {
+            return;
+        }
+        waitForManualBuild();
+        waitForAutoBuild();
+        CoreException lastException = null;
+        try {
+            resource.delete(force, null);
+        } catch (CoreException e) {
+            lastException = e;
+            // just print for info
+            System.out.println("(CoreException): " + e.getMessage() + " Resource " + resource.getFullPath()); //$NON-NLS-1$ //$NON-NLS-2$
+            e.printStackTrace();
+        } catch (IllegalArgumentException iae) {
+            // just print for info
+            System.out.println("(IllegalArgumentException): " + iae.getMessage() + ", resource " + resource.getFullPath()); //$NON-NLS-1$ //$NON-NLS-2$
+        }
+        if (!force) {
+            return;
+        }
+        int retryCount = 10; // wait 1 minute at most
+        while (resource.isAccessible() && --retryCount >= 0) {
+            waitForAutoBuild();
+            try {
+                Thread.sleep(1000);
+            } catch (InterruptedException e) {
+            }
+            try {
+                resource.delete(true, null);
+            } catch (CoreException e) {
+                lastException = e;
+                // just print for info
+                System.out.println("(CoreException) Retry " + retryCount + ": " + e.getMessage() + ", resource " + resource.getFullPath()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+            } catch (IllegalArgumentException iae) {
+                // just print for info
+                System.out.println(
+                    "(IllegalArgumentException) Retry " + retryCount + ": " + iae.getMessage() + ", resource " + resource.getFullPath()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+            }
+        }
+        if (!resource.isAccessible()) {
+            return;
+        }
+        System.err.println("Failed to delete " + resource.getFullPath()); //$NON-NLS-1$
+        if (lastException != null) {
+            throw lastException;
+        }
+    }
 
-	public static File getBundlePath(String pluginId) throws IOException {
-		URL platformURL = Platform.getBundle(pluginId).getEntry("/"); //$NON-NLS-1$ 
-		return new File(FileLocator.toFileURL(platformURL).getFile());
-	}
+    public static File getBundlePath(String pluginId) throws IOException {
+        URL platformURL = Platform.getBundle(pluginId).getEntry("/"); //$NON-NLS-1$
+        return new File(FileLocator.toFileURL(platformURL).getFile());
+    }
 
-	public static File getFilePath(String pluginId, String segment) throws IOException {
-		URL platformURL = Platform.getBundle(pluginId).getEntry(segment);
-		return new File(FileLocator.toFileURL(platformURL).getFile());
-	}
+    public static File getFilePath(String pluginId, String segment) throws IOException {
+        URL platformURL = Platform.getBundle(pluginId).getEntry(segment);
+        return new File(FileLocator.toFileURL(platformURL).getFile());
+    }
 
-	public static String getMarkerMessages(IMarker[] markers) throws CoreException {
-		StringBuilder sb = new StringBuilder();
-		for (int i = 0; i < markers.length; i++) {
-			IMarker currMarker = markers[i];
-			String message = (String) currMarker.getAttribute("message");
-			if (i > 0) {
-				sb.append(", ");
-			}
-			sb.append(message);
-		}
-		return sb.toString();
-	}
+    public static String getMarkerMessages(IMarker[] markers) throws CoreException {
+        StringBuilder sb = new StringBuilder();
+        for (int i = 0; i < markers.length; i++) {
+            IMarker currMarker = markers[i];
+            String message = (String) currMarker.getAttribute("message");
+            if (i > 0) {
+                sb.append(", ");
+            }
+            sb.append(message);
+        }
+        return sb.toString();
+    }
 
-	/**
-	 * Returns the OS path to the directory that contains this plugin.
-	 */
-	private static String getPluginDirectoryPath(String bundleName) {
-		try {
-			URL platformURL = Platform.getBundle(bundleName).getEntry("/"); //$NON-NLS-1$ 
-			return new File(FileLocator.toFileURL(platformURL).getFile()).getAbsolutePath();
-		} catch (IOException e) {
-			throw new RuntimeException(e);
-		}
-	}
+    /**
+     * Returns the OS path to the directory that contains this plugin.
+     */
+    private static String getPluginDirectoryPath(String bundleName) {
+        try {
+            URL platformURL = Platform.getBundle(bundleName).getEntry("/"); //$NON-NLS-1$
+            return new File(FileLocator.toFileURL(platformURL).getFile()).getAbsolutePath();
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
 
-	public static IProject getProject(String project) {
-		return getWorkspaceRoot().getProject(project);
-	}
+    public static IProject getProject(String project) {
+        return getWorkspaceRoot().getProject(project);
+    }
 
-	/**
-	 * Get an IResource indicated by a given path starting at the workspace root.
-	 * <p>
-	 * Different type of resource is returned based on the length of the path and whether or not it ends with a path
-	 * separator.
-	 */
-	public static IResource getResource(IPath path) {
-		try {
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			if (path.segmentCount() == 0) {
-				return root;
-			}
-			IProject project = root.getProject(path.segment(0));
-			if (path.segmentCount() == 1) {
-				return project;
-			}
-			if (path.hasTrailingSeparator()) {
-				return root.getFolder(path);
-			} else {
-				return root.getFile(path);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-			return null;
-		}
-	}
+    /**
+     * Get an IResource indicated by a given path starting at the workspace root.
+     * <p>
+     * Different type of resource is returned based on the length of the path and whether or not it ends with a path
+     * separator.
+     */
+    public static IResource getResource(IPath path) {
+        try {
+            IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+            if (path.segmentCount() == 0) {
+                return root;
+            }
+            IProject project = root.getProject(path.segment(0));
+            if (path.segmentCount() == 1) {
+                return project;
+            }
+            if (path.hasTrailingSeparator()) {
+                return root.getFolder(path);
+            } else {
+                return root.getFile(path);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
 
-	/**
-	 * Get an IResource from a path String starting at the workspace root.
-	 * <p>
-	 * Different type of resource is returned based on the length of the path and whether or not it ends with a path
-	 * separator.
-	 * <p>
-	 * For example "" length = 0 => type of resource is IWorkspaceRoot "foo" length = 1 => type of resource is IProject
-	 * "foo/src/Foo.java" length > 1 and no trailing "/" => type is IFile
-	 * "foo/src/          length > 1 and a trailing "/" => type is IFolder
-	 */
-	public static IResource getResource(String pathToFile) {
-		return getResource(Path.ROOT.append(pathToFile));
-	}
+    /**
+     * Get an IResource from a path String starting at the workspace root.
+     * <p>
+     * Different type of resource is returned based on the length of the path and whether or not it ends with a path
+     * separator.
+     * <p>
+     * For example "" length = 0 => type of resource is IWorkspaceRoot "foo" length = 1 => type of resource is IProject
+     * "foo/src/Foo.java" length > 1 and no trailing "/" => type is IFile "foo/src/          length > 1 and a trailing "
+     * /" => type is IFolder
+     */
+    public static IResource getResource(String pathToFile) {
+        return getResource(Path.ROOT.append(pathToFile));
+    }
 
-	static String getSourceWorkspacePath(String bundleName) {
-		return getPluginDirectoryPath(bundleName) + java.io.File.separator + "workspace"; //$NON-NLS-1$
-	}
+    static String getSourceWorkspacePath(String bundleName) {
+        return getPluginDirectoryPath(bundleName) + java.io.File.separator + "workspace"; //$NON-NLS-1$
+    }
 
-	/**
-	 * Returns the IWorkspace this test suite is running on.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
+    /**
+     * Returns the IWorkspace this test suite is running on.
+     */
+    public static IWorkspace getWorkspace() {
+        return ResourcesPlugin.getWorkspace();
+    }
 
-	public static IWorkspaceRoot getWorkspaceRoot() {
-		return getWorkspace().getRoot();
-	}
+    public static IWorkspaceRoot getWorkspaceRoot() {
+        return getWorkspace().getRoot();
+    }
 
-	public static void saveAndWaitForEditor(final IEditorPart editor) throws CoreException {
-		Display.getDefault().syncExec(new Runnable() {
+    public static void saveAndWaitForEditor(final IEditorPart editor) throws CoreException {
+        Display.getDefault().syncExec(new Runnable() {
 
-			public void run() {
-				editor.doSave(null);
-			}
-		});
-		waitForEditor(editor);
-	}
+            public void run() {
+                editor.doSave(null);
+            }
+        });
+        waitForEditor(editor);
+    }
 
-	private static IJavaProject setUpJavaProject(final String projectName, String bundleName) throws CoreException,
-			IOException {
-		return VirgoIdeTestUtil.setUpJavaProject(projectName, "1.4", getSourceWorkspacePath(bundleName)); //$NON-NLS-1$
-	}
+    private static IJavaProject setUpJavaProject(final String projectName, String bundleName) throws CoreException, IOException {
+        return VirgoIdeTestUtil.setUpJavaProject(projectName, "1.4", getSourceWorkspacePath(bundleName)); //$NON-NLS-1$
+    }
 
-	public static IJavaProject setUpJavaProject(final String projectName, String compliance, String sourceWorkspacePath)
-			throws CoreException, IOException {
-		IProject project = setUpProject(projectName, compliance, sourceWorkspacePath);
-		IJavaProject javaProject = JavaCore.create(project);
-		return javaProject;
-	}
+    public static IJavaProject setUpJavaProject(final String projectName, String compliance, String sourceWorkspacePath)
+        throws CoreException, IOException {
+        IProject project = setUpProject(projectName, compliance, sourceWorkspacePath);
+        IJavaProject javaProject = JavaCore.create(project);
+        return javaProject;
+    }
 
-	public static IProject setUpProject(final String projectName, String compliance, String sourceWorkspacePath)
-			throws CoreException, IOException {
-		// copy files in project from source workspace to target workspace
-		String targetWorkspacePath = getWorkspaceRoot().getLocation().toFile().getCanonicalPath();
-		copyDirectory(new File(sourceWorkspacePath, projectName), new File(targetWorkspacePath, projectName));
+    public static IProject setUpProject(final String projectName, String compliance, String sourceWorkspacePath) throws CoreException, IOException {
+        // copy files in project from source workspace to target workspace
+        String targetWorkspacePath = getWorkspaceRoot().getLocation().toFile().getCanonicalPath();
+        copyDirectory(new File(sourceWorkspacePath, projectName), new File(targetWorkspacePath, projectName));
 
-		// create project
-		final IProject project = getWorkspaceRoot().getProject(projectName);
-		IWorkspaceRunnable populate = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				project.create(null);
-				try {
-					project.open(null);
-				} catch (ConcurrentModificationException e) {
-					// wait and try again to work-around
-					// ConcurrentModificationException (bug 280488)
-					try {
-						Thread.sleep(500);
-						project.open(null);
-						project.refreshLocal(IResource.DEPTH_INFINITE, null);
-					} catch (InterruptedException e1) {
-						Thread.currentThread().interrupt();
-					}
-				}
-			}
-		};
-		getWorkspace().run(populate, null);
-		return project;
-	}
+        // create project
+        final IProject project = getWorkspaceRoot().getProject(projectName);
+        IWorkspaceRunnable populate = new IWorkspaceRunnable() {
 
-	/**
-	 * Wait for autobuild notification to occur
-	 */
-	public static void waitForAutoBuild() {
-		waitForJobFamily(ResourcesPlugin.FAMILY_AUTO_BUILD);
-	}
+            public void run(IProgressMonitor monitor) throws CoreException {
+                project.create(null);
+                try {
+                    project.open(null);
+                } catch (ConcurrentModificationException e) {
+                    // wait and try again to work-around
+                    // ConcurrentModificationException (bug 280488)
+                    try {
+                        Thread.sleep(500);
+                        project.open(null);
+                        project.refreshLocal(IResource.DEPTH_INFINITE, null);
+                    } catch (InterruptedException e1) {
+                        Thread.currentThread().interrupt();
+                    }
+                }
+            }
+        };
+        getWorkspace().run(populate, null);
+        return project;
+    }
 
-	public static void waitForDisplay() {
-		while (Display.getDefault().readAndDispatch()) {
-			// do nothing
-		}
-	}
+    /**
+     * Wait for autobuild notification to occur
+     */
+    public static void waitForAutoBuild() {
+        waitForJobFamily(ResourcesPlugin.FAMILY_AUTO_BUILD);
+    }
 
-	public static void waitForEditor(IEditorPart editor) throws CoreException {
-		IFileEditorInput editorInput = (IFileEditorInput) editor.getEditorInput();
-		IFile file = editorInput.getFile();
-		waitForResource(file);
-	}
+    public static void waitForDisplay() {
+        while (Display.getDefault().readAndDispatch()) {
+            // do nothing
+        }
+    }
 
-	public static void waitForJobFamily(Object jobFamily) {
-		boolean wasInterrupted = false;
-		do {
-			try {
-				Job.getJobManager().join(jobFamily, null);
-				wasInterrupted = false;
-			} catch (OperationCanceledException e) {
-				e.printStackTrace();
-			} catch (InterruptedException e) {
-				wasInterrupted = true;
-			}
-		} while (wasInterrupted);
-	}
+    public static void waitForEditor(IEditorPart editor) throws CoreException {
+        IFileEditorInput editorInput = (IFileEditorInput) editor.getEditorInput();
+        IFile file = editorInput.getFile();
+        waitForResource(file);
+    }
 
-	public static void waitForManualBuild() {
-		waitForJobFamily(ResourcesPlugin.FAMILY_MANUAL_BUILD);
-	}
+    public static void waitForJobFamily(Object jobFamily) {
+        boolean wasInterrupted = false;
+        do {
+            try {
+                Job.getJobManager().join(jobFamily, null);
+                wasInterrupted = false;
+            } catch (OperationCanceledException e) {
+                e.printStackTrace();
+            } catch (InterruptedException e) {
+                wasInterrupted = true;
+            }
+        } while (wasInterrupted);
+    }
 
-	public static void waitForResource(IResource resource) throws CoreException {
-		waitForAutoBuild();
-		waitForManualBuild();
-		waitForJobFamily(ResourcesPlugin.FAMILY_AUTO_REFRESH);
-		waitForJobFamily(ResourcesPlugin.FAMILY_MANUAL_REFRESH);
-		resource.refreshLocal(IResource.DEPTH_ONE, null);
-	}
+    public static void waitForManualBuild() {
+        waitForJobFamily(ResourcesPlugin.FAMILY_MANUAL_BUILD);
+    }
 
-	public static void setAutoBuilding(boolean enabled) throws CoreException {
-		IWorkspaceDescription wsd = getWorkspace().getDescription();
-		if (!wsd.isAutoBuilding() == enabled) {
-			wsd.setAutoBuilding(enabled);
-			getWorkspace().setDescription(wsd);
-		}
-	}
+    public static void waitForResource(IResource resource) throws CoreException {
+        waitForAutoBuild();
+        waitForManualBuild();
+        waitForJobFamily(ResourcesPlugin.FAMILY_AUTO_REFRESH);
+        waitForJobFamily(ResourcesPlugin.FAMILY_MANUAL_REFRESH);
+        resource.refreshLocal(IResource.DEPTH_ONE, null);
+    }
+
+    public static void setAutoBuilding(boolean enabled) throws CoreException {
+        IWorkspaceDescription wsd = getWorkspace().getDescription();
+        if (!wsd.isAutoBuilding() == enabled) {
+            wsd.setAutoBuilding(enabled);
+            getWorkspace().setDescription(wsd);
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.tests/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.tests/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.tests/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.tests/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.tests/src/org/eclipse/virgo/ide/tests/BundleManifestEditorTest.java b/org.eclipse.virgo.ide.tests/src/org/eclipse/virgo/ide/tests/BundleManifestEditorTest.java
index 12f50ee..72ddd88 100644
--- a/org.eclipse.virgo.ide.tests/src/org/eclipse/virgo/ide/tests/BundleManifestEditorTest.java
+++ b/org.eclipse.virgo.ide.tests/src/org/eclipse/virgo/ide/tests/BundleManifestEditorTest.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.tests;
 
 import static org.junit.Assert.assertEquals;
@@ -40,47 +41,44 @@
  */
 public class BundleManifestEditorTest {
 
-	private IWorkbenchPage activePage;
+    private IWorkbenchPage activePage;
 
-	@Before
-	public void setUp() throws Exception {
-		activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-		activePage.closeAllEditors(false);
-		assertEquals(0, activePage.getEditorReferences().length);
-	}
+    @Before
+    public void setUp() throws Exception {
+        this.activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+        this.activePage.closeAllEditors(false);
+        assertEquals(0, this.activePage.getEditorReferences().length);
+    }
 
-	@After
-	public void tearDown() throws Exception {
-		activePage.closeAllEditors(false);
-	}
+    @After
+    public void tearDown() throws Exception {
+        this.activePage.closeAllEditors(false);
+    }
 
-	@Test
-	public void testCreateSystemFileContextsFromDotSettings() throws Exception {
-		File source = VirgoIdeTestUtil.getFilePath(VirgoIdeTestsPlugin.PLUGIN_ID, "/testdata/bundle/manifest.mf");
-		IPath path = new Path(source.getAbsolutePath());
-		IFileStore file = EFS.getLocalFileSystem().getStore(path);
-		PlatformUI.getWorkbench()
-		.getActiveWorkbenchWindow()
-		.getActivePage()
-		.openEditor(new FileStoreEditorInput(file), BundleManifestEditor.ID_EDITOR);
+    @Test
+    public void testCreateSystemFileContextsFromDotSettings() throws Exception {
+        File source = VirgoIdeTestUtil.getFilePath(VirgoIdeTestsPlugin.PLUGIN_ID, "/testdata/bundle/manifest.mf");
+        IPath path = new Path(source.getAbsolutePath());
+        IFileStore file = EFS.getLocalFileSystem().getStore(path);
+        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(new FileStoreEditorInput(file),
+            BundleManifestEditor.ID_EDITOR);
 
-		assertEquals(1, activePage.getEditorReferences().length);
-		IEditorPart editor = activePage.getEditorReferences()[0].getEditor(true);
-		assertEquals(BundleManifestEditor.class, editor.getClass());
-		BundleManifestEditor parEditor = (BundleManifestEditor) editor;
-		assertEquals(4, parEditor.getParts().length);
-	}
+        assertEquals(1, this.activePage.getEditorReferences().length);
+        IEditorPart editor = this.activePage.getEditorReferences()[0].getEditor(true);
+        assertEquals(BundleManifestEditor.class, editor.getClass());
+        BundleManifestEditor parEditor = (BundleManifestEditor) editor;
+        assertEquals(4, parEditor.getParts().length);
+    }
 
-	@Test
-	public void testOpenInDefaultEditor() throws Exception {
-		IProject project = VirgoIdeTestUtil.createPredefinedProject("SimpleBundleProject",
-				VirgoIdeTestsPlugin.PLUGIN_ID);
-		IFile file = project.getFile("src/META-INF/MANIFEST.MF");
-		IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-		IEditorPart editor = IDE.openEditor(page, file);
-		assertTrue(editor instanceof BundleManifestEditor);
-		assertFalse(editor instanceof ParManifestEditor);
-		VirgoIdeTestUtil.cleanUpProjects();
-	}
+    @Test
+    public void testOpenInDefaultEditor() throws Exception {
+        IProject project = VirgoIdeTestUtil.createPredefinedProject("SimpleBundleProject", VirgoIdeTestsPlugin.PLUGIN_ID);
+        IFile file = project.getFile("src/META-INF/MANIFEST.MF");
+        IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+        IEditorPart editor = IDE.openEditor(page, file);
+        assertTrue(editor instanceof BundleManifestEditor);
+        assertFalse(editor instanceof ParManifestEditor);
+        VirgoIdeTestUtil.cleanUpProjects();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.tests/src/org/eclipse/virgo/ide/tests/ParManifestEditorTest.java b/org.eclipse.virgo.ide.tests/src/org/eclipse/virgo/ide/tests/ParManifestEditorTest.java
index fe4a694..b2094d9 100644
--- a/org.eclipse.virgo.ide.tests/src/org/eclipse/virgo/ide/tests/ParManifestEditorTest.java
+++ b/org.eclipse.virgo.ide.tests/src/org/eclipse/virgo/ide/tests/ParManifestEditorTest.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.tests;
 
 import static org.junit.Assert.assertEquals;
@@ -33,55 +34,49 @@
  */
 public class ParManifestEditorTest {
 
-	private IWorkbenchPage activePage;
+    private IWorkbenchPage activePage;
 
-	@Before
-	public void setUp() throws Exception {
-		activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
-		activePage.closeAllEditors(false);
-		assertEquals(0, activePage.getEditorReferences().length);
-	}
+    @Before
+    public void setUp() throws Exception {
+        this.activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+        this.activePage.closeAllEditors(false);
+        assertEquals(0, this.activePage.getEditorReferences().length);
+    }
 
-	@After
-	public void tearDown() throws Exception {
-		activePage.closeAllEditors(false);
-	}
+    @After
+    public void tearDown() throws Exception {
+        this.activePage.closeAllEditors(false);
+    }
 
-	@Test
-	public void testCreateSystemFileContextsFromDotSettings() throws Exception {
-		File source = VirgoIdeTestUtil.getFilePath(VirgoIdeTestsPlugin.PLUGIN_ID,
-				"/testdata/par/.settings/org.eclipse.virgo.ide.runtime.core.par.xml");
-		IPath path = new Path(source.getAbsolutePath());
-		IFileStore file = EFS.getLocalFileSystem().getStore(path);
-		PlatformUI.getWorkbench()
-		.getActiveWorkbenchWindow()
-		.getActivePage()
-		.openEditor(new FileStoreEditorInput(file), ParManifestEditor.ID_EDITOR);
+    @Test
+    public void testCreateSystemFileContextsFromDotSettings() throws Exception {
+        File source = VirgoIdeTestUtil.getFilePath(VirgoIdeTestsPlugin.PLUGIN_ID,
+            "/testdata/par/.settings/org.eclipse.virgo.ide.runtime.core.par.xml");
+        IPath path = new Path(source.getAbsolutePath());
+        IFileStore file = EFS.getLocalFileSystem().getStore(path);
+        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(new FileStoreEditorInput(file), ParManifestEditor.ID_EDITOR);
 
-		assertEquals(1, activePage.getEditorReferences().length);
-		IEditorPart editor = activePage.getEditorReferences()[0].getEditor(true);
-		assertEquals(ParManifestEditor.class, editor.getClass());
-		ParManifestEditor parEditor = (ParManifestEditor) editor;
-		assertEquals(3, parEditor.getParts().length);
-	}
+        assertEquals(1, this.activePage.getEditorReferences().length);
+        IEditorPart editor = this.activePage.getEditorReferences()[0].getEditor(true);
+        assertEquals(ParManifestEditor.class, editor.getClass());
+        ParManifestEditor parEditor = (ParManifestEditor) editor;
+        assertEquals(3, parEditor.getParts().length);
+    }
 
-	@Test
-	public void testCreateSystemFileContextsFromParXml() throws Exception {
-		File source = VirgoIdeTestUtil.getFilePath(VirgoIdeTestsPlugin.PLUGIN_ID, "/testdata/par/par.xml");
-		IPath path = new Path(source.getAbsolutePath());
-		IFileStore file = EFS.getLocalFileSystem().getStore(path);
-		PlatformUI.getWorkbench()
-		.getActiveWorkbenchWindow()
-		.getActivePage()
-		.openEditor(new FileStoreEditorInput(file), ParManifestEditor.ID_EDITOR);
+    @Test
+    public void testCreateSystemFileContextsFromParXml() throws Exception {
+        File source = VirgoIdeTestUtil.getFilePath(VirgoIdeTestsPlugin.PLUGIN_ID, "/testdata/par/par.xml");
+        IPath path = new Path(source.getAbsolutePath());
+        IFileStore file = EFS.getLocalFileSystem().getStore(path);
+        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(new FileStoreEditorInput(file), ParManifestEditor.ID_EDITOR);
 
-		// fails since the corresponding MANIFEST.MF is not found
-		assertEquals(1, activePage.getEditorReferences().length);
-		IEditorPart editor = activePage.getEditorReferences()[0].getEditor(true);
-		assertEquals(ParManifestEditor.class, editor.getClass());
-		ParManifestEditor parEditor = (ParManifestEditor) editor;
-		assertEquals(1, parEditor.getParts().length);
-		assertEquals("MissingResourcePage", parEditor.getParts()[0].getClass().getSimpleName());
-	}
+        // fails since the corresponding MANIFEST.MF is not found
+        assertEquals(1, this.activePage.getEditorReferences().length);
+        IEditorPart editor = this.activePage.getEditorReferences()[0].getEditor(true);
+        assertEquals(ParManifestEditor.class, editor.getClass());
+        ParManifestEditor parEditor = (ParManifestEditor) editor;
+        assertEquals(1, parEditor.getParts().length);
+        assertEquals("MissingResourcePage", parEditor.getParts()[0].getClass().getSimpleName());
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.tests/src/org/eclipse/virgo/ide/tests/VirgoIdeTestsPlugin.java b/org.eclipse.virgo.ide.tests/src/org/eclipse/virgo/ide/tests/VirgoIdeTestsPlugin.java
index 789e23c..01ff116 100644
--- a/org.eclipse.virgo.ide.tests/src/org/eclipse/virgo/ide/tests/VirgoIdeTestsPlugin.java
+++ b/org.eclipse.virgo.ide.tests/src/org/eclipse/virgo/ide/tests/VirgoIdeTestsPlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.tests;
 
 /**
@@ -15,6 +16,6 @@
  */
 public class VirgoIdeTestsPlugin {
 
-	public static String PLUGIN_ID = "org.eclipse.virgo.ide.tests";
+    public static String PLUGIN_ID = "org.eclipse.virgo.ide.tests";
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.ui.tests/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.ui.tests/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.ui.tests/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.ui.tests/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.ui.tests/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.ui.tests/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.ui.tests/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleImportLibrarySectionUiTest.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleImportLibrarySectionUiTest.java
index 53b4fcc..69782e9 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleImportLibrarySectionUiTest.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleImportLibrarySectionUiTest.java
@@ -8,13 +8,9 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
 import org.eclipse.virgo.ide.ui.tests.AbstractManifestUiTestCase;
 
 /**
@@ -22,84 +18,88 @@
  */
 public class BundleImportLibrarySectionUiTest extends AbstractManifestUiTestCase {
 
-	private static String SECTION_LABEL = "Import Library";
+    private static String SECTION_LABEL = "Import Library";
 
-	public void testAddButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
-			}
-		});
-		bot.flatButtonInSection("Add...", SECTION_LABEL).click();
+    public void testAddButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		SWTBotShell addDialog = bot.shell("Library Selection");
-		assertTrue(addDialog.isOpen());
-		addDialog.close();
-	}
+            public void run() {
+                manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
+            }
+        });
+        this.bot.flatButtonInSection("Add...", SECTION_LABEL).click();
 
-	public void testDownloadButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
-			}
-		});
+        SWTBotShell addDialog = this.bot.shell("Library Selection");
+        assertTrue(addDialog.isOpen());
+        addDialog.close();
+    }
 
-		SWTBotTable table = bot.tableInSection(SECTION_LABEL);
-		int count = table.rowCount();
-		bot.flatButtonInSection("Download...", SECTION_LABEL).click();
+    public void testDownloadButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		SWTBotShell downloadDialog = bot.shell("Library Selection");
-		assertTrue(downloadDialog.isOpen());
+            public void run() {
+                manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
+            }
+        });
 
-		bot.table().select(0);
-		bot.button("OK").click();
-		assertEquals(count + 1, table.rowCount());
-	}
+        SWTBotTable table = this.bot.tableInSection(SECTION_LABEL);
+        int count = table.rowCount();
+        this.bot.flatButtonInSection("Download...", SECTION_LABEL).click();
 
-	public void testRemoveButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
-			}
-		});
+        SWTBotShell downloadDialog = this.bot.shell("Library Selection");
+        assertTrue(downloadDialog.isOpen());
 
-		SWTBotButton button = bot.flatButtonInSection("Remove", SECTION_LABEL);
-		assertFalse(button.isEnabled());
+        this.bot.table().select(0);
+        this.bot.button("OK").click();
+        assertEquals(count + 1, table.rowCount());
+    }
 
-		SWTBotTable table = bot.tableInSection(SECTION_LABEL);
-		int count = table.rowCount();
-		assertTrue(count > 0);
+    public void testRemoveButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		table.select(0);
-		assertTrue(button.isEnabled());
+            public void run() {
+                manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
+            }
+        });
 
-		button.click();
-		assertEquals(count - 1, table.rowCount());
-	}
+        SWTBotButton button = this.bot.flatButtonInSection("Remove", SECTION_LABEL);
+        assertFalse(button.isEnabled());
 
-	public void testPropertiesButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
-			}
-		});
+        SWTBotTable table = this.bot.tableInSection(SECTION_LABEL);
+        int count = table.rowCount();
+        assertTrue(count > 0);
 
-		SWTBotButton button = bot.flatButtonInSection("Properties...", SECTION_LABEL);
-		assertFalse(button.isEnabled());
+        table.select(0);
+        assertTrue(button.isEnabled());
 
-		SWTBotTable table = bot.tableInSection(SECTION_LABEL);
-		String text = table.getTableItem(0).getText();
-		table.select(0);
-		assertTrue(button.isEnabled());
-		button.click();
+        button.click();
+        assertEquals(count - 1, table.rowCount());
+    }
 
-		SWTBotShell propertiesDialog = bot.shell(text);
-		assertTrue(propertiesDialog.isOpen());
-		propertiesDialog.close();
-	}
+    public void testPropertiesButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
+
+            public void run() {
+                manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
+            }
+        });
+
+        SWTBotButton button = this.bot.flatButtonInSection("Properties...", SECTION_LABEL);
+        assertFalse(button.isEnabled());
+
+        SWTBotTable table = this.bot.tableInSection(SECTION_LABEL);
+        String text = table.getTableItem(0).getText();
+        table.select(0);
+        assertTrue(button.isEnabled());
+        button.click();
+
+        SWTBotShell propertiesDialog = this.bot.shell(text);
+        assertTrue(propertiesDialog.isOpen());
+        propertiesDialog.close();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleImportPackageSectionUiTest.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleImportPackageSectionUiTest.java
index c152e56..b9481de 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleImportPackageSectionUiTest.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleImportPackageSectionUiTest.java
@@ -8,13 +8,9 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
 import org.eclipse.virgo.ide.ui.tests.AbstractManifestUiTestCase;
 
 /**
@@ -22,84 +18,88 @@
  */
 public class BundleImportPackageSectionUiTest extends AbstractManifestUiTestCase {
 
-	private static String SECTION_LABEL = "Import Package";
+    private static String SECTION_LABEL = "Import Package";
 
-	public void testAddButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
-			}
-		});
-		bot.flatButtonInSection("Add...", SECTION_LABEL).click();
+    public void testAddButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		SWTBotShell addDialog = bot.shell("Package Selection");
-		assertTrue(addDialog.isOpen());
-		addDialog.close();
-	}
+            public void run() {
+                manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
+            }
+        });
+        this.bot.flatButtonInSection("Add...", SECTION_LABEL).click();
 
-	public void testDownloadButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
-			}
-		});
+        SWTBotShell addDialog = this.bot.shell("Package Selection");
+        assertTrue(addDialog.isOpen());
+        addDialog.close();
+    }
 
-		SWTBotTable table = bot.tableInSection(SECTION_LABEL);
-		int count = table.rowCount();
-		bot.flatButtonInSection("Download...", SECTION_LABEL).click();
+    public void testDownloadButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		SWTBotShell downloadDialog = bot.shell("Package Selection");
-		assertTrue(downloadDialog.isOpen());
+            public void run() {
+                manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
+            }
+        });
 
-		bot.table().select(0);
-		bot.button("OK").click();
-		assertEquals(count + 1, table.rowCount());
-	}
+        SWTBotTable table = this.bot.tableInSection(SECTION_LABEL);
+        int count = table.rowCount();
+        this.bot.flatButtonInSection("Download...", SECTION_LABEL).click();
 
-	public void testRemoveButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
-			}
-		});
+        SWTBotShell downloadDialog = this.bot.shell("Package Selection");
+        assertTrue(downloadDialog.isOpen());
 
-		SWTBotButton button = bot.flatButtonInSection("Remove", SECTION_LABEL);
-		assertFalse(button.isEnabled());
+        this.bot.table().select(0);
+        this.bot.button("OK").click();
+        assertEquals(count + 1, table.rowCount());
+    }
 
-		SWTBotTable table = bot.tableInSection(SECTION_LABEL);
-		int count = table.rowCount();
-		assertTrue(count > 0);
+    public void testRemoveButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		table.select(0);
-		assertTrue(button.isEnabled());
+            public void run() {
+                manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
+            }
+        });
 
-		button.click();
-		assertEquals(count - 1, table.rowCount());
-	}
+        SWTBotButton button = this.bot.flatButtonInSection("Remove", SECTION_LABEL);
+        assertFalse(button.isEnabled());
 
-	public void testPropertiesButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
-			}
-		});
+        SWTBotTable table = this.bot.tableInSection(SECTION_LABEL);
+        int count = table.rowCount();
+        assertTrue(count > 0);
 
-		SWTBotButton button = bot.flatButtonInSection("Properties...", SECTION_LABEL);
-		assertFalse(button.isEnabled());
+        table.select(0);
+        assertTrue(button.isEnabled());
 
-		SWTBotTable table = bot.tableInSection(SECTION_LABEL);
-		String text = table.getTableItem(0).getText();
-		table.select(0);
-		assertTrue(button.isEnabled());
-		button.click();
+        button.click();
+        assertEquals(count - 1, table.rowCount());
+    }
 
-		SWTBotShell propertiesDialog = bot.shell(text);
-		assertTrue(propertiesDialog.isOpen());
-		propertiesDialog.close();
-	}
+    public void testPropertiesButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
+
+            public void run() {
+                manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
+            }
+        });
+
+        SWTBotButton button = this.bot.flatButtonInSection("Properties...", SECTION_LABEL);
+        assertFalse(button.isEnabled());
+
+        SWTBotTable table = this.bot.tableInSection(SECTION_LABEL);
+        String text = table.getTableItem(0).getText();
+        table.select(0);
+        assertTrue(button.isEnabled());
+        button.click();
+
+        SWTBotShell propertiesDialog = this.bot.shell(text);
+        assertTrue(propertiesDialog.isOpen());
+        propertiesDialog.close();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleImportSectionUiTest.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleImportSectionUiTest.java
index 0607386..2d194fd 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleImportSectionUiTest.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleImportSectionUiTest.java
@@ -8,13 +8,9 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
 import org.eclipse.virgo.ide.ui.tests.AbstractManifestUiTestCase;
 
 /**
@@ -22,84 +18,88 @@
  */
 public class BundleImportSectionUiTest extends AbstractManifestUiTestCase {
 
-	private static String SECTION_LABEL = "Import Bundle";
+    private static String SECTION_LABEL = "Import Bundle";
 
-	public void testAddButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
-			}
-		});
-		bot.flatButtonInSection("Add...", SECTION_LABEL).click();
+    public void testAddButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		SWTBotShell addDialog = bot.shell("Bundle Selection");
-		assertTrue(addDialog.isOpen());
-		addDialog.close();
-	}
+            public void run() {
+                manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
+            }
+        });
+        this.bot.flatButtonInSection("Add...", SECTION_LABEL).click();
 
-	public void testDownloadButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
-			}
-		});
+        SWTBotShell addDialog = this.bot.shell("Bundle Selection");
+        assertTrue(addDialog.isOpen());
+        addDialog.close();
+    }
 
-		SWTBotTable table = bot.tableInSection(SECTION_LABEL);
-		int count = table.rowCount();
-		bot.flatButtonInSection("Download...", SECTION_LABEL).click();
+    public void testDownloadButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		SWTBotShell downloadDialog = bot.shell("Bundle Selection");
-		assertTrue(downloadDialog.isOpen());
+            public void run() {
+                manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
+            }
+        });
 
-		bot.table().select(0);
-		bot.button("OK").click();
-		assertEquals(count + 1, table.rowCount());
-	}
+        SWTBotTable table = this.bot.tableInSection(SECTION_LABEL);
+        int count = table.rowCount();
+        this.bot.flatButtonInSection("Download...", SECTION_LABEL).click();
 
-	public void testRemoveButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
-			}
-		});
+        SWTBotShell downloadDialog = this.bot.shell("Bundle Selection");
+        assertTrue(downloadDialog.isOpen());
 
-		SWTBotButton button = bot.flatButtonInSection("Remove", SECTION_LABEL);
-		assertFalse(button.isEnabled());
+        this.bot.table().select(0);
+        this.bot.button("OK").click();
+        assertEquals(count + 1, table.rowCount());
+    }
 
-		SWTBotTable table = bot.tableInSection(SECTION_LABEL);
-		int count = table.rowCount();
-		assertTrue(count > 0);
+    public void testRemoveButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		table.select(0);
-		assertTrue(button.isEnabled());
+            public void run() {
+                manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
+            }
+        });
 
-		button.click();
-		assertEquals(count - 1, table.rowCount());
-	}
+        SWTBotButton button = this.bot.flatButtonInSection("Remove", SECTION_LABEL);
+        assertFalse(button.isEnabled());
 
-	public void testPropertiesButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
-			}
-		});
+        SWTBotTable table = this.bot.tableInSection(SECTION_LABEL);
+        int count = table.rowCount();
+        assertTrue(count > 0);
 
-		SWTBotButton button = bot.flatButtonInSection("Properties...", SECTION_LABEL);
-		assertFalse(button.isEnabled());
+        table.select(0);
+        assertTrue(button.isEnabled());
 
-		SWTBotTable table = bot.tableInSection(SECTION_LABEL);
-		String text = table.getTableItem(0).getText();
-		table.select(0);
-		assertTrue(button.isEnabled());
-		button.click();
+        button.click();
+        assertEquals(count - 1, table.rowCount());
+    }
 
-		SWTBotShell propertiesDialog = bot.shell(text);
-		assertTrue(propertiesDialog.isOpen());
-		propertiesDialog.close();
-	}
+    public void testPropertiesButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
+
+            public void run() {
+                manifest.setActivePage(BundleDependenciesPage.PAGE_ID);
+            }
+        });
+
+        SWTBotButton button = this.bot.flatButtonInSection("Properties...", SECTION_LABEL);
+        assertFalse(button.isEnabled());
+
+        SWTBotTable table = this.bot.tableInSection(SECTION_LABEL);
+        String text = table.getTableItem(0).getText();
+        table.select(0);
+        assertTrue(button.isEnabled());
+        button.click();
+
+        SWTBotShell propertiesDialog = this.bot.shell(text);
+        assertTrue(propertiesDialog.isOpen());
+        propertiesDialog.close();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleLibrarySectionUiTest.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleLibrarySectionUiTest.java
index 24b301d..be6aeaa 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleLibrarySectionUiTest.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleLibrarySectionUiTest.java
@@ -8,13 +8,9 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
 import org.eclipse.virgo.ide.ui.tests.AbstractManifestUiTestCase;
 
 /**
@@ -22,56 +18,59 @@
  */
 public class BundleLibrarySectionUiTest extends AbstractManifestUiTestCase {
 
-	private static String SECTION_LABEL = "Classpath";
+    private static String SECTION_LABEL = "Classpath";
 
-	public void testNewButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleRuntimePage.PAGE_ID);
-			}
-		});
-		bot.flatButtonInSection("New...", SECTION_LABEL).click();
+    public void testNewButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		SWTBotShell newDialog = bot.shell("New Library");
-		assertTrue(newDialog.isOpen());
-		newDialog.close();
-	}
+            public void run() {
+                manifest.setActivePage(BundleRuntimePage.PAGE_ID);
+            }
+        });
+        this.bot.flatButtonInSection("New...", SECTION_LABEL).click();
 
-	public void testAddButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleRuntimePage.PAGE_ID);
-			}
-		});
-		bot.flatButtonInSection("Add...", SECTION_LABEL).click();
+        SWTBotShell newDialog = this.bot.shell("New Library");
+        assertTrue(newDialog.isOpen());
+        newDialog.close();
+    }
 
-		SWTBotShell addDialog = bot.shell("JAR Selection");
-		assertTrue(addDialog.isOpen());
-		addDialog.close();
-	}
+    public void testAddButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-	public void testRemoveButton() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleRuntimePage.PAGE_ID);
-			}
-		});
+            public void run() {
+                manifest.setActivePage(BundleRuntimePage.PAGE_ID);
+            }
+        });
+        this.bot.flatButtonInSection("Add...", SECTION_LABEL).click();
 
-		SWTBotButton button = bot.flatButtonInSection("Remove", SECTION_LABEL);
-		assertFalse(button.isEnabled());
+        SWTBotShell addDialog = this.bot.shell("JAR Selection");
+        assertTrue(addDialog.isOpen());
+        addDialog.close();
+    }
 
-		SWTBotTable table = bot.tableInSection(SECTION_LABEL);
-		int count = table.rowCount();
-		assertTrue(count > 0);
+    public void testRemoveButton() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		table.select(0);
-		assertTrue(button.isEnabled());
+            public void run() {
+                manifest.setActivePage(BundleRuntimePage.PAGE_ID);
+            }
+        });
 
-		button.click();
-		assertEquals(count - 1, table.rowCount());
-	}
+        SWTBotButton button = this.bot.flatButtonInSection("Remove", SECTION_LABEL);
+        assertFalse(button.isEnabled());
+
+        SWTBotTable table = this.bot.tableInSection(SECTION_LABEL);
+        int count = table.rowCount();
+        assertTrue(count > 0);
+
+        table.select(0);
+        assertTrue(button.isEnabled());
+
+        button.click();
+        assertEquals(count - 1, table.rowCount());
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleOverviewPageUiTest.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleOverviewPageUiTest.java
index 8c1e588..90da87c 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleOverviewPageUiTest.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/BundleOverviewPageUiTest.java
@@ -8,11 +8,9 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
 import org.eclipse.virgo.ide.ui.tests.AbstractManifestUiTestCase;
 
 /**
@@ -20,56 +18,60 @@
  */
 public class BundleOverviewPageUiTest extends AbstractManifestUiTestCase {
 
-	/*
-	 * These tests will fail because the links we are searching for are GC drawn
-	 * and therefore not widgets/controls. This test case has been commented out
-	 * from the AllSwtbotDrivenTests suite.
-	 */
+    /*
+     * These tests will fail because the links we are searching for are GC drawn and therefore not widgets/controls.
+     * This test case has been commented out from the AllSwtbotDrivenTests suite.
+     */
 
-	public void testExportBundleHyperlink() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleOverviewPage.PAGE_ID);
-			}
-		});
-		bot.hyperlink("Export Bundle").click();
+    public void testExportBundleHyperlink() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		SWTBotShell exportDialog = bot.shell("Bundle Export Wizard");
-		assertTrue(exportDialog.isOpen());
-		exportDialog.close();
-	}
+            public void run() {
+                manifest.setActivePage(BundleOverviewPage.PAGE_ID);
+            }
+        });
+        this.bot.hyperlink("Export Bundle").click();
 
-	public void testDependenciesHyperlink() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleOverviewPage.PAGE_ID);
-			}
-		});
-		bot.hyperlink("Dependencies").click();
+        SWTBotShell exportDialog = this.bot.shell("Bundle Export Wizard");
+        assertTrue(exportDialog.isOpen());
+        exportDialog.close();
+    }
 
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				assertEquals(manifest.findPage(BundleDependenciesPage.PAGE_ID), manifest.getActiveEditor());
-			}
-		});
-	}
+    public void testDependenciesHyperlink() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-	public void testRuntimeHyperlink() throws Exception {
-		final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(BundleOverviewPage.PAGE_ID);
-			}
-		});
-		bot.hyperlink("Runtime").click();
+            public void run() {
+                manifest.setActivePage(BundleOverviewPage.PAGE_ID);
+            }
+        });
+        this.bot.hyperlink("Dependencies").click();
 
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				assertEquals(manifest.findPage(BundleRuntimePage.PAGE_ID), manifest.getActiveEditor());
-			}
-		});
-	}
+        UIThreadRunnable.syncExec(new VoidResult() {
+
+            public void run() {
+                assertEquals(manifest.findPage(BundleDependenciesPage.PAGE_ID), manifest.getActiveEditor());
+            }
+        });
+    }
+
+    public void testRuntimeHyperlink() throws Exception {
+        final BundleManifestEditor manifest = openBundleManifestFile("src/META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
+
+            public void run() {
+                manifest.setActivePage(BundleOverviewPage.PAGE_ID);
+            }
+        });
+        this.bot.hyperlink("Runtime").click();
+
+        UIThreadRunnable.syncExec(new VoidResult() {
+
+            public void run() {
+                assertEquals(manifest.findPage(BundleRuntimePage.PAGE_ID), manifest.getActiveEditor());
+            }
+        });
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/ParDependenciesSectionUiTest.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/ParDependenciesSectionUiTest.java
index f1eef96..e52ac3a 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/ParDependenciesSectionUiTest.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/editors/ParDependenciesSectionUiTest.java
@@ -8,13 +8,9 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.results.VoidResult;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
 import org.eclipse.virgo.ide.ui.tests.AbstractManifestUiTestCase;
 
 /**
@@ -22,42 +18,44 @@
  */
 public class ParDependenciesSectionUiTest extends AbstractManifestUiTestCase {
 
-	private static String SECTION_LABEL = "Nested Bundles";
+    private static String SECTION_LABEL = "Nested Bundles";
 
-	public void testAddButton() throws Exception {
-		final ParManifestEditor manifest = openParManifestFile("META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(ParXmlEditorPage.ID_EDITOR);
-			}
-		});
-		bot.flatButtonInSection("Add...", SECTION_LABEL).click();
+    public void testAddButton() throws Exception {
+        final ParManifestEditor manifest = openParManifestFile("META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		SWTBotShell addDialog = bot.shell("Bundle Selection");
-		assertTrue(addDialog.isOpen());
-		addDialog.close();
-	}
+            public void run() {
+                manifest.setActivePage(ParXmlEditorPage.ID_EDITOR);
+            }
+        });
+        this.bot.flatButtonInSection("Add...", SECTION_LABEL).click();
 
-	public void testRemoveButton() throws Exception {
-		final ParManifestEditor manifest = openParManifestFile("META-INF/MANIFEST.MF");
-		UIThreadRunnable.syncExec(new VoidResult() {
-			public void run() {
-				manifest.setActivePage(ParXmlEditorPage.ID_EDITOR);
-			}
-		});
+        SWTBotShell addDialog = this.bot.shell("Bundle Selection");
+        assertTrue(addDialog.isOpen());
+        addDialog.close();
+    }
 
-		SWTBotButton button = bot.flatButtonInSection("Remove", SECTION_LABEL);
-		assertFalse(button.isEnabled());
+    public void testRemoveButton() throws Exception {
+        final ParManifestEditor manifest = openParManifestFile("META-INF/MANIFEST.MF");
+        UIThreadRunnable.syncExec(new VoidResult() {
 
-		SWTBotTable table = bot.tableInSection(SECTION_LABEL);
-		assertEquals(1, table.rowCount());
+            public void run() {
+                manifest.setActivePage(ParXmlEditorPage.ID_EDITOR);
+            }
+        });
 
-		table.select(0);
-		assertTrue(button.isEnabled());
+        SWTBotButton button = this.bot.flatButtonInSection("Remove", SECTION_LABEL);
+        assertFalse(button.isEnabled());
 
-		button.click();
-		assertEquals(0, table.rowCount());
-		assertFalse(button.isEnabled());
-	}
+        SWTBotTable table = this.bot.tableInSection(SECTION_LABEL);
+        assertEquals(1, table.rowCount());
+
+        table.select(0);
+        assertTrue(button.isEnabled());
+
+        button.click();
+        assertEquals(0, table.rowCount());
+        assertFalse(button.isEnabled());
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/AbstractManifestUiTestCase.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/AbstractManifestUiTestCase.java
index 61cba91..1b53e61 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/AbstractManifestUiTestCase.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/AbstractManifestUiTestCase.java
@@ -8,21 +8,18 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.tests;
 
 import java.io.IOException;
 import java.util.List;
 
+import javax.xml.transform.Result;
+
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.pde.internal.ui.editor.plugin.ManifestEditor;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
-import org.eclipse.swtbot.swt.finder.SWTBotTestCase;
-import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
-import org.eclipse.swtbot.swt.finder.finders.UIThreadRunnable;
-import org.eclipse.swtbot.swt.finder.results.Result;
-import org.eclipse.swtbot.swt.finder.utils.SWTUtils;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchWindow;
@@ -40,75 +37,76 @@
  */
 public class AbstractManifestUiTestCase extends SWTBotTestCase {
 
-	public VirgoIdeTestBot bot;
+    public VirgoIdeTestBot bot;
 
-	protected IProject createPredefinedProject(String projectName) throws CoreException, IOException {
-		return VirgoIdeTestUtil.createPredefinedProject(projectName, getBundleName());
-	}
+    protected IProject createPredefinedProject(String projectName) throws CoreException, IOException {
+        return VirgoIdeTestUtil.createPredefinedProject(projectName, getBundleName());
+    }
 
-	protected String getBundleName() {
-		return "org.eclipse.virgo.ide.ui.tests";
-	}
+    protected String getBundleName() {
+        return "org.eclipse.virgo.ide.ui.tests";
+    }
 
-	protected BundleManifestEditor openBundleManifestFile(String path) throws CoreException, IOException {
-		IProject project = createPredefinedProject("SimpleBundleProject");
-		BundleManifestEditor manifest = (BundleManifestEditor) openManifestEditor(project, path);
-		return manifest;
-	}
+    protected BundleManifestEditor openBundleManifestFile(String path) throws CoreException, IOException {
+        IProject project = createPredefinedProject("SimpleBundleProject");
+        BundleManifestEditor manifest = (BundleManifestEditor) openManifestEditor(project, path);
+        return manifest;
+    }
 
-	private ManifestEditor openManifestEditor(IProject project, String path) {
-		final IFile file = project.getFile(path);
-		assertTrue(file.exists());
+    private ManifestEditor openManifestEditor(IProject project, String path) {
+        final IFile file = project.getFile(path);
+        assertTrue(file.exists());
 
-		return UIThreadRunnable.syncExec(new Result<ManifestEditor>() {
-			public ManifestEditor run() {
-				IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-				assertNotNull("Expected active workbench window", window);
-				IWorkbenchPage page = window.getActivePage();
-				assertNotNull("Expected active workbench page", page);
+        return UIThreadRunnable.syncExec(new Result<ManifestEditor>() {
 
-				try {
-					IEditorPart editor = IDE.openEditor(page, file);
-					if (editor instanceof ManifestEditor) {
-						return ((ManifestEditor) editor);
-					}
-				} catch (PartInitException e) {
-					fail("Could not open a manifest editor.");
-				}
-				return null;
-			}
-		});
-	}
+            public ManifestEditor run() {
+                IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+                assertNotNull("Expected active workbench window", window);
+                IWorkbenchPage page = window.getActivePage();
+                assertNotNull("Expected active workbench page", page);
 
-	protected ParManifestEditor openParManifestFile(String path) throws CoreException, IOException {
-		IProject project = createPredefinedProject("SimpleParProject");
-		ParManifestEditor manifest = (ParManifestEditor) openManifestEditor(project, path);
-		return manifest;
-	}
+                try {
+                    IEditorPart editor = IDE.openEditor(page, file);
+                    if (editor instanceof ManifestEditor) {
+                        return (ManifestEditor) editor;
+                    }
+                } catch (PartInitException e) {
+                    fail("Could not open a manifest editor.");
+                }
+                return null;
+            }
+        });
+    }
 
-	@Override
-	protected void setUp() throws Exception {
-		bot = new VirgoIdeTestBot();
-		try {
-			bot.viewByTitle("Welcome").close();
-		} catch (WidgetNotFoundException e) {
-			// ignore
-		}
-		assertFalse("SWTBot tests can not run in the UI thread.", SWTUtils.isUIThread());
+    protected ParManifestEditor openParManifestFile(String path) throws CoreException, IOException {
+        IProject project = createPredefinedProject("SimpleParProject");
+        ParManifestEditor manifest = (ParManifestEditor) openManifestEditor(project, path);
+        return manifest;
+    }
 
-		// trigger artefact repo initialization
-		ServerCorePlugin.getArtefactRepositoryManager().getArtefactRepository();
-		while (!ServerCorePlugin.getArtefactRepositoryManager().isArtefactRepositoryInitialized()) {
-			Thread.sleep(500);
-		}
-	}
+    @Override
+    protected void setUp() throws Exception {
+        this.bot = new VirgoIdeTestBot();
+        try {
+            this.bot.viewByTitle("Welcome").close();
+        } catch (WidgetNotFoundException e) {
+            // ignore
+        }
+        assertFalse("SWTBot tests can not run in the UI thread.", SWTUtils.isUIThread());
 
-	@Override
-	protected void tearDown() throws Exception {
-		List<? extends SWTBotEditor> editors = bot.editors();
-		for (SWTBotEditor editor : editors) {
-			editor.close();
-		}
-		VirgoIdeTestUtil.deleteAllProjects();
-	}
+        // trigger artefact repo initialization
+        ServerCorePlugin.getArtefactRepositoryManager().getArtefactRepository();
+        while (!ServerCorePlugin.getArtefactRepositoryManager().isArtefactRepositoryInitialized()) {
+            Thread.sleep(500);
+        }
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        List<? extends SWTBotEditor> editors = this.bot.editors();
+        for (SWTBotEditor editor : editors) {
+            editor.close();
+        }
+        VirgoIdeTestUtil.deleteAllProjects();
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/AllVirgoIdeUiTests.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/AllVirgoIdeUiTests.java
index 87db045..6f3ca60 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/AllVirgoIdeUiTests.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/AllVirgoIdeUiTests.java
@@ -8,10 +8,8 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
-package org.eclipse.virgo.ide.ui.tests;
 
-import junit.framework.Test;
-import junit.framework.TestSuite;
+package org.eclipse.virgo.ide.ui.tests;
 
 import org.eclipse.virgo.ide.ui.editors.BundleImportLibrarySectionUiTest;
 import org.eclipse.virgo.ide.ui.editors.BundleImportPackageSectionUiTest;
@@ -21,22 +19,25 @@
 import org.eclipse.virgo.ide.ui.wizards.NewBundleProjectWizardUiTest;
 import org.eclipse.virgo.ide.ui.wizards.NewParProjectWizardUiTest;
 
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
 /**
  * @author Leo Dos Santos
  */
 public class AllVirgoIdeUiTests {
 
-	public static Test suite() {
-		TestSuite suite = new TestSuite(AllVirgoIdeUiTests.class.getName());
-		suite.addTestSuite(BundleLibrarySectionUiTest.class);
-		suite.addTestSuite(BundleImportLibrarySectionUiTest.class);
-		suite.addTestSuite(BundleImportPackageSectionUiTest.class);
-		suite.addTestSuite(BundleImportSectionUiTest.class);
-		// suite.addTestSuite(BundleOverviewPageUiTest.class);
-		suite.addTestSuite(ParDependenciesSectionUiTest.class);
-		suite.addTestSuite(NewBundleProjectWizardUiTest.class);
-		suite.addTestSuite(NewParProjectWizardUiTest.class);
-		return suite;
-	}
+    public static Test suite() {
+        TestSuite suite = new TestSuite(AllVirgoIdeUiTests.class.getName());
+        suite.addTestSuite(BundleLibrarySectionUiTest.class);
+        suite.addTestSuite(BundleImportLibrarySectionUiTest.class);
+        suite.addTestSuite(BundleImportPackageSectionUiTest.class);
+        suite.addTestSuite(BundleImportSectionUiTest.class);
+        // suite.addTestSuite(BundleOverviewPageUiTest.class);
+        suite.addTestSuite(ParDependenciesSectionUiTest.class);
+        suite.addTestSuite(NewBundleProjectWizardUiTest.class);
+        suite.addTestSuite(NewParProjectWizardUiTest.class);
+        return suite;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/ServerIdeUiTestPlugin.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/ServerIdeUiTestPlugin.java
index 6c52744..75cf568 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/ServerIdeUiTestPlugin.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/ServerIdeUiTestPlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.tests;
 
 /**
@@ -15,6 +16,6 @@
  */
 public class ServerIdeUiTestPlugin {
 
-	public static String PLUGIN_ID = "org.eclipse.virgo.ide.ui.tests";
+    public static String PLUGIN_ID = "org.eclipse.virgo.ide.ui.tests";
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/util/InSection.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/util/InSection.java
index 19035b1..ab90968 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/util/InSection.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/util/InSection.java
@@ -4,19 +4,14 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.tests.util;
 
-import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.withMnemonic;
-
 import org.eclipse.swt.widgets.Widget;
-import org.eclipse.swtbot.swt.finder.finders.PathGenerator;
-import org.eclipse.swtbot.swt.finder.matchers.AbstractMatcher;
-import org.eclipse.swtbot.swt.finder.utils.SWTUtils;
-import org.eclipse.swtbot.swt.finder.utils.TreePath;
 import org.eclipse.ui.forms.widgets.Section;
 import org.hamcrest.Description;
 import org.hamcrest.Factory;
@@ -27,42 +22,42 @@
  */
 public class InSection<T extends Widget> extends AbstractMatcher<T> {
 
-	@Factory
-	public static <T extends Widget> Matcher<T> inSection(Matcher<?> matcher) {
-		return new InSection<T>(matcher);
-	}
+    @Factory
+    public static <T extends Widget> Matcher<T> inSection(Matcher<?> matcher) {
+        return new InSection<T>(matcher);
+    }
 
-	@Factory
-	public static <T extends Widget> Matcher<T> inSection(String labelText) {
-		return new InSection<T>(labelText);
-	}
+    @Factory
+    public static <T extends Widget> Matcher<T> inSection(String labelText) {
+        return new InSection<T>(labelText);
+    }
 
-	private final Matcher<?> matcher;
+    private final Matcher<?> matcher;
 
-	InSection(Matcher<?> matcher) {
-		this.matcher = matcher;
-	}
+    InSection(Matcher<?> matcher) {
+        this.matcher = matcher;
+    }
 
-	InSection(String labelText) {
-		matcher = withMnemonic(labelText);
-	}
+    InSection(String labelText) {
+        this.matcher = withMnemonic(labelText);
+    }
 
-	public void describeTo(Description description) {
-		description.appendText("in section (").appendDescriptionOf(matcher).appendText(")"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
+    public void describeTo(Description description) {
+        description.appendText("in section (").appendDescriptionOf(this.matcher).appendText(")"); //$NON-NLS-1$ //$NON-NLS-2$
+    }
 
-	@Override
-	protected boolean doMatch(Object item) {
-		Widget previousWidget = SWTUtils.previousWidget((Widget) item);
-		TreePath path = new PathGenerator().getPath((Widget) item);
-		int segmentCount = path.getSegmentCount();
-		for (int i = 1; i < segmentCount; i++) {
-			previousWidget = (Widget) path.getSegment(segmentCount - i - 1);
-			if ((previousWidget instanceof Section) && matcher.matches(previousWidget)) {
-				return true;
-			}
-		}
-		return false;
-	}
+    @Override
+    protected boolean doMatch(Object item) {
+        Widget previousWidget = SWTUtils.previousWidget((Widget) item);
+        TreePath path = new PathGenerator().getPath((Widget) item);
+        int segmentCount = path.getSegmentCount();
+        for (int i = 1; i < segmentCount; i++) {
+            previousWidget = (Widget) path.getSegment(segmentCount - i - 1);
+            if (previousWidget instanceof Section && this.matcher.matches(previousWidget)) {
+                return true;
+            }
+        }
+        return false;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/util/SWTBotHyperlink.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/util/SWTBotHyperlink.java
index 4be53ee..ba21c1a 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/util/SWTBotHyperlink.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/util/SWTBotHyperlink.java
@@ -4,17 +4,13 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.tests.util;
 
-import org.eclipse.swtbot.swt.finder.ReferenceBy;
-import org.eclipse.swtbot.swt.finder.SWTBotWidget;
-import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
-import org.eclipse.swtbot.swt.finder.widgets.AbstractSWTBot;
-import org.eclipse.swtbot.swt.finder.widgets.AbstractSWTBotControl;
 import org.eclipse.ui.forms.widgets.Hyperlink;
 import org.hamcrest.SelfDescribing;
 
@@ -24,17 +20,17 @@
 @SWTBotWidget(clasz = Hyperlink.class, preferredName = "hyperlink", referenceBy = { ReferenceBy.MNEMONIC })
 public class SWTBotHyperlink extends AbstractSWTBotControl<Hyperlink> {
 
-	public SWTBotHyperlink(Hyperlink w) throws WidgetNotFoundException {
-		super(w);
-	}
+    public SWTBotHyperlink(Hyperlink w) throws WidgetNotFoundException {
+        super(w);
+    }
 
-	public SWTBotHyperlink(Hyperlink w, SelfDescribing description) throws WidgetNotFoundException {
-		super(w, description);
-	}
+    public SWTBotHyperlink(Hyperlink w, SelfDescribing description) throws WidgetNotFoundException {
+        super(w, description);
+    }
 
-	@Override
-	public AbstractSWTBot<Hyperlink> click() {
-		return click(true);
-	}
+    @Override
+    public AbstractSWTBot<Hyperlink> click() {
+        return click(true);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/util/VirgoIdeTestBot.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/util/VirgoIdeTestBot.java
index 2443004..b47afaa 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/util/VirgoIdeTestBot.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/tests/util/VirgoIdeTestBot.java
@@ -4,27 +4,18 @@
  * 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:
  *     SpringSource - initial API and implementation
  *******************************************************************************/
-package org.eclipse.virgo.ide.ui.tests.util;
 
-import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.allOf;
-import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.widgetOfType;
-import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.withMnemonic;
-import static org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory.withStyle;
+package org.eclipse.virgo.ide.ui.tests.util;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Table;
 import org.eclipse.swt.widgets.Tree;
 import org.eclipse.swt.widgets.Widget;
-import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotRadio;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
 import org.eclipse.ui.forms.widgets.Hyperlink;
 import org.hamcrest.Matcher;
 
@@ -33,70 +24,68 @@
  */
 public class VirgoIdeTestBot extends SWTWorkbenchBot {
 
-	@SuppressWarnings("unchecked")
-	public SWTBotButton buttonInSection(String mnemonicText, String inSection) {
-		Matcher<Widget> matcher = allOf(widgetOfType(Button.class), withMnemonic(mnemonicText),
-				InSection.inSection(inSection));
-		return new SWTBotButton((Button) widget(matcher, 0), matcher);
-	}
+    @SuppressWarnings("unchecked")
+    public SWTBotButton buttonInSection(String mnemonicText, String inSection) {
+        Matcher<Widget> matcher = allOf(widgetOfType(Button.class), withMnemonic(mnemonicText), InSection.inSection(inSection));
+        return new SWTBotButton((Button) widget(matcher, 0), matcher);
+    }
 
-	public SWTBotButton flatButton(String mnemonicText) {
-		return flatButton(mnemonicText, 0);
-	}
+    public SWTBotButton flatButton(String mnemonicText) {
+        return flatButton(mnemonicText, 0);
+    }
 
-	@SuppressWarnings("unchecked")
-	public SWTBotButton flatButton(String mnemonicText, int index) {
-		Matcher<Widget> matcher = allOf(widgetOfType(Button.class), withMnemonic(mnemonicText),
-				withStyle(SWT.FLAT, "SWT.FLAT"));
-		return new SWTBotButton((Button) widget(matcher, index), matcher);
-	}
+    @SuppressWarnings("unchecked")
+    public SWTBotButton flatButton(String mnemonicText, int index) {
+        Matcher<Widget> matcher = allOf(widgetOfType(Button.class), withMnemonic(mnemonicText), withStyle(SWT.FLAT, "SWT.FLAT"));
+        return new SWTBotButton((Button) widget(matcher, index), matcher);
+    }
 
-	public SWTBotButton flatButtonInSection(String mnemonicText, String inSection) {
-		return flatButtonInSection(mnemonicText, inSection, 0);
-	}
+    public SWTBotButton flatButtonInSection(String mnemonicText, String inSection) {
+        return flatButtonInSection(mnemonicText, inSection, 0);
+    }
 
-	@SuppressWarnings("unchecked")
-	public SWTBotButton flatButtonInSection(String mnemonicText, String inSection, int index) {
-		Matcher<Widget> matcher = allOf(widgetOfType(Button.class), withMnemonic(mnemonicText),
-				InSection.inSection(inSection), withStyle(SWT.FLAT, "SWT.FLAT"));
-		return new SWTBotButton((Button) widget(matcher, index), matcher);
-	}
+    @SuppressWarnings("unchecked")
+    public SWTBotButton flatButtonInSection(String mnemonicText, String inSection, int index) {
+        Matcher<Widget> matcher = allOf(widgetOfType(Button.class), withMnemonic(mnemonicText), InSection.inSection(inSection),
+            withStyle(SWT.FLAT, "SWT.FLAT"));
+        return new SWTBotButton((Button) widget(matcher, index), matcher);
+    }
 
-	public SWTBotHyperlink hyperlink(String mnemonicText) {
-		return hyperlink(mnemonicText, 0);
-	}
+    public SWTBotHyperlink hyperlink(String mnemonicText) {
+        return hyperlink(mnemonicText, 0);
+    }
 
-	@SuppressWarnings("unchecked")
-	public SWTBotHyperlink hyperlink(String mnemonicText, int index) {
-		Matcher<Widget> matcher = allOf(widgetOfType(Hyperlink.class), withMnemonic(mnemonicText));
-		return new SWTBotHyperlink((Hyperlink) widget(matcher, index), matcher);
-	}
+    @SuppressWarnings("unchecked")
+    public SWTBotHyperlink hyperlink(String mnemonicText, int index) {
+        Matcher<Widget> matcher = allOf(widgetOfType(Hyperlink.class), withMnemonic(mnemonicText));
+        return new SWTBotHyperlink((Hyperlink) widget(matcher, index), matcher);
+    }
 
-	@SuppressWarnings("unchecked")
-	public SWTBotRadio radioInSection(String mnemonicText, String inSection) {
-		Matcher<Widget> matcher = allOf(widgetOfType(Button.class), withMnemonic(mnemonicText),
-				InSection.inSection(inSection), withStyle(SWT.RADIO, "SWT.RADIO"));
-		return new SWTBotRadio((Button) widget(matcher, 0), matcher);
-	}
+    @SuppressWarnings("unchecked")
+    public SWTBotRadio radioInSection(String mnemonicText, String inSection) {
+        Matcher<Widget> matcher = allOf(widgetOfType(Button.class), withMnemonic(mnemonicText), InSection.inSection(inSection),
+            withStyle(SWT.RADIO, "SWT.RADIO"));
+        return new SWTBotRadio((Button) widget(matcher, 0), matcher);
+    }
 
-	public SWTBotTable tableInSection(String inSection) {
-		return tableInSection(inSection, 0);
-	}
+    public SWTBotTable tableInSection(String inSection) {
+        return tableInSection(inSection, 0);
+    }
 
-	@SuppressWarnings("unchecked")
-	public SWTBotTable tableInSection(String inSection, int index) {
-		Matcher<Widget> matcher = allOf(widgetOfType(Table.class), InSection.inSection(inSection));
-		return new SWTBotTable((Table) widget(matcher, index), matcher);
-	}
+    @SuppressWarnings("unchecked")
+    public SWTBotTable tableInSection(String inSection, int index) {
+        Matcher<Widget> matcher = allOf(widgetOfType(Table.class), InSection.inSection(inSection));
+        return new SWTBotTable((Table) widget(matcher, index), matcher);
+    }
 
-	public SWTBotTree treeInSection(String inSection) {
-		return treeInSection(inSection, 0);
-	}
+    public SWTBotTree treeInSection(String inSection) {
+        return treeInSection(inSection, 0);
+    }
 
-	@SuppressWarnings("unchecked")
-	public SWTBotTree treeInSection(String inSection, int index) {
-		Matcher<Widget> matcher = allOf(widgetOfType(Tree.class), InSection.inSection(inSection));
-		return new SWTBotTree((Tree) widget(matcher, index), matcher);
-	}
+    @SuppressWarnings("unchecked")
+    public SWTBotTree treeInSection(String inSection, int index) {
+        Matcher<Widget> matcher = allOf(widgetOfType(Tree.class), InSection.inSection(inSection));
+        return new SWTBotTree((Tree) widget(matcher, index), matcher);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectWizardUiTest.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectWizardUiTest.java
index ce590aa..58bb20b 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectWizardUiTest.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectWizardUiTest.java
@@ -8,14 +8,10 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
-import static org.eclipse.swtbot.swt.finder.waits.Conditions.shellCloses;
-
 import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
 import org.eclipse.ui.IWorkingSet;
 import org.eclipse.ui.IWorkingSetManager;
 import org.eclipse.ui.PlatformUI;
@@ -27,65 +23,65 @@
  */
 public class NewBundleProjectWizardUiTest extends AbstractManifestUiTestCase {
 
-	private static String PROJECT_NAME = "BundleProject";
+    private static String PROJECT_NAME = "BundleProject";
 
-	public void testProjectCreation() {
-		bot.menu("File").menu("New").menu("Project...").click();
-		SWTBotShell wizard = bot.shell("New Project");
-		wizard.activate();
-		bot.tree().expandNode("Virgo").select("Bundle Project");
+    public void testProjectCreation() {
+        this.bot.menu("File").menu("New").menu("Project...").click();
+        SWTBotShell wizard = this.bot.shell("New Project");
+        wizard.activate();
+        this.bot.tree().expandNode("Virgo").select("Bundle Project");
 
-		SWTBotButton next = bot.button("Next >");
-		next.click();
-		assertFalse(next.isEnabled());
+        SWTBotButton next = this.bot.button("Next >");
+        next.click();
+        assertFalse(next.isEnabled());
 
-		bot.textWithLabel("Project name:").setText(PROJECT_NAME);
-		assertTrue(next.isEnabled());
-		next.click();
+        this.bot.textWithLabel("Project name:").setText(PROJECT_NAME);
+        assertTrue(next.isEnabled());
+        next.click();
 
-		SWTBotButton finish = bot.button("Finish");
-		assertTrue(finish.isEnabled());
-		finish.click();
-		bot.waitUntil(shellCloses(wizard), 15000);
+        SWTBotButton finish = this.bot.button("Finish");
+        assertTrue(finish.isEnabled());
+        finish.click();
+        this.bot.waitUntil(shellCloses(wizard), 15000);
 
-		SWTBotEditor editor = bot.editorById(BundleManifestEditor.ID_EDITOR);
-		// Occasional failure. Caused by race condition?
-		assertEquals(PROJECT_NAME, editor.getTitle());
-	}
+        SWTBotEditor editor = this.bot.editorById(BundleManifestEditor.ID_EDITOR);
+        // Occasional failure. Caused by race condition?
+        assertEquals(PROJECT_NAME, editor.getTitle());
+    }
 
-	public void testProjectCreationWithWorkingSets() {
-		final IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
-		IWorkingSet newSet = manager.createWorkingSet("Testing", new IAdaptable[0]);
-		newSet.setId("org.eclipse.jdt.ui.JavaWorkingSetPage");
-		manager.addWorkingSet(newSet);
-		assertTrue(newSet.getElements().length == 0);
+    public void testProjectCreationWithWorkingSets() {
+        final IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
+        IWorkingSet newSet = manager.createWorkingSet("Testing", new IAdaptable[0]);
+        newSet.setId("org.eclipse.jdt.ui.JavaWorkingSetPage");
+        manager.addWorkingSet(newSet);
+        assertTrue(newSet.getElements().length == 0);
 
-		bot.menu("File").menu("New").menu("Project...").click();
-		SWTBotShell wizard = bot.shell("New Project");
-		wizard.activate();
-		bot.tree().expandNode("Virgo").select("Bundle Project");
+        this.bot.menu("File").menu("New").menu("Project...").click();
+        SWTBotShell wizard = this.bot.shell("New Project");
+        wizard.activate();
+        this.bot.tree().expandNode("Virgo").select("Bundle Project");
 
-		SWTBotButton next = bot.button("Next >");
-		next.click();
-		assertFalse(next.isEnabled());
+        SWTBotButton next = this.bot.button("Next >");
+        next.click();
+        assertFalse(next.isEnabled());
 
-		bot.textWithLabel("Project name:").setText(PROJECT_NAME);
-		bot.checkBoxInGroup("Working sets").select();
-		bot.button("Select...").click();
-		bot.table().getTableItem("Testing").check();
-		bot.button("OK").click();
-		assertTrue(next.isEnabled());
-		next.click();
+        this.bot.textWithLabel("Project name:").setText(PROJECT_NAME);
+        this.bot.checkBoxInGroup("Working sets").select();
+        this.bot.button("Select...").click();
+        this.bot.table().getTableItem("Testing").check();
+        this.bot.button("OK").click();
+        assertTrue(next.isEnabled());
+        next.click();
 
-		SWTBotButton finish = bot.button("Finish");
-		assertTrue(finish.isEnabled());
-		finish.click();
-		bot.waitUntil(shellCloses(wizard));
+        SWTBotButton finish = this.bot.button("Finish");
+        assertTrue(finish.isEnabled());
+        finish.click();
+        this.bot.waitUntil(shellCloses(wizard));
 
-		IWorkingSet testingSet = manager.getWorkingSet("Testing");
-		IAdaptable[] elements = testingSet.getElements();
-		assertTrue(elements.length == 1);
-		manager.removeWorkingSet(testingSet);
-	}
+        IWorkingSet testingSet = manager.getWorkingSet("Testing");
+        IAdaptable[] elements = testingSet.getElements();
+        assertTrue(elements.length == 1);
+        manager.removeWorkingSet(testingSet);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectWizardUiTest.java b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectWizardUiTest.java
index ae1a0ca..88eb9a7 100644
--- a/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectWizardUiTest.java
+++ b/org.eclipse.virgo.ide.ui.tests/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectWizardUiTest.java
@@ -8,14 +8,10 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
-import static org.eclipse.swtbot.swt.finder.waits.Conditions.shellCloses;
-
 import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotEditor;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotButton;
-import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
 import org.eclipse.ui.IWorkingSet;
 import org.eclipse.ui.IWorkingSetManager;
 import org.eclipse.ui.PlatformUI;
@@ -27,65 +23,65 @@
  */
 public class NewParProjectWizardUiTest extends AbstractManifestUiTestCase {
 
-	private static String PROJECT_NAME = "ParProject";
+    private static String PROJECT_NAME = "ParProject";
 
-	public void testProjectCreation() {
-		bot.menu("File").menu("New").menu("Project...").click();
-		SWTBotShell wizard = bot.shell("New Project");
-		wizard.activate();
-		bot.tree().expandNode("Virgo").select("PAR Project");
+    public void testProjectCreation() {
+        this.bot.menu("File").menu("New").menu("Project...").click();
+        SWTBotShell wizard = this.bot.shell("New Project");
+        wizard.activate();
+        this.bot.tree().expandNode("Virgo").select("PAR Project");
 
-		SWTBotButton next = bot.button("Next >");
-		next.click();
-		assertFalse(next.isEnabled());
+        SWTBotButton next = this.bot.button("Next >");
+        next.click();
+        assertFalse(next.isEnabled());
 
-		bot.textWithLabel("Project name:").setText(PROJECT_NAME);
-		assertTrue(next.isEnabled());
-		next.click();
+        this.bot.textWithLabel("Project name:").setText(PROJECT_NAME);
+        assertTrue(next.isEnabled());
+        next.click();
 
-		SWTBotButton finish = bot.button("Finish");
-		assertTrue(finish.isEnabled());
-		finish.click();
-		bot.waitUntil(shellCloses(wizard), 15000);
+        SWTBotButton finish = this.bot.button("Finish");
+        assertTrue(finish.isEnabled());
+        finish.click();
+        this.bot.waitUntil(shellCloses(wizard), 15000);
 
-		SWTBotEditor editor = bot.editorById(ParManifestEditor.ID_EDITOR);
-		// Occasional failure. Caused by race condition?
-		assertEquals(PROJECT_NAME, editor.getTitle());
-	}
+        SWTBotEditor editor = this.bot.editorById(ParManifestEditor.ID_EDITOR);
+        // Occasional failure. Caused by race condition?
+        assertEquals(PROJECT_NAME, editor.getTitle());
+    }
 
-	public void testProjectCreationWithWorkingSets() {
-		final IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
-		IWorkingSet newSet = manager.createWorkingSet("Testing", new IAdaptable[0]);
-		newSet.setId("org.eclipse.jdt.ui.JavaWorkingSetPage");
-		manager.addWorkingSet(newSet);
-		assertTrue(newSet.getElements().length == 0);
+    public void testProjectCreationWithWorkingSets() {
+        final IWorkingSetManager manager = PlatformUI.getWorkbench().getWorkingSetManager();
+        IWorkingSet newSet = manager.createWorkingSet("Testing", new IAdaptable[0]);
+        newSet.setId("org.eclipse.jdt.ui.JavaWorkingSetPage");
+        manager.addWorkingSet(newSet);
+        assertTrue(newSet.getElements().length == 0);
 
-		bot.menu("File").menu("New").menu("Project...").click();
-		SWTBotShell wizard = bot.shell("New Project");
-		wizard.activate();
-		bot.tree().expandNode("Virgo").select("PAR Project");
+        this.bot.menu("File").menu("New").menu("Project...").click();
+        SWTBotShell wizard = this.bot.shell("New Project");
+        wizard.activate();
+        this.bot.tree().expandNode("Virgo").select("PAR Project");
 
-		SWTBotButton next = bot.button("Next >");
-		next.click();
-		assertFalse(next.isEnabled());
+        SWTBotButton next = this.bot.button("Next >");
+        next.click();
+        assertFalse(next.isEnabled());
 
-		bot.textWithLabel("Project name:").setText(PROJECT_NAME);
-		bot.checkBoxInGroup("Working sets").select();
-		bot.button("Select...").click();
-		bot.table().getTableItem("Testing").check();
-		bot.button("OK").click();
-		assertTrue(next.isEnabled());
-		next.click();
+        this.bot.textWithLabel("Project name:").setText(PROJECT_NAME);
+        this.bot.checkBoxInGroup("Working sets").select();
+        this.bot.button("Select...").click();
+        this.bot.table().getTableItem("Testing").check();
+        this.bot.button("OK").click();
+        assertTrue(next.isEnabled());
+        next.click();
 
-		SWTBotButton finish = bot.button("Finish");
-		assertTrue(finish.isEnabled());
-		finish.click();
-		bot.waitUntil(shellCloses(wizard));
+        SWTBotButton finish = this.bot.button("Finish");
+        assertTrue(finish.isEnabled());
+        finish.click();
+        this.bot.waitUntil(shellCloses(wizard));
 
-		IWorkingSet testingSet = manager.getWorkingSet("Testing");
-		IAdaptable[] elements = testingSet.getElements();
-		assertTrue(elements.length == 1);
-		manager.removeWorkingSet(testingSet);
-	}
+        IWorkingSet testingSet = manager.getWorkingSet("Testing");
+        IAdaptable[] elements = testingSet.getElements();
+        assertTrue(elements.length == 1);
+        manager.removeWorkingSet(testingSet);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.virgo.ide.ui/.settings/org.eclipse.jdt.core.prefs
index bbaca6d..4321bd9 100644
--- a/org.eclipse.virgo.ide.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/org.eclipse.virgo.ide.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,3 @@
-#Wed Mar 02 16:00:06 PST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.codeComplete.argumentPrefixes=
 org.eclipse.jdt.core.codeComplete.argumentSuffixes=
@@ -8,6 +7,8 @@
 org.eclipse.jdt.core.codeComplete.localSuffixes=
 org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
 org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
+org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
@@ -82,35 +83,37 @@
 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=80
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_assignment=0
 org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
 org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=48
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
 org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
 org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
 org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
 org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=80
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
 org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
 org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
 org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_after_package=1
 org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
 org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
 org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
 org.eclipse.jdt.core.formatter.blank_lines_before_method=1
 org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_before_package=1
 org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
 org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
 org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
@@ -121,30 +124,31 @@
 org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
 org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false
 org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
 org.eclipse.jdt.core.formatter.comment.format_comments=true
 org.eclipse.jdt.core.formatter.comment.format_header=false
 org.eclipse.jdt.core.formatter.comment.format_html=true
 org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
 org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
 org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
 org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
 org.eclipse.jdt.core.formatter.comment.line_length=120
 org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
 org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
 org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
 org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.continuation_indentation=1
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
 org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
 org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
 org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
@@ -158,7 +162,7 @@
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
 org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
 org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
 org.eclipse.jdt.core.formatter.indentation.size=4
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
@@ -166,10 +170,11 @@
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
 org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
@@ -217,6 +222,7 @@
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
 org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
 org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -235,12 +241,14 @@
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
 org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
 org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
 org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
@@ -264,6 +272,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
 org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
@@ -291,6 +300,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -319,6 +329,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
 org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
 org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
@@ -328,6 +339,7 @@
 org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
 org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
 org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -343,15 +355,17 @@
 org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
 org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=true
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true
+org.eclipse.jdt.core.formatter.lineSplit=150
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
 org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
 org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
 org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.char=space
 org.eclipse.jdt.core.formatter.tabulation.size=4
 org.eclipse.jdt.core.formatter.use_on_off_tags=false
 org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
 org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
 org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/org.eclipse.virgo.ide.ui/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.virgo.ide.ui/.settings/org.eclipse.jdt.ui.prefs
index 7e7fe73..6c98016 100644
--- a/org.eclipse.virgo.ide.ui/.settings/org.eclipse.jdt.ui.prefs
+++ b/org.eclipse.virgo.ide.ui/.settings/org.eclipse.jdt.ui.prefs
@@ -1,7 +1,65 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=true
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=true
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=true
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=false
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=true
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=true
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=true
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=true
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=false
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Virgo Web Server - Code Clean Up
 cleanup_settings_version=2
 eclipse.preferences.version=1
 editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_Mylyn based on Eclipse
+formatter_profile=_Virgo Web Server - Code Formatter
 formatter_settings_version=12
 internal.default.compliance=default
 org.eclipse.jdt.ui.exception.name=e
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/internal/ui/VirgoPerspective.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/internal/ui/VirgoPerspective.java
index ee31d84..deb0fd4 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/internal/ui/VirgoPerspective.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/internal/ui/VirgoPerspective.java
@@ -19,19 +19,19 @@
 
 public class VirgoPerspective implements IPerspectiveFactory {
 
-	public void createInitialLayout(IPageLayout layout) {
-		// Initially hide editor unless a server editor is open..
-		boolean hideEditor = true;
-		IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
-		if (activeWorkbenchWindow != null && activeWorkbenchWindow.getActivePage() != null) {
-			IEditorReference[] editorReferences = activeWorkbenchWindow.getActivePage().getEditorReferences();
-			for (IEditorReference reference : editorReferences) {
-				if (reference.getId().equals("org.eclipse.wst.server.ui.editor")) {
-					hideEditor = false;
-					break;
-				}
-			}
-		}
-		layout.setEditorAreaVisible(!hideEditor);
-	}
+    public void createInitialLayout(IPageLayout layout) {
+        // Initially hide editor unless a server editor is open..
+        boolean hideEditor = true;
+        IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
+        if (activeWorkbenchWindow != null && activeWorkbenchWindow.getActivePage() != null) {
+            IEditorReference[] editorReferences = activeWorkbenchWindow.getActivePage().getEditorReferences();
+            for (IEditorReference reference : editorReferences) {
+                if (reference.getId().equals("org.eclipse.wst.server.ui.editor")) {
+                    hideEditor = false;
+                    break;
+                }
+            }
+        }
+        layout.setEditorAreaVisible(!hideEditor);
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/ServerIdeUiPlugin.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/ServerIdeUiPlugin.java
index 815a367..06ae1b5 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/ServerIdeUiPlugin.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/ServerIdeUiPlugin.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui;
 
 import org.eclipse.core.runtime.IStatus;
@@ -24,89 +25,85 @@
 
 /**
  * The activator class controls the plug-in life cycle
- * 
+ *
  * @author Christian Dupuis
  */
 public class ServerIdeUiPlugin extends AbstractUIPlugin {
 
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.virgo.ide.ui";
+    // The plug-in ID
+    public static final String PLUGIN_ID = "org.eclipse.virgo.ide.ui";
 
-	// The shared instance
-	private static ServerIdeUiPlugin plugin;
+    // The shared instance
+    private static ServerIdeUiPlugin plugin;
 
-	/**
-	 * Returns the shared instance
-	 * 
-	 * @return the shared instance
-	 */
-	public static ServerIdeUiPlugin getDefault() {
-		return plugin;
-	}
+    /**
+     * Returns the shared instance
+     *
+     * @return the shared instance
+     */
+    public static ServerIdeUiPlugin getDefault() {
+        return plugin;
+    }
 
-	private FormColors formColors;
+    private FormColors formColors;
 
-	/**
-	 * The constructor
-	 */
-	public ServerIdeUiPlugin() {
-	}
+    /**
+     * The constructor
+     */
+    public ServerIdeUiPlugin() {
+    }
 
-	public void log(Exception e) {
-		getLog().log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Unexpected error", e));
-	}
+    public void log(Exception e) {
+        getLog().log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Unexpected error", e));
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
-	 * )
-	 */
-	@Override
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-		BundleColorManager.initializeDefaults(PDEPlugin.getDefault().getPreferenceStore());
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext )
+     */
+    @Override
+    public void start(BundleContext context) throws Exception {
+        super.start(context);
+        plugin = this;
+        BundleColorManager.initializeDefaults(PDEPlugin.getDefault().getPreferenceStore());
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext
-	 * )
-	 */
-	@Override
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext )
+     */
+    @Override
+    public void stop(BundleContext context) throws Exception {
+        plugin = null;
+        super.stop(context);
+    }
 
-	public static Image getImage(String path) {
-		ImageRegistry imageRegistry = getDefault().getImageRegistry();
-		Image image = imageRegistry.get(path);
-		if (image == null) {
-			ImageDescriptor imageDescriptor = getImageDescriptor(path);
-			if (imageDescriptor == null) {
-				imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
-			}
-			image = imageDescriptor.createImage(true);
-			imageRegistry.put(path, image);
-		}
-		return image;
-	}
+    public static Image getImage(String path) {
+        ImageRegistry imageRegistry = getDefault().getImageRegistry();
+        Image image = imageRegistry.get(path);
+        if (image == null) {
+            ImageDescriptor imageDescriptor = getImageDescriptor(path);
+            if (imageDescriptor == null) {
+                imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
+            }
+            image = imageDescriptor.createImage(true);
+            imageRegistry.put(path, image);
+        }
+        return image;
+    }
 
-	public static ImageDescriptor getImageDescriptor(String path) {
-		return imageDescriptorFromPlugin(PLUGIN_ID, "icons/" + path);
-	}
+    public static ImageDescriptor getImageDescriptor(String path) {
+        return imageDescriptorFromPlugin(PLUGIN_ID, "icons/" + path);
+    }
 
-	public FormColors getFormColors(Display display) {
-		if (formColors == null) {
-			formColors = new FormColors(display);
-			formColors.markShared();
-		}
-		return formColors;
-	}
+    public FormColors getFormColors(Display display) {
+        if (this.formColors == null) {
+            this.formColors = new FormColors(display);
+            this.formColors.markShared();
+        }
+        return this.formColors;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/StatusHandler.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/StatusHandler.java
index 2a8f947..8d1b268 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/StatusHandler.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/StatusHandler.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui;
 
 import org.eclipse.core.runtime.IStatus;
@@ -17,8 +18,8 @@
  */
 public class StatusHandler {
 
-	public static void log(IStatus status) {
-		ServerIdeUiPlugin.getDefault().getLog().log(status);
-	}
+    public static void log(IStatus status) {
+        ServerIdeUiPlugin.getDefault().getLog().log(status);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/AbstractImportSection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/AbstractImportSection.java
index 29da7cb..91dff08 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/AbstractImportSection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/AbstractImportSection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import org.eclipse.jface.action.Action;
@@ -53,315 +54,318 @@
 /**
  * Abstract class with common functionality for Eclipse Forms sections that display and edit a list of artifacts --
  * Import Package, Import Bundle, and Import Library. Originally based on <code>PDESection</code>.
- * 
+ *
  * @author Christian Dupuis
  */
 public abstract class AbstractImportSection extends TableSection implements IModelChangedListener {
 
-	protected TableViewer fViewer;
+    protected TableViewer fViewer;
 
-	private Action fAddAction;
+    private Action fAddAction;
 
-	private Action fRemoveAction;
+    private Action fRemoveAction;
 
-	private Action fPropertiesAction;
+    private Action fPropertiesAction;
 
-	public AbstractImportSection(PDEFormPage page, Composite parent) {
-		this(page, parent, Section.DESCRIPTION, new String[] { PDEUIMessages.ImportPackageSection_add,
-				PDEUIMessages.ImportPackageSection_remove, PDEUIMessages.ImportPackageSection_properties });
-	}
+    public AbstractImportSection(PDEFormPage page, Composite parent) {
+        this(page, parent, Section.DESCRIPTION, new String[] { PDEUIMessages.ImportPackageSection_add, PDEUIMessages.ImportPackageSection_remove,
+            PDEUIMessages.ImportPackageSection_properties });
+    }
 
-	public AbstractImportSection(PDEFormPage formPage, Composite parent, int style, String[] buttonLabels) {
-		super(formPage, parent, style, true, buttonLabels);
-	}
+    public AbstractImportSection(PDEFormPage formPage, Composite parent, int style, String[] buttonLabels) {
+        super(formPage, parent, style, true, buttonLabels);
+    }
 
-	@Override
-	protected void createClient(Section section, FormToolkit toolkit) {
-		section.setText(PDEUIMessages.ImportPackageSection_required);
-		section.setDescription(PDEUIMessages.ImportPackageSection_desc);
+    @Override
+    protected void createClient(Section section, FormToolkit toolkit) {
+        section.setText(PDEUIMessages.ImportPackageSection_required);
+        section.setDescription(PDEUIMessages.ImportPackageSection_desc);
 
-		Composite container = createClientContainer(section, 2, toolkit);
-		createViewerPartControl(container, SWT.MULTI, 2, toolkit);
-		TablePart tablePart = getTablePart();
-		fViewer = tablePart.getTableViewer();
-		fViewer.setContentProvider(getContentProvider());
-		fViewer.setLabelProvider(getLabelProvider());
-		fViewer.setComparator(new ViewerComparator() {
-			@Override
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				String s1 = e1.toString();
-				String s2 = e2.toString();
-				if (s1.indexOf(" ") != -1) {
-					s1 = s1.substring(0, s1.indexOf(" ")); //$NON-NLS-1$
-				}
-				if (s2.indexOf(" ") != -1) {
-					s2 = s2.substring(0, s2.indexOf(" ")); //$NON-NLS-1$
-				}
-				return super.compare(viewer, s1, s2);
-			}
-		});
-		toolkit.paintBordersFor(container);
-		section.setClient(container);
-		section.setLayout(FormLayoutFactory.createClearGridLayout(false, 1));
-		section.setLayoutData(new GridData(GridData.FILL_BOTH));
-		makeActions();
+        Composite container = createClientContainer(section, 2, toolkit);
+        createViewerPartControl(container, SWT.MULTI, 2, toolkit);
+        TablePart tablePart = getTablePart();
+        this.fViewer = tablePart.getTableViewer();
+        this.fViewer.setContentProvider(getContentProvider());
+        this.fViewer.setLabelProvider(getLabelProvider());
+        this.fViewer.setComparator(new ViewerComparator() {
 
-		IBundleModel model = getBundleModel();
-		fViewer.setInput(model);
-		model.addModelChangedListener(this);
-		updateButtons();
-	}
+            @Override
+            public int compare(Viewer viewer, Object e1, Object e2) {
+                String s1 = e1.toString();
+                String s2 = e2.toString();
+                if (s1.indexOf(" ") != -1) {
+                    s1 = s1.substring(0, s1.indexOf(" ")); //$NON-NLS-1$
+                }
+                if (s2.indexOf(" ") != -1) {
+                    s2 = s2.substring(0, s2.indexOf(" ")); //$NON-NLS-1$
+                }
+                return super.compare(viewer, s1, s2);
+            }
+        });
+        toolkit.paintBordersFor(container);
+        section.setClient(container);
+        section.setLayout(FormLayoutFactory.createClearGridLayout(false, 1));
+        section.setLayoutData(new GridData(GridData.FILL_BOTH));
+        makeActions();
 
-	protected abstract ITableLabelProvider getLabelProvider();
+        IBundleModel model = getBundleModel();
+        this.fViewer.setInput(model);
+        model.addModelChangedListener(this);
+        updateButtons();
+    }
 
-	protected abstract IContentProvider getContentProvider();
+    protected abstract ITableLabelProvider getLabelProvider();
 
-	@Override
-	public boolean doGlobalAction(String actionId) {
+    protected abstract IContentProvider getContentProvider();
 
-		if (!isEditable()) {
-			return false;
-		}
+    @Override
+    public boolean doGlobalAction(String actionId) {
 
-		if (actionId.equals(ActionFactory.DELETE.getId())) {
-			handleRemove();
-			return true;
-		}
-		if (actionId.equals(ActionFactory.CUT.getId())) {
-			// delete here and let the editor transfer
-			// the selection to the clipboard
-			handleRemove();
-			return false;
-		}
-		if (actionId.equals(ActionFactory.PASTE.getId())) {
-			doPaste();
-			return true;
-		}
-		return false;
-	}
+        if (!isEditable()) {
+            return false;
+        }
 
-	@Override
-	public void dispose() {
-		IBundleModel model = getBundleModel();
-		if (model != null) {
-			model.removeModelChangedListener(this);
-		}
-		super.dispose();
-	}
+        if (actionId.equals(ActionFactory.DELETE.getId())) {
+            handleRemove();
+            return true;
+        }
+        if (actionId.equals(ActionFactory.CUT.getId())) {
+            // delete here and let the editor transfer
+            // the selection to the clipboard
+            handleRemove();
+            return false;
+        }
+        if (actionId.equals(ActionFactory.PASTE.getId())) {
+            doPaste();
+            return true;
+        }
+        return false;
+    }
 
-	@Override
-	protected void selectionChanged(IStructuredSelection sel) {
-		getPage().getPDEEditor().setSelection(sel);
-		updateButtons();
-	}
+    @Override
+    public void dispose() {
+        IBundleModel model = getBundleModel();
+        if (model != null) {
+            model.removeModelChangedListener(this);
+        }
+        super.dispose();
+    }
 
-	protected void updateButtons() {
-		Object[] selected = ((IStructuredSelection) fViewer.getSelection()).toArray();
-		int size = selected.length;
-		TablePart tablePart = getTablePart();
-		tablePart.setButtonEnabled(getAddIndex(), isEditable());
-		tablePart.setButtonEnabled(getRemoveIndex(), isEditable() && size > 0);
-		tablePart.setButtonEnabled(getPropertiesIndex(), shouldEnableProperties(selected));
-	}
+    @Override
+    protected void selectionChanged(IStructuredSelection sel) {
+        getPage().getPDEEditor().setSelection(sel);
+        updateButtons();
+    }
 
-	@Override
-	protected void buttonSelected(int index) {
-		if (index == getAddIndex()) {
-			handleAdd();
-		} else if (index == getRemoveIndex()) {
-			handleRemove();
-		} else if (index == getPropertiesIndex()) {
-			handleOpenProperties();
-		}
-	}
+    protected void updateButtons() {
+        Object[] selected = ((IStructuredSelection) this.fViewer.getSelection()).toArray();
+        int size = selected.length;
+        TablePart tablePart = getTablePart();
+        tablePart.setButtonEnabled(getAddIndex(), isEditable());
+        tablePart.setButtonEnabled(getRemoveIndex(), isEditable() && size > 0);
+        tablePart.setButtonEnabled(getPropertiesIndex(), shouldEnableProperties(selected));
+    }
 
-	protected abstract int getAddIndex();
+    @Override
+    protected void buttonSelected(int index) {
+        if (index == getAddIndex()) {
+            handleAdd();
+        } else if (index == getRemoveIndex()) {
+            handleRemove();
+        } else if (index == getPropertiesIndex()) {
+            handleOpenProperties();
+        }
+    }
 
-	protected abstract int getRemoveIndex();
+    protected abstract int getAddIndex();
 
-	protected abstract int getPropertiesIndex();
+    protected abstract int getRemoveIndex();
 
-	protected abstract void handleRemove();
+    protected abstract int getPropertiesIndex();
 
-	protected abstract void handleAdd();
+    protected abstract void handleRemove();
 
-	protected abstract void handleOpenProperties();
+    protected abstract void handleAdd();
 
-	@Override
-	public void refresh() {
-		fViewer.refresh();
-		super.refresh();
-	}
+    protected abstract void handleOpenProperties();
 
-	protected void makeActions() {
-		fAddAction = new Action(PDEUIMessages.RequiresSection_add) {
-			@Override
-			public void run() {
-				handleAdd();
-			}
-		};
-		fAddAction.setEnabled(isEditable());
+    @Override
+    public void refresh() {
+        this.fViewer.refresh();
+        super.refresh();
+    }
 
-		fRemoveAction = new Action(PDEUIMessages.RequiresSection_delete) {
-			@Override
-			public void run() {
-				handleRemove();
-			}
-		};
-		fRemoveAction.setEnabled(isEditable());
+    protected void makeActions() {
+        this.fAddAction = new Action(PDEUIMessages.RequiresSection_add) {
 
-		fPropertiesAction = new Action(PDEUIMessages.ImportPackageSection_propertyAction) {
-			@Override
-			public void run() {
-				handleOpenProperties();
-			}
-		};
-	}
+            @Override
+            public void run() {
+                handleAdd();
+            }
+        };
+        this.fAddAction.setEnabled(isEditable());
 
-	@Override
-	protected void fillContextMenu(IMenuManager manager) {
-		final ISelection selection = fViewer.getSelection();
-		manager.add(fAddAction);
-		manager.add(new Separator());
-		if (!selection.isEmpty()) {
-			manager.add(fRemoveAction);
-		}
-		getPage().getPDEEditor().getContributor().contextMenuAboutToShow(manager);
-		if (shouldEnableProperties(((IStructuredSelection) fViewer.getSelection()).toArray())) {
-			manager.add(new Separator());
-			manager.add(fPropertiesAction);
-		}
-	}
+        this.fRemoveAction = new Action(PDEUIMessages.RequiresSection_delete) {
 
-	private BundleInputContext getBundleContext() {
-		InputContextManager manager = getPage().getPDEEditor().getContextManager();
-		return (BundleInputContext) manager.findContext(BundleInputContext.CONTEXT_ID);
-	}
+            @Override
+            public void run() {
+                handleRemove();
+            }
+        };
+        this.fRemoveAction.setEnabled(isEditable());
 
-	protected IBundleModel getBundleModel() {
-		BundleInputContext context = getBundleContext();
-		return (context != null) ? (IBundleModel) context.getModel() : null;
+        this.fPropertiesAction = new Action(PDEUIMessages.ImportPackageSection_propertyAction) {
 
-	}
+            @Override
+            public void run() {
+                handleOpenProperties();
+            }
+        };
+    }
 
-	protected IBundle getBundle() {
-		IBundleModel model = getBundleModel();
-		return (model != null) ? model.getBundle() : null;
-	}
+    @Override
+    protected void fillContextMenu(IMenuManager manager) {
+        final ISelection selection = this.fViewer.getSelection();
+        manager.add(this.fAddAction);
+        manager.add(new Separator());
+        if (!selection.isEmpty()) {
+            manager.add(this.fRemoveAction);
+        }
+        getPage().getPDEEditor().getContributor().contextMenuAboutToShow(manager);
+        if (shouldEnableProperties(((IStructuredSelection) this.fViewer.getSelection()).toArray())) {
+            manager.add(new Separator());
+            manager.add(this.fPropertiesAction);
+        }
+    }
 
-	@Override
-	protected boolean createCount() {
-		return true;
-	}
+    private BundleInputContext getBundleContext() {
+        InputContextManager manager = getPage().getPDEEditor().getContextManager();
+        return (BundleInputContext) manager.findContext(BundleInputContext.CONTEXT_ID);
+    }
 
-	protected boolean shouldEnableProperties(Object[] selected) {
-		if (selected.length == 0) {
-			return false;
-		}
-		if (selected.length == 1) {
-			return true;
-		}
+    protected IBundleModel getBundleModel() {
+        BundleInputContext context = getBundleContext();
+        return context != null ? (IBundleModel) context.getModel() : null;
 
-		String version = ((ImportPackageObject) selected[0]).getVersion();
-		boolean optional = ((ImportPackageObject) selected[0]).isOptional();
-		for (int i = 1; i < selected.length; i++) {
-			ImportPackageObject object = (ImportPackageObject) selected[i];
-			if (version == null) {
-				if (object.getVersion() != null || !(optional == object.isOptional())) {
-					return false;
-				}
-			} else if (!version.equals(object.getVersion()) || !(optional == object.isOptional())) {
-				return false;
-			}
-		}
-		return true;
-	}
+    }
 
-	protected abstract String getHeaderConstant();
+    protected IBundle getBundle() {
+        IBundleModel model = getBundleModel();
+        return model != null ? model.getBundle() : null;
+    }
 
-	@Override
-	public void modelChanged(IModelChangedEvent event) {
-		IBaseModel model = getPage().getModel();
-		if (model instanceof IModelChangeProvider) {
-			((IModelChangeProvider) model).fireModelChanged(event);
-		}
+    @Override
+    protected boolean createCount() {
+        return true;
+    }
 
-		if (event.getChangeType() == IModelChangedEvent.WORLD_CHANGED) {
-			markStale();
-			return;
-		}
+    protected boolean shouldEnableProperties(Object[] selected) {
+        if (selected.length == 0) {
+            return false;
+        }
+        if (selected.length == 1) {
+            return true;
+        }
 
-		if (getHeaderConstant().equals(event.getChangedProperty())) {
-			refresh();
-			return;
-		}
+        String version = ((ImportPackageObject) selected[0]).getVersion();
+        boolean optional = ((ImportPackageObject) selected[0]).isOptional();
+        for (int i = 1; i < selected.length; i++) {
+            ImportPackageObject object = (ImportPackageObject) selected[i];
+            if (version == null) {
+                if (object.getVersion() != null || !(optional == object.isOptional())) {
+                    return false;
+                }
+            } else if (!version.equals(object.getVersion()) || !(optional == object.isOptional())) {
+                return false;
+            }
+        }
+        return true;
+    }
 
-		Object[] objects = event.getChangedObjects();
-		for (Object element : objects) {
-			if (element instanceof PDEManifestElement
-					&& ((PDEManifestElement) element).getHeader().getName().equals(getHeaderConstant())) {
-				switch (event.getChangeType()) {
-				case IModelChangedEvent.INSERT:
-					fViewer.add(element);
-					fViewer.setSelection(new StructuredSelection(element));
-					fViewer.getTable().setFocus();
-					break;
-				case IModelChangedEvent.REMOVE:
-					Table table = fViewer.getTable();
-					int index = table.getSelectionIndex();
-					fViewer.remove(element);
-					table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1);
-					break;
-				default:
-					fViewer.refresh(element);
-				}
-			}
-		}
-	}
+    protected abstract String getHeaderConstant();
 
-	protected abstract class AbstractSectionViewerLabelProvider implements ITableLabelProvider {
+    @Override
+    public void modelChanged(IModelChangedEvent event) {
+        IBaseModel model = getPage().getModel();
+        if (model instanceof IModelChangeProvider) {
+            ((IModelChangeProvider) model).fireModelChanged(event);
+        }
 
-		public abstract Image getColumnImage(Object element, int columnIndex);
+        if (event.getChangeType() == IModelChangedEvent.WORLD_CHANGED) {
+            markStale();
+            return;
+        }
 
-		public abstract String getColumnText(Object element, int columnIndex);
+        if (getHeaderConstant().equals(event.getChangedProperty())) {
+            refresh();
+            return;
+        }
 
-		public void addListener(ILabelProviderListener listener) {
-		}
+        Object[] objects = event.getChangedObjects();
+        for (Object element : objects) {
+            if (element instanceof PDEManifestElement && ((PDEManifestElement) element).getHeader().getName().equals(getHeaderConstant())) {
+                switch (event.getChangeType()) {
+                    case IModelChangedEvent.INSERT:
+                        this.fViewer.add(element);
+                        this.fViewer.setSelection(new StructuredSelection(element));
+                        this.fViewer.getTable().setFocus();
+                        break;
+                    case IModelChangedEvent.REMOVE:
+                        Table table = this.fViewer.getTable();
+                        int index = table.getSelectionIndex();
+                        this.fViewer.remove(element);
+                        table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1);
+                        break;
+                    default:
+                        this.fViewer.refresh(element);
+                }
+            }
+        }
+    }
 
-		public void dispose() {
-		}
+    protected abstract class AbstractSectionViewerLabelProvider implements ITableLabelProvider {
 
-		public boolean isLabelProperty(Object element, String property) {
-			return false;
-		}
+        public abstract Image getColumnImage(Object element, int columnIndex);
 
-		public void removeListener(ILabelProviderListener listener) {
-		}
-	}
+        public abstract String getColumnText(Object element, int columnIndex);
 
-	protected class ImportListSelectionDialog extends ElementListSelectionDialog {
+        public void addListener(ILabelProviderListener listener) {
+        }
 
-		private Object[] fElements;
+        public void dispose() {
+        }
 
-		public ImportListSelectionDialog(Shell parent, ILabelProvider renderer) {
-			super(parent, renderer);
-		}
+        public boolean isLabelProperty(Object element, String property) {
+            return false;
+        }
 
-		@Override
-		protected Control createDialogArea(Composite parent) {
-			Composite comp = (Composite) super.createDialogArea(parent);
-			final Object[] allElements = new Object[fElements.length];
-			if (fElements != null) {
-				System.arraycopy(fElements, 0, allElements, 0, fElements.length);
-			}
-			return comp;
-		}
+        public void removeListener(ILabelProviderListener listener) {
+        }
+    }
 
-		@Override
-		public void setElements(Object[] elements) {
-			super.setElements(elements);
-			fElements = elements;
-		}
-	}
+    protected class ImportListSelectionDialog extends ElementListSelectionDialog {
+
+        private Object[] fElements;
+
+        public ImportListSelectionDialog(Shell parent, ILabelProvider renderer) {
+            super(parent, renderer);
+        }
+
+        @Override
+        protected Control createDialogArea(Composite parent) {
+            Composite comp = (Composite) super.createDialogArea(parent);
+            final Object[] allElements = new Object[this.fElements.length];
+            if (this.fElements != null) {
+                System.arraycopy(this.fElements, 0, allElements, 0, this.fElements.length);
+            }
+            return comp;
+        }
+
+        @Override
+        public void setElements(Object[] elements) {
+            super.setElements(elements);
+            this.fElements = elements;
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/AbstractPdeFormTextEditorContributor.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/AbstractPdeFormTextEditorContributor.java
index e022c5d..af58e5c 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/AbstractPdeFormTextEditorContributor.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/AbstractPdeFormTextEditorContributor.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.Iterator;
@@ -47,267 +48,266 @@
  */
 public class AbstractPdeFormTextEditorContributor extends PDEFormEditorContributor {
 
-	protected RetargetTextEditorAction fCorrectionAssist;
+    protected RetargetTextEditorAction fCorrectionAssist;
 
-	protected HyperlinkAction fHyperlinkAction;
+    protected HyperlinkAction fHyperlinkAction;
 
-	protected ManifestFormatAction fFormatAction;
+    protected ManifestFormatAction fFormatAction;
 
-	protected RetargetTextEditorAction fContentAssist;
+    protected RetargetTextEditorAction fContentAssist;
 
-	protected final TextEditorActionContributor fSourceContributor;
+    protected final TextEditorActionContributor fSourceContributor;
 
-	protected SubActionBars fSourceActionBars;
+    protected SubActionBars fSourceActionBars;
 
-	protected class PDETextEditorActionContributor extends TextEditorActionContributor {
-		@Override
-		public void contributeToMenu(IMenuManager mm) {
-			super.contributeToMenu(mm);
-			IMenuManager editMenu = mm.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT);
-			if (editMenu != null) {
-				editMenu.add(new Separator(IContextMenuConstants.GROUP_OPEN));
-				editMenu.add(new Separator(IContextMenuConstants.GROUP_GENERATE));
-				editMenu.add(new Separator(IContextMenuConstants.GROUP_ADDITIONS));
-				if (fCorrectionAssist != null) {
-					editMenu.appendToGroup(IContextMenuConstants.GROUP_GENERATE, fCorrectionAssist);
-				}
-				if (fContentAssist != null) {
-					editMenu.appendToGroup(IContextMenuConstants.GROUP_GENERATE, fContentAssist);
-				}
-			}
-		}
+    protected class PDETextEditorActionContributor extends TextEditorActionContributor {
 
-		@Override
-		public void contributeToToolBar(IToolBarManager toolBarManager) {
-			super.contributeToToolBar(toolBarManager);
-			if (fHyperlinkAction != null) {
-				toolBarManager.add(fHyperlinkAction);
-			}
-		}
+        @Override
+        public void contributeToMenu(IMenuManager mm) {
+            super.contributeToMenu(mm);
+            IMenuManager editMenu = mm.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT);
+            if (editMenu != null) {
+                editMenu.add(new Separator(IContextMenuConstants.GROUP_OPEN));
+                editMenu.add(new Separator(IContextMenuConstants.GROUP_GENERATE));
+                editMenu.add(new Separator(IContextMenuConstants.GROUP_ADDITIONS));
+                if (AbstractPdeFormTextEditorContributor.this.fCorrectionAssist != null) {
+                    editMenu.appendToGroup(IContextMenuConstants.GROUP_GENERATE, AbstractPdeFormTextEditorContributor.this.fCorrectionAssist);
+                }
+                if (AbstractPdeFormTextEditorContributor.this.fContentAssist != null) {
+                    editMenu.appendToGroup(IContextMenuConstants.GROUP_GENERATE, AbstractPdeFormTextEditorContributor.this.fContentAssist);
+                }
+            }
+        }
 
-		@Override
-		public void setActiveEditor(IEditorPart part) {
-			super.setActiveEditor(part);
-			IActionBars actionBars = getActionBars();
-			IStatusLineManager manager = actionBars.getStatusLineManager();
-			manager.setMessage(null);
-			manager.setErrorMessage(null);
+        @Override
+        public void contributeToToolBar(IToolBarManager toolBarManager) {
+            super.contributeToToolBar(toolBarManager);
+            if (AbstractPdeFormTextEditorContributor.this.fHyperlinkAction != null) {
+                toolBarManager.add(AbstractPdeFormTextEditorContributor.this.fHyperlinkAction);
+            }
+        }
 
-			ITextEditor textEditor = (part instanceof ITextEditor) ? (ITextEditor) part : null;
-			if (fCorrectionAssist != null) {
-				fCorrectionAssist.setAction(getAction(textEditor, ITextEditorActionConstants.QUICK_ASSIST));
-			}
-			if (fHyperlinkAction != null) {
-				fHyperlinkAction.setTextEditor(textEditor);
-			}
-			if (fFormatAction != null) {
-				fFormatAction.setTextEditor(textEditor);
-			}
-			if (fContentAssist != null) {
-				fContentAssist.setAction(getAction(textEditor, "ContentAssist")); //$NON-NLS-1$
-			}
-		}
-	}
+        @Override
+        public void setActiveEditor(IEditorPart part) {
+            super.setActiveEditor(part);
+            IActionBars actionBars = getActionBars();
+            IStatusLineManager manager = actionBars.getStatusLineManager();
+            manager.setMessage(null);
+            manager.setErrorMessage(null);
 
-	public AbstractPdeFormTextEditorContributor(String menuName) {
-		super(menuName);
-		fSourceContributor = createSourceContributor();
-		if (supportsCorrectionAssist()) {
-			fCorrectionAssist = new RetargetTextEditorAction(PDESourcePage.getBundleForConstructedKeys(),
-					"CorrectionAssistProposal."); //$NON-NLS-1$
-			fCorrectionAssist.setActionDefinitionId(ITextEditorActionDefinitionIds.QUICK_ASSIST);
-		}
-		if (supportsHyperlinking()) {
-			fHyperlinkAction = new SpringHyperlinkAction();
-			fHyperlinkAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_EDITOR);
-		}
-		if (supportsFormatAction()) {
-			fFormatAction = new ManifestFormatAction();
-			fFormatAction.setActionDefinitionId(PDEActionConstants.DEFN_FORMAT);
-		}
-		if (supportsContentAssist()) {
-			fContentAssist = new RetargetTextEditorAction(PDESourcePage.getBundleForConstructedKeys(),
-					"ContentAssistProposal."); //$NON-NLS-1$
-			fContentAssist.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
-		}
-	}
+            ITextEditor textEditor = part instanceof ITextEditor ? (ITextEditor) part : null;
+            if (AbstractPdeFormTextEditorContributor.this.fCorrectionAssist != null) {
+                AbstractPdeFormTextEditorContributor.this.fCorrectionAssist.setAction(getAction(textEditor, ITextEditorActionConstants.QUICK_ASSIST));
+            }
+            if (AbstractPdeFormTextEditorContributor.this.fHyperlinkAction != null) {
+                AbstractPdeFormTextEditorContributor.this.fHyperlinkAction.setTextEditor(textEditor);
+            }
+            if (AbstractPdeFormTextEditorContributor.this.fFormatAction != null) {
+                AbstractPdeFormTextEditorContributor.this.fFormatAction.setTextEditor(textEditor);
+            }
+            if (AbstractPdeFormTextEditorContributor.this.fContentAssist != null) {
+                AbstractPdeFormTextEditorContributor.this.fContentAssist.setAction(getAction(textEditor, "ContentAssist")); //$NON-NLS-1$
+            }
+        }
+    }
 
-	public boolean supportsCorrectionAssist() {
-		return false;
-	}
+    public AbstractPdeFormTextEditorContributor(String menuName) {
+        super(menuName);
+        this.fSourceContributor = createSourceContributor();
+        if (supportsCorrectionAssist()) {
+            this.fCorrectionAssist = new RetargetTextEditorAction(PDESourcePage.getBundleForConstructedKeys(), "CorrectionAssistProposal."); //$NON-NLS-1$
+            this.fCorrectionAssist.setActionDefinitionId(ITextEditorActionDefinitionIds.QUICK_ASSIST);
+        }
+        if (supportsHyperlinking()) {
+            this.fHyperlinkAction = new SpringHyperlinkAction();
+            this.fHyperlinkAction.setActionDefinitionId(IJavaEditorActionDefinitionIds.OPEN_EDITOR);
+        }
+        if (supportsFormatAction()) {
+            this.fFormatAction = new ManifestFormatAction();
+            this.fFormatAction.setActionDefinitionId(PDEActionConstants.DEFN_FORMAT);
+        }
+        if (supportsContentAssist()) {
+            this.fContentAssist = new RetargetTextEditorAction(PDESourcePage.getBundleForConstructedKeys(), "ContentAssistProposal."); //$NON-NLS-1$
+            this.fContentAssist.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
+        }
+    }
 
-	public boolean supportsContentAssist() {
-		return false;
-	}
+    public boolean supportsCorrectionAssist() {
+        return false;
+    }
 
-	public boolean supportsFormatAction() {
-		return false;
-	}
+    public boolean supportsContentAssist() {
+        return false;
+    }
 
-	public boolean supportsHyperlinking() {
-		return false;
-	}
+    public boolean supportsFormatAction() {
+        return false;
+    }
 
-	@Override
-	public IEditorActionBarContributor getSourceContributor() {
-		return fSourceContributor;
-	}
+    public boolean supportsHyperlinking() {
+        return false;
+    }
 
-	@Override
-	public void init(IActionBars bars) {
-		super.init(bars);
-		fSourceActionBars = new SubActionBars(bars);
-		fSourceContributor.init(fSourceActionBars);
-	}
+    @Override
+    public IEditorActionBarContributor getSourceContributor() {
+        return this.fSourceContributor;
+    }
 
-	@Override
-	public void dispose() {
-		fSourceActionBars.dispose();
-		fSourceContributor.dispose();
-		super.dispose();
-	}
+    @Override
+    public void init(IActionBars bars) {
+        super.init(bars);
+        this.fSourceActionBars = new SubActionBars(bars);
+        this.fSourceContributor.init(this.fSourceActionBars);
+    }
 
-	protected void setSourceActionBarsActive(boolean active) {
-		IActionBars rootBars = getActionBars();
-		rootBars.clearGlobalActionHandlers();
-		rootBars.updateActionBars();
-		if (active) {
-			fSourceActionBars.activate();
-			Map handlers = fSourceActionBars.getGlobalActionHandlers();
-			if (handlers != null) {
-				Set keys = handlers.keySet();
-				for (Iterator iter = keys.iterator(); iter.hasNext();) {
-					String id = (String) iter.next();
-					rootBars.setGlobalActionHandler(id, (IAction) handlers.get(id));
-				}
-			}
-		} else {
-			fSourceActionBars.deactivate();
-			registerGlobalActionHandlers();
-		}
-		rootBars.setGlobalActionHandler(PDEActionConstants.OPEN, active ? fHyperlinkAction : null);
-		rootBars.setGlobalActionHandler(PDEActionConstants.FORMAT, active ? fFormatAction : null);
-		// Register the revert action
-		rootBars.setGlobalActionHandler(ActionFactory.REVERT.getId(), getRevertAction());
+    @Override
+    public void dispose() {
+        this.fSourceActionBars.dispose();
+        this.fSourceContributor.dispose();
+        super.dispose();
+    }
 
-		rootBars.updateActionBars();
-	}
+    protected void setSourceActionBarsActive(boolean active) {
+        IActionBars rootBars = getActionBars();
+        rootBars.clearGlobalActionHandlers();
+        rootBars.updateActionBars();
+        if (active) {
+            this.fSourceActionBars.activate();
+            Map handlers = this.fSourceActionBars.getGlobalActionHandlers();
+            if (handlers != null) {
+                Set keys = handlers.keySet();
+                for (Iterator iter = keys.iterator(); iter.hasNext();) {
+                    String id = (String) iter.next();
+                    rootBars.setGlobalActionHandler(id, (IAction) handlers.get(id));
+                }
+            }
+        } else {
+            this.fSourceActionBars.deactivate();
+            registerGlobalActionHandlers();
+        }
+        rootBars.setGlobalActionHandler(PDEActionConstants.OPEN, active ? this.fHyperlinkAction : null);
+        rootBars.setGlobalActionHandler(PDEActionConstants.FORMAT, active ? this.fFormatAction : null);
+        // Register the revert action
+        rootBars.setGlobalActionHandler(ActionFactory.REVERT.getId(), getRevertAction());
 
-	protected void registerGlobalActionHandlers() {
-		registerGlobalAction(ActionFactory.DELETE.getId());
-		registerGlobalAction(ActionFactory.UNDO.getId());
-		registerGlobalAction(ActionFactory.REDO.getId());
-		registerGlobalAction(ActionFactory.CUT.getId());
-		registerGlobalAction(ActionFactory.COPY.getId());
-		registerGlobalAction(ActionFactory.PASTE.getId());
-		registerGlobalAction(ActionFactory.SELECT_ALL.getId());
-		registerGlobalAction(ActionFactory.FIND.getId());
-	}
+        rootBars.updateActionBars();
+    }
 
-	protected void registerGlobalAction(String id) {
-		IAction action = getGlobalAction(id);
-		getActionBars().setGlobalActionHandler(id, action);
-	}
+    protected void registerGlobalActionHandlers() {
+        registerGlobalAction(ActionFactory.DELETE.getId());
+        registerGlobalAction(ActionFactory.UNDO.getId());
+        registerGlobalAction(ActionFactory.REDO.getId());
+        registerGlobalAction(ActionFactory.CUT.getId());
+        registerGlobalAction(ActionFactory.COPY.getId());
+        registerGlobalAction(ActionFactory.PASTE.getId());
+        registerGlobalAction(ActionFactory.SELECT_ALL.getId());
+        registerGlobalAction(ActionFactory.FIND.getId());
+    }
 
-	@Override
-	public void setActivePage(IEditorPart newEditor) {
-		if (fEditor == null) {
-			return;
-		}
+    protected void registerGlobalAction(String id) {
+        IAction action = getGlobalAction(id);
+        getActionBars().setGlobalActionHandler(id, action);
+    }
 
-		IFormPage oldPage = fPage;
-		fPage = fEditor.getActivePageInstance();
-		if (fPage == null) {
-			return;
-		}
-		// Update the quick outline action to the navigate menu
-		updateQuickOutlineMenuEntry();
+    @Override
+    public void setActivePage(IEditorPart newEditor) {
+        if (this.fEditor == null) {
+            return;
+        }
 
-		updateActions();
-		if (oldPage != null && !oldPage.isEditor() && !fPage.isEditor()) {
-			getActionBars().updateActionBars();
-			return;
-		}
+        IFormPage oldPage = this.fPage;
+        this.fPage = this.fEditor.getActivePageInstance();
+        if (this.fPage == null) {
+            return;
+        }
+        // Update the quick outline action to the navigate menu
+        updateQuickOutlineMenuEntry();
 
-		boolean isSourcePage = fPage instanceof PDESourcePage;
-		if (isSourcePage && fPage.equals(oldPage)) {
-			return;
-		}
-		fSourceContributor.setActiveEditor(fPage);
-		setSourceActionBarsActive(isSourcePage);
-	}
+        updateActions();
+        if (oldPage != null && !oldPage.isEditor() && !this.fPage.isEditor()) {
+            getActionBars().updateActionBars();
+            return;
+        }
 
-	/**
-	 * 
-	 */
-	protected void updateQuickOutlineMenuEntry() {
-		// Get the main action bar
-		IActionBars actionBars = getActionBars();
-		IMenuManager menuManager = actionBars.getMenuManager();
-		// Get the navigate menu
-		IMenuManager navigateMenu = menuManager.findMenuUsingPath(IWorkbenchActionConstants.M_NAVIGATE);
-		// Ensure there is a navigate menu
-		if (navigateMenu == null) {
-			return;
-		}
-		// Remove the previous version of the quick outline menu entry - if
-		// one exists
-		// Prevent duplicate menu entries
-		// Prevent wrong quick outline menu from being brought up for the wrong
-		// page
-		navigateMenu.remove(PDEActionConstants.COMMAND_ID_QUICK_OUTLINE);
-		// Ensure the active page is a source page
-		// Only add the quick outline menu to the source pages
-		if ((fPage instanceof PDEProjectionSourcePage) == false) {
-			return;
-		}
-		PDEProjectionSourcePage page = (PDEProjectionSourcePage) fPage;
-		// Only add the action if the source page supports it
-		if (page.isQuickOutlineEnabled() == false) {
-			return;
-		}
-		// Get the appropriate quick outline action associated with the active
-		// source page
-		IAction quickOutlineAction = page.getAction(PDEActionConstants.COMMAND_ID_QUICK_OUTLINE);
-		// Ensure it is defined
-		if (quickOutlineAction == null) {
-			return;
-		}
-		// Add the quick outline action after the "Show In" menu contributed
-		// by JDT
-		// This could break if JDT changes the "Show In" menu ID
-		try {
-			navigateMenu.insertAfter("showIn", quickOutlineAction); //$NON-NLS-1$
-		} catch (IllegalArgumentException e) {
-			// Ignore
-		}
-	}
+        boolean isSourcePage = this.fPage instanceof PDESourcePage;
+        if (isSourcePage && this.fPage.equals(oldPage)) {
+            return;
+        }
+        this.fSourceContributor.setActiveEditor(this.fPage);
+        setSourceActionBarsActive(isSourcePage);
+    }
 
-	protected TextEditorActionContributor createSourceContributor() {
-		return new PDETextEditorActionContributor();
-	}
+    /**
+     *
+     */
+    protected void updateQuickOutlineMenuEntry() {
+        // Get the main action bar
+        IActionBars actionBars = getActionBars();
+        IMenuManager menuManager = actionBars.getMenuManager();
+        // Get the navigate menu
+        IMenuManager navigateMenu = menuManager.findMenuUsingPath(IWorkbenchActionConstants.M_NAVIGATE);
+        // Ensure there is a navigate menu
+        if (navigateMenu == null) {
+            return;
+        }
+        // Remove the previous version of the quick outline menu entry - if
+        // one exists
+        // Prevent duplicate menu entries
+        // Prevent wrong quick outline menu from being brought up for the wrong
+        // page
+        navigateMenu.remove(PDEActionConstants.COMMAND_ID_QUICK_OUTLINE);
+        // Ensure the active page is a source page
+        // Only add the quick outline menu to the source pages
+        if (this.fPage instanceof PDEProjectionSourcePage == false) {
+            return;
+        }
+        PDEProjectionSourcePage page = (PDEProjectionSourcePage) this.fPage;
+        // Only add the action if the source page supports it
+        if (page.isQuickOutlineEnabled() == false) {
+            return;
+        }
+        // Get the appropriate quick outline action associated with the active
+        // source page
+        IAction quickOutlineAction = page.getAction(PDEActionConstants.COMMAND_ID_QUICK_OUTLINE);
+        // Ensure it is defined
+        if (quickOutlineAction == null) {
+            return;
+        }
+        // Add the quick outline action after the "Show In" menu contributed
+        // by JDT
+        // This could break if JDT changes the "Show In" menu ID
+        try {
+            navigateMenu.insertAfter("showIn", quickOutlineAction); //$NON-NLS-1$
+        } catch (IllegalArgumentException e) {
+            // Ignore
+        }
+    }
 
-	protected HyperlinkAction getHyperlinkAction() {
-		return fHyperlinkAction;
-	}
+    protected TextEditorActionContributor createSourceContributor() {
+        return new PDETextEditorActionContributor();
+    }
 
-	protected ManifestFormatAction getFormatAction() {
-		return fFormatAction;
-	}
+    protected HyperlinkAction getHyperlinkAction() {
+        return this.fHyperlinkAction;
+    }
 
-	class SpringHyperlinkAction extends HyperlinkAction {
+    protected ManifestFormatAction getFormatAction() {
+        return this.fFormatAction;
+    }
 
-		@Override
-		public void generateActionText() {
-			String text = PDEUIMessages.HyperlinkActionNoLinksAvailable;
-			if (fLink instanceof BundleHyperlink) {
-				text = PDEUIMessages.HyperlinkActionOpenPackage;
-				setText(text);
-				setToolTipText(text);
-			} else {
-				super.generateActionText();
-			}
-		}
-	}
+    class SpringHyperlinkAction extends HyperlinkAction {
+
+        @Override
+        public void generateActionText() {
+            String text = PDEUIMessages.HyperlinkActionNoLinksAvailable;
+            if (this.fLink instanceof BundleHyperlink) {
+                text = PDEUIMessages.HyperlinkActionOpenPackage;
+                setText(text);
+                setToolTipText(text);
+            } else {
+                super.generateActionText();
+            }
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/AbstractPdeGeneralInfoSection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/AbstractPdeGeneralInfoSection.java
index eec4928..f9853ab 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/AbstractPdeGeneralInfoSection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/AbstractPdeGeneralInfoSection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import org.eclipse.core.runtime.CoreException;
@@ -45,371 +46,378 @@
  * This abstract class is essentially a copy of GeneralInfoSection from PDE with visibility increased to "protected" as
  * required to re-use this code without unnecessary copying into subclasses. This class should not be further modified
  * to keep the separation between PDE and non-PDE code.
- * 
+ *
  * @author Christian Dupuis
  */
 public abstract class AbstractPdeGeneralInfoSection extends PDESection {
-	private static String PLATFORM_FILTER = "Eclipse-PlatformFilter"; //$NON-NLS-1$
 
-	protected FormEntry fIdEntry;
+    private static String PLATFORM_FILTER = "Eclipse-PlatformFilter"; //$NON-NLS-1$
 
-	protected FormEntry fVersionEntry;
+    protected FormEntry fIdEntry;
 
-	protected FormEntry fNameEntry;
+    protected FormEntry fVersionEntry;
 
-	protected FormEntry fProviderEntry;
+    protected FormEntry fNameEntry;
 
-	protected FormEntry fPlatformFilterEntry;
+    protected FormEntry fProviderEntry;
 
-	protected TextValidator fIdEntryValidator;
+    protected FormEntry fPlatformFilterEntry;
 
-	protected TextValidator fVersionEntryValidator;
+    protected TextValidator fIdEntryValidator;
 
-	protected TextValidator fNameEntryValidator;
+    protected TextValidator fVersionEntryValidator;
 
-	protected TextValidator fProviderEntryValidator;
+    protected TextValidator fNameEntryValidator;
 
-	protected TextValidator fPlatformEntryValidator;
+    protected TextValidator fProviderEntryValidator;
 
-	private IPluginModelBase fModel;
+    protected TextValidator fPlatformEntryValidator;
 
-	public AbstractPdeGeneralInfoSection(PDEFormPage page, Composite parent) {
-		super(page, parent, Section.DESCRIPTION);
-		createClient(getSection(), page.getEditor().getToolkit());
-	}
+    private IPluginModelBase fModel;
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.internal.ui.neweditor.PDESection#createClient(org.eclipse.ui.forms.widgets.Section,
-	 * org.eclipse.ui.forms.widgets.FormToolkit)
-	 */
-	@Override
-	protected void createClient(Section section, FormToolkit toolkit) {
-		section.setText(PDEUIMessages.ManifestEditor_PluginSpecSection_title);
-		section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1));
-		TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
-		section.setLayoutData(data);
+    public AbstractPdeGeneralInfoSection(PDEFormPage page, Composite parent) {
+        super(page, parent, Section.DESCRIPTION);
+        createClient(getSection(), page.getEditor().getToolkit());
+    }
 
-		section.setDescription(getSectionDescription());
-		Composite client = toolkit.createComposite(section);
-		client.setLayout(FormLayoutFactory.createSectionClientTableWrapLayout(false, 3));
-		section.setClient(client);
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.pde.internal.ui.neweditor.PDESection#createClient(org.eclipse.ui.forms.widgets.Section,
+     * org.eclipse.ui.forms.widgets.FormToolkit)
+     */
+    @Override
+    protected void createClient(Section section, FormToolkit toolkit) {
+        section.setText(PDEUIMessages.ManifestEditor_PluginSpecSection_title);
+        section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1));
+        TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
+        section.setLayoutData(data);
 
-		IActionBars actionBars = getPage().getPDEEditor().getEditorSite().getActionBars();
-		createIDEntry(client, toolkit, actionBars);
-		createVersionEntry(client, toolkit, actionBars);
-		createNameEntry(client, toolkit, actionBars);
-		createProviderEntry(client, toolkit, actionBars);
-		if (isBundle() && ((ManifestEditor) getPage().getEditor()).isEquinox()) {
-			createPlatformFilterEntry(client, toolkit, actionBars);
-		}
-		createSpecificControls(client, toolkit, actionBars);
-		toolkit.paintBordersFor(client);
+        section.setDescription(getSectionDescription());
+        Composite client = toolkit.createComposite(section);
+        client.setLayout(FormLayoutFactory.createSectionClientTableWrapLayout(false, 3));
+        section.setClient(client);
 
-		addListeners();
-	}
+        IActionBars actionBars = getPage().getPDEEditor().getEditorSite().getActionBars();
+        createIDEntry(client, toolkit, actionBars);
+        createVersionEntry(client, toolkit, actionBars);
+        createNameEntry(client, toolkit, actionBars);
+        createProviderEntry(client, toolkit, actionBars);
+        if (isBundle() && ((ManifestEditor) getPage().getEditor()).isEquinox()) {
+            createPlatformFilterEntry(client, toolkit, actionBars);
+        }
+        createSpecificControls(client, toolkit, actionBars);
+        toolkit.paintBordersFor(client);
 
-	protected abstract String getSectionDescription();
+        addListeners();
+    }
 
-	protected abstract void createSpecificControls(Composite parent, FormToolkit toolkit, IActionBars actionBars);
+    protected abstract String getSectionDescription();
 
-	protected IPluginBase getPluginBase() {
-		IBaseModel model = getPage().getPDEEditor().getAggregateModel();
-		return ((IPluginModelBase) model).getPluginBase();
-	}
+    protected abstract void createSpecificControls(Composite parent, FormToolkit toolkit, IActionBars actionBars);
 
-	/**
-	 * Not using the aggregate model from the form editor because it is a different model instance from the one used by
-	 * the bundle error reporter. Things get out of sync between the form validator and source validator
-	 * 
-	 * @return
-	 */
-	protected IPluginModelBase getModelBase() {
-		// Find the model only on the first call
-		if (fModel == null) {
-			fModel = PluginRegistry.findModel(getProject());
-		}
-		return fModel;
-	}
+    protected IPluginBase getPluginBase() {
+        IBaseModel model = getPage().getPDEEditor().getAggregateModel();
+        return ((IPluginModelBase) model).getPluginBase();
+    }
 
-	protected boolean isBundle() {
-		return getBundleContext() != null;
-	}
+    /**
+     * Not using the aggregate model from the form editor because it is a different model instance from the one used by
+     * the bundle error reporter. Things get out of sync between the form validator and source validator
+     *
+     * @return
+     */
+    protected IPluginModelBase getModelBase() {
+        // Find the model only on the first call
+        if (this.fModel == null) {
+            this.fModel = PluginRegistry.findModel(getProject());
+        }
+        return this.fModel;
+    }
 
-	private BundleInputContext getBundleContext() {
-		InputContextManager manager = getPage().getPDEEditor().getContextManager();
-		return (BundleInputContext) manager.findContext(BundleInputContext.CONTEXT_ID);
-	}
+    protected boolean isBundle() {
+        return getBundleContext() != null;
+    }
 
-	protected IBundle getBundle() {
-		BundleInputContext context = getBundleContext();
-		if (context != null) {
-			IBundleModel model = (IBundleModel) context.getModel();
-			return model.getBundle();
-		}
-		return null;
-	}
+    private BundleInputContext getBundleContext() {
+        InputContextManager manager = getPage().getPDEEditor().getContextManager();
+        return (BundleInputContext) manager.findContext(BundleInputContext.CONTEXT_ID);
+    }
 
-	protected void createIDEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
-		fIdEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_id, null, false);
-		fIdEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
-			@Override
-			public void textValueChanged(FormEntry entry) {
-				try {
-					getPluginBase().setId(entry.getValue());
-				} catch (CoreException e) {
-					PDEPlugin.logException(e);
-				}
-			}
-		});
-		fIdEntry.setEditable(isEditable());
-		// Create validator
-		fIdEntryValidator = new TextValidator(getManagedForm(), fIdEntry.getText(), getProject(), true) {
-			@Override
-			protected boolean validateControl() {
-				return validateIdEntry();
-			}
-		};
-	}
+    protected IBundle getBundle() {
+        BundleInputContext context = getBundleContext();
+        if (context != null) {
+            IBundleModel model = (IBundleModel) context.getModel();
+            return model.getBundle();
+        }
+        return null;
+    }
 
-	/**
-	 * @return
-	 */
-	private boolean validateIdEntry() {
-		// Value must be specified
-		return ControlValidationUtility.validateRequiredField(fIdEntry.getText().getText(), fIdEntryValidator,
-				IMessageProvider.ERROR);
-	}
+    protected void createIDEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
+        this.fIdEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_id, null, false);
+        this.fIdEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
 
-	protected void createVersionEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
-		fVersionEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_version, null, false);
-		fVersionEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
-			@Override
-			public void textValueChanged(FormEntry entry) {
-				try {
-					getPluginBase().setVersion(entry.getValue());
-				} catch (CoreException e) {
-					PDEPlugin.logException(e);
-				}
-			}
-		});
-		fVersionEntry.setEditable(isEditable());
-		// Create validator
-		fVersionEntryValidator = new TextValidator(getManagedForm(), fVersionEntry.getText(), getProject(), true) {
-			@Override
-			protected boolean validateControl() {
-				return validateVersionEntry();
-			}
-		};
-	}
+            @Override
+            public void textValueChanged(FormEntry entry) {
+                try {
+                    getPluginBase().setId(entry.getValue());
+                } catch (CoreException e) {
+                    PDEPlugin.logException(e);
+                }
+            }
+        });
+        this.fIdEntry.setEditable(isEditable());
+        // Create validator
+        this.fIdEntryValidator = new TextValidator(getManagedForm(), this.fIdEntry.getText(), getProject(), true) {
 
-	/**
-	 * @return
-	 */
-	private boolean validateVersionEntry() {
-		// Value must be specified
-		if (ControlValidationUtility.validateRequiredField(fVersionEntry.getText().getText(), fVersionEntryValidator,
-				IMessageProvider.ERROR) == false) {
-			return false;
-		}
-		// Value must be a valid version
-		return ControlValidationUtility.validateVersionField(fVersionEntry.getText().getText(), fVersionEntryValidator);
-	}
+            @Override
+            protected boolean validateControl() {
+                return validateIdEntry();
+            }
+        };
+    }
 
-	protected void createNameEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
-		fNameEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_name, null, false);
-		fNameEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
-			@Override
-			public void textValueChanged(FormEntry entry) {
-				try {
-					getPluginBase().setName(entry.getValue());
-				} catch (CoreException e) {
-					PDEPlugin.logException(e);
-				}
-			}
-		});
-		fNameEntry.setEditable(isEditable());
-		// Create validator
-		fNameEntryValidator = new TextValidator(getManagedForm(), fNameEntry.getText(), getProject(), true) {
-			@Override
-			protected boolean validateControl() {
-				return validateNameEntry();
-			}
-		};
-	}
+    /**
+     * @return
+     */
+    private boolean validateIdEntry() {
+        // Value must be specified
+        return ControlValidationUtility.validateRequiredField(this.fIdEntry.getText().getText(), this.fIdEntryValidator, IMessageProvider.ERROR);
+    }
 
-	/**
-	 * @return
-	 */
-	private boolean validateNameEntry() {
-		// Value must be specified
-		if (ControlValidationUtility.validateRequiredField(fNameEntry.getText().getText(), fNameEntryValidator,
-				IMessageProvider.ERROR) == false) {
-			return false;
-		}
-		// Value must be externalized
-		return ControlValidationUtility.validateTranslatableField(fNameEntry.getText().getText(), fNameEntryValidator,
-				getModelBase(), getProject());
-	}
+    protected void createVersionEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
+        this.fVersionEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_version, null, false);
+        this.fVersionEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
 
-	protected void createProviderEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
-		fProviderEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_provider, null, false);
-		fProviderEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
-			@Override
-			public void textValueChanged(FormEntry entry) {
-				try {
-					getPluginBase().setProviderName(entry.getValue());
-				} catch (CoreException e) {
-					PDEPlugin.logException(e);
-				}
-			}
-		});
-		fProviderEntry.setEditable(isEditable());
-		// Create validator
-		fProviderEntryValidator = new TextValidator(getManagedForm(), fProviderEntry.getText(), getProject(), true) {
-			@Override
-			protected boolean validateControl() {
-				return validateProviderEntry();
-			}
-		};
-	}
+            @Override
+            public void textValueChanged(FormEntry entry) {
+                try {
+                    getPluginBase().setVersion(entry.getValue());
+                } catch (CoreException e) {
+                    PDEPlugin.logException(e);
+                }
+            }
+        });
+        this.fVersionEntry.setEditable(isEditable());
+        // Create validator
+        this.fVersionEntryValidator = new TextValidator(getManagedForm(), this.fVersionEntry.getText(), getProject(), true) {
 
-	/**
-	 * @return
-	 */
-	private boolean validateProviderEntry() {
-		// No validation required for an optional field
-		if (fProviderEntry.getText().getText().length() == 0) {
-			return true;
-		}
-		// Value must be externalized
-		return ControlValidationUtility.validateTranslatableField(fProviderEntry.getText().getText(),
-				fProviderEntryValidator, getModelBase(), getProject());
-	}
+            @Override
+            protected boolean validateControl() {
+                return validateVersionEntry();
+            }
+        };
+    }
 
-	private void createPlatformFilterEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
-		fPlatformFilterEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_platformFilter, null,
-				false);
-		fPlatformFilterEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
-			@Override
-			public void textValueChanged(FormEntry entry) {
-				getBundle().setHeader(PLATFORM_FILTER, fPlatformFilterEntry.getValue());
-			}
-		});
-		fPlatformFilterEntry.setEditable(isEditable());
-		// Create validator
-		fPlatformEntryValidator = new TextValidator(getManagedForm(), fPlatformFilterEntry.getText(), getProject(),
-				true) {
-			@Override
-			protected boolean validateControl() {
-				return validatePlatformEntry();
-			}
-		};
-	}
+    /**
+     * @return
+     */
+    private boolean validateVersionEntry() {
+        // Value must be specified
+        if (ControlValidationUtility.validateRequiredField(this.fVersionEntry.getText().getText(), this.fVersionEntryValidator,
+            IMessageProvider.ERROR) == false) {
+            return false;
+        }
+        // Value must be a valid version
+        return ControlValidationUtility.validateVersionField(this.fVersionEntry.getText().getText(), this.fVersionEntryValidator);
+    }
 
-	/**
-	 * @return
-	 */
-	private boolean validatePlatformEntry() {
-		// No validation required for an optional field
-		if (fPlatformFilterEntry.getText().getText().length() == 0) {
-			return true;
-		}
-		// Value must match the current environment and contain valid syntax
-		return ControlValidationUtility.validatePlatformFilterField(fPlatformFilterEntry.getText().getText(),
-				fPlatformEntryValidator);
-	}
+    protected void createNameEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
+        this.fNameEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_name, null, false);
+        this.fNameEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
 
-	@Override
-	public void commit(boolean onSave) {
-		fIdEntry.commit();
-		fVersionEntry.commit();
-		fNameEntry.commit();
-		fProviderEntry.commit();
-		if (fPlatformFilterEntry != null) {
-			fPlatformFilterEntry.commit();
-		}
-		super.commit(onSave);
-	}
+            @Override
+            public void textValueChanged(FormEntry entry) {
+                try {
+                    getPluginBase().setName(entry.getValue());
+                } catch (CoreException e) {
+                    PDEPlugin.logException(e);
+                }
+            }
+        });
+        this.fNameEntry.setEditable(isEditable());
+        // Create validator
+        this.fNameEntryValidator = new TextValidator(getManagedForm(), this.fNameEntry.getText(), getProject(), true) {
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.pde.internal.ui.editor.PDESection#modelChanged(org.eclipse.pde.core.IModelChangedEvent)
-	 */
-	@Override
-	public void modelChanged(IModelChangedEvent e) {
-		if (e.getChangeType() == IModelChangedEvent.WORLD_CHANGED) {
-			markStale();
-			return;
-		}
-		refresh();
-		if (e.getChangeType() == IModelChangedEvent.CHANGE) {
-			Object obj = e.getChangedObjects()[0];
-			if (obj instanceof IPluginBase) {
-				String property = e.getChangedProperty();
-				if (property != null && property.equals(getPage().getPDEEditor().getTitleProperty())) {
-					getPage().getPDEEditor().updateTitle();
-				}
-			}
-		}
-	}
+            @Override
+            protected boolean validateControl() {
+                return validateNameEntry();
+            }
+        };
+    }
 
-	@Override
-	public void refresh() {
-		IPluginModelBase model = (IPluginModelBase) getPage().getPDEEditor().getContextManager().getAggregateModel();
-		IPluginBase pluginBase = model.getPluginBase();
-		fIdEntry.setValue(pluginBase.getId(), true);
-		fNameEntry.setValue(pluginBase.getName(), true);
-		fVersionEntry.setValue(pluginBase.getVersion(), true);
-		fProviderEntry.setValue(pluginBase.getProviderName(), true);
-		if (fPlatformFilterEntry != null) {
-			IBundle bundle = getBundle();
-			if (bundle != null) {
-				fPlatformFilterEntry.setValue(bundle.getHeader(PLATFORM_FILTER), true);
-			}
-		}
-		getPage().getPDEEditor().updateTitle();
-		super.refresh();
-	}
+    /**
+     * @return
+     */
+    private boolean validateNameEntry() {
+        // Value must be specified
+        if (ControlValidationUtility.validateRequiredField(this.fNameEntry.getText().getText(), this.fNameEntryValidator,
+            IMessageProvider.ERROR) == false) {
+            return false;
+        }
+        // Value must be externalized
+        return ControlValidationUtility.validateTranslatableField(this.fNameEntry.getText().getText(), this.fNameEntryValidator, getModelBase(),
+            getProject());
+    }
 
-	@Override
-	public void cancelEdit() {
-		fIdEntry.cancelEdit();
-		fNameEntry.cancelEdit();
-		fVersionEntry.cancelEdit();
-		fProviderEntry.cancelEdit();
-		if (fPlatformFilterEntry != null) {
-			fPlatformFilterEntry.cancelEdit();
-		}
-		super.cancelEdit();
-	}
+    protected void createProviderEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
+        this.fProviderEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_provider, null, false);
+        this.fProviderEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
 
-	@Override
-	public void dispose() {
-		removeListeners();
-		super.dispose();
-	}
+            @Override
+            public void textValueChanged(FormEntry entry) {
+                try {
+                    getPluginBase().setProviderName(entry.getValue());
+                } catch (CoreException e) {
+                    PDEPlugin.logException(e);
+                }
+            }
+        });
+        this.fProviderEntry.setEditable(isEditable());
+        // Create validator
+        this.fProviderEntryValidator = new TextValidator(getManagedForm(), this.fProviderEntry.getText(), getProject(), true) {
 
-	protected void removeListeners() {
-		IBaseModel model = getPage().getModel();
-		if (model instanceof IModelChangeProvider) {
-			((IModelChangeProvider) model).removeModelChangedListener(this);
-		}
-	}
+            @Override
+            protected boolean validateControl() {
+                return validateProviderEntry();
+            }
+        };
+    }
 
-	protected void addListeners() {
-		IBaseModel model = getPage().getModel();
-		if (model instanceof IModelChangeProvider) {
-			((IModelChangeProvider) model).addModelChangedListener(this);
-		}
-	}
+    /**
+     * @return
+     */
+    private boolean validateProviderEntry() {
+        // No validation required for an optional field
+        if (this.fProviderEntry.getText().getText().length() == 0) {
+            return true;
+        }
+        // Value must be externalized
+        return ControlValidationUtility.validateTranslatableField(this.fProviderEntry.getText().getText(), this.fProviderEntryValidator,
+            getModelBase(), getProject());
+    }
 
-	@Override
-	public boolean canPaste(Clipboard clipboard) {
-		Display d = getSection().getDisplay();
-		return (d.getFocusControl() instanceof Text);
-	}
+    private void createPlatformFilterEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
+        this.fPlatformFilterEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_platformFilter, null, false);
+        this.fPlatformFilterEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
+
+            @Override
+            public void textValueChanged(FormEntry entry) {
+                getBundle().setHeader(PLATFORM_FILTER, AbstractPdeGeneralInfoSection.this.fPlatformFilterEntry.getValue());
+            }
+        });
+        this.fPlatformFilterEntry.setEditable(isEditable());
+        // Create validator
+        this.fPlatformEntryValidator = new TextValidator(getManagedForm(), this.fPlatformFilterEntry.getText(), getProject(), true) {
+
+            @Override
+            protected boolean validateControl() {
+                return validatePlatformEntry();
+            }
+        };
+    }
+
+    /**
+     * @return
+     */
+    private boolean validatePlatformEntry() {
+        // No validation required for an optional field
+        if (this.fPlatformFilterEntry.getText().getText().length() == 0) {
+            return true;
+        }
+        // Value must match the current environment and contain valid syntax
+        return ControlValidationUtility.validatePlatformFilterField(this.fPlatformFilterEntry.getText().getText(), this.fPlatformEntryValidator);
+    }
+
+    @Override
+    public void commit(boolean onSave) {
+        this.fIdEntry.commit();
+        this.fVersionEntry.commit();
+        this.fNameEntry.commit();
+        this.fProviderEntry.commit();
+        if (this.fPlatformFilterEntry != null) {
+            this.fPlatformFilterEntry.commit();
+        }
+        super.commit(onSave);
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.pde.internal.ui.editor.PDESection#modelChanged(org.eclipse.pde.core.IModelChangedEvent)
+     */
+    @Override
+    public void modelChanged(IModelChangedEvent e) {
+        if (e.getChangeType() == IModelChangedEvent.WORLD_CHANGED) {
+            markStale();
+            return;
+        }
+        refresh();
+        if (e.getChangeType() == IModelChangedEvent.CHANGE) {
+            Object obj = e.getChangedObjects()[0];
+            if (obj instanceof IPluginBase) {
+                String property = e.getChangedProperty();
+                if (property != null && property.equals(getPage().getPDEEditor().getTitleProperty())) {
+                    getPage().getPDEEditor().updateTitle();
+                }
+            }
+        }
+    }
+
+    @Override
+    public void refresh() {
+        IPluginModelBase model = (IPluginModelBase) getPage().getPDEEditor().getContextManager().getAggregateModel();
+        IPluginBase pluginBase = model.getPluginBase();
+        this.fIdEntry.setValue(pluginBase.getId(), true);
+        this.fNameEntry.setValue(pluginBase.getName(), true);
+        this.fVersionEntry.setValue(pluginBase.getVersion(), true);
+        this.fProviderEntry.setValue(pluginBase.getProviderName(), true);
+        if (this.fPlatformFilterEntry != null) {
+            IBundle bundle = getBundle();
+            if (bundle != null) {
+                this.fPlatformFilterEntry.setValue(bundle.getHeader(PLATFORM_FILTER), true);
+            }
+        }
+        getPage().getPDEEditor().updateTitle();
+        super.refresh();
+    }
+
+    @Override
+    public void cancelEdit() {
+        this.fIdEntry.cancelEdit();
+        this.fNameEntry.cancelEdit();
+        this.fVersionEntry.cancelEdit();
+        this.fProviderEntry.cancelEdit();
+        if (this.fPlatformFilterEntry != null) {
+            this.fPlatformFilterEntry.cancelEdit();
+        }
+        super.cancelEdit();
+    }
+
+    @Override
+    public void dispose() {
+        removeListeners();
+        super.dispose();
+    }
+
+    protected void removeListeners() {
+        IBaseModel model = getPage().getModel();
+        if (model instanceof IModelChangeProvider) {
+            ((IModelChangeProvider) model).removeModelChangedListener(this);
+        }
+    }
+
+    protected void addListeners() {
+        IBaseModel model = getPage().getModel();
+        if (model instanceof IModelChangeProvider) {
+            ((IModelChangeProvider) model).addModelChangedListener(this);
+        }
+    }
+
+    @Override
+    public boolean canPaste(Clipboard clipboard) {
+        Display d = getSection().getDisplay();
+        return d.getFocusControl() instanceof Text;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleDependenciesPage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleDependenciesPage.java
index 670fca7..d8b0cd9 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleDependenciesPage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleDependenciesPage.java
@@ -8,12 +8,14 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.OperationCanceledException;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
@@ -38,102 +40,100 @@
  */
 public class BundleDependenciesPage extends PDEFormPage implements IBundleManifestSaveListener {
 
-	public static final String PAGE_ID = "bundle_dependencies"; //$NON-NLS-1$
+    public static final String PAGE_ID = "bundle_dependencies"; //$NON-NLS-1$
 
-	private BundleImportPackageSection bundleImportPackageSection = null;
+    private BundleImportPackageSection bundleImportPackageSection = null;
 
-	private BundleImportSection bundleImportSection = null;
+    private BundleImportSection bundleImportSection = null;
 
-	private BundleImportLibrarySection bundleImportLibrarySection = null;
+    private BundleImportLibrarySection bundleImportLibrarySection = null;
 
-	protected ScrolledForm form = null;
+    protected ScrolledForm form = null;
 
-	protected IResource resource = null;
+    protected IResource resource = null;
 
-	private static final String MANIFEST_ERRORS = "Dependencies: Please correct one or more errors in the manifest";
+    private static final String MANIFEST_ERRORS = "Dependencies: Please correct one or more errors in the manifest";
 
-	public BundleDependenciesPage(FormEditor editor) {
-		super(editor, PAGE_ID, "Dependencies");
-	}
+    public BundleDependenciesPage(FormEditor editor) {
+        super(editor, PAGE_ID, "Dependencies");
+    }
 
-	@Override
-	protected void createFormContent(IManagedForm managedForm) {
-		super.createFormContent(managedForm);
-		form = managedForm.getForm();
-		form.setImage(PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_REQ_PLUGINS_OBJ));
-		form.setText(PDEUIMessages.DependenciesPage_title);
-		Composite body = form.getBody();
-		body.setLayout(FormLayoutFactory.createFormGridLayout(true, 2));
-		Composite left, right;
-		FormToolkit toolkit = managedForm.getToolkit();
-		left = toolkit.createComposite(body, SWT.NONE);
-		left.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
-		left.setLayoutData(new GridData(GridData.FILL_BOTH));
-		right = toolkit.createComposite(body, SWT.NONE);
-		right.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
-		right.setLayoutData(new GridData(GridData.FILL_BOTH));
+    @Override
+    protected void createFormContent(IManagedForm managedForm) {
+        super.createFormContent(managedForm);
+        this.form = managedForm.getForm();
+        this.form.setImage(PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_REQ_PLUGINS_OBJ));
+        this.form.setText(PDEUIMessages.DependenciesPage_title);
+        Composite body = this.form.getBody();
+        body.setLayout(FormLayoutFactory.createFormGridLayout(true, 2));
+        Composite left, right;
+        FormToolkit toolkit = managedForm.getToolkit();
+        left = toolkit.createComposite(body, SWT.NONE);
+        left.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
+        left.setLayoutData(new GridData(GridData.FILL_BOTH));
+        right = toolkit.createComposite(body, SWT.NONE);
+        right.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
+        right.setLayoutData(new GridData(GridData.FILL_BOTH));
 
-		this.bundleImportPackageSection = new BundleImportPackageSection(this, left);
-		this.bundleImportSection = new BundleImportSection(this, right);
-		this.bundleImportLibrarySection = new BundleImportLibrarySection(this, right);
+        this.bundleImportPackageSection = new BundleImportPackageSection(this, left);
+        this.bundleImportSection = new BundleImportSection(this, right);
+        this.bundleImportLibrarySection = new BundleImportLibrarySection(this, right);
 
-		managedForm.addPart(bundleImportPackageSection);
-		managedForm.addPart(bundleImportSection);
-		managedForm.addPart(bundleImportLibrarySection);
+        managedForm.addPart(this.bundleImportPackageSection);
+        managedForm.addPart(this.bundleImportSection);
+        managedForm.addPart(this.bundleImportLibrarySection);
 
-		IPluginModelBase model = (IPluginModelBase) ((BundleManifestEditor) this.getEditor()).getAggregateModel();
-		resource = model.getUnderlyingResource();
-		updateFormText();
-	}
+        IPluginModelBase model = (IPluginModelBase) ((BundleManifestEditor) this.getEditor()).getAggregateModel();
+        this.resource = model.getUnderlyingResource();
+        updateFormText();
+    }
 
-	public void manifestSaved() {
-		if (resource != null) {
-			updateFormText();
-		}
-	}
+    public void manifestSaved() {
+        if (this.resource != null) {
+            updateFormText();
+        }
+    }
 
-	protected void updateFormText() {
-		try {
-			// Wait for build
-			Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, null);
-		} catch (OperationCanceledException e) {
-			StatusHandler.log(new Status(Status.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text",
-					e));
-		} catch (InterruptedException e) {
-			// Nothing to do?
-		}
+    protected void updateFormText() {
+        try {
+            // Wait for build
+            Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, null);
+        } catch (OperationCanceledException e) {
+            StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text", e));
+        } catch (InterruptedException e) {
+            // Nothing to do?
+        }
 
-		try {
-			if (resource != null) {
-				IMarker[] markers = resource.findMarkers(null, true, IResource.DEPTH_ZERO);
-				if (ManifestEditorUtils.hasErrorSeverityMarker(markers)) {
-					form.setText(MANIFEST_ERRORS);
-					form.setImage(ServerIdeUiPlugin.getImage("full/obj16/manifest_error.png"));
-				} else {
-					form.setText(PDEUIMessages.DependenciesPage_title);
-					form.setImage(ServerIdeUiPlugin.getImage("full/obj16/osgi_obj.gif"));
-				}
-			}
-		} catch (CoreException e) {
-			StatusHandler.log(new Status(Status.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text",
-					e));
-		}
+        try {
+            if (this.resource != null) {
+                IMarker[] markers = this.resource.findMarkers(null, true, IResource.DEPTH_ZERO);
+                if (ManifestEditorUtils.hasErrorSeverityMarker(markers)) {
+                    this.form.setText(MANIFEST_ERRORS);
+                    this.form.setImage(ServerIdeUiPlugin.getImage("full/obj16/manifest_error.png"));
+                } else {
+                    this.form.setText(PDEUIMessages.DependenciesPage_title);
+                    this.form.setImage(ServerIdeUiPlugin.getImage("full/obj16/osgi_obj.gif"));
+                }
+            }
+        } catch (CoreException e) {
+            StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text", e));
+        }
 
-	}
+    }
 
-	/** For JUnit testing only * */
-	public BundleImportPackageSection getBundleImportPackageSection() {
-		return bundleImportPackageSection;
-	}
+    /** For JUnit testing only * */
+    public BundleImportPackageSection getBundleImportPackageSection() {
+        return this.bundleImportPackageSection;
+    }
 
-	/** For JUnit testing only * */
-	public BundleImportSection getBundleImportSection() {
-		return bundleImportSection;
-	}
+    /** For JUnit testing only * */
+    public BundleImportSection getBundleImportSection() {
+        return this.bundleImportSection;
+    }
 
-	/** For JUnit testing only * */
-	public BundleImportLibrarySection getBundleImportLibrarySection() {
-		return bundleImportLibrarySection;
-	}
+    /** For JUnit testing only * */
+    public BundleImportLibrarySection getBundleImportLibrarySection() {
+        return this.bundleImportLibrarySection;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleDependencyPropertiesDialog.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleDependencyPropertiesDialog.java
index 5806500..b3ebc55 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleDependencyPropertiesDialog.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleDependencyPropertiesDialog.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import org.eclipse.jface.dialogs.StatusDialog;
@@ -29,129 +30,131 @@
 
 /**
  * Based on <code>DependencyPropertiesDialog</code> from PDE for Eclipse 3.4. Used for compatibility with Eclipse 3.4.
- * 
+ *
  * @author Christian Dupuis
  */
 public class BundleDependencyPropertiesDialog extends StatusDialog {
 
-	private Button fReexportButton;
+    private Button fReexportButton;
 
-	private Button fOptionalButton;
+    private Button fOptionalButton;
 
-	private final boolean fEditable;
+    private final boolean fEditable;
 
-	private final boolean fShowReexport;
+    private final boolean fShowReexport;
 
-	private boolean fExported;
+    private boolean fExported;
 
-	private boolean fOptional;
+    private boolean fOptional;
 
-	private PluginVersionPart fVersionPart;
+    private PluginVersionPart fVersionPart;
 
-	private final boolean fShowOptional;
+    private final boolean fShowOptional;
 
-	private String fVersion;
+    private String fVersion;
 
-	public BundleDependencyPropertiesDialog(boolean editable, IPluginImport plugin) {
-		this(editable, true, plugin.isReexported(), plugin.isOptional(), plugin.getVersion(), true, true);
-	}
+    public BundleDependencyPropertiesDialog(boolean editable, IPluginImport plugin) {
+        this(editable, true, plugin.isReexported(), plugin.isOptional(), plugin.getVersion(), true, true);
+    }
 
-	public BundleDependencyPropertiesDialog(boolean editable, ImportPackageObject object) {
-		this(editable, false, false, object.isOptional(), object.getVersion(), true, true);
-	}
+    public BundleDependencyPropertiesDialog(boolean editable, ImportPackageObject object) {
+        this(editable, false, false, object.isOptional(), object.getVersion(), true, true);
+    }
 
-	public BundleDependencyPropertiesDialog(boolean editable, ExportPackageObject object) {
-		this(editable, false, false, false, object.getVersion(), false, false);
-	}
+    public BundleDependencyPropertiesDialog(boolean editable, ExportPackageObject object) {
+        this(editable, false, false, false, object.getVersion(), false, false);
+    }
 
-	public BundleDependencyPropertiesDialog(boolean editable, boolean showReexport, boolean export, boolean optional,
-			String version, boolean showOptional, boolean isImport) {
-		super(PDEPlugin.getActiveWorkbenchShell());
-		fEditable = editable;
-		fShowReexport = showReexport;
-		fExported = export;
-		fOptional = optional;
-		fShowOptional = showOptional;
+    public BundleDependencyPropertiesDialog(boolean editable, boolean showReexport, boolean export, boolean optional, String version,
+        boolean showOptional, boolean isImport) {
+        super(PDEPlugin.getActiveWorkbenchShell());
+        this.fEditable = editable;
+        this.fShowReexport = showReexport;
+        this.fExported = export;
+        this.fOptional = optional;
+        this.fShowOptional = showOptional;
 
-		if (isImport) {
-			fVersionPart = new PluginVersionPart(true);
-		} else {
-			fVersionPart = new PluginVersionPart(false) {
-				@Override
-				protected String getGroupText() {
-					return PDEUIMessages.DependencyPropertiesDialog_exportGroupText;
-				}
-			};
-		}
-		fVersionPart.setVersion(version);
-	}
+        if (isImport) {
+            this.fVersionPart = new PluginVersionPart(true);
+        } else {
+            this.fVersionPart = new PluginVersionPart(false) {
 
-	@Override
-	protected void createButtonsForButtonBar(Composite parent) {
-		super.createButtonsForButtonBar(parent);
-	}
+                @Override
+                protected String getGroupText() {
+                    return PDEUIMessages.DependencyPropertiesDialog_exportGroupText;
+                }
+            };
+        }
+        this.fVersionPart.setVersion(version);
+    }
 
-	@Override
-	protected Control createDialogArea(Composite parent) {
-		Composite comp = (Composite) super.createDialogArea(parent);
+    @Override
+    protected void createButtonsForButtonBar(Composite parent) {
+        super.createButtonsForButtonBar(parent);
+    }
 
-		if (fShowOptional || fShowReexport) {
-			Group container = new Group(comp, SWT.NONE);
-			container.setText(PDEUIMessages.DependencyPropertiesDialog_properties);
-			container.setLayout(new GridLayout());
-			container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+    @Override
+    protected Control createDialogArea(Composite parent) {
+        Composite comp = (Composite) super.createDialogArea(parent);
 
-			if (fShowOptional) {
-				fOptionalButton = new Button(container, SWT.CHECK);
-				fOptionalButton.setText(PDEUIMessages.DependencyPropertiesDialog_optional);
-				GridData gd = new GridData();
-				gd.horizontalSpan = 2;
-				fOptionalButton.setLayoutData(gd);
-				fOptionalButton.setEnabled(fEditable);
-				fOptionalButton.setSelection(fOptional);
-			}
+        if (this.fShowOptional || this.fShowReexport) {
+            Group container = new Group(comp, SWT.NONE);
+            container.setText(PDEUIMessages.DependencyPropertiesDialog_properties);
+            container.setLayout(new GridLayout());
+            container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
-			if (fShowReexport) {
-				fReexportButton = new Button(container, SWT.CHECK);
-				fReexportButton.setText(PDEUIMessages.DependencyPropertiesDialog_reexport);
-				GridData gd = new GridData();
-				gd.horizontalSpan = 2;
-				fReexportButton.setLayoutData(gd);
-				fReexportButton.setEnabled(fEditable);
-				fReexportButton.setSelection(fExported);
-			}
-		}
+            if (this.fShowOptional) {
+                this.fOptionalButton = new Button(container, SWT.CHECK);
+                this.fOptionalButton.setText(PDEUIMessages.DependencyPropertiesDialog_optional);
+                GridData gd = new GridData();
+                gd.horizontalSpan = 2;
+                this.fOptionalButton.setLayoutData(gd);
+                this.fOptionalButton.setEnabled(this.fEditable);
+                this.fOptionalButton.setSelection(this.fOptional);
+            }
 
-		fVersionPart.createVersionFields(comp, true, fEditable);
-		ModifyListener ml = new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				updateStatus(fVersionPart.validateFullVersionRangeText(true));
-			}
-		};
-		fVersionPart.addListeners(ml, ml);
+            if (this.fShowReexport) {
+                this.fReexportButton = new Button(container, SWT.CHECK);
+                this.fReexportButton.setText(PDEUIMessages.DependencyPropertiesDialog_reexport);
+                GridData gd = new GridData();
+                gd.horizontalSpan = 2;
+                this.fReexportButton.setLayoutData(gd);
+                this.fReexportButton.setEnabled(this.fEditable);
+                this.fReexportButton.setSelection(this.fExported);
+            }
+        }
 
-		return comp;
-	}
+        this.fVersionPart.createVersionFields(comp, true, this.fEditable);
+        ModifyListener ml = new ModifyListener() {
 
-	public boolean isReexported() {
-		return fExported;
-	}
+            public void modifyText(ModifyEvent e) {
+                updateStatus(BundleDependencyPropertiesDialog.this.fVersionPart.validateFullVersionRangeText(true));
+            }
+        };
+        this.fVersionPart.addListeners(ml, ml);
 
-	public boolean isOptional() {
-		return fOptional;
-	}
+        return comp;
+    }
 
-	public String getVersion() {
-		return fVersion;
-	}
+    public boolean isReexported() {
+        return this.fExported;
+    }
 
-	@Override
-	protected void okPressed() {
-		fOptional = (fOptionalButton == null) ? false : fOptionalButton.getSelection();
-		fExported = (fReexportButton == null) ? false : fReexportButton.getSelection();
+    public boolean isOptional() {
+        return this.fOptional;
+    }
 
-		fVersion = fVersionPart.getVersion();
+    public String getVersion() {
+        return this.fVersion;
+    }
 
-		super.okPressed();
-	}
+    @Override
+    protected void okPressed() {
+        this.fOptional = this.fOptionalButton == null ? false : this.fOptionalButton.getSelection();
+        this.fExported = this.fReexportButton == null ? false : this.fReexportButton.getSelection();
+
+        this.fVersion = this.fVersionPart.getVersion();
+
+        super.okPressed();
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleExecutionEnvironmentSection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleExecutionEnvironmentSection.java
index fb91629..391e1b7 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleExecutionEnvironmentSection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleExecutionEnvironmentSection.java
@@ -8,20 +8,12 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.ArrayList;
 import java.util.Iterator;
 
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jdt.core.JavaCore;
 import org.eclipse.jdt.launching.JavaRuntime;
 import org.eclipse.jdt.launching.environments.IExecutionEnvironment;
 import org.eclipse.jface.action.Action;
@@ -71,430 +63,409 @@
 
 /**
  * Adapted from PDE's <code>ExcecutionEnvironmentSection</code>. *
- * 
+ *
  * @author Christian Dupuis
  * @author Steffen Pingel
  */
 public class BundleExecutionEnvironmentSection extends TableSection {
 
-	private TableViewer fEETable;
+    private TableViewer fEETable;
 
-	private Action fRemoveAction;
+    private Action fRemoveAction;
 
-	private Action fAddAction;
+    private Action fAddAction;
 
-	class EELabelProvider extends LabelProvider {
+    class EELabelProvider extends LabelProvider {
 
-		private final Image fImage;
+        private final Image fImage;
 
-		public EELabelProvider() {
-			fImage = PDEPluginImages.DESC_JAVA_LIB_OBJ.createImage();
-		}
+        public EELabelProvider() {
+            this.fImage = PDEPluginImages.DESC_JAVA_LIB_OBJ.createImage();
+        }
 
-		@Override
-		public Image getImage(Object element) {
-			return fImage;
-		}
+        @Override
+        public Image getImage(Object element) {
+            return this.fImage;
+        }
 
-		@Override
-		public String getText(Object element) {
-			if (element instanceof IExecutionEnvironment) {
-				return ((IExecutionEnvironment) element).getId();
-			}
-			return super.getText(element);
-		}
+        @Override
+        public String getText(Object element) {
+            if (element instanceof IExecutionEnvironment) {
+                return ((IExecutionEnvironment) element).getId();
+            }
+            return super.getText(element);
+        }
 
-		@Override
-		public void dispose() {
-			if (fImage != null) {
-				fImage.dispose();
-			}
-			super.dispose();
-		}
-	}
+        @Override
+        public void dispose() {
+            if (this.fImage != null) {
+                this.fImage.dispose();
+            }
+            super.dispose();
+        }
+    }
 
-	class ContentProvider extends DefaultTableProvider {
-		public Object[] getElements(Object inputElement) {
-			if (inputElement instanceof IBundleModel) {
-				IBundleModel model = (IBundleModel) inputElement;
-				IBundle bundle = model.getBundle();
-				IManifestHeader header = bundle.getManifestHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-				if (header instanceof RequiredExecutionEnvironmentHeader) {
-					return ((RequiredExecutionEnvironmentHeader) header).getEnvironments();
-				}
-			}
-			return new Object[0];
-		}
-	}
+    class ContentProvider extends DefaultTableProvider {
 
-	public BundleExecutionEnvironmentSection(PDEFormPage page, Composite parent) {
-		super(page, parent, Section.DESCRIPTION, new String[] { PDEUIMessages.RequiredExecutionEnvironmentSection_add,
-				PDEUIMessages.RequiredExecutionEnvironmentSection_remove,
-				PDEUIMessages.RequiredExecutionEnvironmentSection_up,
-				PDEUIMessages.RequiredExecutionEnvironmentSection_down });
-		createClient(getSection(), page.getEditor().getToolkit());
-	}
+        public Object[] getElements(Object inputElement) {
+            if (inputElement instanceof IBundleModel) {
+                IBundleModel model = (IBundleModel) inputElement;
+                IBundle bundle = model.getBundle();
+                IManifestHeader header = bundle.getManifestHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
+                if (header instanceof RequiredExecutionEnvironmentHeader) {
+                    return ((RequiredExecutionEnvironmentHeader) header).getEnvironments();
+                }
+            }
+            return new Object[0];
+        }
+    }
 
-	@Override
-	protected void createClient(Section section, FormToolkit toolkit) {
-		section.setText(PDEUIMessages.RequiredExecutionEnvironmentSection_title);
-		if (isFragment()) {
-			section.setDescription(PDEUIMessages.RequiredExecutionEnvironmentSection_fragmentDesc);
-		} else {
-			section.setDescription(PDEUIMessages.RequiredExecutionEnvironmentSection_pluginDesc);
-		}
+    public BundleExecutionEnvironmentSection(PDEFormPage page, Composite parent) {
+        super(page, parent, Section.DESCRIPTION,
+            new String[] { PDEUIMessages.RequiredExecutionEnvironmentSection_add, PDEUIMessages.RequiredExecutionEnvironmentSection_remove,
+                PDEUIMessages.RequiredExecutionEnvironmentSection_up, PDEUIMessages.RequiredExecutionEnvironmentSection_down });
+        createClient(getSection(), page.getEditor().getToolkit());
+    }
 
-		section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1));
+    @Override
+    protected void createClient(Section section, FormToolkit toolkit) {
+        section.setText(PDEUIMessages.RequiredExecutionEnvironmentSection_title);
+        if (isFragment()) {
+            section.setDescription(PDEUIMessages.RequiredExecutionEnvironmentSection_fragmentDesc);
+        } else {
+            section.setDescription(PDEUIMessages.RequiredExecutionEnvironmentSection_pluginDesc);
+        }
 
-		TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
-		section.setLayoutData(data);
+        section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1));
 
-		Composite container = createClientContainer(section, 2, toolkit);
-		EditableTablePart tablePart = getTablePart();
-		tablePart.setEditable(isEditable());
+        TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
+        section.setLayoutData(data);
 
-		createViewerPartControl(container, SWT.FULL_SELECTION | SWT.MULTI, 2, toolkit);
-		fEETable = tablePart.getTableViewer();
-		fEETable.setContentProvider(new ContentProvider());
-		fEETable.setLabelProvider(PDEPlugin.getDefault().getLabelProvider());
+        Composite container = createClientContainer(section, 2, toolkit);
+        EditableTablePart tablePart = getTablePart();
+        tablePart.setEditable(isEditable());
 
-		Hyperlink link = toolkit.createHyperlink(container, PDEUIMessages.BuildExecutionEnvironmentSection_configure,
-				SWT.NONE);
-		link.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
-		link.addHyperlinkListener(new IHyperlinkListener() {
-			public void linkEntered(HyperlinkEvent e) {
-			}
+        createViewerPartControl(container, SWT.FULL_SELECTION | SWT.MULTI, 2, toolkit);
+        this.fEETable = tablePart.getTableViewer();
+        this.fEETable.setContentProvider(new ContentProvider());
+        this.fEETable.setLabelProvider(PDEPlugin.getDefault().getLabelProvider());
 
-			public void linkExited(HyperlinkEvent e) {
-			}
+        Hyperlink link = toolkit.createHyperlink(container, PDEUIMessages.BuildExecutionEnvironmentSection_configure, SWT.NONE);
+        link.setForeground(toolkit.getColors().getColor(IFormColors.TITLE));
+        link.addHyperlinkListener(new IHyperlinkListener() {
 
-			public void linkActivated(HyperlinkEvent e) {
-				showPreferencePage(
-						new String[] { "org.eclipse.jdt.debug.ui.jreProfiles" }, PDEPlugin.getActiveWorkbenchShell()); //$NON-NLS-1$
-			}
-		});
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		link.setLayoutData(gd);
+            public void linkEntered(HyperlinkEvent e) {
+            }
 
-		makeActions();
+            public void linkExited(HyperlinkEvent e) {
+            }
 
-		IBundleModel model = getBundleModel();
-		if (model != null) {
-			fEETable.setInput(model);
-			model.addModelChangedListener(this);
-		}
-		toolkit.paintBordersFor(container);
-		section.setClient(container);
-	}
+            public void linkActivated(HyperlinkEvent e) {
+                showPreferencePage(new String[] { "org.eclipse.jdt.debug.ui.jreProfiles" }, PDEPlugin.getActiveWorkbenchShell()); //$NON-NLS-1$
+            }
+        });
+        GridData gd = new GridData();
+        gd.horizontalSpan = 2;
+        link.setLayoutData(gd);
 
-	public static boolean showPreferencePage(String[] pageIds, final Shell shell) {
-		final PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(shell, pageIds[0], pageIds, null);
-		return dialog.open() == Window.OK;
-	}
+        makeActions();
 
-	@Override
-	public void dispose() {
-		IBundleModel model = getBundleModel();
-		if (model != null) {
-			model.removeModelChangedListener(this);
-		}
-	}
+        IBundleModel model = getBundleModel();
+        if (model != null) {
+            this.fEETable.setInput(model);
+            model.addModelChangedListener(this);
+        }
+        toolkit.paintBordersFor(container);
+        section.setClient(container);
+    }
 
-	@Override
-	public void refresh() {
-		fEETable.refresh();
-		updateButtons();
-	}
+    public static boolean showPreferencePage(String[] pageIds, final Shell shell) {
+        final PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(shell, pageIds[0], pageIds, null);
+        return dialog.open() == Window.OK;
+    }
 
-	@Override
-	protected void buttonSelected(int index) {
-		switch (index) {
-		case 0:
-			handleAdd();
-			break;
-		case 1:
-			handleRemove();
-			break;
-		case 2:
-			handleUp();
-			break;
-		case 3:
-			handleDown();
-			break;
-		}
-	}
+    @Override
+    public void dispose() {
+        IBundleModel model = getBundleModel();
+        if (model != null) {
+            model.removeModelChangedListener(this);
+        }
+    }
 
-	@Override
-	protected void fillContextMenu(IMenuManager manager) {
-		manager.add(fAddAction);
-		if (!fEETable.getSelection().isEmpty()) {
-			manager.add(new Separator());
-			manager.add(fRemoveAction);
-		}
-		getPage().getPDEEditor().getContributor().contextMenuAboutToShow(manager);
-	}
+    @Override
+    public void refresh() {
+        this.fEETable.refresh();
+        updateButtons();
+    }
 
-	private void makeActions() {
-		fAddAction = new Action(PDEUIMessages.RequiredExecutionEnvironmentSection_add) {
-			@Override
-			public void run() {
-				handleAdd();
-			}
-		};
-		fAddAction.setEnabled(isEditable());
+    @Override
+    protected void buttonSelected(int index) {
+        switch (index) {
+            case 0:
+                handleAdd();
+                break;
+            case 1:
+                handleRemove();
+                break;
+            case 2:
+                handleUp();
+                break;
+            case 3:
+                handleDown();
+                break;
+        }
+    }
 
-		fRemoveAction = new Action(PDEUIMessages.NewManifestEditor_LibrarySection_remove) {
-			@Override
-			public void run() {
-				handleRemove();
-			}
-		};
-		fRemoveAction.setEnabled(isEditable());
-	}
+    @Override
+    protected void fillContextMenu(IMenuManager manager) {
+        manager.add(this.fAddAction);
+        if (!this.fEETable.getSelection().isEmpty()) {
+            manager.add(new Separator());
+            manager.add(this.fRemoveAction);
+        }
+        getPage().getPDEEditor().getContributor().contextMenuAboutToShow(manager);
+    }
 
-	private void updateButtons() {
-		Table table = fEETable.getTable();
-		int count = table.getItemCount();
-		boolean canMoveUp = count > 0 && table.getSelection().length == 1 && table.getSelectionIndex() > 0;
-		boolean canMoveDown = count > 0 && table.getSelection().length == 1 && table.getSelectionIndex() < count - 1;
+    private void makeActions() {
+        this.fAddAction = new Action(PDEUIMessages.RequiredExecutionEnvironmentSection_add) {
 
-		TablePart tablePart = getTablePart();
-		tablePart.setButtonEnabled(0, isEditable());
-		tablePart.setButtonEnabled(1, isEditable() && table.getSelection().length > 0);
-		tablePart.setButtonEnabled(2, isEditable() && canMoveUp);
-		tablePart.setButtonEnabled(3, isEditable() && canMoveDown);
-	}
+            @Override
+            public void run() {
+                handleAdd();
+            }
+        };
+        this.fAddAction.setEnabled(isEditable());
 
-	private void handleDown() {
-		int selection = fEETable.getTable().getSelectionIndex();
-		swap(selection, selection + 1);
-	}
+        this.fRemoveAction = new Action(PDEUIMessages.NewManifestEditor_LibrarySection_remove) {
 
-	private void handleUp() {
-		int selection = fEETable.getTable().getSelectionIndex();
-		swap(selection, selection - 1);
-	}
+            @Override
+            public void run() {
+                handleRemove();
+            }
+        };
+        this.fRemoveAction.setEnabled(isEditable());
+    }
 
-	public void swap(int index1, int index2) {
-		RequiredExecutionEnvironmentHeader header = getHeader();
-		header.swap(index1, index2);
-	}
+    private void updateButtons() {
+        Table table = this.fEETable.getTable();
+        int count = table.getItemCount();
+        boolean canMoveUp = count > 0 && table.getSelection().length == 1 && table.getSelectionIndex() > 0;
+        boolean canMoveDown = count > 0 && table.getSelection().length == 1 && table.getSelectionIndex() < count - 1;
 
-	@SuppressWarnings("unchecked")
-	private void handleRemove() {
-		IStructuredSelection ssel = (IStructuredSelection) fEETable.getSelection();
-		if (ssel.size() > 0) {
-			Iterator iter = ssel.iterator();
-			while (iter.hasNext()) {
-				Object object = iter.next();
-				if (object instanceof ExecutionEnvironment) {
-					getHeader().removeExecutionEnvironment((ExecutionEnvironment) object);
-				}
-			}
-		}
-	}
+        TablePart tablePart = getTablePart();
+        tablePart.setButtonEnabled(0, isEditable());
+        tablePart.setButtonEnabled(1, isEditable() && table.getSelection().length > 0);
+        tablePart.setButtonEnabled(2, isEditable() && canMoveUp);
+        tablePart.setButtonEnabled(3, isEditable() && canMoveDown);
+    }
 
-	private void handleAdd() {
-		ElementListSelectionDialog dialog = new ElementListSelectionDialog(PDEPlugin.getActiveWorkbenchShell(),
-				new EELabelProvider());
-		dialog.setElements(getEnvironments());
-		dialog.setAllowDuplicates(false);
-		dialog.setMultipleSelection(true);
-		dialog.setTitle(PDEUIMessages.RequiredExecutionEnvironmentSection_dialog_title);
-		dialog.setMessage(PDEUIMessages.RequiredExecutionEnvironmentSection_dialogMessage);
-		if (dialog.open() == Window.OK) {
-			addExecutionEnvironments(dialog.getResult());
-		}
-	}
+    private void handleDown() {
+        int selection = this.fEETable.getTable().getSelectionIndex();
+        swap(selection, selection + 1);
+    }
 
-	private void addExecutionEnvironments(Object[] result) {
-		IManifestHeader header = getHeader();
-		if (header == null) {
-			StringBuffer buffer = new StringBuffer();
-			for (Object element : result) {
-				String id = null;
-				if (element instanceof IExecutionEnvironment) {
-					id = ((IExecutionEnvironment) element).getId();
-				} else if (element instanceof ExecutionEnvironment) {
-					id = ((ExecutionEnvironment) element).getName();
-				} else {
-					continue;
-				}
-				if (buffer.length() > 0) {
-					buffer.append(","); //$NON-NLS-1$
-					buffer.append(getLineDelimiter());
-					buffer.append(" "); //$NON-NLS-1$
-				}
-				buffer.append(id);
-			}
-			getBundle().setHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, buffer.toString());
-		} else {
-			RequiredExecutionEnvironmentHeader ee = (RequiredExecutionEnvironmentHeader) header;
-			ee.addExecutionEnvironments(result);
-		}
-	}
+    private void handleUp() {
+        int selection = this.fEETable.getTable().getSelectionIndex();
+        swap(selection, selection - 1);
+    }
 
-	private String getLineDelimiter() {
-		BundleInputContext inputContext = getBundleContext();
-		if (inputContext != null) {
-			return inputContext.getLineDelimiter();
-		}
-		return System.getProperty("line.separator"); //$NON-NLS-1$
-	}
+    public void swap(int index1, int index2) {
+        RequiredExecutionEnvironmentHeader header = getHeader();
+        header.swap(index1, index2);
+    }
 
-	@SuppressWarnings("unchecked")
-	private Object[] getEnvironments() {
-		RequiredExecutionEnvironmentHeader header = getHeader();
-		IExecutionEnvironment[] envs = JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments();
-		if (header == null) {
-			return envs;
-		}
-		ArrayList list = new ArrayList();
-		for (int i = 0; i < envs.length; i++) {
-			if (!header.hasExecutionEnvironment(envs[i])) {
-				list.add(envs[i]);
-			}
-		}
-		return list.toArray();
-	}
+    @SuppressWarnings("unchecked")
+    private void handleRemove() {
+        IStructuredSelection ssel = (IStructuredSelection) this.fEETable.getSelection();
+        if (ssel.size() > 0) {
+            Iterator iter = ssel.iterator();
+            while (iter.hasNext()) {
+                Object object = iter.next();
+                if (object instanceof ExecutionEnvironment) {
+                    getHeader().removeExecutionEnvironment((ExecutionEnvironment) object);
+                }
+            }
+        }
+    }
 
-	@Override
-	public void modelChanged(IModelChangedEvent e) {
-		if (e.getChangeType() == IModelChangedEvent.WORLD_CHANGED) {
-			markStale();
-		} else if (e.getChangeType() == IModelChangedEvent.REMOVE) {
-			Object[] objects = e.getChangedObjects();
-			for (Object element : objects) {
-				Table table = fEETable.getTable();
-				if (element instanceof ExecutionEnvironment) {
-					int index = table.getSelectionIndex();
-					fEETable.remove(element);
-					table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1);
-				}
-			}
-			updateButtons();
-		} else if (e.getChangeType() == IModelChangedEvent.INSERT) {
-			Object[] objects = e.getChangedObjects();
-			for (Object element : objects) {
-				if (element instanceof ExecutionEnvironment) {
-					fEETable.add(element);
-				}
-			}
-			if (objects.length > 0) {
-				fEETable.setSelection(new StructuredSelection(objects[objects.length - 1]));
-			}
-			updateButtons();
-		} else if (Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT.equals(e.getChangedProperty())) {
-			refresh();
-		}
-	}
+    private void handleAdd() {
+        ElementListSelectionDialog dialog = new ElementListSelectionDialog(PDEPlugin.getActiveWorkbenchShell(), new EELabelProvider());
+        dialog.setElements(getEnvironments());
+        dialog.setAllowDuplicates(false);
+        dialog.setMultipleSelection(true);
+        dialog.setTitle(PDEUIMessages.RequiredExecutionEnvironmentSection_dialog_title);
+        dialog.setMessage(PDEUIMessages.RequiredExecutionEnvironmentSection_dialogMessage);
+        if (dialog.open() == Window.OK) {
+            addExecutionEnvironments(dialog.getResult());
+        }
+    }
 
-	private BundleInputContext getBundleContext() {
-		InputContextManager manager = getPage().getPDEEditor().getContextManager();
-		return (BundleInputContext) manager.findContext(BundleInputContext.CONTEXT_ID);
-	}
+    private void addExecutionEnvironments(Object[] result) {
+        IManifestHeader header = getHeader();
+        if (header == null) {
+            StringBuffer buffer = new StringBuffer();
+            for (Object element : result) {
+                String id = null;
+                if (element instanceof IExecutionEnvironment) {
+                    id = ((IExecutionEnvironment) element).getId();
+                } else if (element instanceof ExecutionEnvironment) {
+                    id = ((ExecutionEnvironment) element).getName();
+                } else {
+                    continue;
+                }
+                if (buffer.length() > 0) {
+                    buffer.append(","); //$NON-NLS-1$
+                    buffer.append(getLineDelimiter());
+                    buffer.append(" "); //$NON-NLS-1$
+                }
+                buffer.append(id);
+            }
+            getBundle().setHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, buffer.toString());
+        } else {
+            RequiredExecutionEnvironmentHeader ee = (RequiredExecutionEnvironmentHeader) header;
+            ee.addExecutionEnvironments(result);
+        }
+    }
 
-	private IBundle getBundle() {
-		IBundleModel model = getBundleModel();
-		return model == null ? null : model.getBundle();
-	}
+    private String getLineDelimiter() {
+        BundleInputContext inputContext = getBundleContext();
+        if (inputContext != null) {
+            return inputContext.getLineDelimiter();
+        }
+        return System.getProperty("line.separator"); //$NON-NLS-1$
+    }
 
-	private IBundleModel getBundleModel() {
-		BundleInputContext context = getBundleContext();
-		return context == null ? null : (IBundleModel) context.getModel();
-	}
+    @SuppressWarnings("unchecked")
+    private Object[] getEnvironments() {
+        RequiredExecutionEnvironmentHeader header = getHeader();
+        IExecutionEnvironment[] envs = JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments();
+        if (header == null) {
+            return envs;
+        }
+        ArrayList list = new ArrayList();
+        for (int i = 0; i < envs.length; i++) {
+            if (!header.hasExecutionEnvironment(envs[i])) {
+                list.add(envs[i]);
+            }
+        }
+        return list.toArray();
+    }
 
-	protected RequiredExecutionEnvironmentHeader getHeader() {
-		IBundle bundle = getBundle();
-		if (bundle == null) {
-			return null;
-		}
-		IManifestHeader header = bundle.getManifestHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-		if (header instanceof RequiredExecutionEnvironmentHeader) {
-			return (RequiredExecutionEnvironmentHeader) header;
-		}
-		return null;
-	}
+    @Override
+    public void modelChanged(IModelChangedEvent e) {
+        if (e.getChangeType() == IModelChangedEvent.WORLD_CHANGED) {
+            markStale();
+        } else if (e.getChangeType() == IModelChangedEvent.REMOVE) {
+            Object[] objects = e.getChangedObjects();
+            for (Object element : objects) {
+                Table table = this.fEETable.getTable();
+                if (element instanceof ExecutionEnvironment) {
+                    int index = table.getSelectionIndex();
+                    this.fEETable.remove(element);
+                    table.setSelection(index < table.getItemCount() ? index : table.getItemCount() - 1);
+                }
+            }
+            updateButtons();
+        } else if (e.getChangeType() == IModelChangedEvent.INSERT) {
+            Object[] objects = e.getChangedObjects();
+            for (Object element : objects) {
+                if (element instanceof ExecutionEnvironment) {
+                    this.fEETable.add(element);
+                }
+            }
+            if (objects.length > 0) {
+                this.fEETable.setSelection(new StructuredSelection(objects[objects.length - 1]));
+            }
+            updateButtons();
+        } else if (Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT.equals(e.getChangedProperty())) {
+            refresh();
+        }
+    }
 
-	protected boolean isFragment() {
-		InputContextManager manager = getPage().getPDEEditor().getContextManager();
-		IPluginModelBase model = (IPluginModelBase) manager.getAggregateModel();
-		return model.isFragmentModel();
-	}
+    private BundleInputContext getBundleContext() {
+        InputContextManager manager = getPage().getPDEEditor().getContextManager();
+        return (BundleInputContext) manager.findContext(BundleInputContext.CONTEXT_ID);
+    }
 
-	@Override
-	public boolean doGlobalAction(String actionId) {
-		if (!isEditable()) {
-			return false;
-		}
+    private IBundle getBundle() {
+        IBundleModel model = getBundleModel();
+        return model == null ? null : model.getBundle();
+    }
 
-		if (actionId.equals(ActionFactory.DELETE.getId())) {
-			handleRemove();
-			return true;
-		}
+    private IBundleModel getBundleModel() {
+        BundleInputContext context = getBundleContext();
+        return context == null ? null : (IBundleModel) context.getModel();
+    }
 
-		if (actionId.equals(ActionFactory.CUT.getId())) {
-			// delete here and let the editor transfer
-			// the selection to the clipboard
-			handleRemove();
-			return false;
-		}
+    protected RequiredExecutionEnvironmentHeader getHeader() {
+        IBundle bundle = getBundle();
+        if (bundle == null) {
+            return null;
+        }
+        IManifestHeader header = bundle.getManifestHeader(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
+        if (header instanceof RequiredExecutionEnvironmentHeader) {
+            return (RequiredExecutionEnvironmentHeader) header;
+        }
+        return null;
+    }
 
-		if (actionId.equals(ActionFactory.PASTE.getId())) {
-			doPaste();
-			return true;
-		}
+    protected boolean isFragment() {
+        InputContextManager manager = getPage().getPDEEditor().getContextManager();
+        IPluginModelBase model = (IPluginModelBase) manager.getAggregateModel();
+        return model.isFragmentModel();
+    }
 
-		return false;
-	}
+    @Override
+    public boolean doGlobalAction(String actionId) {
+        if (!isEditable()) {
+            return false;
+        }
 
-	@Override
-	protected boolean canPaste(Object target, Object[] objects) {
-		RequiredExecutionEnvironmentHeader header = getHeader();
-		for (Object element : objects) {
-			if (element instanceof ExecutionEnvironment) {
-				String env = ((ExecutionEnvironment) element).getName();
-				if (header == null || !header.hasElement(env)) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
+        if (actionId.equals(ActionFactory.DELETE.getId())) {
+            handleRemove();
+            return true;
+        }
 
-	@Override
-	protected void selectionChanged(IStructuredSelection selection) {
-		getPage().getPDEEditor().setSelection(selection);
-		if (getPage().getModel().isEditable()) {
-			updateButtons();
-		}
-	}
+        if (actionId.equals(ActionFactory.CUT.getId())) {
+            // delete here and let the editor transfer
+            // the selection to the clipboard
+            handleRemove();
+            return false;
+        }
 
-	@Override
-	protected void doPaste(Object target, Object[] objects) {
-		addExecutionEnvironments(objects);
-	}
+        if (actionId.equals(ActionFactory.PASTE.getId())) {
+            doPaste();
+            return true;
+        }
 
-	@SuppressWarnings("unused")
-	private void doFullBuild(final IProject project) {
-		Job buildJob = new Job(PDEUIMessages.CompilersConfigurationBlock_building) {
-			@Override
-			public boolean belongsTo(Object family) {
-				return ResourcesPlugin.FAMILY_MANUAL_BUILD == family;
-			}
+        return false;
+    }
 
-			@Override
-			protected IStatus run(IProgressMonitor monitor) {
-				try {
-					project.build(IncrementalProjectBuilder.FULL_BUILD, JavaCore.BUILDER_ID, null, monitor);
-				} catch (CoreException e) {
-				}
-				return Status.OK_STATUS;
-			}
-		};
-		buildJob.setRule(ResourcesPlugin.getWorkspace().getRuleFactory().buildRule());
-		buildJob.schedule();
-	}
+    @Override
+    protected boolean canPaste(Object target, Object[] objects) {
+        RequiredExecutionEnvironmentHeader header = getHeader();
+        for (Object element : objects) {
+            if (element instanceof ExecutionEnvironment) {
+                String env = ((ExecutionEnvironment) element).getName();
+                if (header == null || !header.hasElement(env)) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    @Override
+    protected void selectionChanged(IStructuredSelection selection) {
+        getPage().getPDEEditor().setSelection(selection);
+        if (getPage().getModel().isEditable()) {
+            updateButtons();
+        }
+    }
+
+    @Override
+    protected void doPaste(Object target, Object[] objects) {
+        addExecutionEnvironments(objects);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleExportPackageSection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleExportPackageSection.java
index f0e8800..60a1be7 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleExportPackageSection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleExportPackageSection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import org.eclipse.pde.internal.ui.editor.PDEFormPage;
@@ -19,11 +20,11 @@
  */
 public class BundleExportPackageSection extends ExportPackageSection {
 
-	private static final String DESCRIPTION = "Enumerate all the packages that this bundle exposes to clients. All other packages will be hidden from clients at all times.";
+    private static final String DESCRIPTION = "Enumerate all the packages that this bundle exposes to clients. All other packages will be hidden from clients at all times.";
 
-	public BundleExportPackageSection(PDEFormPage page, Composite parent) {
-		super(page, parent);
-		getSection().setDescription(DESCRIPTION);
-	}
+    public BundleExportPackageSection(PDEFormPage page, Composite parent) {
+        super(page, parent);
+        getSection().setDescription(DESCRIPTION);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleGeneralInfoSection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleGeneralInfoSection.java
index f539c7e..f5ae7b2 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleGeneralInfoSection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleGeneralInfoSection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import org.eclipse.core.resources.IProject;
@@ -40,138 +41,137 @@
  */
 public class BundleGeneralInfoSection extends AbstractPdeGeneralInfoSection {
 
-	private FormEntry fClassEntry;
+    private FormEntry fClassEntry;
 
-	private TypeFieldAssistDisposer fTypeFieldAssistDisposer;
+    private TypeFieldAssistDisposer fTypeFieldAssistDisposer;
 
-	public BundleGeneralInfoSection(PDEFormPage page, Composite parent) {
-		super(page, parent);
-	}
+    public BundleGeneralInfoSection(PDEFormPage page, Composite parent) {
+        super(page, parent);
+    }
 
-	@Override
-	protected void createSpecificControls(Composite parent, FormToolkit toolkit, IActionBars actionBars) {
-		createClassEntry(parent, toolkit, actionBars);
-	}
+    @Override
+    protected void createSpecificControls(Composite parent, FormToolkit toolkit, IActionBars actionBars) {
+        createClassEntry(parent, toolkit, actionBars);
+    }
 
-	@Override
-	protected void createClient(Section section, FormToolkit toolkit) {
-		section.setText(PDEUIMessages.ManifestEditor_PluginSpecSection_title);
-		section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1));
-		TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
-		section.setLayoutData(data);
+    @Override
+    protected void createClient(Section section, FormToolkit toolkit) {
+        section.setText(PDEUIMessages.ManifestEditor_PluginSpecSection_title);
+        section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1));
+        TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
+        section.setLayoutData(data);
 
-		section.setDescription(getSectionDescription());
-		Composite client = toolkit.createComposite(section);
-		client.setLayout(FormLayoutFactory.createSectionClientTableWrapLayout(false, 3));
-		section.setClient(client);
+        section.setDescription(getSectionDescription());
+        Composite client = toolkit.createComposite(section);
+        client.setLayout(FormLayoutFactory.createSectionClientTableWrapLayout(false, 3));
+        section.setClient(client);
 
-		IActionBars actionBars = getPage().getPDEEditor().getEditorSite().getActionBars();
-		createIDEntry(client, toolkit, actionBars);
-		createVersionEntry(client, toolkit, actionBars);
-		createNameEntry(client, toolkit, actionBars);
-		createProviderEntry(client, toolkit, actionBars);
-		createSpecificControls(client, toolkit, actionBars);
-		toolkit.paintBordersFor(client);
+        IActionBars actionBars = getPage().getPDEEditor().getEditorSite().getActionBars();
+        createIDEntry(client, toolkit, actionBars);
+        createVersionEntry(client, toolkit, actionBars);
+        createNameEntry(client, toolkit, actionBars);
+        createProviderEntry(client, toolkit, actionBars);
+        createSpecificControls(client, toolkit, actionBars);
+        toolkit.paintBordersFor(client);
 
-		addListeners();
-	}
+        addListeners();
+    }
 
-	private void createClassEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
-		boolean isEditable = isEditable();
-		fClassEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_class,
-				PDEUIMessages.GeneralInfoSection_browse, //
-				isEditable());
-		fClassEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
-			@Override
-			public void textValueChanged(FormEntry entry) {
-				try {
-					((IPlugin) getPluginBase()).setClassName(entry.getValue());
-				} catch (CoreException e) {
-					PDEPlugin.logException(e);
-				}
-			}
+    private void createClassEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
+        boolean isEditable = isEditable();
+        this.fClassEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_class, PDEUIMessages.GeneralInfoSection_browse, //
+            isEditable());
+        this.fClassEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
 
-			@Override
-			public void linkActivated(HyperlinkEvent e) {
-				String value = fClassEntry.getValue();
-				IProject project = getPage().getPDEEditor().getCommonProject();
-				value = PDEJavaHelperUI.createClass(value, project, createJavaAttributeValue(), false);
-				if (value != null) {
-					fClassEntry.setValue(value);
-				}
-			}
+            @Override
+            public void textValueChanged(FormEntry entry) {
+                try {
+                    ((IPlugin) getPluginBase()).setClassName(entry.getValue());
+                } catch (CoreException e) {
+                    PDEPlugin.logException(e);
+                }
+            }
 
-			@Override
-			public void browseButtonSelected(FormEntry entry) {
-				doOpenSelectionDialog(entry.getValue());
-			}
-		});
-		fClassEntry.setEditable(isEditable);
+            @Override
+            public void linkActivated(HyperlinkEvent e) {
+                String value = BundleGeneralInfoSection.this.fClassEntry.getValue();
+                IProject project = getPage().getPDEEditor().getCommonProject();
+                value = PDEJavaHelperUI.createClass(value, project, createJavaAttributeValue(), false);
+                if (value != null) {
+                    BundleGeneralInfoSection.this.fClassEntry.setValue(value);
+                }
+            }
 
-		if (isEditable) {
-			fTypeFieldAssistDisposer = PDEJavaHelperUI.addTypeFieldAssistToText(fClassEntry.getText(), getProject(),
-					IJavaSearchConstants.CLASS);
-		}
-	}
+            @Override
+            public void browseButtonSelected(FormEntry entry) {
+                doOpenSelectionDialog(entry.getValue());
+            }
+        });
+        this.fClassEntry.setEditable(isEditable);
 
-	private JavaAttributeValue createJavaAttributeValue() {
-		IProject project = getPage().getPDEEditor().getCommonProject();
-		IPluginModelBase model = (IPluginModelBase) getPage().getModel();
-		return new JavaAttributeValue(project, model, null, fClassEntry.getValue());
-	}
+        if (isEditable) {
+            this.fTypeFieldAssistDisposer = PDEJavaHelperUI.addTypeFieldAssistToText(this.fClassEntry.getText(), getProject(),
+                IJavaSearchConstants.CLASS);
+        }
+    }
 
-	private void doOpenSelectionDialog(String className) {
-		IResource resource = getPluginBase().getModel().getUnderlyingResource();
-		String type = PDEJavaHelperUI.selectType(resource, IJavaElementSearchConstants.CONSIDER_CLASSES, className,
-				null);
-		if (type != null) {
-			fClassEntry.setValue(type);
-		}
-	}
+    private JavaAttributeValue createJavaAttributeValue() {
+        IProject project = getPage().getPDEEditor().getCommonProject();
+        IPluginModelBase model = (IPluginModelBase) getPage().getModel();
+        return new JavaAttributeValue(project, model, null, this.fClassEntry.getValue());
+    }
 
-	@Override
-	protected String getSectionDescription() {
-		return "This section describes general information about this bundle";
-	}
+    private void doOpenSelectionDialog(String className) {
+        IResource resource = getPluginBase().getModel().getUnderlyingResource();
+        String type = PDEJavaHelperUI.selectType(resource, IJavaElementSearchConstants.CONSIDER_CLASSES, className, null);
+        if (type != null) {
+            this.fClassEntry.setValue(type);
+        }
+    }
 
-	/** For JUnit testing only * */
-	public String getBundleName() {
-		return fNameEntry.getText().getText();
-	}
+    @Override
+    protected String getSectionDescription() {
+        return "This section describes general information about this bundle";
+    }
 
-	@Override
-	public void dispose() {
-		super.dispose();
-		if (fTypeFieldAssistDisposer != null) {
-			fTypeFieldAssistDisposer.dispose();
-		}
-	}
+    /** For JUnit testing only * */
+    public String getBundleName() {
+        return this.fNameEntry.getText().getText();
+    }
 
-	@Override
-	public void commit(boolean onSave) {
-		fClassEntry.commit();
-		super.commit(onSave);
-	}
+    @Override
+    public void dispose() {
+        super.dispose();
+        if (this.fTypeFieldAssistDisposer != null) {
+            this.fTypeFieldAssistDisposer.dispose();
+        }
+    }
 
-	@Override
-	public void cancelEdit() {
-		fClassEntry.cancelEdit();
-		super.cancelEdit();
-	}
+    @Override
+    public void commit(boolean onSave) {
+        this.fClassEntry.commit();
+        super.commit(onSave);
+    }
 
-	@Override
-	public void refresh() {
-		IPluginModelBase model = (IPluginModelBase) getPage().getModel();
-		if (model != null) {
-			IPlugin plugin = (IPlugin) model.getPluginBase();
-			// Only update this field if it already has not been modified
-			// This will prevent the cursor from being set to position 0 after
-			// accepting a field assist proposal using \r
-			if (fClassEntry.isDirty() == false) {
-				fClassEntry.setValue(plugin.getClassName(), true);
-			}
-		}
-		super.refresh();
-	}
+    @Override
+    public void cancelEdit() {
+        this.fClassEntry.cancelEdit();
+        super.cancelEdit();
+    }
+
+    @Override
+    public void refresh() {
+        IPluginModelBase model = (IPluginModelBase) getPage().getModel();
+        if (model != null) {
+            IPlugin plugin = (IPlugin) model.getPluginBase();
+            // Only update this field if it already has not been modified
+            // This will prevent the cursor from being set to position 0 after
+            // accepting a field assist proposal using \r
+            if (this.fClassEntry.isDirty() == false) {
+                this.fClassEntry.setValue(plugin.getClassName(), true);
+            }
+        }
+        super.refresh();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportLibrarySection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportLibrarySection.java
index f10bb24..0a22996 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportLibrarySection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportLibrarySection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.Collection;
@@ -47,299 +48,292 @@
  */
 public class BundleImportLibrarySection extends AbstractImportSection {
 
-	private static final String DESCRIPTION = "Specify the list of libraries required for the operation of this bundle.";
+    private static final String DESCRIPTION = "Specify the list of libraries required for the operation of this bundle.";
 
-	private static final int ADD_INDEX = 0;
+    private static final int ADD_INDEX = 0;
 
-	private static final int ADD_REMOTE_BUNDLE_INDEX = 1;
+    private static final int ADD_REMOTE_BUNDLE_INDEX = 1;
 
-	private static final int REMOVE_INDEX = 2;
+    private static final int REMOVE_INDEX = 2;
 
-	private static final int PROPERTIES_INDEX = 3;
+    private static final int PROPERTIES_INDEX = 3;
 
-	public BundleImportLibrarySection(PDEFormPage page, Composite parent) {
-		super(page, parent, Section.DESCRIPTION, new String[] { PDEUIMessages.ImportPackageSection_add, "Download...",
-				PDEUIMessages.ImportPackageSection_remove, PDEUIMessages.ImportPackageSection_properties });
+    public BundleImportLibrarySection(PDEFormPage page, Composite parent) {
+        super(page, parent, Section.DESCRIPTION, new String[] { PDEUIMessages.ImportPackageSection_add, "Download...",
+            PDEUIMessages.ImportPackageSection_remove, PDEUIMessages.ImportPackageSection_properties });
 
-		getSection().setText("Import Library");
-		getSection().setDescription(DESCRIPTION);
-		getTablePart().setEditable(false);
-	}
+        getSection().setText("Import Library");
+        getSection().setDescription(DESCRIPTION);
+        getTablePart().setEditable(false);
+    }
 
-	class ImportLibraryContentProvider extends DefaultTableProvider {
-		public Object[] getElements(Object parent) {
-			ImportLibraryHeader header = (ImportLibraryHeader) getBundle().getManifestHeader(
-					IHeaderConstants.IMPORT_LIBRARY);
-			if (header == null) {
-				return new Object[0];
-			} else {
-				return header.getImportedLibraries();
-			}
-		}
-	}
+    class ImportLibraryContentProvider extends DefaultTableProvider {
 
-	@Override
-	protected IContentProvider getContentProvider() {
-		return new ImportLibraryContentProvider();
-	}
+        public Object[] getElements(Object parent) {
+            ImportLibraryHeader header = (ImportLibraryHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_LIBRARY);
+            if (header == null) {
+                return new Object[0];
+            } else {
+                return header.getImportedLibraries();
+            }
+        }
+    }
 
-	@Override
-	protected ITableLabelProvider getLabelProvider() {
-		return new ImportLibraryLabelProvider();
-	}
+    @Override
+    protected IContentProvider getContentProvider() {
+        return new ImportLibraryContentProvider();
+    }
 
-	private void setElements(ImportListSelectionDialog dialog, boolean addRemote) {
-		IProject project = ((BundleManifestEditor) this.getPage().getEditor()).getCommonProject();
-		IArtefact[] libraries = null;
-		if (addRemote) {
-			ArtefactRepository bundleRepository = RepositoryUtils.searchForArtifacts("", false, true);
-			libraries = bundleRepository.getLibrarySet().toArray();
-		} else {
-			Collection<Artefact> libraryList = RepositoryUtils.getImportLibraryProposals(project, "");
-			removeExistingLibraries(libraryList);
-			libraries = libraryList.toArray(new IArtefact[] {});
-		}
-		dialog.setElements(libraries);
-	}
+    @Override
+    protected ITableLabelProvider getLabelProvider() {
+        return new ImportLibraryLabelProvider();
+    }
 
-	private void removeExistingLibraries(Collection<Artefact> bundles) {
-		ImportLibraryHeader header = (ImportLibraryHeader) getBundle().getManifestHeader(
-				IHeaderConstants.IMPORT_LIBRARY);
-		Set<Artefact> filteredElements = new HashSet<Artefact>();
+    private void setElements(ImportListSelectionDialog dialog, boolean addRemote) {
+        IProject project = ((BundleManifestEditor) this.getPage().getEditor()).getCommonProject();
+        IArtefact[] libraries = null;
+        if (addRemote) {
+            ArtefactRepository bundleRepository = RepositoryUtils.searchForArtifacts("", false, true);
+            libraries = bundleRepository.getLibrarySet().toArray();
+        } else {
+            Collection<Artefact> libraryList = RepositoryUtils.getImportLibraryProposals(project, "");
+            removeExistingLibraries(libraryList);
+            libraries = libraryList.toArray(new IArtefact[] {});
+        }
+        dialog.setElements(libraries);
+    }
 
-		if (header != null) {
-			ImportLibraryObject[] filter = header.getImportedLibraries();
-			for (Artefact proposal : bundles) {
-				for (ImportLibraryObject imported : filter) {
-					if (proposal.getSymbolicName().equalsIgnoreCase(imported.getId())) {
-						filteredElements.add(proposal);
-					}
-				}
-			}
-			bundles.removeAll(filteredElements);
-		}
-	}
+    private void removeExistingLibraries(Collection<Artefact> bundles) {
+        ImportLibraryHeader header = (ImportLibraryHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_LIBRARY);
+        Set<Artefact> filteredElements = new HashSet<Artefact>();
 
-	@Override
-	protected void handleAdd() {
-		internalHandleAdd(false);
-		return;
-	}
+        if (header != null) {
+            ImportLibraryObject[] filter = header.getImportedLibraries();
+            for (Artefact proposal : bundles) {
+                for (ImportLibraryObject imported : filter) {
+                    if (proposal.getSymbolicName().equalsIgnoreCase(imported.getId())) {
+                        filteredElements.add(proposal);
+                    }
+                }
+            }
+            bundles.removeAll(filteredElements);
+        }
+    }
 
-	private void internalHandleAdd(final boolean addRemote) {
+    @Override
+    protected void handleAdd() {
+        internalHandleAdd(false);
+        return;
+    }
 
-		final ImportListSelectionDialog dialog = new ImportListSelectionDialog(PDEPlugin.getActiveWorkbenchShell(),
-				new BundleImportDialogLabelProvider());
+    private void internalHandleAdd(final boolean addRemote) {
 
-		Runnable runnable = new Runnable() {
-			public void run() {
-				setElements(dialog, addRemote);
-				dialog.setMultipleSelection(true);
-				dialog.setTitle("Library Selection");
-				dialog.setMessage("Select a Library:");
-				dialog.create();
-				SWTUtil.setDialogSize(dialog, 400, 500);
-			}
-		};
+        final ImportListSelectionDialog dialog = new ImportListSelectionDialog(PDEPlugin.getActiveWorkbenchShell(),
+            new BundleImportDialogLabelProvider());
 
-		BusyIndicator.showWhile(Display.getCurrent(), runnable);
-		if (dialog.open() == Window.OK) {
+        Runnable runnable = new Runnable() {
 
-			Object[] selected = dialog.getResult();
+            public void run() {
+                setElements(dialog, addRemote);
+                dialog.setMultipleSelection(true);
+                dialog.setTitle("Library Selection");
+                dialog.setMessage("Select a Library:");
+                dialog.create();
+                SWTUtil.setDialogSize(dialog, 400, 500);
+            }
+        };
 
-			if (addRemote) {
-				addRemoteLibraries(selected);
-			} else {
-				addLocalLibraries(selected);
-			}
-		}
+        BusyIndicator.showWhile(Display.getCurrent(), runnable);
+        if (dialog.open() == Window.OK) {
 
-	}
+            Object[] selected = dialog.getResult();
 
-	private void addLocalLibraries(Object[] selected) {
-		ImportLibraryHeader importLibraryHeader = (ImportLibraryHeader) getBundle().getManifestHeader(
-				IHeaderConstants.IMPORT_LIBRARY);
-		for (Object currSelectedElement : selected) {
-			LibraryArtefact currBundle = (LibraryArtefact) currSelectedElement;
-			if (null == importLibraryHeader) {
-				getBundle().setHeader(IHeaderConstants.IMPORT_LIBRARY, "");
-				importLibraryHeader = (ImportLibraryHeader) getBundle().getManifestHeader(
-						IHeaderConstants.IMPORT_LIBRARY);
-			}
+            if (addRemote) {
+                addRemoteLibraries(selected);
+            } else {
+                addLocalLibraries(selected);
+            }
+        }
 
-			String versionString = null;
-			OsgiVersion osgiVers = currBundle.getVersion();
-			if (osgiVers.getMajor() != 0 || osgiVers.getMinor() != 0 || osgiVers.getService() != 0
-					|| (osgiVers.getQualifier() != null && !osgiVers.getQualifier().trim().equals(""))) {
-				versionString = "[" + currBundle.getVersion().toString() + "," + currBundle.getVersion().toString()
-						+ "]";
-			}
-			importLibraryHeader.addLibrary(currBundle.getSymbolicName(), versionString);
-		}
-	}
+    }
 
-	private void addRemoteLibraries(Object[] selected) {
-		ImportLibraryHeader importLibraryHeader = (ImportLibraryHeader) getBundle().getManifestHeader(
-				IHeaderConstants.IMPORT_LIBRARY);
+    private void addLocalLibraries(Object[] selected) {
+        ImportLibraryHeader importLibraryHeader = (ImportLibraryHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_LIBRARY);
+        for (Object currSelectedElement : selected) {
+            LibraryArtefact currBundle = (LibraryArtefact) currSelectedElement;
+            if (null == importLibraryHeader) {
+                getBundle().setHeader(IHeaderConstants.IMPORT_LIBRARY, "");
+                importLibraryHeader = (ImportLibraryHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_LIBRARY);
+            }
 
-		Set<Artefact> remoteArtifactDefinitions = new HashSet<Artefact>(selected.length);
+            String versionString = null;
+            OsgiVersion osgiVers = currBundle.getVersion();
+            if (osgiVers.getMajor() != 0 || osgiVers.getMinor() != 0 || osgiVers.getService() != 0
+                || osgiVers.getQualifier() != null && !osgiVers.getQualifier().trim().equals("")) {
+                versionString = "[" + currBundle.getVersion().toString() + "," + currBundle.getVersion().toString() + "]";
+            }
+            importLibraryHeader.addLibrary(currBundle.getSymbolicName(), versionString);
+        }
+    }
 
-		for (Object currSelectedElement : selected) {
-			remoteArtifactDefinitions.add((Artefact) currSelectedElement);
-		}
+    private void addRemoteLibraries(Object[] selected) {
+        ImportLibraryHeader importLibraryHeader = (ImportLibraryHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_LIBRARY);
 
-		IProject project = ((BundleManifestEditor) this.getPage().getEditor()).getCommonProject();
-		RepositoryUtils.downloadArifacts(remoteArtifactDefinitions, project, Display.getDefault().getActiveShell(),
-				false);
+        Set<Artefact> remoteArtifactDefinitions = new HashSet<Artefact>(selected.length);
 
-		for (Object currSelectedElement : selected) {
-			LibraryArtefact currLibrary = (LibraryArtefact) currSelectedElement;
-			if (null == importLibraryHeader) {
-				getBundle().setHeader(IHeaderConstants.IMPORT_LIBRARY, "");
-				importLibraryHeader = (ImportLibraryHeader) getBundle().getManifestHeader(
-						IHeaderConstants.IMPORT_LIBRARY);
-			}
+        for (Object currSelectedElement : selected) {
+            remoteArtifactDefinitions.add((Artefact) currSelectedElement);
+        }
 
-			String versionString = null;
-			OsgiVersion osgiVers = currLibrary.getVersion();
-			if (osgiVers.getMajor() != 0 || osgiVers.getMinor() != 0 || osgiVers.getService() != 0
-					|| (osgiVers.getQualifier() != null && !osgiVers.getQualifier().trim().equals(""))) {
-				versionString = "[" + currLibrary.getVersion().toString() + "," + currLibrary.getVersion().toString()
-						+ "]";
-			}
+        IProject project = ((BundleManifestEditor) this.getPage().getEditor()).getCommonProject();
+        RepositoryUtils.downloadArifacts(remoteArtifactDefinitions, project, Display.getDefault().getActiveShell(), false);
 
-			if (importLibraryHeader.hasElement(currLibrary.getSymbolicName())) {
-				importLibraryHeader.removeLibrary(currLibrary.getSymbolicName());
-			}
-			importLibraryHeader.addLibrary(currLibrary.getSymbolicName(), versionString);
-		}
-	}
+        for (Object currSelectedElement : selected) {
+            LibraryArtefact currLibrary = (LibraryArtefact) currSelectedElement;
+            if (null == importLibraryHeader) {
+                getBundle().setHeader(IHeaderConstants.IMPORT_LIBRARY, "");
+                importLibraryHeader = (ImportLibraryHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_LIBRARY);
+            }
 
-	@Override
-	protected void handleRemove() {
-		Object[] removed = ((IStructuredSelection) fViewer.getSelection()).toArray();
-		for (Object element : removed) {
-			ImportLibraryHeader header = (ImportLibraryHeader) getBundle().getManifestHeader(
-					IHeaderConstants.IMPORT_LIBRARY);
-			header.removeLibrary((ImportLibraryObject) element);
-		}
-	}
+            String versionString = null;
+            OsgiVersion osgiVers = currLibrary.getVersion();
+            if (osgiVers.getMajor() != 0 || osgiVers.getMinor() != 0 || osgiVers.getService() != 0
+                || osgiVers.getQualifier() != null && !osgiVers.getQualifier().trim().equals("")) {
+                versionString = "[" + currLibrary.getVersion().toString() + "," + currLibrary.getVersion().toString() + "]";
+            }
 
-	class BundleImportDialogLabelProvider extends LabelProvider {
-		@Override
-		public Image getImage(Object element) {
-			return PDEPluginImages.DESC_JAR_LIB_OBJ.createImage();
-		}
+            if (importLibraryHeader.hasElement(currLibrary.getSymbolicName())) {
+                importLibraryHeader.removeLibrary(currLibrary.getSymbolicName());
+            }
+            importLibraryHeader.addLibrary(currLibrary.getSymbolicName(), versionString);
+        }
+    }
 
-		@Override
-		public String getText(Object element) {
-			LibraryArtefact libraryArtifact = (LibraryArtefact) element;
-			String label = libraryArtifact.getSymbolicName();
-			if (null != libraryArtifact.getVersion()) {
-				label += " " + libraryArtifact.getVersion();
-			}
-			return label;
+    @Override
+    protected void handleRemove() {
+        Object[] removed = ((IStructuredSelection) this.fViewer.getSelection()).toArray();
+        for (Object element : removed) {
+            ImportLibraryHeader header = (ImportLibraryHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_LIBRARY);
+            header.removeLibrary((ImportLibraryObject) element);
+        }
+    }
 
-		}
-	}
+    class BundleImportDialogLabelProvider extends LabelProvider {
 
-	@Override
-	protected int getAddIndex() {
-		return ADD_INDEX;
-	}
+        @Override
+        public Image getImage(Object element) {
+            return PDEPluginImages.DESC_JAR_LIB_OBJ.createImage();
+        }
 
-	@Override
-	protected int getRemoveIndex() {
-		return REMOVE_INDEX;
-	}
+        @Override
+        public String getText(Object element) {
+            LibraryArtefact libraryArtifact = (LibraryArtefact) element;
+            String label = libraryArtifact.getSymbolicName();
+            if (null != libraryArtifact.getVersion()) {
+                label += " " + libraryArtifact.getVersion();
+            }
+            return label;
 
-	@Override
-	protected int getPropertiesIndex() {
-		return PROPERTIES_INDEX;
-	}
+        }
+    }
 
-	class ImportLibraryLabelProvider extends AbstractSectionViewerLabelProvider {
+    @Override
+    protected int getAddIndex() {
+        return ADD_INDEX;
+    }
 
-		@Override
-		public Image getColumnImage(Object element, int columnIndex) {
-			return PDEPluginImages.DESC_JAR_LIB_OBJ.createImage();
-		}
+    @Override
+    protected int getRemoveIndex() {
+        return REMOVE_INDEX;
+    }
 
-		@Override
-		public String getColumnText(Object element, int columnIndex) {
-			ImportLibraryObject importLibraryObject = (ImportLibraryObject) element;
-			String label = importLibraryObject.getValue();
-			if (null != importLibraryObject.getVersion()) {
-				label += " " + importLibraryObject.getVersion();
-			}
-			return label;
-		}
-	}
+    @Override
+    protected int getPropertiesIndex() {
+        return PROPERTIES_INDEX;
+    }
 
-	@Override
-	protected String getHeaderConstant() {
-		return IHeaderConstants.IMPORT_LIBRARY;
-	}
+    class ImportLibraryLabelProvider extends AbstractSectionViewerLabelProvider {
 
-	@Override
-	protected boolean shouldEnableProperties(Object[] selected) {
-		if (selected.length == 0) {
-			return false;
-		}
-		if (selected.length == 1) {
-			return true;
-		}
+        @Override
+        public Image getColumnImage(Object element, int columnIndex) {
+            return PDEPluginImages.DESC_JAR_LIB_OBJ.createImage();
+        }
 
-		String version = ((ImportLibraryObject) selected[0]).getVersion();
-		boolean optional = ((ImportLibraryObject) selected[0]).isOptional();
-		for (int i = 1; i < selected.length; i++) {
-			ImportLibraryObject object = (ImportLibraryObject) selected[i];
-			if (version == null) {
-				if (object.getVersion() != null || !(optional == object.isOptional())) {
-					return false;
-				}
-			} else if (!version.equals(object.getVersion()) || !(optional == object.isOptional())) {
-				return false;
-			}
-		}
-		return true;
-	}
+        @Override
+        public String getColumnText(Object element, int columnIndex) {
+            ImportLibraryObject importLibraryObject = (ImportLibraryObject) element;
+            String label = importLibraryObject.getValue();
+            if (null != importLibraryObject.getVersion()) {
+                label += " " + importLibraryObject.getVersion();
+            }
+            return label;
+        }
+    }
 
-	@Override
-	protected void handleOpenProperties() {
-		Object[] selected = ((IStructuredSelection) fViewer.getSelection()).toArray();
-		ImportLibraryObject first = (ImportLibraryObject) selected[0];
-		BundleDependencyPropertiesDialog dialog = new BundleDependencyPropertiesDialog(isEditable(), false, false,
-				first.isOptional(), first.getVersion(), true, true);
-		dialog.create();
-		SWTUtil.setDialogSize(dialog, 400, -1);
-		if (selected.length == 1) {
-			dialog.setTitle(((ImportLibraryObject) selected[0]).getValue());
-		} else {
-			dialog.setTitle("Properties");
-		}
-		if (dialog.open() == Window.OK && isEditable()) {
-			String newVersion = dialog.getVersion();
-			boolean newOptional = dialog.isOptional();
-			for (Object element : selected) {
-				ImportLibraryObject object = (ImportLibraryObject) element;
-				if (!newVersion.equals(object.getVersion())) {
-					object.setVersion(newVersion);
-				}
-				if (!newOptional == object.isOptional()) {
-					object.setOptional(newOptional);
-				}
-			}
-		}
-	}
+    @Override
+    protected String getHeaderConstant() {
+        return IHeaderConstants.IMPORT_LIBRARY;
+    }
 
-	@Override
-	protected void buttonSelected(int index) {
-		if (index == ADD_REMOTE_BUNDLE_INDEX) {
-			internalHandleAdd(true);
-		} else {
-			super.buttonSelected(index);
-		}
-	}
+    @Override
+    protected boolean shouldEnableProperties(Object[] selected) {
+        if (selected.length == 0) {
+            return false;
+        }
+        if (selected.length == 1) {
+            return true;
+        }
+
+        String version = ((ImportLibraryObject) selected[0]).getVersion();
+        boolean optional = ((ImportLibraryObject) selected[0]).isOptional();
+        for (int i = 1; i < selected.length; i++) {
+            ImportLibraryObject object = (ImportLibraryObject) selected[i];
+            if (version == null) {
+                if (object.getVersion() != null || !(optional == object.isOptional())) {
+                    return false;
+                }
+            } else if (!version.equals(object.getVersion()) || !(optional == object.isOptional())) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    @Override
+    protected void handleOpenProperties() {
+        Object[] selected = ((IStructuredSelection) this.fViewer.getSelection()).toArray();
+        ImportLibraryObject first = (ImportLibraryObject) selected[0];
+        BundleDependencyPropertiesDialog dialog = new BundleDependencyPropertiesDialog(isEditable(), false, false, first.isOptional(),
+            first.getVersion(), true, true);
+        dialog.create();
+        SWTUtil.setDialogSize(dialog, 400, -1);
+        if (selected.length == 1) {
+            dialog.setTitle(((ImportLibraryObject) selected[0]).getValue());
+        } else {
+            dialog.setTitle("Properties");
+        }
+        if (dialog.open() == Window.OK && isEditable()) {
+            String newVersion = dialog.getVersion();
+            boolean newOptional = dialog.isOptional();
+            for (Object element : selected) {
+                ImportLibraryObject object = (ImportLibraryObject) element;
+                if (!newVersion.equals(object.getVersion())) {
+                    object.setVersion(newVersion);
+                }
+                if (!newOptional == object.isOptional()) {
+                    object.setOptional(newOptional);
+                }
+            }
+        }
+    }
+
+    @Override
+    protected void buttonSelected(int index) {
+        if (index == ADD_REMOTE_BUNDLE_INDEX) {
+            internalHandleAdd(true);
+        } else {
+            super.buttonSelected(index);
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportPackageSection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportPackageSection.java
index 1ae2f2c..5a5faaa 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportPackageSection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportPackageSection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.HashSet;
@@ -62,363 +63,364 @@
  */
 public class BundleImportPackageSection extends AbstractImportSection {
 
-	private static final String DESCRIPTION = "Specify packages on which this bundle depends without explicitly identifying their originating bundle.";
+    private static final String DESCRIPTION = "Specify packages on which this bundle depends without explicitly identifying their originating bundle.";
 
-	private Action fGoToAction;
+    private Action fGoToAction;
 
-	private static final int ADD_INDEX = 0;
+    private static final int ADD_INDEX = 0;
 
-	private static final int ADD_REMOTE_BUNDLE_INDEX = 1;
+    private static final int ADD_REMOTE_BUNDLE_INDEX = 1;
 
-	private static final int REMOVE_INDEX = 2;
+    private static final int REMOVE_INDEX = 2;
 
-	private static final int PROPERTIES_INDEX = 3;
+    private static final int PROPERTIES_INDEX = 3;
 
-	public BundleImportPackageSection(PDEFormPage page, Composite parent) {
-		super(page, parent, Section.DESCRIPTION, new String[] { PDEUIMessages.ImportPackageSection_add, "Download...",
-				PDEUIMessages.ImportPackageSection_remove, PDEUIMessages.ImportPackageSection_properties });
-		getSection().setText("Import Package");
-		getSection().setDescription(DESCRIPTION);
-		getTablePart().setEditable(false);
-	}
+    public BundleImportPackageSection(PDEFormPage page, Composite parent) {
+        super(page, parent, Section.DESCRIPTION, new String[] { PDEUIMessages.ImportPackageSection_add, "Download...",
+            PDEUIMessages.ImportPackageSection_remove, PDEUIMessages.ImportPackageSection_properties });
+        getSection().setText("Import Package");
+        getSection().setDescription(DESCRIPTION);
+        getTablePart().setEditable(false);
+    }
 
-	protected void setElementsLocal(ImportListSelectionDialog dialog) {
-		IProject project = ((BundleManifestEditor) this.getPage().getEditor()).getCommonProject();
-		Set<PackageExport> packages = RepositoryUtils.getImportPackageProposals(project, "");
-		ImportPackageHeader header = (ImportPackageHeader) getBundle().getManifestHeader(Constants.IMPORT_PACKAGE);
-		Set<PackageExport> filteredElements = new HashSet<PackageExport>();
+    protected void setElementsLocal(ImportListSelectionDialog dialog) {
+        IProject project = ((BundleManifestEditor) this.getPage().getEditor()).getCommonProject();
+        Set<PackageExport> packages = RepositoryUtils.getImportPackageProposals(project, "");
+        ImportPackageHeader header = (ImportPackageHeader) getBundle().getManifestHeader(Constants.IMPORT_PACKAGE);
+        Set<PackageExport> filteredElements = new HashSet<PackageExport>();
 
-		if (header != null) {
-			ImportPackageObject[] filter = header.getPackages();
-			for (PackageExport proposal : packages) {
-				for (ImportPackageObject imported : filter) {
-					if (proposal.getName().equalsIgnoreCase(imported.getName())) {
-						filteredElements.add(proposal);
-					}
-				}
-			}
-			packages.removeAll(filteredElements);
-		}
-		dialog.setElements(packages.toArray());
-	}
+        if (header != null) {
+            ImportPackageObject[] filter = header.getPackages();
+            for (PackageExport proposal : packages) {
+                for (ImportPackageObject imported : filter) {
+                    if (proposal.getName().equalsIgnoreCase(imported.getName())) {
+                        filteredElements.add(proposal);
+                    }
+                }
+            }
+            packages.removeAll(filteredElements);
+        }
+        dialog.setElements(packages.toArray());
+    }
 
-	protected void setElementsRemote(ImportListSelectionDialog dialog) {
-		Iterable<IArtefact> bundles = null;
-		ArtefactRepository bundleRepository = RepositoryUtils.searchForArtifacts("", true, false);
-		bundles = bundleRepository.getBundles();
+    protected void setElementsRemote(ImportListSelectionDialog dialog) {
+        Iterable<IArtefact> bundles = null;
+        ArtefactRepository bundleRepository = RepositoryUtils.searchForArtifacts("", true, false);
+        bundles = bundleRepository.getBundles();
 
-		Set<PackageExport> allPackageExports = new HashSet<PackageExport>();
-		for (IArtefactTyped currBundleArtefact : bundles) {
-			allPackageExports.addAll(((BundleArtefact) currBundleArtefact).getExports());
-		}
+        Set<PackageExport> allPackageExports = new HashSet<PackageExport>();
+        for (IArtefactTyped currBundleArtefact : bundles) {
+            allPackageExports.addAll(((BundleArtefact) currBundleArtefact).getExports());
+        }
 
-		dialog.setElements(allPackageExports.toArray());
-	}
+        dialog.setElements(allPackageExports.toArray());
+    }
 
-	@Override
-	protected ITableLabelProvider getLabelProvider() {
-		return new ImportPackageLabelProvider();
-	}
+    @Override
+    protected ITableLabelProvider getLabelProvider() {
+        return new ImportPackageLabelProvider();
+    }
 
-	class ImportPackageLabelProvider extends AbstractSectionViewerLabelProvider {
+    class ImportPackageLabelProvider extends AbstractSectionViewerLabelProvider {
 
-		@Override
-		public Image getColumnImage(Object element, int columnIndex) {
-			return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_PACKAGE);
-		}
+        @Override
+        public Image getColumnImage(Object element, int columnIndex) {
+            return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_PACKAGE);
+        }
 
-		@Override
-		public String getColumnText(Object element, int columnIndex) {
-			ImportPackageObject importPackageObject = (ImportPackageObject) element;
-			String label = importPackageObject.getName();
-			if (null != importPackageObject.getVersion()) {
-				label += " " + importPackageObject.getVersion();
-			}
-			return label;
-		}
-	}
+        @Override
+        public String getColumnText(Object element, int columnIndex) {
+            ImportPackageObject importPackageObject = (ImportPackageObject) element;
+            String label = importPackageObject.getName();
+            if (null != importPackageObject.getVersion()) {
+                label += " " + importPackageObject.getVersion();
+            }
+            return label;
+        }
+    }
 
-	@Override
-	protected void fillContextMenu(IMenuManager manager) {
-		final ISelection selection = fViewer.getSelection();
-		boolean singleSelection = selection instanceof IStructuredSelection
-				&& ((IStructuredSelection) selection).size() == 1;
-		if (singleSelection) {
-			manager.add(fGoToAction);
-		}
-		super.fillContextMenu(manager);
-	}
+    @Override
+    protected void fillContextMenu(IMenuManager manager) {
+        final ISelection selection = this.fViewer.getSelection();
+        boolean singleSelection = selection instanceof IStructuredSelection && ((IStructuredSelection) selection).size() == 1;
+        if (singleSelection) {
+            manager.add(this.fGoToAction);
+        }
+        super.fillContextMenu(manager);
+    }
 
-	@Override
-	protected void handleAdd() {
-		internalHandleAdd(false);
-	}
+    @Override
+    protected void handleAdd() {
+        internalHandleAdd(false);
+    }
 
-	private void internalHandleAdd(final boolean addRemote) {
-		final ImportListSelectionDialog dialog = new ImportListSelectionDialog(PDEPlugin.getActiveWorkbenchShell(),
-				new BundleImportPackageDialogLabelProvider());
+    private void internalHandleAdd(final boolean addRemote) {
+        final ImportListSelectionDialog dialog = new ImportListSelectionDialog(PDEPlugin.getActiveWorkbenchShell(),
+            new BundleImportPackageDialogLabelProvider());
 
-		Runnable runnable = new Runnable() {
-			public void run() {
-				if (addRemote) {
-					setElementsRemote(dialog);
-				} else {
-					setElementsLocal(dialog);
-				}
+        Runnable runnable = new Runnable() {
 
-				dialog.setMultipleSelection(true);
-				dialog.setMessage(PDEUIMessages.ImportPackageSection_required);
-				dialog.setTitle(PDEUIMessages.ImportPackageSection_selection);
-				dialog.create();
-				SWTUtil.setDialogSize(dialog, 400, 500);
-			}
-		};
+            public void run() {
+                if (addRemote) {
+                    setElementsRemote(dialog);
+                } else {
+                    setElementsLocal(dialog);
+                }
 
-		BusyIndicator.showWhile(Display.getCurrent(), runnable);
-		if (dialog.open() == Window.OK) {
-			Object[] selected = dialog.getResult();
-			if (addRemote) {
-				downloadBundlesForSelectedPackages(selected);
-			}
-			addSelectedPackagesToManifest(selected);
-		}
-	}
+                dialog.setMultipleSelection(true);
+                dialog.setMessage(PDEUIMessages.ImportPackageSection_required);
+                dialog.setTitle(PDEUIMessages.ImportPackageSection_selection);
+                dialog.create();
+                SWTUtil.setDialogSize(dialog, 400, 500);
+            }
+        };
 
-	private void downloadBundlesForSelectedPackages(Object[] selected) {
-		Set<Artefact> bundleArtefacts = new HashSet<Artefact>();
-		for (Object element : selected) {
-			PackageExport currPackageExport = (PackageExport) element;
-			bundleArtefacts.add(currPackageExport.getBundle());
-		}
+        BusyIndicator.showWhile(Display.getCurrent(), runnable);
+        if (dialog.open() == Window.OK) {
+            Object[] selected = dialog.getResult();
+            if (addRemote) {
+                downloadBundlesForSelectedPackages(selected);
+            }
+            addSelectedPackagesToManifest(selected);
+        }
+    }
 
-		IProject project = ((BundleManifestEditor) this.getPage().getEditor()).getCommonProject();
-		RepositoryUtils.downloadArifacts(bundleArtefacts, project, Display.getDefault().getActiveShell(), true);
-	}
+    private void downloadBundlesForSelectedPackages(Object[] selected) {
+        Set<Artefact> bundleArtefacts = new HashSet<Artefact>();
+        for (Object element : selected) {
+            PackageExport currPackageExport = (PackageExport) element;
+            bundleArtefacts.add(currPackageExport.getBundle());
+        }
 
-	private void addSelectedPackagesToManifest(Object[] selected) {
-		ImportPackageHeader importPackageHeader = (ImportPackageHeader) getBundle().getManifestHeader(
-				Constants.IMPORT_PACKAGE);
-		for (Object element : selected) {
-			PackageExport currPackage = (PackageExport) element;
-			if (null == importPackageHeader) {
-				getBundle().setHeader(Constants.IMPORT_PACKAGE, "");
-				importPackageHeader = (ImportPackageHeader) getBundle().getManifestHeader(Constants.IMPORT_PACKAGE);
-			}
+        IProject project = ((BundleManifestEditor) this.getPage().getEditor()).getCommonProject();
+        RepositoryUtils.downloadArifacts(bundleArtefacts, project, Display.getDefault().getActiveShell(), true);
+    }
 
-			String versionString = null;
-			OsgiVersion osgiVers = currPackage.getVersion();
-			if (osgiVers.getMajor() != 0 || osgiVers.getMinor() != 0 || osgiVers.getService() != 0
-					|| (osgiVers.getQualifier() != null && !osgiVers.getQualifier().trim().equals(""))) {
-				versionString = "[" + currPackage.getVersion().toString() + "," + currPackage.getVersion().toString()
-						+ "]";
-			}
+    private void addSelectedPackagesToManifest(Object[] selected) {
+        ImportPackageHeader importPackageHeader = (ImportPackageHeader) getBundle().getManifestHeader(Constants.IMPORT_PACKAGE);
+        for (Object element : selected) {
+            PackageExport currPackage = (PackageExport) element;
+            if (null == importPackageHeader) {
+                getBundle().setHeader(Constants.IMPORT_PACKAGE, "");
+                importPackageHeader = (ImportPackageHeader) getBundle().getManifestHeader(Constants.IMPORT_PACKAGE);
+            }
 
-			ImportPackageObject newPackageObject = new ImportPackageObject(importPackageHeader, currPackage.getName(),
-					versionString, Constants.VERSION_ATTRIBUTE);
-			importPackageHeader.addPackage(newPackageObject);
-		}
-	}
+            String versionString = null;
+            OsgiVersion osgiVers = currPackage.getVersion();
+            if (osgiVers.getMajor() != 0 || osgiVers.getMinor() != 0 || osgiVers.getService() != 0
+                || osgiVers.getQualifier() != null && !osgiVers.getQualifier().trim().equals("")) {
+                versionString = "[" + currPackage.getVersion().toString() + "," + currPackage.getVersion().toString() + "]";
+            }
 
-	@Override
-	protected void handleRemove() {
-		Object[] removed = ((IStructuredSelection) fViewer.getSelection()).toArray();
-		ImportPackageHeader importPackageHeader = (ImportPackageHeader) getBundle().getManifestHeader(
-				Constants.IMPORT_PACKAGE);
-		for (Object element : removed) {
-			importPackageHeader.removePackage((PackageObject) element);
-		}
-	}
+            ImportPackageObject newPackageObject = new ImportPackageObject(importPackageHeader, currPackage.getName(), versionString,
+                Constants.VERSION_ATTRIBUTE);
+            importPackageHeader.addPackage(newPackageObject);
+        }
+    }
 
-	@Override
-	protected void handleOpenProperties() {
-		Object[] selected = ((IStructuredSelection) fViewer.getSelection()).toArray();
-		ImportPackageObject first = (ImportPackageObject) selected[0];
-		BundleDependencyPropertiesDialog dialog = new BundleDependencyPropertiesDialog(isEditable(), false, false,
-				first.isOptional(), first.getVersion(), true, true);
-		dialog.create();
-		SWTUtil.setDialogSize(dialog, 400, -1);
-		if (selected.length == 1) {
-			dialog.setTitle(((ImportPackageObject) selected[0]).getName());
-		} else {
-			dialog.setTitle(PDEUIMessages.ExportPackageSection_props);
-		}
-		if (dialog.open() == Window.OK && isEditable()) {
-			String newVersion = dialog.getVersion();
-			boolean newOptional = dialog.isOptional();
-			for (Object element : selected) {
-				ImportPackageObject object = (ImportPackageObject) element;
-				if (!newVersion.equals(object.getVersion())) {
-					object.setVersion(newVersion);
-				}
-				if (!newOptional == object.isOptional()) {
-					object.setOptional(newOptional);
-				}
-			}
-		}
-	}
+    @Override
+    protected void handleRemove() {
+        Object[] removed = ((IStructuredSelection) this.fViewer.getSelection()).toArray();
+        ImportPackageHeader importPackageHeader = (ImportPackageHeader) getBundle().getManifestHeader(Constants.IMPORT_PACKAGE);
+        for (Object element : removed) {
+            importPackageHeader.removePackage((PackageObject) element);
+        }
+    }
 
-	@Override
-	protected void handleDoubleClick(IStructuredSelection selection) {
-		handleGoToPackage(selection);
-	}
+    @Override
+    protected void handleOpenProperties() {
+        Object[] selected = ((IStructuredSelection) this.fViewer.getSelection()).toArray();
+        ImportPackageObject first = (ImportPackageObject) selected[0];
+        BundleDependencyPropertiesDialog dialog = new BundleDependencyPropertiesDialog(isEditable(), false, false, first.isOptional(),
+            first.getVersion(), true, true);
+        dialog.create();
+        SWTUtil.setDialogSize(dialog, 400, -1);
+        if (selected.length == 1) {
+            dialog.setTitle(((ImportPackageObject) selected[0]).getName());
+        } else {
+            dialog.setTitle(PDEUIMessages.ExportPackageSection_props);
+        }
+        if (dialog.open() == Window.OK && isEditable()) {
+            String newVersion = dialog.getVersion();
+            boolean newOptional = dialog.isOptional();
+            for (Object element : selected) {
+                ImportPackageObject object = (ImportPackageObject) element;
+                if (!newVersion.equals(object.getVersion())) {
+                    object.setVersion(newVersion);
+                }
+                if (!newOptional == object.isOptional()) {
+                    object.setOptional(newOptional);
+                }
+            }
+        }
+    }
 
-	@Override
-	protected void makeActions() {
-		super.makeActions();
-		fGoToAction = new Action(PDEUIMessages.ImportPackageSection_goToPackage) {
-			@Override
-			public void run() {
-				handleGoToPackage(fViewer.getSelection());
-			}
-		};
-	}
+    @Override
+    protected void handleDoubleClick(IStructuredSelection selection) {
+        handleGoToPackage(selection);
+    }
 
-	private IPackageFragment getPackageFragment(ISelection sel) {
-		if (sel instanceof IStructuredSelection) {
-			IStructuredSelection selection = (IStructuredSelection) sel;
-			if (selection.size() != 1) {
-				return null;
-			}
+    @Override
+    protected void makeActions() {
+        super.makeActions();
+        this.fGoToAction = new Action(PDEUIMessages.ImportPackageSection_goToPackage) {
 
-			IBaseModel model = getPage().getModel();
-			if (!(model instanceof IPluginModelBase)) {
-				return null;
-			}
+            @Override
+            public void run() {
+                handleGoToPackage(BundleImportPackageSection.this.fViewer.getSelection());
+            }
+        };
+    }
 
-			return PDEJavaHelper.getPackageFragment(((PackageObject) selection.getFirstElement()).getName(),
-					((IPluginModelBase) model).getPluginBase().getId(), getPage().getPDEEditor().getCommonProject());
-		}
-		return null;
-	}
+    private IPackageFragment getPackageFragment(ISelection sel) {
+        if (sel instanceof IStructuredSelection) {
+            IStructuredSelection selection = (IStructuredSelection) sel;
+            if (selection.size() != 1) {
+                return null;
+            }
 
-	private void handleGoToPackage(ISelection selection) {
-		IPackageFragment frag = getPackageFragment(selection);
-		if (frag != null) {
-			try {
-				IViewPart part = PDEPlugin.getActivePage().showView(JavaUI.ID_PACKAGES);
-				ShowInPackageViewAction action = new ShowInPackageViewAction(part.getSite());
-				action.run(frag);
-			} catch (PartInitException e) {
-			}
-		}
-	}
+            IBaseModel model = getPage().getModel();
+            if (!(model instanceof IPluginModelBase)) {
+                return null;
+            }
 
-	@Override
-	protected int getAddIndex() {
-		return ADD_INDEX;
-	}
+            return PDEJavaHelper.getPackageFragment(((PackageObject) selection.getFirstElement()).getName(),
+                ((IPluginModelBase) model).getPluginBase().getId(), getPage().getPDEEditor().getCommonProject());
+        }
+        return null;
+    }
 
-	@Override
-	protected int getRemoveIndex() {
-		return REMOVE_INDEX;
-	}
+    private void handleGoToPackage(ISelection selection) {
+        IPackageFragment frag = getPackageFragment(selection);
+        if (frag != null) {
+            try {
+                IViewPart part = PDEPlugin.getActivePage().showView(JavaUI.ID_PACKAGES);
+                ShowInPackageViewAction action = new ShowInPackageViewAction(part.getSite());
+                action.run(frag);
+            } catch (PartInitException e) {
+            }
+        }
+    }
 
-	@Override
-	protected int getPropertiesIndex() {
-		return PROPERTIES_INDEX;
-	}
+    @Override
+    protected int getAddIndex() {
+        return ADD_INDEX;
+    }
 
-	class BundleImportPackageDialogLabelProvider extends LabelProvider {
-		@Override
-		public Image getImage(Object element) {
-			return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_PACKAGE);
-		}
+    @Override
+    protected int getRemoveIndex() {
+        return REMOVE_INDEX;
+    }
 
-		@Override
-		public String getText(Object element) {
-			PackageExport packageExport = (PackageExport) element;
-			String label = packageExport.getName();
-			if (null != packageExport.getVersion()) {
-				label += " " + packageExport.getVersion();
-			}
-			return label;
-		}
-	}
+    @Override
+    protected int getPropertiesIndex() {
+        return PROPERTIES_INDEX;
+    }
 
-	@Override
-	protected IContentProvider getContentProvider() {
-		return new ImportPackageContentProvider();
-	}
+    class BundleImportPackageDialogLabelProvider extends LabelProvider {
 
-	@Override
-	protected String getHeaderConstant() {
-		return Constants.IMPORT_PACKAGE;
-	}
+        @Override
+        public Image getImage(Object element) {
+            return JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_PACKAGE);
+        }
 
-	class ImportItemWrapper {
-		Object fUnderlying;
+        @Override
+        public String getText(Object element) {
+            PackageExport packageExport = (PackageExport) element;
+            String label = packageExport.getName();
+            if (null != packageExport.getVersion()) {
+                label += " " + packageExport.getVersion();
+            }
+            return label;
+        }
+    }
 
-		public ImportItemWrapper(Object underlying) {
-			fUnderlying = underlying;
-		}
+    @Override
+    protected IContentProvider getContentProvider() {
+        return new ImportPackageContentProvider();
+    }
 
-		@Override
-		public String toString() {
-			return getName();
-		}
+    @Override
+    protected String getHeaderConstant() {
+        return Constants.IMPORT_PACKAGE;
+    }
 
-		@Override
-		public boolean equals(Object obj) {
-			if (obj instanceof ImportItemWrapper) {
-				ImportItemWrapper item = (ImportItemWrapper) obj;
-				return getName().equals(item.getName());
-			}
-			return false;
-		}
+    class ImportItemWrapper {
 
-		public String getName() {
-			if (fUnderlying instanceof ExportPackageDescription) {
-				return ((ExportPackageDescription) fUnderlying).getName();
-			}
-			if (fUnderlying instanceof IPackageFragment) {
-				return ((IPackageFragment) fUnderlying).getElementName();
-			}
-			if (fUnderlying instanceof ExportPackageObject) {
-				return ((ExportPackageObject) fUnderlying).getName();
-			}
-			return null;
-		}
+        Object fUnderlying;
 
-		public Version getVersion() {
-			if (fUnderlying instanceof ExportPackageDescription) {
-				return ((ExportPackageDescription) fUnderlying).getVersion();
-			}
-			if (fUnderlying instanceof ExportPackageObject) {
-				String version = ((ExportPackageObject) fUnderlying).getVersion();
-				if (version != null) {
-					return new Version(version);
-				}
-			}
-			return null;
-		}
+        public ImportItemWrapper(Object underlying) {
+            this.fUnderlying = underlying;
+        }
 
-		boolean hasVersion() {
-			return hasEPD() && ((ExportPackageDescription) fUnderlying).getVersion() != null;
-		}
+        @Override
+        public String toString() {
+            return getName();
+        }
 
-		boolean hasEPD() {
-			return fUnderlying instanceof ExportPackageDescription;
-		}
-	}
+        @Override
+        public boolean equals(Object obj) {
+            if (obj instanceof ImportItemWrapper) {
+                ImportItemWrapper item = (ImportItemWrapper) obj;
+                return getName().equals(item.getName());
+            }
+            return false;
+        }
 
-	@Override
-	protected void buttonSelected(int index) {
-		if (index == ADD_REMOTE_BUNDLE_INDEX) {
-			internalHandleAdd(true);
-		} else {
-			super.buttonSelected(index);
-		}
-	}
+        public String getName() {
+            if (this.fUnderlying instanceof ExportPackageDescription) {
+                return ((ExportPackageDescription) this.fUnderlying).getName();
+            }
+            if (this.fUnderlying instanceof IPackageFragment) {
+                return ((IPackageFragment) this.fUnderlying).getElementName();
+            }
+            if (this.fUnderlying instanceof ExportPackageObject) {
+                return ((ExportPackageObject) this.fUnderlying).getName();
+            }
+            return null;
+        }
 
-	class ImportPackageContentProvider extends DefaultTableProvider {
-		public Object[] getElements(Object parent) {
-			ImportPackageHeader header = (ImportPackageHeader) getBundle().getManifestHeader(Constants.IMPORT_PACKAGE);
-			if (header == null) {
-				return new Object[0];
-			} else {
-				return header.getPackages();
-			}
-		}
-	}
+        public Version getVersion() {
+            if (this.fUnderlying instanceof ExportPackageDescription) {
+                return ((ExportPackageDescription) this.fUnderlying).getVersion();
+            }
+            if (this.fUnderlying instanceof ExportPackageObject) {
+                String version = ((ExportPackageObject) this.fUnderlying).getVersion();
+                if (version != null) {
+                    return new Version(version);
+                }
+            }
+            return null;
+        }
+
+        boolean hasVersion() {
+            return hasEPD() && ((ExportPackageDescription) this.fUnderlying).getVersion() != null;
+        }
+
+        boolean hasEPD() {
+            return this.fUnderlying instanceof ExportPackageDescription;
+        }
+    }
+
+    @Override
+    protected void buttonSelected(int index) {
+        if (index == ADD_REMOTE_BUNDLE_INDEX) {
+            internalHandleAdd(true);
+        } else {
+            super.buttonSelected(index);
+        }
+    }
+
+    class ImportPackageContentProvider extends DefaultTableProvider {
+
+        public Object[] getElements(Object parent) {
+            ImportPackageHeader header = (ImportPackageHeader) getBundle().getManifestHeader(Constants.IMPORT_PACKAGE);
+            if (header == null) {
+                return new Object[0];
+            } else {
+                return header.getPackages();
+            }
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportSection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportSection.java
index 74da162..fe170a6 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportSection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportSection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.Collection;
@@ -47,292 +48,271 @@
  */
 public class BundleImportSection extends AbstractImportSection {
 
-	private static final String DESCRIPTION = "Specify the list of bundles required for the operation of this bundle.";
+    private static final String DESCRIPTION = "Specify the list of bundles required for the operation of this bundle.";
 
-	private static final int ADD_INDEX = 0;
+    private static final int ADD_INDEX = 0;
 
-	private static final int ADD_REMOTE_BUNDLE_INDEX = 1;
+    private static final int ADD_REMOTE_BUNDLE_INDEX = 1;
 
-	private static final int REMOVE_INDEX = 2;
+    private static final int REMOVE_INDEX = 2;
 
-	private static final int PROPERTIES_INDEX = 3;
+    private static final int PROPERTIES_INDEX = 3;
 
-	public BundleImportSection(PDEFormPage page, Composite parent) {
-		super(page, parent, Section.DESCRIPTION, new String[] { PDEUIMessages.ImportPackageSection_add, "Download...",
-				PDEUIMessages.ImportPackageSection_remove, PDEUIMessages.ImportPackageSection_properties });
+    public BundleImportSection(PDEFormPage page, Composite parent) {
+        super(page, parent, Section.DESCRIPTION, new String[] { PDEUIMessages.ImportPackageSection_add, "Download...",
+            PDEUIMessages.ImportPackageSection_remove, PDEUIMessages.ImportPackageSection_properties });
 
-		getSection().setText("Import Bundle");
-		getSection().setDescription(DESCRIPTION);
-		getTablePart().setEditable(false);
-	}
+        getSection().setText("Import Bundle");
+        getSection().setDescription(DESCRIPTION);
+        getTablePart().setEditable(false);
+    }
 
-	class ImportBundleContentProvider extends DefaultTableProvider {
-		public Object[] getElements(Object parent) {
-			ImportBundleHeader header = (ImportBundleHeader) getBundle().getManifestHeader(
-					IHeaderConstants.IMPORT_BUNDLE);
-			if (header == null) {
-				return new Object[0];
-			} else {
-				return header.getImportedBundles();
-			}
-		}
-	}
+    class ImportBundleContentProvider extends DefaultTableProvider {
 
-	@Override
-	protected IContentProvider getContentProvider() {
-		return new ImportBundleContentProvider();
-	}
+        public Object[] getElements(Object parent) {
+            ImportBundleHeader header = (ImportBundleHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
+            if (header == null) {
+                return new Object[0];
+            } else {
+                return header.getImportedBundles();
+            }
+        }
+    }
 
-	@Override
-	protected ITableLabelProvider getLabelProvider() {
-		return new BundleImportLabelProvider();
-	}
+    @Override
+    protected IContentProvider getContentProvider() {
+        return new ImportBundleContentProvider();
+    }
 
-	private void setElements(ImportListSelectionDialog dialog, boolean addRemote) {
-		IProject project = ((BundleManifestEditor) this.getPage().getEditor()).getCommonProject();
-		IArtefact[] bundles = null;
-		if (addRemote) {
-			ArtefactRepository bundleRepository = RepositoryUtils.searchForArtifacts("", true, false);
-			bundles = bundleRepository.getBundleSet().toArray();
-		} else {
-			Collection<Artefact> bundleList = RepositoryUtils.getImportBundleProposals(project, "");
-			bundles = bundleList.toArray(new IArtefact[] {});
-		}
-		dialog.setElements(bundles);
-	}
+    @Override
+    protected ITableLabelProvider getLabelProvider() {
+        return new BundleImportLabelProvider();
+    }
 
-	private void removeExistingImports(Collection<Artefact> bundles) {
-		ImportBundleHeader header = (ImportBundleHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
-		Set<Artefact> filteredElements = new HashSet<Artefact>();
+    private void setElements(ImportListSelectionDialog dialog, boolean addRemote) {
+        IProject project = ((BundleManifestEditor) this.getPage().getEditor()).getCommonProject();
+        IArtefact[] bundles = null;
+        if (addRemote) {
+            ArtefactRepository bundleRepository = RepositoryUtils.searchForArtifacts("", true, false);
+            bundles = bundleRepository.getBundleSet().toArray();
+        } else {
+            Collection<Artefact> bundleList = RepositoryUtils.getImportBundleProposals(project, "");
+            bundles = bundleList.toArray(new IArtefact[] {});
+        }
+        dialog.setElements(bundles);
+    }
 
-		if (header != null) {
-			ImportBundleObject[] filter = header.getImportedBundles();
-			for (Artefact proposal : bundles) {
-				for (ImportBundleObject imported : filter) {
-					if (proposal.getSymbolicName().equalsIgnoreCase(imported.getId())) {
-						filteredElements.add(proposal);
-					}
-				}
-			}
-			bundles.removeAll(filteredElements);
-		}
-	}
+    @Override
+    protected void handleAdd() {
+        internalHandleAdd(false);
+    }
 
-	@Override
-	protected void handleAdd() {
-		internalHandleAdd(false);
-	}
+    private void internalHandleAdd(final boolean addRemote) {
 
-	private void internalHandleAdd(final boolean addRemote) {
+        final ImportListSelectionDialog dialog = new ImportListSelectionDialog(PDEPlugin.getActiveWorkbenchShell(),
+            new BundleImportDialogLabelProvider());
 
-		final ImportListSelectionDialog dialog = new ImportListSelectionDialog(PDEPlugin.getActiveWorkbenchShell(),
-				new BundleImportDialogLabelProvider());
+        Runnable runnable = new Runnable() {
 
-		Runnable runnable = new Runnable() {
-			public void run() {
-				setElements(dialog, addRemote);
-				dialog.setMultipleSelection(true);
-				dialog.setTitle("Bundle Selection");
-				dialog.setMessage("Select a Bundle:");
-				dialog.create();
-				SWTUtil.setDialogSize(dialog, 400, 500);
-			}
-		};
+            public void run() {
+                setElements(dialog, addRemote);
+                dialog.setMultipleSelection(true);
+                dialog.setTitle("Bundle Selection");
+                dialog.setMessage("Select a Bundle:");
+                dialog.create();
+                SWTUtil.setDialogSize(dialog, 400, 500);
+            }
+        };
 
-		BusyIndicator.showWhile(Display.getCurrent(), runnable);
-		if (dialog.open() == Window.OK) {
+        BusyIndicator.showWhile(Display.getCurrent(), runnable);
+        if (dialog.open() == Window.OK) {
 
-			Object[] selected = dialog.getResult();
+            Object[] selected = dialog.getResult();
 
-			if (addRemote) {
-				addRemoteBundles(selected);
-			} else {
-				addLocalBundles(selected);
-			}
-		}
+            if (addRemote) {
+                addRemoteBundles(selected);
+            } else {
+                addLocalBundles(selected);
+            }
+        }
 
-	}
+    }
 
-	private void addLocalBundles(Object[] selected) {
-		ImportBundleHeader importBundleHeader = (ImportBundleHeader) getBundle().getManifestHeader(
-				IHeaderConstants.IMPORT_BUNDLE);
-		for (Object currSelectedElement : selected) {
-			BundleArtefact currBundle = (BundleArtefact) currSelectedElement;
-			if (null == importBundleHeader) {
-				getBundle().setHeader(IHeaderConstants.IMPORT_BUNDLE, "");
-				importBundleHeader = (ImportBundleHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
-			}
+    private void addLocalBundles(Object[] selected) {
+        ImportBundleHeader importBundleHeader = (ImportBundleHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
+        for (Object currSelectedElement : selected) {
+            BundleArtefact currBundle = (BundleArtefact) currSelectedElement;
+            if (null == importBundleHeader) {
+                getBundle().setHeader(IHeaderConstants.IMPORT_BUNDLE, "");
+                importBundleHeader = (ImportBundleHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
+            }
 
-			String versionString = null;
-			OsgiVersion osgiVers = currBundle.getVersion();
-			if (osgiVers.getMajor() != 0 || osgiVers.getMinor() != 0 || osgiVers.getService() != 0
-					|| (osgiVers.getQualifier() != null && !osgiVers.getQualifier().trim().equals(""))) {
-				versionString = "[" + currBundle.getVersion().toString() + "," + currBundle.getVersion().toString()
-						+ "]";
-			}
-			importBundleHeader.addBundle(currBundle.getSymbolicName(), versionString);
-		}
-	}
+            String versionString = null;
+            OsgiVersion osgiVers = currBundle.getVersion();
+            if (osgiVers.getMajor() != 0 || osgiVers.getMinor() != 0 || osgiVers.getService() != 0
+                || osgiVers.getQualifier() != null && !osgiVers.getQualifier().trim().equals("")) {
+                versionString = "[" + currBundle.getVersion().toString() + "," + currBundle.getVersion().toString() + "]";
+            }
+            importBundleHeader.addBundle(currBundle.getSymbolicName(), versionString);
+        }
+    }
 
-	private void addRemoteBundles(Object[] selected) {
-		ImportBundleHeader importBundleHeader = (ImportBundleHeader) getBundle().getManifestHeader(
-				IHeaderConstants.IMPORT_BUNDLE);
+    private void addRemoteBundles(Object[] selected) {
+        ImportBundleHeader importBundleHeader = (ImportBundleHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
 
-		Set<Artefact> remoteArtifactDefinitions = new HashSet<Artefact>(selected.length);
+        Set<Artefact> remoteArtifactDefinitions = new HashSet<Artefact>(selected.length);
 
-		for (Object currSelectedElement : selected) {
-			remoteArtifactDefinitions.add((Artefact) currSelectedElement);
-		}
+        for (Object currSelectedElement : selected) {
+            remoteArtifactDefinitions.add((Artefact) currSelectedElement);
+        }
 
-		IProject project = ((BundleManifestEditor) this.getPage().getEditor()).getCommonProject();
-		RepositoryUtils.downloadArifacts(remoteArtifactDefinitions, project, Display.getDefault().getActiveShell(),
-				false);
+        IProject project = ((BundleManifestEditor) this.getPage().getEditor()).getCommonProject();
+        RepositoryUtils.downloadArifacts(remoteArtifactDefinitions, project, Display.getDefault().getActiveShell(), false);
 
-		for (Object currSelectedElement : selected) {
-			BundleArtefact currBundle = (BundleArtefact) currSelectedElement;
-			if (null == importBundleHeader) {
-				getBundle().setHeader(IHeaderConstants.IMPORT_BUNDLE, "");
-				importBundleHeader = (ImportBundleHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
-			}
+        for (Object currSelectedElement : selected) {
+            BundleArtefact currBundle = (BundleArtefact) currSelectedElement;
+            if (null == importBundleHeader) {
+                getBundle().setHeader(IHeaderConstants.IMPORT_BUNDLE, "");
+                importBundleHeader = (ImportBundleHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
+            }
 
-			String versionString = null;
-			OsgiVersion osgiVers = currBundle.getVersion();
-			if (osgiVers.getMajor() != 0 || osgiVers.getMinor() != 0 || osgiVers.getService() != 0
-					|| (osgiVers.getQualifier() != null && !osgiVers.getQualifier().trim().equals(""))) {
-				versionString = "[" + currBundle.getVersion().toString() + "," + currBundle.getVersion().toString()
-						+ "]";
-			}
+            String versionString = null;
+            OsgiVersion osgiVers = currBundle.getVersion();
+            if (osgiVers.getMajor() != 0 || osgiVers.getMinor() != 0 || osgiVers.getService() != 0
+                || osgiVers.getQualifier() != null && !osgiVers.getQualifier().trim().equals("")) {
+                versionString = "[" + currBundle.getVersion().toString() + "," + currBundle.getVersion().toString() + "]";
+            }
 
-			if (importBundleHeader.hasElement(currBundle.getSymbolicName())) {
-				importBundleHeader.removeBundle(currBundle.getSymbolicName());
-			}
-			importBundleHeader.addBundle(currBundle.getSymbolicName(), versionString);
-		}
-	}
+            if (importBundleHeader.hasElement(currBundle.getSymbolicName())) {
+                importBundleHeader.removeBundle(currBundle.getSymbolicName());
+            }
+            importBundleHeader.addBundle(currBundle.getSymbolicName(), versionString);
+        }
+    }
 
-	@Override
-	protected void handleRemove() {
-		Object[] removed = ((IStructuredSelection) fViewer.getSelection()).toArray();
-		for (Object element : removed) {
-			ImportBundleHeader header = (ImportBundleHeader) getBundle().getManifestHeader(
-					IHeaderConstants.IMPORT_BUNDLE);
-			header.removeBundle((ImportBundleObject) element);
-		}
-	}
+    @Override
+    protected void handleRemove() {
+        Object[] removed = ((IStructuredSelection) this.fViewer.getSelection()).toArray();
+        for (Object element : removed) {
+            ImportBundleHeader header = (ImportBundleHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
+            header.removeBundle((ImportBundleObject) element);
+        }
+    }
 
-	@Override
-	protected int getAddIndex() {
-		return ADD_INDEX;
-	}
+    @Override
+    protected int getAddIndex() {
+        return ADD_INDEX;
+    }
 
-	@Override
-	protected int getRemoveIndex() {
-		return REMOVE_INDEX;
-	}
+    @Override
+    protected int getRemoveIndex() {
+        return REMOVE_INDEX;
+    }
 
-	@Override
-	protected int getPropertiesIndex() {
-		return PROPERTIES_INDEX;
-	}
+    @Override
+    protected int getPropertiesIndex() {
+        return PROPERTIES_INDEX;
+    }
 
-	class BundleImportDialogLabelProvider extends LabelProvider {
-		@Override
-		public Image getImage(Object element) {
-			return PDEPluginImages.DESC_BUNDLE_OBJ.createImage();
-		}
+    class BundleImportDialogLabelProvider extends LabelProvider {
 
-		@Override
-		public String getText(Object element) {
-			BundleArtefact bundleArtifact = (BundleArtefact) element;
-			String label = bundleArtifact.getSymbolicName();
-			if (null != bundleArtifact.getVersion()) {
-				label += " " + bundleArtifact.getVersion();
-			}
-			return label;
-		}
-	}
+        @Override
+        public Image getImage(Object element) {
+            return PDEPluginImages.DESC_BUNDLE_OBJ.createImage();
+        }
 
-	class BundleImportLabelProvider extends AbstractSectionViewerLabelProvider {
+        @Override
+        public String getText(Object element) {
+            BundleArtefact bundleArtifact = (BundleArtefact) element;
+            String label = bundleArtifact.getSymbolicName();
+            if (null != bundleArtifact.getVersion()) {
+                label += " " + bundleArtifact.getVersion();
+            }
+            return label;
+        }
+    }
 
-		@Override
-		public Image getColumnImage(Object element, int columnIndex) {
-			return PDEPluginImages.DESC_BUNDLE_OBJ.createImage();
-		}
+    class BundleImportLabelProvider extends AbstractSectionViewerLabelProvider {
 
-		@Override
-		public String getColumnText(Object element, int columnIndex) {
-			ImportBundleObject importBundleObject = (ImportBundleObject) element;
-			String label = importBundleObject.getValue();
-			if (null != importBundleObject.getVersion()) {
-				label += " " + importBundleObject.getVersion();
-			}
-			return label;
-		}
-	}
+        @Override
+        public Image getColumnImage(Object element, int columnIndex) {
+            return PDEPluginImages.DESC_BUNDLE_OBJ.createImage();
+        }
 
-	@Override
-	protected String getHeaderConstant() {
-		return IHeaderConstants.IMPORT_BUNDLE;
-	}
+        @Override
+        public String getColumnText(Object element, int columnIndex) {
+            ImportBundleObject importBundleObject = (ImportBundleObject) element;
+            String label = importBundleObject.getValue();
+            if (null != importBundleObject.getVersion()) {
+                label += " " + importBundleObject.getVersion();
+            }
+            return label;
+        }
+    }
 
-	@Override
-	protected boolean shouldEnableProperties(Object[] selected) {
-		if (selected.length == 0) {
-			return false;
-		}
-		if (selected.length == 1) {
-			return true;
-		}
+    @Override
+    protected String getHeaderConstant() {
+        return IHeaderConstants.IMPORT_BUNDLE;
+    }
 
-		String version = ((ImportBundleObject) selected[0]).getVersion();
-		boolean optional = ((ImportBundleObject) selected[0]).isOptional();
-		for (int i = 1; i < selected.length; i++) {
-			ImportBundleObject object = (ImportBundleObject) selected[i];
-			if (version == null) {
-				if (object.getVersion() != null || !(optional == object.isOptional())) {
-					return false;
-				}
-			} else if (!version.equals(object.getVersion()) || !(optional == object.isOptional())) {
-				return false;
-			}
-		}
-		return true;
-	}
+    @Override
+    protected boolean shouldEnableProperties(Object[] selected) {
+        if (selected.length == 0) {
+            return false;
+        }
+        if (selected.length == 1) {
+            return true;
+        }
 
-	@Override
-	protected void handleOpenProperties() {
-		Object[] selected = ((IStructuredSelection) fViewer.getSelection()).toArray();
-		ImportBundleObject first = (ImportBundleObject) selected[0];
-		BundleDependencyPropertiesDialog dialog = new BundleDependencyPropertiesDialog(isEditable(), false, false,
-				first.isOptional(), first.getVersion(), true, true);
-		dialog.create();
-		SWTUtil.setDialogSize(dialog, 400, -1);
-		if (selected.length == 1) {
-			dialog.setTitle(((ImportBundleObject) selected[0]).getValue());
-		} else {
-			dialog.setTitle("Properties");
-		}
-		if (dialog.open() == Window.OK && isEditable()) {
-			String newVersion = dialog.getVersion();
-			boolean newOptional = dialog.isOptional();
-			for (Object element : selected) {
-				ImportBundleObject object = (ImportBundleObject) element;
-				if (!newVersion.equals(object.getVersion())) {
-					object.setVersion(newVersion);
-				}
-				if (!newOptional == object.isOptional()) {
-					object.setOptional(newOptional);
-				}
-			}
-		}
-	}
+        String version = ((ImportBundleObject) selected[0]).getVersion();
+        boolean optional = ((ImportBundleObject) selected[0]).isOptional();
+        for (int i = 1; i < selected.length; i++) {
+            ImportBundleObject object = (ImportBundleObject) selected[i];
+            if (version == null) {
+                if (object.getVersion() != null || !(optional == object.isOptional())) {
+                    return false;
+                }
+            } else if (!version.equals(object.getVersion()) || !(optional == object.isOptional())) {
+                return false;
+            }
+        }
+        return true;
+    }
 
-	@Override
-	protected void buttonSelected(int index) {
-		if (index == ADD_REMOTE_BUNDLE_INDEX) {
-			internalHandleAdd(true);
-		} else {
-			super.buttonSelected(index);
-		}
-	}
+    @Override
+    protected void handleOpenProperties() {
+        Object[] selected = ((IStructuredSelection) this.fViewer.getSelection()).toArray();
+        ImportBundleObject first = (ImportBundleObject) selected[0];
+        BundleDependencyPropertiesDialog dialog = new BundleDependencyPropertiesDialog(isEditable(), false, false, first.isOptional(),
+            first.getVersion(), true, true);
+        dialog.create();
+        SWTUtil.setDialogSize(dialog, 400, -1);
+        if (selected.length == 1) {
+            dialog.setTitle(((ImportBundleObject) selected[0]).getValue());
+        } else {
+            dialog.setTitle("Properties");
+        }
+        if (dialog.open() == Window.OK && isEditable()) {
+            String newVersion = dialog.getVersion();
+            boolean newOptional = dialog.isOptional();
+            for (Object element : selected) {
+                ImportBundleObject object = (ImportBundleObject) element;
+                if (!newVersion.equals(object.getVersion())) {
+                    object.setVersion(newVersion);
+                }
+                if (!newOptional == object.isOptional()) {
+                    object.setOptional(newOptional);
+                }
+            }
+        }
+    }
+
+    @Override
+    protected void buttonSelected(int index) {
+        if (index == ADD_REMOTE_BUNDLE_INDEX) {
+            internalHandleAdd(true);
+        } else {
+            super.buttonSelected(index);
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleLibrarySection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleLibrarySection.java
index e9e410a..610fc09 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleLibrarySection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleLibrarySection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.ArrayList;
@@ -78,696 +79,691 @@
 
 /**
  * Adapted from PDE's <code>LibrarySection</code>.
- * 
+ *
  * @author Christian Dupuis
  */
 @SuppressWarnings("unchecked")
 public class BundleLibrarySection extends TableSection implements IModelChangedListener, IBuildPropertiesConstants {
 
-	private static final int NEW_INDEX = 0;
+    private static final int NEW_INDEX = 0;
 
-	private static final int ADD_INDEX = 1;
+    private static final int ADD_INDEX = 1;
 
-	private static final int REMOVE_INDEX = 2;
+    private static final int REMOVE_INDEX = 2;
 
-	private static final int UP_INDEX = 3;
+    private static final int UP_INDEX = 3;
 
-	private static final int DOWN_INDEX = 4;
+    private static final int DOWN_INDEX = 4;
 
-	private Action fRenameAction;
+    private Action fRenameAction;
 
-	private Action fRemoveAction;
+    private Action fRemoveAction;
 
-	private Action fNewAction;
+    private Action fNewAction;
 
-	private TableViewer fLibraryTable;
+    private TableViewer fLibraryTable;
 
-	class LibraryFilter extends JARFileFilter {
+    class LibraryFilter extends JARFileFilter {
 
-		public LibraryFilter(HashSet set) {
-			super(set);
-		}
+        public LibraryFilter(HashSet set) {
+            super(set);
+        }
 
-		@Override
-		public boolean select(Viewer viewer, Object parent, Object element) {
-			if (element instanceof IFolder) {
-				return isPathValid(((IFolder) element).getProjectRelativePath());
-			}
-			if (element instanceof IFile) {
-				return isFileValid(((IFile) element).getProjectRelativePath());
-			}
-			return false;
-		}
-	}
+        @Override
+        public boolean select(Viewer viewer, Object parent, Object element) {
+            if (element instanceof IFolder) {
+                return isPathValid(((IFolder) element).getProjectRelativePath());
+            }
+            if (element instanceof IFile) {
+                return isFileValid(((IFile) element).getProjectRelativePath());
+            }
+            return false;
+        }
+    }
 
-	class LibrarySelectionValidator extends JarSelectionValidator {
+    class LibrarySelectionValidator extends JarSelectionValidator {
 
-		public LibrarySelectionValidator(Class[] acceptedTypes, boolean allowMultipleSelection) {
-			super(acceptedTypes, allowMultipleSelection);
-		}
+        public LibrarySelectionValidator(Class[] acceptedTypes, boolean allowMultipleSelection) {
+            super(acceptedTypes, allowMultipleSelection);
+        }
 
-		@Override
-		public boolean isValid(Object element) {
-			return (element instanceof IFolder) ? true : super.isValid(element);
-		}
-	}
+        @Override
+        public boolean isValid(Object element) {
+            return element instanceof IFolder ? true : super.isValid(element);
+        }
+    }
 
-	class TableContentProvider extends DefaultContentProvider implements IStructuredContentProvider {
-		public Object[] getElements(Object parent) {
-			return getModel().getPluginBase().getLibraries();
-		}
-	}
+    class TableContentProvider extends DefaultContentProvider implements IStructuredContentProvider {
 
-	public BundleLibrarySection(PDEFormPage page, Composite parent) {
-		super(page, parent, Section.DESCRIPTION, new String[] { PDEUIMessages.NewManifestEditor_LibrarySection_new,
-				PDEUIMessages.NewManifestEditor_LibrarySection_add,
-				PDEUIMessages.NewManifestEditor_LibrarySection_remove, PDEUIMessages.ManifestEditor_LibrarySection_up,
-				PDEUIMessages.ManifestEditor_LibrarySection_down });
-	}
+        public Object[] getElements(Object parent) {
+            return getModel().getPluginBase().getLibraries();
+        }
+    }
 
-	private String getSectionDescription() {
-		return "Specify the libraries and folders that constitute the bundle classpath. "
-				+ "If unspecified, the classes and resources are assumed to be at the root of the bundle.";
-	}
+    public BundleLibrarySection(PDEFormPage page, Composite parent) {
+        super(page, parent, Section.DESCRIPTION,
+            new String[] { PDEUIMessages.NewManifestEditor_LibrarySection_new, PDEUIMessages.NewManifestEditor_LibrarySection_add,
+                PDEUIMessages.NewManifestEditor_LibrarySection_remove, PDEUIMessages.ManifestEditor_LibrarySection_up,
+                PDEUIMessages.ManifestEditor_LibrarySection_down });
+    }
 
-	protected boolean isBundle() {
-		return getBundleContext() != null;
-	}
+    private String getSectionDescription() {
+        return "Specify the libraries and folders that constitute the bundle classpath. "
+            + "If unspecified, the classes and resources are assumed to be at the root of the bundle.";
+    }
 
-	private BundleInputContext getBundleContext() {
-		InputContextManager manager = getPage().getPDEEditor().getContextManager();
-		return (BundleInputContext) manager.findContext(BundleInputContext.CONTEXT_ID);
-	}
+    protected boolean isBundle() {
+        return getBundleContext() != null;
+    }
 
-	@Override
-	public void createClient(Section section, FormToolkit toolkit) {
-		section.setText(PDEUIMessages.ManifestEditor_LibrarySection_title);
-		section.setDescription(getSectionDescription());
+    private BundleInputContext getBundleContext() {
+        InputContextManager manager = getPage().getPDEEditor().getContextManager();
+        return (BundleInputContext) manager.findContext(BundleInputContext.CONTEXT_ID);
+    }
 
-		Composite container = createClientContainer(section, 2, toolkit);
-		EditableTablePart tablePart = getTablePart();
-		tablePart.setEditable(isEditable());
+    @Override
+    public void createClient(Section section, FormToolkit toolkit) {
+        section.setText(PDEUIMessages.ManifestEditor_LibrarySection_title);
+        section.setDescription(getSectionDescription());
 
-		createViewerPartControl(container, SWT.MULTI, 2, toolkit);
-		fLibraryTable = tablePart.getTableViewer();
-		fLibraryTable.setContentProvider(new TableContentProvider());
-		fLibraryTable.setLabelProvider(PDEPlugin.getDefault().getLabelProvider());
-		toolkit.paintBordersFor(container);
+        Composite container = createClientContainer(section, 2, toolkit);
+        EditableTablePart tablePart = getTablePart();
+        tablePart.setEditable(isEditable());
 
-		makeActions();
-		updateButtons();
-		section.setLayout(FormLayoutFactory.createClearGridLayout(false, 1));
-		section.setLayoutData(new GridData(GridData.FILL_BOTH));
-		section.setClient(container);
+        createViewerPartControl(container, SWT.MULTI, 2, toolkit);
+        this.fLibraryTable = tablePart.getTableViewer();
+        this.fLibraryTable.setContentProvider(new TableContentProvider());
+        this.fLibraryTable.setLabelProvider(PDEPlugin.getDefault().getLabelProvider());
+        toolkit.paintBordersFor(container);
 
-		IPluginModelBase model = getModel();
-		fLibraryTable.setInput(model.getPluginBase());
-		model.addModelChangedListener(this);
-	}
+        makeActions();
+        updateButtons();
+        section.setLayout(FormLayoutFactory.createClearGridLayout(false, 1));
+        section.setLayoutData(new GridData(GridData.FILL_BOTH));
+        section.setClient(container);
 
-	private void updateButtons() {
-		Table table = fLibraryTable.getTable();
-		boolean hasSelection = table.getSelection().length > 0;
-		boolean singleSelection = table.getSelection().length == 1;
-		int count = table.getItemCount();
-		int index = table.getSelectionIndex();
-		boolean canMoveUp = singleSelection && index > 0;
-		boolean canMoveDown = singleSelection && index < count - 1;
+        IPluginModelBase model = getModel();
+        this.fLibraryTable.setInput(model.getPluginBase());
+        model.addModelChangedListener(this);
+    }
 
-		TablePart tablePart = getTablePart();
-		tablePart.setButtonEnabled(ADD_INDEX, isEditable());
-		tablePart.setButtonEnabled(NEW_INDEX, isEditable());
-		tablePart.setButtonEnabled(REMOVE_INDEX, isEditable() && hasSelection);
-		tablePart.setButtonEnabled(UP_INDEX, isEditable() && canMoveUp);
-		tablePart.setButtonEnabled(DOWN_INDEX, isEditable() && canMoveDown);
-	}
+    private void updateButtons() {
+        Table table = this.fLibraryTable.getTable();
+        boolean hasSelection = table.getSelection().length > 0;
+        boolean singleSelection = table.getSelection().length == 1;
+        int count = table.getItemCount();
+        int index = table.getSelectionIndex();
+        boolean canMoveUp = singleSelection && index > 0;
+        boolean canMoveDown = singleSelection && index < count - 1;
 
-	private void makeActions() {
-		fNewAction = new Action(PDEUIMessages.ManifestEditor_LibrarySection_newLibrary) {
-			@Override
-			public void run() {
-				handleNew();
-			}
-		};
-		fNewAction.setEnabled(isEditable());
+        TablePart tablePart = getTablePart();
+        tablePart.setButtonEnabled(ADD_INDEX, isEditable());
+        tablePart.setButtonEnabled(NEW_INDEX, isEditable());
+        tablePart.setButtonEnabled(REMOVE_INDEX, isEditable() && hasSelection);
+        tablePart.setButtonEnabled(UP_INDEX, isEditable() && canMoveUp);
+        tablePart.setButtonEnabled(DOWN_INDEX, isEditable() && canMoveDown);
+    }
 
-		fRenameAction = new Action(PDEUIMessages.EditableTablePart_renameAction) {
-			@Override
-			public void run() {
-				getRenameAction().run();
-			}
-		};
-		fRenameAction.setEnabled(isEditable());
+    private void makeActions() {
+        this.fNewAction = new Action(PDEUIMessages.ManifestEditor_LibrarySection_newLibrary) {
 
-		fRemoveAction = new Action(PDEUIMessages.NewManifestEditor_LibrarySection_remove) {
-			@Override
-			public void run() {
-				handleRemove();
-			}
-		};
-		fRemoveAction.setEnabled(isEditable());
-	}
+            @Override
+            public void run() {
+                handleNew();
+            }
+        };
+        this.fNewAction.setEnabled(isEditable());
 
-	@Override
-	protected void selectionChanged(IStructuredSelection selection) {
-		getPage().getPDEEditor().setSelection(selection);
-		if (getPage().getModel().isEditable()) {
-			updateButtons();
-		}
-	}
+        this.fRenameAction = new Action(PDEUIMessages.EditableTablePart_renameAction) {
 
-	@Override
-	protected void buttonSelected(int index) {
-		switch (index) {
-		case NEW_INDEX:
-			handleNew();
-			break;
-		case ADD_INDEX:
-			handleAdd();
-			break;
-		case REMOVE_INDEX:
-			handleRemove();
-			break;
-		case UP_INDEX:
-			handleUp();
-			break;
-		case DOWN_INDEX:
-			handleDown();
-			break;
-		}
-	}
+            @Override
+            public void run() {
+                getRenameAction().run();
+            }
+        };
+        this.fRenameAction.setEnabled(isEditable());
 
-	@Override
-	public void dispose() {
-		IPluginModelBase model = getModel();
-		if (model != null) {
-			model.removeModelChangedListener(this);
-		}
-		super.dispose();
-	}
+        this.fRemoveAction = new Action(PDEUIMessages.NewManifestEditor_LibrarySection_remove) {
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.pde.internal.ui.editor.PDESection#doGlobalAction(java.lang
-	 * .String)
-	 */
-	@Override
-	public boolean doGlobalAction(String actionId) {
+            @Override
+            public void run() {
+                handleRemove();
+            }
+        };
+        this.fRemoveAction.setEnabled(isEditable());
+    }
 
-		if (!isEditable()) {
-			return false;
-		}
+    @Override
+    protected void selectionChanged(IStructuredSelection selection) {
+        getPage().getPDEEditor().setSelection(selection);
+        if (getPage().getModel().isEditable()) {
+            updateButtons();
+        }
+    }
 
-		if (actionId.equals(ActionFactory.DELETE.getId())) {
-			handleRemove();
-			return true;
-		}
-		if (actionId.equals(ActionFactory.CUT.getId())) {
-			// delete here and let the editor transfer
-			// the selection to the clipboard
-			handleRemove();
-			return false;
-		}
-		if (actionId.equals(ActionFactory.PASTE.getId())) {
-			doPaste();
-			return true;
-		}
-		return false;
-	}
+    @Override
+    protected void buttonSelected(int index) {
+        switch (index) {
+            case NEW_INDEX:
+                handleNew();
+                break;
+            case ADD_INDEX:
+                handleAdd();
+                break;
+            case REMOVE_INDEX:
+                handleRemove();
+                break;
+            case UP_INDEX:
+                handleUp();
+                break;
+            case DOWN_INDEX:
+                handleDown();
+                break;
+        }
+    }
 
-	@Override
-	public boolean setFormInput(Object object) {
-		if (object instanceof IPluginLibrary) {
-			fLibraryTable.setSelection(new StructuredSelection(object), true);
-			return true;
-		}
-		return false;
-	}
+    @Override
+    public void dispose() {
+        IPluginModelBase model = getModel();
+        if (model != null) {
+            model.removeModelChangedListener(this);
+        }
+        super.dispose();
+    }
 
-	@Override
-	protected void fillContextMenu(IMenuManager manager) {
-		manager.add(fNewAction);
-		if (!fLibraryTable.getSelection().isEmpty()) {
-			manager.add(new Separator());
-			manager.add(fRenameAction);
-			manager.add(fRemoveAction);
-		}
-		// Copy, cut, and paste operations not supported for plug-ins that do
-		// not have a MANIFEST.MF (not a Bundle)
-		getPage().getPDEEditor().getContributor().contextMenuAboutToShow(manager, isBundle());
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.pde.internal.ui.editor.PDESection#doGlobalAction(java.lang .String)
+     */
+    @Override
+    public boolean doGlobalAction(String actionId) {
 
-	private void handleRemove() {
-		Object[] selection = ((IStructuredSelection) fLibraryTable.getSelection()).toArray();
-		int index = fLibraryTable.getTable().getSelectionIndex();
-		int[] indices = fLibraryTable.getTable().getSelectionIndices();
-		for (int element : indices) {
-			if (element < index) {
-				index = element;
-			}
-		}
+        if (!isEditable()) {
+            return false;
+        }
 
-		String[] remove = new String[selection.length];
-		for (int i = 0; i < selection.length; i++) {
-			if (selection[i] != null && selection[i] instanceof IPluginLibrary) {
-				IPluginLibrary ep = (IPluginLibrary) selection[i];
-				IPluginBase plugin = ep.getPluginBase();
-				try {
-					plugin.remove(ep);
-				} catch (CoreException e) {
-					PDEPlugin.logException(e);
-				}
-				remove[i] = ep.getName();
-			}
-		}
-		updateBuildProperties(remove, new String[remove.length], true);
-		updateJavaClasspathLibs(remove, new String[remove.length]);
+        if (actionId.equals(ActionFactory.DELETE.getId())) {
+            handleRemove();
+            return true;
+        }
+        if (actionId.equals(ActionFactory.CUT.getId())) {
+            // delete here and let the editor transfer
+            // the selection to the clipboard
+            handleRemove();
+            return false;
+        }
+        if (actionId.equals(ActionFactory.PASTE.getId())) {
+            doPaste();
+            return true;
+        }
+        return false;
+    }
 
-		int itemCount = fLibraryTable.getTable().getItemCount();
-		if (itemCount > 0) {
-			if (index >= itemCount) {
-				index = itemCount - 1;
-			}
-			fLibraryTable.getTable().setSelection(index);
-			fLibraryTable.getTable().setFocus();
-		}
-		updateButtons();
-	}
+    @Override
+    public boolean setFormInput(Object object) {
+        if (object instanceof IPluginLibrary) {
+            this.fLibraryTable.setSelection(new StructuredSelection(object), true);
+            return true;
+        }
+        return false;
+    }
 
-	private void handleDown() {
-		Table table = getTablePart().getTableViewer().getTable();
-		int index = table.getSelectionIndex();
-		if (index != table.getItemCount() - 1) {
-			swap(index, index + 1);
-		}
-	}
+    @Override
+    protected void fillContextMenu(IMenuManager manager) {
+        manager.add(this.fNewAction);
+        if (!this.fLibraryTable.getSelection().isEmpty()) {
+            manager.add(new Separator());
+            manager.add(this.fRenameAction);
+            manager.add(this.fRemoveAction);
+        }
+        // Copy, cut, and paste operations not supported for plug-ins that do
+        // not have a MANIFEST.MF (not a Bundle)
+        getPage().getPDEEditor().getContributor().contextMenuAboutToShow(manager, isBundle());
+    }
 
-	private void handleUp() {
-		int index = getTablePart().getTableViewer().getTable().getSelectionIndex();
-		if (index >= 1) {
-			swap(index, index - 1);
-		}
-	}
+    private void handleRemove() {
+        Object[] selection = ((IStructuredSelection) this.fLibraryTable.getSelection()).toArray();
+        int index = this.fLibraryTable.getTable().getSelectionIndex();
+        int[] indices = this.fLibraryTable.getTable().getSelectionIndices();
+        for (int element : indices) {
+            if (element < index) {
+                index = element;
+            }
+        }
 
-	public void swap(int index1, int index2) {
-		Table table = getTablePart().getTableViewer().getTable();
-		IPluginLibrary l1 = (IPluginLibrary) table.getItem(index1).getData();
-		IPluginLibrary l2 = (IPluginLibrary) table.getItem(index2).getData();
+        String[] remove = new String[selection.length];
+        for (int i = 0; i < selection.length; i++) {
+            if (selection[i] != null && selection[i] instanceof IPluginLibrary) {
+                IPluginLibrary ep = (IPluginLibrary) selection[i];
+                IPluginBase plugin = ep.getPluginBase();
+                try {
+                    plugin.remove(ep);
+                } catch (CoreException e) {
+                    PDEPlugin.logException(e);
+                }
+                remove[i] = ep.getName();
+            }
+        }
+        updateBuildProperties(remove, new String[remove.length], true);
+        updateJavaClasspathLibs(remove, new String[remove.length]);
 
-		try {
-			IPluginModelBase model = getModel();
-			IPluginBase pluginBase = model.getPluginBase();
-			pluginBase.swap(l1, l2);
-			refresh();
-			table.setSelection(index2);
-			table.setFocus();
-			updateButtons();
-		} catch (CoreException e) {
-			PDEPlugin.logException(e);
-		}
-	}
+        int itemCount = this.fLibraryTable.getTable().getItemCount();
+        if (itemCount > 0) {
+            if (index >= itemCount) {
+                index = itemCount - 1;
+            }
+            this.fLibraryTable.getTable().setSelection(index);
+            this.fLibraryTable.getTable().setFocus();
+        }
+        updateButtons();
+    }
 
-	private void handleNew() {
-		IPluginModelBase model = getModel();
-		NewRuntimeLibraryDialog dialog = new NewRuntimeLibraryDialog(getPage().getSite().getShell(),
-				model.getPluginBase().getLibraries());
-		dialog.create();
-		dialog.getShell().setText(PDEUIMessages.ManifestEditor_LibrarySection_newLibraryEntry);
-		SWTUtil.setDialogSize(dialog, 250, 175);
+    private void handleDown() {
+        Table table = getTablePart().getTableViewer().getTable();
+        int index = table.getSelectionIndex();
+        if (index != table.getItemCount() - 1) {
+            swap(index, index + 1);
+        }
+    }
 
-		if (dialog.open() == Window.OK) {
-			String libName = dialog.getLibraryName();
-			if (libName == null || libName.length() == 0) {
-				return;
-			}
-			try {
-				IPluginLibrary library = model.getPluginFactory().createLibrary();
-				library.setName(libName);
-				library.setExported(true);
-				model.getPluginBase().add(library);
-				checkSourceRootEntry();
-				updateBuildProperties(new String[] { null }, new String[] { library.getName() }, true);
-				fLibraryTable.setSelection(new StructuredSelection(library));
-				fLibraryTable.getTable().setFocus();
-			} catch (CoreException e) {
-				PDEPlugin.logException(e);
-			}
-		}
-	}
+    private void handleUp() {
+        int index = getTablePart().getTableViewer().getTable().getSelectionIndex();
+        if (index >= 1) {
+            swap(index, index - 1);
+        }
+    }
 
-	private void checkSourceRootEntry() {
-		IPluginModelBase pluginModel = getModel();
-		IPluginLibrary[] libraries = pluginModel.getPluginBase().getLibraries();
-		for (IPluginLibrary element : libraries) {
-			if (element.getName().equals(".")) {
-				return;
-			}
-		}
+    public void swap(int index1, int index2) {
+        Table table = getTablePart().getTableViewer().getTable();
+        IPluginLibrary l1 = (IPluginLibrary) table.getItem(index1).getData();
+        IPluginLibrary l2 = (IPluginLibrary) table.getItem(index2).getData();
 
-		IPluginLibrary library = pluginModel.getPluginFactory().createLibrary();
-		try {
-			library.setName("."); //$NON-NLS-1$
-			pluginModel.getPluginBase().add(library);
-		} catch (CoreException e) {
-		}
-	}
+        try {
+            IPluginModelBase model = getModel();
+            IPluginBase pluginBase = model.getPluginBase();
+            pluginBase.swap(l1, l2);
+            refresh();
+            table.setSelection(index2);
+            table.setFocus();
+            updateButtons();
+        } catch (CoreException e) {
+            PDEPlugin.logException(e);
+        }
+    }
 
-	private IBuildModel getBuildModel() {
-		IFormPage page = getPage().getEditor().findPage(BuildInputContext.CONTEXT_ID);
-		IBaseModel model = null;
-		if (page instanceof BuildSourcePage) {
-			model = ((BuildSourcePage) page).getInputContext().getModel();
-		}
+    private void handleNew() {
+        IPluginModelBase model = getModel();
+        NewRuntimeLibraryDialog dialog = new NewRuntimeLibraryDialog(getPage().getSite().getShell(), model.getPluginBase().getLibraries());
+        dialog.create();
+        dialog.getShell().setText(PDEUIMessages.ManifestEditor_LibrarySection_newLibraryEntry);
+        SWTUtil.setDialogSize(dialog, 250, 175);
+
+        if (dialog.open() == Window.OK) {
+            String libName = dialog.getLibraryName();
+            if (libName == null || libName.length() == 0) {
+                return;
+            }
+            try {
+                IPluginLibrary library = model.getPluginFactory().createLibrary();
+                library.setName(libName);
+                library.setExported(true);
+                model.getPluginBase().add(library);
+                checkSourceRootEntry();
+                updateBuildProperties(new String[] { null }, new String[] { library.getName() }, true);
+                this.fLibraryTable.setSelection(new StructuredSelection(library));
+                this.fLibraryTable.getTable().setFocus();
+            } catch (CoreException e) {
+                PDEPlugin.logException(e);
+            }
+        }
+    }
+
+    private void checkSourceRootEntry() {
+        IPluginModelBase pluginModel = getModel();
+        IPluginLibrary[] libraries = pluginModel.getPluginBase().getLibraries();
+        for (IPluginLibrary element : libraries) {
+            if (element.getName().equals(".")) {
+                return;
+            }
+        }
+
+        IPluginLibrary library = pluginModel.getPluginFactory().createLibrary();
+        try {
+            library.setName("."); //$NON-NLS-1$
+            pluginModel.getPluginBase().add(library);
+        } catch (CoreException e) {
+        }
+    }
+
+    private IBuildModel getBuildModel() {
+        IFormPage page = getPage().getEditor().findPage(BuildInputContext.CONTEXT_ID);
+        IBaseModel model = null;
+        if (page instanceof BuildSourcePage) {
+            model = ((BuildSourcePage) page).getInputContext().getModel();
+        }
 
-		if (model != null && model instanceof IBuildModel) {
-			return (IBuildModel) model;
-		}
-		return null;
-	}
+        if (model != null && model instanceof IBuildModel) {
+            return (IBuildModel) model;
+        }
+        return null;
+    }
 
-	private void configureSourceBuildEntry(IBuildModel bmodel, String oldPath, String newPath) throws CoreException {
-		IBuild build = bmodel.getBuild();
-		IBuildEntry entry = build.getEntry(PROPERTY_SOURCE_PREFIX + (oldPath != null ? oldPath : newPath));
-		try {
-			if (newPath != null) {
-				if (entry == null) {
-					IProject project = ((IModel) getPage().getModel()).getUnderlyingResource().getProject();
-					IJavaProject jproject = JavaCore.create(project);
-					ArrayList tokens = new ArrayList();
-					IClasspathEntry[] entries = jproject.getRawClasspath();
-					for (IClasspathEntry element : entries) {
-						if (element.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-							tokens.add(element.getPath().removeFirstSegments(1).addTrailingSeparator().toString());
-						}
-					}
-					if (tokens.size() == 0) {
-						return;
-					}
+    private void configureSourceBuildEntry(IBuildModel bmodel, String oldPath, String newPath) throws CoreException {
+        IBuild build = bmodel.getBuild();
+        IBuildEntry entry = build.getEntry(PROPERTY_SOURCE_PREFIX + (oldPath != null ? oldPath : newPath));
+        try {
+            if (newPath != null) {
+                if (entry == null) {
+                    IProject project = ((IModel) getPage().getModel()).getUnderlyingResource().getProject();
+                    IJavaProject jproject = JavaCore.create(project);
+                    ArrayList tokens = new ArrayList();
+                    IClasspathEntry[] entries = jproject.getRawClasspath();
+                    for (IClasspathEntry element : entries) {
+                        if (element.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
+                            tokens.add(element.getPath().removeFirstSegments(1).addTrailingSeparator().toString());
+                        }
+                    }
+                    if (tokens.size() == 0) {
+                        return;
+                    }
 
-					entry = bmodel.getFactory().createEntry(PROPERTY_SOURCE_PREFIX + newPath);
-					for (int i = 0; i < tokens.size(); i++) {
-						entry.addToken((String) tokens.get(i));
-					}
-					build.add(entry);
-				} else {
-					entry.setName(PROPERTY_SOURCE_PREFIX + newPath);
-				}
-			} else if (entry != null && newPath == null) {
-				build.remove(entry);
-			}
-		} catch (JavaModelException e) {
-		}
-	}
+                    entry = bmodel.getFactory().createEntry(PROPERTY_SOURCE_PREFIX + newPath);
+                    for (int i = 0; i < tokens.size(); i++) {
+                        entry.addToken((String) tokens.get(i));
+                    }
+                    build.add(entry);
+                } else {
+                    entry.setName(PROPERTY_SOURCE_PREFIX + newPath);
+                }
+            } else if (entry != null && newPath == null) {
+                build.remove(entry);
+            }
+        } catch (JavaModelException e) {
+        }
+    }
 
-	private void handleAdd() {
-		ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getPage().getSite().getShell(),
-				new WorkbenchLabelProvider(), new WorkbenchContentProvider());
+    private void handleAdd() {
+        ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(getPage().getSite().getShell(), new WorkbenchLabelProvider(),
+            new WorkbenchContentProvider());
 
-		Class[] acceptedClasses = new Class[] { IFile.class };
-		dialog.setValidator(new LibrarySelectionValidator(acceptedClasses, true));
-		dialog.setTitle(PDEUIMessages.BuildEditor_ClasspathSection_jarsTitle);
-		dialog.setMessage(PDEUIMessages.ClasspathSection_jarsMessage);
-		IPluginLibrary[] libraries = getModel().getPluginBase().getLibraries();
-		HashSet set = new HashSet();
-		for (IPluginLibrary element : libraries) {
-			set.add(new Path(ClasspathUtilCore.expandLibraryName(element.getName())));
-		}
+        Class[] acceptedClasses = new Class[] { IFile.class };
+        dialog.setValidator(new LibrarySelectionValidator(acceptedClasses, true));
+        dialog.setTitle(PDEUIMessages.BuildEditor_ClasspathSection_jarsTitle);
+        dialog.setMessage(PDEUIMessages.ClasspathSection_jarsMessage);
+        IPluginLibrary[] libraries = getModel().getPluginBase().getLibraries();
+        HashSet set = new HashSet();
+        for (IPluginLibrary element : libraries) {
+            set.add(new Path(ClasspathUtilCore.expandLibraryName(element.getName())));
+        }
 
-		dialog.addFilter(new LibraryFilter(set));
-		IProject project = ((IModel) getPage().getModel()).getUnderlyingResource().getProject();
-		dialog.setInput(project);
-		dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
+        dialog.addFilter(new LibraryFilter(set));
+        IProject project = ((IModel) getPage().getModel()).getUnderlyingResource().getProject();
+        dialog.setInput(project);
+        dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
 
-		if (dialog.open() == Window.OK) {
-			Object[] elements = dialog.getResult();
-			String[] filePaths = new String[elements.length];
-			IPluginModelBase model = getModel();
-			ArrayList list = new ArrayList();
-			for (int i = 0; i < elements.length; i++) {
-				IResource elem = (IResource) elements[i];
-				IPath path = elem.getProjectRelativePath();
-				if (elem instanceof IFolder) {
-					path = path.addTrailingSeparator();
-				}
-				filePaths[i] = path.toString();
-				IPluginLibrary library = model.getPluginFactory().createLibrary();
-				try {
-					library.setName(filePaths[i]);
-					library.setExported(true);
-					model.getPluginBase().add(library);
-					list.add(library);
-				} catch (CoreException e) {
-					PDEPlugin.logException(e);
-				}
-			}
-			checkSourceRootEntry();
-			fLibraryTable.setSelection(new StructuredSelection(list.toArray()));
-			fLibraryTable.getTable().setFocus();
-		}
-	}
+        if (dialog.open() == Window.OK) {
+            Object[] elements = dialog.getResult();
+            String[] filePaths = new String[elements.length];
+            IPluginModelBase model = getModel();
+            ArrayList list = new ArrayList();
+            for (int i = 0; i < elements.length; i++) {
+                IResource elem = (IResource) elements[i];
+                IPath path = elem.getProjectRelativePath();
+                if (elem instanceof IFolder) {
+                    path = path.addTrailingSeparator();
+                }
+                filePaths[i] = path.toString();
+                IPluginLibrary library = model.getPluginFactory().createLibrary();
+                try {
+                    library.setName(filePaths[i]);
+                    library.setExported(true);
+                    model.getPluginBase().add(library);
+                    list.add(library);
+                } catch (CoreException e) {
+                    PDEPlugin.logException(e);
+                }
+            }
+            checkSourceRootEntry();
+            this.fLibraryTable.setSelection(new StructuredSelection(list.toArray()));
+            this.fLibraryTable.getTable().setFocus();
+        }
+    }
 
-	private void updateBuildProperties(final String[] oldPaths, final String[] newPaths, boolean modifySourceEntry) {
-		IBuildModel bmodel = getBuildModel();
-		if (bmodel == null) {
-			return;
-		}
+    private void updateBuildProperties(final String[] oldPaths, final String[] newPaths, boolean modifySourceEntry) {
+        IBuildModel bmodel = getBuildModel();
+        if (bmodel == null) {
+            return;
+        }
 
-		IBuild build = bmodel.getBuild();
+        IBuild build = bmodel.getBuild();
 
-		IBuildEntry entry = build.getEntry(PROPERTY_BIN_INCLUDES);
-		if (entry == null) {
-			entry = bmodel.getFactory().createEntry(PROPERTY_BIN_INCLUDES);
-		}
+        IBuildEntry entry = build.getEntry(PROPERTY_BIN_INCLUDES);
+        if (entry == null) {
+            entry = bmodel.getFactory().createEntry(PROPERTY_BIN_INCLUDES);
+        }
 
-		try {
-			// adding new entries
-			if (oldPaths[0] == null) {
-				for (String element : newPaths) {
-					if (element != null) {
-						entry.addToken(element);
-						if (modifySourceEntry) {
-							configureSourceBuildEntry(bmodel, null, element);
-						}
-					}
-				}
-				// removing entries
-			} else if (newPaths[0] == null) {
-				for (String element : oldPaths) {
-					if (element != null) {
-						entry.removeToken(element);
-						if (modifySourceEntry) {
-							configureSourceBuildEntry(bmodel, element, null);
-						}
-					}
-				}
-				if (entry.getTokens().length == 0) {
-					build.remove(entry);
-				}
-				// rename entries
-			} else {
-				for (int i = 0; i < oldPaths.length; i++) {
-					if (newPaths[i] != null && oldPaths[i] != null) {
-						entry.renameToken(oldPaths[i], newPaths[i]);
-						if (modifySourceEntry) {
-							configureSourceBuildEntry(bmodel, oldPaths[i], newPaths[i]);
-						}
-					}
-				}
-			}
-		} catch (CoreException e) {
-		}
-	}
+        try {
+            // adding new entries
+            if (oldPaths[0] == null) {
+                for (String element : newPaths) {
+                    if (element != null) {
+                        entry.addToken(element);
+                        if (modifySourceEntry) {
+                            configureSourceBuildEntry(bmodel, null, element);
+                        }
+                    }
+                }
+                // removing entries
+            } else if (newPaths[0] == null) {
+                for (String element : oldPaths) {
+                    if (element != null) {
+                        entry.removeToken(element);
+                        if (modifySourceEntry) {
+                            configureSourceBuildEntry(bmodel, element, null);
+                        }
+                    }
+                }
+                if (entry.getTokens().length == 0) {
+                    build.remove(entry);
+                }
+                // rename entries
+            } else {
+                for (int i = 0; i < oldPaths.length; i++) {
+                    if (newPaths[i] != null && oldPaths[i] != null) {
+                        entry.renameToken(oldPaths[i], newPaths[i]);
+                        if (modifySourceEntry) {
+                            configureSourceBuildEntry(bmodel, oldPaths[i], newPaths[i]);
+                        }
+                    }
+                }
+            }
+        } catch (CoreException e) {
+        }
+    }
 
-	private void updateJavaClasspathLibs(String[] oldPaths, String[] newPaths) {
-		IProject project = ((IModel) getPage().getModel()).getUnderlyingResource().getProject();
-		IJavaProject jproject = JavaCore.create(project);
-		try {
-			IClasspathEntry[] entries = jproject.getRawClasspath();
-			ArrayList toBeAdded = new ArrayList();
-			int index = -1;
-			entryLoop: for (int i = 0; i < entries.length; i++) {
-				if (entries[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
-					if (index == -1) {
-						index = i;
-					}
-					// do not add the old paths (handling deletion/renaming)
-					IPath path = entries[i].getPath().removeFirstSegments(1).removeTrailingSeparator();
-					for (int j = 0; j < oldPaths.length; j++) {
-						if (oldPaths[j] != null && path.equals(new Path(oldPaths[j]).removeTrailingSeparator())) {
-							continue entryLoop;
-						}
-					}
-				} else if (entries[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
-					if (index == -1) {
-						index = i;
-					}
-				}
-				toBeAdded.add(entries[i]);
-			}
-			if (index == -1) {
-				index = entries.length;
-			}
+    private void updateJavaClasspathLibs(String[] oldPaths, String[] newPaths) {
+        IProject project = ((IModel) getPage().getModel()).getUnderlyingResource().getProject();
+        IJavaProject jproject = JavaCore.create(project);
+        try {
+            IClasspathEntry[] entries = jproject.getRawClasspath();
+            ArrayList toBeAdded = new ArrayList();
+            int index = -1;
+            entryLoop: for (int i = 0; i < entries.length; i++) {
+                if (entries[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
+                    if (index == -1) {
+                        index = i;
+                    }
+                    // do not add the old paths (handling deletion/renaming)
+                    IPath path = entries[i].getPath().removeFirstSegments(1).removeTrailingSeparator();
+                    for (int j = 0; j < oldPaths.length; j++) {
+                        if (oldPaths[j] != null && path.equals(new Path(oldPaths[j]).removeTrailingSeparator())) {
+                            continue entryLoop;
+                        }
+                    }
+                } else if (entries[i].getEntryKind() == IClasspathEntry.CPE_CONTAINER) {
+                    if (index == -1) {
+                        index = i;
+                    }
+                }
+                toBeAdded.add(entries[i]);
+            }
+            if (index == -1) {
+                index = entries.length;
+            }
 
-			// add paths
-			for (String element : newPaths) {
-				if (element == null) {
-					continue;
-				}
-				IClasspathEntry entry = JavaCore.newLibraryEntry(project.getFullPath().append(element), null, null,
-						true);
-				if (!toBeAdded.contains(entry)) {
-					toBeAdded.add(index++, entry);
-				}
-			}
+            // add paths
+            for (String element : newPaths) {
+                if (element == null) {
+                    continue;
+                }
+                IClasspathEntry entry = JavaCore.newLibraryEntry(project.getFullPath().append(element), null, null, true);
+                if (!toBeAdded.contains(entry)) {
+                    toBeAdded.add(index++, entry);
+                }
+            }
 
-			if (toBeAdded.size() == entries.length) {
-				return;
-			}
+            if (toBeAdded.size() == entries.length) {
+                return;
+            }
 
-			IClasspathEntry[] updated = (IClasspathEntry[]) toBeAdded.toArray(new IClasspathEntry[toBeAdded.size()]);
-			jproject.setRawClasspath(updated, null);
-		} catch (JavaModelException e) {
-		}
-	}
+            IClasspathEntry[] updated = (IClasspathEntry[]) toBeAdded.toArray(new IClasspathEntry[toBeAdded.size()]);
+            jproject.setRawClasspath(updated, null);
+        } catch (JavaModelException e) {
+        }
+    }
 
-	@Override
-	public void refresh() {
-		if (fLibraryTable.getControl().isDisposed()) {
-			return;
-		}
-		fLibraryTable.setSelection(null);
-		fLibraryTable.refresh();
-		super.refresh();
-	}
+    @Override
+    public void refresh() {
+        if (this.fLibraryTable.getControl().isDisposed()) {
+            return;
+        }
+        this.fLibraryTable.setSelection(null);
+        this.fLibraryTable.refresh();
+        super.refresh();
+    }
 
-	@Override
-	public void modelChanged(IModelChangedEvent event) {
-		if (event.getChangeType() == IModelChangedEvent.WORLD_CHANGED) {
-			markStale();
-			return;
-		}
-		Object changeObject = event.getChangedObjects()[0];
-		if (changeObject instanceof IPluginLibrary) {
-			if (event.getChangeType() == IModelChangedEvent.INSERT) {
-				fLibraryTable.add(changeObject);
-			} else if (event.getChangeType() == IModelChangedEvent.REMOVE) {
-				fLibraryTable.remove(changeObject);
-			} else {
-				fLibraryTable.update(changeObject, null);
-			}
-		} else if (changeObject.equals(fLibraryTable.getInput())) {
-			markStale();
-		} else if (changeObject instanceof IPluginElement
-				&& ((IPluginElement) changeObject).getParent() instanceof IPluginLibrary) {
-			fLibraryTable.update(((IPluginElement) changeObject).getParent(), null);
-		}
-	}
+    @Override
+    public void modelChanged(IModelChangedEvent event) {
+        if (event.getChangeType() == IModelChangedEvent.WORLD_CHANGED) {
+            markStale();
+            return;
+        }
+        Object changeObject = event.getChangedObjects()[0];
+        if (changeObject instanceof IPluginLibrary) {
+            if (event.getChangeType() == IModelChangedEvent.INSERT) {
+                this.fLibraryTable.add(changeObject);
+            } else if (event.getChangeType() == IModelChangedEvent.REMOVE) {
+                this.fLibraryTable.remove(changeObject);
+            } else {
+                this.fLibraryTable.update(changeObject, null);
+            }
+        } else if (changeObject.equals(this.fLibraryTable.getInput())) {
+            markStale();
+        } else if (changeObject instanceof IPluginElement && ((IPluginElement) changeObject).getParent() instanceof IPluginLibrary) {
+            this.fLibraryTable.update(((IPluginElement) changeObject).getParent(), null);
+        }
+    }
 
-	@Override
-	public void setFocus() {
-		fLibraryTable.getTable().setFocus();
-	}
+    @Override
+    public void setFocus() {
+        this.fLibraryTable.getTable().setFocus();
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.pde.internal.ui.editor.StructuredViewerSection#doPaste(java
-	 * .lang.Object, java.lang.Object[])
-	 */
-	@Override
-	protected void doPaste(Object targetObject, Object[] sourceObjects) {
-		// Get the model
-		IPluginModelBase model = getModel();
-		IPluginBase plugin = model.getPluginBase();
-		try {
-			// Paste all source objects
-			for (Object sourceObject : sourceObjects) {
-				if (sourceObject instanceof PluginLibrary) {
-					// Plugin library object
-					PluginLibrary library = (PluginLibrary) sourceObject;
-					// Adjust all the source object transient field values to
-					// acceptable values
-					library.reconnect(model, plugin);
-					// Add the library to the plug-in
-					plugin.add(library);
-				}
-			}
-		} catch (CoreException e) {
-			PDEPlugin.logException(e);
-		}
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.pde.internal.ui.editor.StructuredViewerSection#doPaste(java .lang.Object, java.lang.Object[])
+     */
+    @Override
+    protected void doPaste(Object targetObject, Object[] sourceObjects) {
+        // Get the model
+        IPluginModelBase model = getModel();
+        IPluginBase plugin = model.getPluginBase();
+        try {
+            // Paste all source objects
+            for (Object sourceObject : sourceObjects) {
+                if (sourceObject instanceof PluginLibrary) {
+                    // Plugin library object
+                    PluginLibrary library = (PluginLibrary) sourceObject;
+                    // Adjust all the source object transient field values to
+                    // acceptable values
+                    library.reconnect(model, plugin);
+                    // Add the library to the plug-in
+                    plugin.add(library);
+                }
+            }
+        } catch (CoreException e) {
+            PDEPlugin.logException(e);
+        }
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.pde.internal.ui.editor.StructuredViewerSection#canPaste(java
-	 * .lang.Object, java.lang.Object[])
-	 */
-	@Override
-	protected boolean canPaste(Object targetObject, Object[] sourceObjects) {
-		HashSet librarySet = null;
-		// Only source objects that are plugin libraries that have not already
-		// been specified can be pasted
-		for (Object element : sourceObjects) {
-			// Only plugin libraries are allowed
-			if ((element instanceof IPluginLibrary) == false) {
-				return false;
-			}
-			// We have a plugin library
-			// Get the current libraries already specified and store them in
-			// a set to assist with searching
-			if (librarySet == null) {
-				librarySet = createPluginLibrarySet();
-			}
-			// No duplicate libraries are allowed
-			IPluginLibrary library = (IPluginLibrary) element;
-			if (librarySet.contains(new Path(ClasspathUtilCore.expandLibraryName(library.getName())))) {
-				return false;
-			}
-		}
-		return true;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.pde.internal.ui.editor.StructuredViewerSection#canPaste(java .lang.Object, java.lang.Object[])
+     */
+    @Override
+    protected boolean canPaste(Object targetObject, Object[] sourceObjects) {
+        HashSet librarySet = null;
+        // Only source objects that are plugin libraries that have not already
+        // been specified can be pasted
+        for (Object element : sourceObjects) {
+            // Only plugin libraries are allowed
+            if (element instanceof IPluginLibrary == false) {
+                return false;
+            }
+            // We have a plugin library
+            // Get the current libraries already specified and store them in
+            // a set to assist with searching
+            if (librarySet == null) {
+                librarySet = createPluginLibrarySet();
+            }
+            // No duplicate libraries are allowed
+            IPluginLibrary library = (IPluginLibrary) element;
+            if (librarySet.contains(new Path(ClasspathUtilCore.expandLibraryName(library.getName())))) {
+                return false;
+            }
+        }
+        return true;
+    }
 
-	/**
-	 * @return
-	 */
-	private HashSet createPluginLibrarySet() {
-		// Get the current libraries and add them to a set for easy searching
-		IPluginLibrary[] libraries = getModel().getPluginBase().getLibraries();
-		HashSet librarySet = new HashSet();
-		for (IPluginLibrary element : libraries) {
-			librarySet.add(new Path(ClasspathUtilCore.expandLibraryName(element.getName())));
-		}
-		return librarySet;
-	}
+    /**
+     * @return
+     */
+    private HashSet createPluginLibrarySet() {
+        // Get the current libraries and add them to a set for easy searching
+        IPluginLibrary[] libraries = getModel().getPluginBase().getLibraries();
+        HashSet librarySet = new HashSet();
+        for (IPluginLibrary element : libraries) {
+            librarySet.add(new Path(ClasspathUtilCore.expandLibraryName(element.getName())));
+        }
+        return librarySet;
+    }
 
-	@Override
-	protected void entryModified(Object entry, String value) {
-		try {
-			IPluginModelBase model = getModel();
-			IProject project = model.getUnderlyingResource().getProject();
-			IPluginLibrary library = (IPluginLibrary) entry;
-			model.getPluginBase().remove(library);
-			String[] oldValue = { library.getName() };
-			String[] newValue = { value };
-			library.setName(value);
-			boolean memberExists = project.findMember(value) != null;
-			updateBuildProperties(oldValue, newValue, !memberExists);
-			updateJavaClasspathLibs(oldValue, memberExists ? newValue : new String[] { null });
-			model.getPluginBase().add(library);
-		} catch (CoreException e) {
-			PDEPlugin.logException(e);
-		}
-	}
+    @Override
+    protected void entryModified(Object entry, String value) {
+        try {
+            IPluginModelBase model = getModel();
+            IProject project = model.getUnderlyingResource().getProject();
+            IPluginLibrary library = (IPluginLibrary) entry;
+            model.getPluginBase().remove(library);
+            String[] oldValue = { library.getName() };
+            String[] newValue = { value };
+            library.setName(value);
+            boolean memberExists = project.findMember(value) != null;
+            updateBuildProperties(oldValue, newValue, !memberExists);
+            updateJavaClasspathLibs(oldValue, memberExists ? newValue : new String[] { null });
+            model.getPluginBase().add(library);
+        } catch (CoreException e) {
+            PDEPlugin.logException(e);
+        }
+    }
 
-	/**
-	 * @return
-	 */
-	private IPluginModelBase getModel() {
-		return (IPluginModelBase) getPage().getModel();
-	}
+    /**
+     * @return
+     */
+    private IPluginModelBase getModel() {
+        return (IPluginModelBase) getPage().getModel();
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleManifestEditor.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleManifestEditor.java
index 8a6a07f..64c89fd 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleManifestEditor.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleManifestEditor.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.io.File;
@@ -87,443 +88,437 @@
  */
 public class BundleManifestEditor extends ManifestEditor {
 
-	public static String ID_EDITOR = "org.eclipse.virgo.ide.ui.bundlemanifest";
+    public static String ID_EDITOR = "org.eclipse.virgo.ide.ui.bundlemanifest";
 
-	protected boolean fEquinox = true;
+    protected boolean fEquinox = true;
 
-	protected boolean fShowExtensions = true;
+    protected boolean fShowExtensions = true;
 
-	protected IEclipsePreferences fPrefs;
+    protected IEclipsePreferences fPrefs;
 
-	protected List<IBundleManifestSaveListener> saveListeners = new ArrayList<IBundleManifestSaveListener>(3);
+    protected List<IBundleManifestSaveListener> saveListeners = new ArrayList<IBundleManifestSaveListener>(3);
 
-	/**
-	 * Returns the list of pages for this editor. Public for testing.
-	 */
-	public IEditorPart[] getParts() {
-		ArrayList<IEditorPart> parts = new ArrayList<IEditorPart>(getPageCount());
-		if (pages != null) {
-			for (int i = 0; i < pages.size(); i++) {
-				Object page = pages.get(i);
-				if (page instanceof IEditorPart) {
-					parts.add((IEditorPart) page);
-				}
-			}
-		}
-		return parts.toArray(new IEditorPart[parts.size()]);
-	}
+    /**
+     * Returns the list of pages for this editor. Public for testing.
+     */
+    public IEditorPart[] getParts() {
+        ArrayList<IEditorPart> parts = new ArrayList<IEditorPart>(getPageCount());
+        if (this.pages != null) {
+            for (int i = 0; i < this.pages.size(); i++) {
+                Object page = this.pages.get(i);
+                if (page instanceof IEditorPart) {
+                    parts.add((IEditorPart) page);
+                }
+            }
+        }
+        return parts.toArray(new IEditorPart[parts.size()]);
+    }
 
-	@Override
-	protected void addEditorPages() {
-		try {
-			BundleOverviewPage overviewPage = new BundleOverviewPage(this);
-			addPage(overviewPage);
-			saveListeners.add(overviewPage);
+    @Override
+    protected void addEditorPages() {
+        try {
+            BundleOverviewPage overviewPage = new BundleOverviewPage(this);
+            addPage(overviewPage);
+            this.saveListeners.add(overviewPage);
 
-			BundleDependenciesPage dependenciesPage = new BundleDependenciesPage(this);
-			addPage(dependenciesPage);
-			saveListeners.add(dependenciesPage);
+            BundleDependenciesPage dependenciesPage = new BundleDependenciesPage(this);
+            addPage(dependenciesPage);
+            this.saveListeners.add(dependenciesPage);
 
-			BundleRuntimePage runtimePage = new BundleRuntimePage(this);
-			addPage(runtimePage);
-			saveListeners.add(runtimePage);
-		} catch (PartInitException e) {
-			StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Failed to create editor pages", e));
-		}
-		addSourcePage(BundleInputContext.CONTEXT_ID);
-	}
+            BundleRuntimePage runtimePage = new BundleRuntimePage(this);
+            addPage(runtimePage);
+            this.saveListeners.add(runtimePage);
+        } catch (PartInitException e) {
+            StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Failed to create editor pages", e));
+        }
+        addSourcePage(BundleInputContext.CONTEXT_ID);
+    }
 
-	@Override
-	protected PDESourcePage createSourcePage(PDEFormEditor editor, String title, String name, String contextId) {
-		if (contextId.equals(BundleInputContext.CONTEXT_ID)) {
-			return new SpringBundleSourcePage(editor, title, name);
-		}
-		return super.createSourcePage(editor, title, name, contextId);
-	}
+    @Override
+    protected PDESourcePage createSourcePage(PDEFormEditor editor, String title, String name, String contextId) {
+        if (contextId.equals(BundleInputContext.CONTEXT_ID)) {
+            return new SpringBundleSourcePage(editor, title, name);
+        }
+        return super.createSourcePage(editor, title, name, contextId);
+    }
 
-	@Override
-	protected void createResourceContexts(InputContextManager manager, IFileEditorInput input) {
-		IFile file = input.getFile();
-		IContainer container = file.getParent();
+    @Override
+    protected void createResourceContexts(InputContextManager manager, IFileEditorInput input) {
+        IFile file = input.getFile();
+        IContainer container = file.getParent();
 
-		IFile manifestFile = null;
-		String name = file.getName().toLowerCase(Locale.ENGLISH);
-		if (name.endsWith("mf")) { //$NON-NLS-1$
-			if (container instanceof IFolder) {
-				container = container.getParent();
-			}
-			manifestFile = file;
-		}
-		if (manifestFile != null && manifestFile.exists()) {
-			IEditorInput in = new FileEditorInput(manifestFile);
-			manager.putContext(in, new SpringBundleInputContext(this, in, file == manifestFile));
-		}
-		manager.monitorFile(manifestFile);
+        IFile manifestFile = null;
+        String name = file.getName().toLowerCase(Locale.ENGLISH);
+        if (name.endsWith("mf")) { //$NON-NLS-1$
+            if (container instanceof IFolder) {
+                container = container.getParent();
+            }
+            manifestFile = file;
+        }
+        if (manifestFile != null && manifestFile.exists()) {
+            IEditorInput in = new FileEditorInput(manifestFile);
+            manager.putContext(in, new SpringBundleInputContext(this, in, file == manifestFile));
+        }
+        manager.monitorFile(manifestFile);
 
-		fPrefs = new ProjectScope(container.getProject()).getNode(PDECore.PLUGIN_ID);
-		if (fPrefs != null) {
-			fShowExtensions = fPrefs.getBoolean(ICoreConstants.EXTENSIONS_PROPERTY, true);
-			fEquinox = fPrefs.getBoolean(ICoreConstants.EQUINOX_PROPERTY, true);
-		}
-	}
+        this.fPrefs = new ProjectScope(container.getProject()).getNode(PDECore.PLUGIN_ID);
+        if (this.fPrefs != null) {
+            this.fShowExtensions = this.fPrefs.getBoolean(ICoreConstants.EXTENSIONS_PROPERTY, true);
+            this.fEquinox = this.fPrefs.getBoolean(ICoreConstants.EQUINOX_PROPERTY, true);
+        }
+    }
 
-	@Override
-	public void doSave(IProgressMonitor monitor) {
-		super.doSave(monitor);
-		for (IBundleManifestSaveListener currListener : this.saveListeners) {
-			currListener.manifestSaved();
-		}
-	}
+    @Override
+    public void doSave(IProgressMonitor monitor) {
+        super.doSave(monitor);
+        for (IBundleManifestSaveListener currListener : this.saveListeners) {
+            currListener.manifestSaved();
+        }
+    }
 
-	@Override
-	public boolean isEquinox() {
-		return fEquinox;
-	}
+    @Override
+    public boolean isEquinox() {
+        return this.fEquinox;
+    }
 
-	@Override
-	public void monitoredFileAdded(IFile file) {
-		if (fInputContextManager == null) {
-			return;
-		}
-		String name = file.getName();
-		if (name.equalsIgnoreCase(BundleModelUtility.F_MANIFEST)) {
-			if (!fInputContextManager.hasContext(BundleInputContext.CONTEXT_ID)) {
-				IEditorInput in = new FileEditorInput(file);
-				fInputContextManager.putContext(in, new SpringBundleInputContext(this, in, false));
-			}
-		}
-	}
+    @Override
+    public void monitoredFileAdded(IFile file) {
+        if (this.fInputContextManager == null) {
+            return;
+        }
+        String name = file.getName();
+        if (name.equalsIgnoreCase(BundleModelUtility.F_MANIFEST)) {
+            if (!this.fInputContextManager.hasContext(BundleInputContext.CONTEXT_ID)) {
+                IEditorInput in = new FileEditorInput(file);
+                this.fInputContextManager.putContext(in, new SpringBundleInputContext(this, in, false));
+            }
+        }
+    }
 
-	/**
-	 * Copy of super method with work-around to maintain compatibility with Eclipse 3.4 and 3.5.
-	 * 
-	 * @see #createSystemFileContexts(InputContextManager, IEditorInput)
-	 */
-	@Override
-	protected void createInputContexts(InputContextManager contextManager) {
-		IEditorInput input = getEditorInput();
-		if (input instanceof IFileEditorInput) {
-			// resource - find the project
-			createResourceContexts(contextManager, (IFileEditorInput) input);
-		} else if (PdeCompatibilityUtil.isSystemFileEditorInput(input)) {
-			// system file - find the file system folder
-			createSystemFileContexts(contextManager, input);
-		} else if (input instanceof IStorageEditorInput) {
-			createStorageContexts(contextManager, (IStorageEditorInput) input);
-		} else if (input instanceof IURIEditorInput) {
-			IURIEditorInput uriEditorInput = (IURIEditorInput) input;
-			try {
-				IFileStore store = EFS.getStore(uriEditorInput.getURI());
-				if (!EFS.SCHEME_FILE.equals(store.getFileSystem().getScheme())) {
-					return;
-				}
-				IEditorInput sinput = PdeCompatibilityUtil.createSystemFileEditorInput(uriEditorInput);
-				if (sinput == null) {
-					// Eclipse 3.5 or later
-					sinput = new FileStoreEditorInput(store);
-				}
-				createSystemFileContexts(contextManager, sinput);
-			}
+    /**
+     * Copy of super method with work-around to maintain compatibility with Eclipse 3.4 and 3.5.
+     *
+     * @see #createSystemFileContexts(InputContextManager, IEditorInput)
+     */
+    @Override
+    protected void createInputContexts(InputContextManager contextManager) {
+        IEditorInput input = getEditorInput();
+        if (input instanceof IFileEditorInput) {
+            // resource - find the project
+            createResourceContexts(contextManager, (IFileEditorInput) input);
+        } else if (PdeCompatibilityUtil.isSystemFileEditorInput(input)) {
+            // system file - find the file system folder
+            createSystemFileContexts(contextManager, input);
+        } else if (input instanceof IStorageEditorInput) {
+            createStorageContexts(contextManager, (IStorageEditorInput) input);
+        } else if (input instanceof IURIEditorInput) {
+            IURIEditorInput uriEditorInput = (IURIEditorInput) input;
+            try {
+                IFileStore store = EFS.getStore(uriEditorInput.getURI());
+                if (!EFS.SCHEME_FILE.equals(store.getFileSystem().getScheme())) {
+                    return;
+                }
+                IEditorInput sinput = PdeCompatibilityUtil.createSystemFileEditorInput(uriEditorInput);
+                if (sinput == null) {
+                    // Eclipse 3.5 or later
+                    sinput = new FileStoreEditorInput(store);
+                }
+                createSystemFileContexts(contextManager, sinput);
+            }
 
-			catch (CoreException e) {
-				return;
-			}
-		}
-	}
+            catch (CoreException e) {
+                return;
+            }
+        }
+    }
 
-	/**
-	 * The signature of createSystemFileContexts() has changed between Eclipse 3.4 and 3.5. This method serves as a
-	 * work-around with a more generic signature.
-	 * 
-	 * @param input
-	 *            either a SystemFileEditorInput or FileStoreEditorInput
-	 */
-	protected void createSystemFileContexts(InputContextManager manager, IEditorInput input) {
-		File file = (File) input.getAdapter(File.class);
-		if (file == null && input instanceof FileStoreEditorInput) {
-			file = new File(((IURIEditorInput) input).getURI());
-		}
-		if (file == null) {
-			return;
-		}
-		File manifestFile = null;
-		String name = file.getName().toLowerCase(Locale.ENGLISH);
-		if (name.startsWith("manifest.mf")) { //$NON-NLS-1$
-			manifestFile = file;
-		}
-		try {
-			if (manifestFile != null && manifestFile.exists()) {
-				IEditorInput in = PdeCompatibilityUtil.createSystemFileEditorInput(manifestFile);
-				if (in == null) {
-					// Eclipse 3.5 or later
-					IFileStore store = EFS.getStore(manifestFile.toURI());
-					in = new FileStoreEditorInput(store);
-				}
-				manager.putContext(in, new SpringBundleInputContext(this, in, file == manifestFile));
-			}
-		} catch (CoreException e) {
-			PDEPlugin.logException(e);
-		}
-	}
+    /**
+     * The signature of createSystemFileContexts() has changed between Eclipse 3.4 and 3.5. This method serves as a
+     * work-around with a more generic signature.
+     *
+     * @param input either a SystemFileEditorInput or FileStoreEditorInput
+     */
+    protected void createSystemFileContexts(InputContextManager manager, IEditorInput input) {
+        File file = input.getAdapter(File.class);
+        if (file == null && input instanceof FileStoreEditorInput) {
+            file = new File(((IURIEditorInput) input).getURI());
+        }
+        if (file == null) {
+            return;
+        }
+        File manifestFile = null;
+        String name = file.getName().toLowerCase(Locale.ENGLISH);
+        if (name.startsWith("manifest.mf")) { //$NON-NLS-1$
+            manifestFile = file;
+        }
+        try {
+            if (manifestFile != null && manifestFile.exists()) {
+                IEditorInput in = PdeCompatibilityUtil.createSystemFileEditorInput(manifestFile);
+                if (in == null) {
+                    // Eclipse 3.5 or later
+                    IFileStore store = EFS.getStore(manifestFile.toURI());
+                    in = new FileStoreEditorInput(store);
+                }
+                manager.putContext(in, new SpringBundleInputContext(this, in, file == manifestFile));
+            }
+        } catch (CoreException e) {
+            PDEPlugin.logException(e);
+        }
+    }
 
-	@Override
-	protected void createStorageContexts(InputContextManager manager, IStorageEditorInput input) {
-		if (input instanceof JarEntryEditorInput) {
-			createJarEntryContexts(manager, (JarEntryEditorInput) input);
-			return;
-		}
+    @Override
+    protected void createStorageContexts(InputContextManager manager, IStorageEditorInput input) {
+        if (input instanceof JarEntryEditorInput) {
+            createJarEntryContexts(manager, (JarEntryEditorInput) input);
+            return;
+        }
 
-		String name = input.getName().toLowerCase(Locale.ENGLISH);
-		if (name.startsWith("manifest.mf")) { //$NON-NLS-1$
-			manager.putContext(input, new SpringBundleInputContext(this, input, true));
-		}
-	}
+        String name = input.getName().toLowerCase(Locale.ENGLISH);
+        if (name.startsWith("manifest.mf")) { //$NON-NLS-1$
+            manager.putContext(input, new SpringBundleInputContext(this, input, true));
+        }
+    }
 
-	@Override
-	protected void createJarEntryContexts(InputContextManager manager, JarEntryEditorInput input) {
-		IStorage storage = input.getStorage();
-		ZipFile zip = (ZipFile) storage.getAdapter(ZipFile.class);
-		try {
-			if (zip == null) {
-				return;
-			}
+    @Override
+    protected void createJarEntryContexts(InputContextManager manager, JarEntryEditorInput input) {
+        IStorage storage = input.getStorage();
+        ZipFile zip = storage.getAdapter(ZipFile.class);
+        try {
+            if (zip == null) {
+                return;
+            }
 
-			if (zip.getEntry("META-INF/MANIFEST.MF") != null) { //$NON-NLS-1$
-				input = new JarEntryEditorInput(new JarEntryFile(zip, "META-INF/MANIFEST.MF")); //$NON-NLS-1$
-				manager.putContext(
-						input,
-						new SpringBundleInputContext(this, input, storage.getName().equals(
-								BundleModelUtility.F_MANIFEST)));
-			}
-		} finally {
-			try {
-				if (zip != null) {
-					zip.close();
-				}
-			} catch (IOException e) {
-			}
-		}
-	}
+            if (zip.getEntry("META-INF/MANIFEST.MF") != null) { //$NON-NLS-1$
+                input = new JarEntryEditorInput(new JarEntryFile(zip, "META-INF/MANIFEST.MF")); //$NON-NLS-1$
+                manager.putContext(input, new SpringBundleInputContext(this, input, storage.getName().equals(BundleModelUtility.F_MANIFEST)));
+            }
+        } finally {
+            try {
+                if (zip != null) {
+                    zip.close();
+                }
+            } catch (IOException e) {
+            }
+        }
+    }
 
-	@Override
-	protected void setShowExtensions(boolean show) throws BackingStoreException {
-		if (fPrefs != null) {
-			fPrefs.putBoolean(ICoreConstants.EXTENSIONS_PROPERTY, show);
-			fPrefs.flush();
-		}
-		fShowExtensions = show;
-	}
+    @Override
+    protected void setShowExtensions(boolean show) throws BackingStoreException {
+        if (this.fPrefs != null) {
+            this.fPrefs.putBoolean(ICoreConstants.EXTENSIONS_PROPERTY, show);
+            this.fPrefs.flush();
+        }
+        this.fShowExtensions = show;
+    }
 
-	@Override
-	public boolean showExtensionTabs() {
-		if (fInputContextManager.hasContext(PluginInputContext.CONTEXT_ID)) {
-			return true;
-		}
-		IBaseModel model = getAggregateModel();
-		return fShowExtensions && model != null && model.isEditable();
-	}
+    @Override
+    public boolean showExtensionTabs() {
+        if (this.fInputContextManager.hasContext(PluginInputContext.CONTEXT_ID)) {
+            return true;
+        }
+        IBaseModel model = getAggregateModel();
+        return this.fShowExtensions && model != null && model.isEditable();
+    }
 
-	@Override
-	public String getTitle() {
-		IPluginModelBase model = (IPluginModelBase) getAggregateModel();
-		if (model == null || !model.isValid()) {
-			return super.getTitle();
-		}
-		String text = getTitleText(model);
-		if (text == null) {
-			return super.getTitle();
-		}
-		return model.getResourceString(text);
-	}
+    @Override
+    public String getTitle() {
+        IPluginModelBase model = (IPluginModelBase) getAggregateModel();
+        if (model == null || !model.isValid()) {
+            return super.getTitle();
+        }
+        String text = getTitleText(model);
+        if (text == null) {
+            return super.getTitle();
+        }
+        return model.getResourceString(text);
+    }
 
-	private String getTitleText(IPluginModelBase model) {
-		IPreferenceStore store = PDEPlugin.getDefault().getPreferenceStore();
-		String pref = store.getString(IPreferenceConstants.PROP_SHOW_OBJECTS);
+    private String getTitleText(IPluginModelBase model) {
+        IPreferenceStore store = PDEPlugin.getDefault().getPreferenceStore();
+        String pref = store.getString(IPreferenceConstants.PROP_SHOW_OBJECTS);
 
-		StringBuilder builder = new StringBuilder();
+        StringBuilder builder = new StringBuilder();
 
-		if (model.getUnderlyingResource() != null) {
-			if (model.getUnderlyingResource().getName().equals("TEST.MF")) {
-				builder.append("test: ");
-			} else if (model.getUnderlyingResource().getName().equals("template.mf")) {
-				builder.append("template: ");
-			}
-		}
+        if (model.getUnderlyingResource() != null) {
+            if (model.getUnderlyingResource().getName().equals("TEST.MF")) {
+                builder.append("test: ");
+            } else if (model.getUnderlyingResource().getName().equals("template.mf")) {
+                builder.append("template: ");
+            }
+        }
 
-		if (FacetUtils.isParProject(getCommonProject())) {
-			BundleInputContext context = (BundleInputContext) getContextManager().findContext(
-					BundleInputContext.CONTEXT_ID);
-			if (context != null) {
-				IBundleModel bundleModel = (IBundleModel) context.getModel();
-				if (pref != null && pref.equals(IPreferenceConstants.VALUE_USE_NAMES)) {
-					builder.append(bundleModel.getBundle().getHeader(IHeaderConstants.PAR_NAME));
-				}
-				builder.append(bundleModel.getBundle().getHeader(IHeaderConstants.PAR_SYMBOLICNAME));
-			}
-		}
+        if (FacetUtils.isParProject(getCommonProject())) {
+            BundleInputContext context = (BundleInputContext) getContextManager().findContext(BundleInputContext.CONTEXT_ID);
+            if (context != null) {
+                IBundleModel bundleModel = (IBundleModel) context.getModel();
+                if (pref != null && pref.equals(IPreferenceConstants.VALUE_USE_NAMES)) {
+                    builder.append(bundleModel.getBundle().getHeader(IHeaderConstants.PAR_NAME));
+                }
+                builder.append(bundleModel.getBundle().getHeader(IHeaderConstants.PAR_SYMBOLICNAME));
+            }
+        }
 
-		if (pref != null && pref.equals(IPreferenceConstants.VALUE_USE_NAMES)
-				&& model.getPluginBase().getName() != null) {
-			builder.append(model.getPluginBase().getName());
-		}
-		if (model.getPluginBase().getId() != null) {
-			builder.append(model.getPluginBase().getId());
-		}
-		return builder.toString();
-	}
+        if (pref != null && pref.equals(IPreferenceConstants.VALUE_USE_NAMES) && model.getPluginBase().getName() != null) {
+            builder.append(model.getPluginBase().getName());
+        }
+        if (model.getPluginBase().getId() != null) {
+            builder.append(model.getPluginBase().getId());
+        }
+        return builder.toString();
+    }
 
-	@Override
-	protected ISortableContentOutlinePage createContentOutline() {
-		return new BundleManifestOutlinePage(this);
-	}
+    @Override
+    protected ISortableContentOutlinePage createContentOutline() {
+        return new BundleManifestOutlinePage(this);
+    }
 
-	public static IEditorPart openBundleEditor(String bundle, String version, IProject project) {
-		return openPluginEditor(RepositoryUtils.getBundleDefinition(bundle, version, project));
-	}
+    public static IEditorPart openBundleEditor(String bundle, String version, IProject project) {
+        return openPluginEditor(RepositoryUtils.getBundleDefinition(bundle, version, project));
+    }
 
-	public static IEditorPart openPluginEditor(BundleDefinition bundleDefinition) {
-		if (bundleDefinition == null) {
-			Display.getDefault().beep();
-			return null;
-		}
-		return openPluginEditor(bundleDefinition, false);
-	}
+    public static IEditorPart openPluginEditor(BundleDefinition bundleDefinition) {
+        if (bundleDefinition == null) {
+            Display.getDefault().beep();
+            return null;
+        }
+        return openPluginEditor(bundleDefinition, false);
+    }
 
-	public static IEditorPart openPluginEditor(Object object, boolean source) {
-		if (object instanceof BundleDefinition) {
-			URI file = ((BundleDefinition) object).getLocation();
-			return openExternalPlugin(new File(file), "META-INF/MANIFEST.MF");
-		}
-		return null;
-	}
+    public static IEditorPart openPluginEditor(Object object, boolean source) {
+        if (object instanceof BundleDefinition) {
+            URI file = ((BundleDefinition) object).getLocation();
+            return openExternalPlugin(new File(file), "META-INF/MANIFEST.MF");
+        }
+        return null;
+    }
 
-	// private static IEditorPart openWorkspacePlugin(IFile pluginFile) {
-	// return openEditor(new FileEditorInput(pluginFile));
-	// }
+    // private static IEditorPart openWorkspacePlugin(IFile pluginFile) {
+    // return openEditor(new FileEditorInput(pluginFile));
+    // }
 
-	public static IEditorPart openExternalPlugin(File location, String filename) {
-		IEditorInput input = null;
-		if (location.isFile()) {
-			try {
-				ZipFile zipFile = new ZipFile(location);
-				if (zipFile.getEntry(filename) != null) {
-					input = new JarEntryEditorInput(new JarEntryFile(zipFile, filename));
-				}
-			} catch (IOException e) {
-			}
-		} else {
-			File file = new File(location, filename);
-			if (file.exists()) {
-				IFileStore store;
-				try {
-					store = EFS.getStore(file.toURI());
-					input = new FileStoreEditorInput(store);
-				} catch (CoreException e) {
-				}
-			}
-		}
-		return openEditor(input);
-	}
+    public static IEditorPart openExternalPlugin(File location, String filename) {
+        IEditorInput input = null;
+        if (location.isFile()) {
+            try {
+                ZipFile zipFile = new ZipFile(location);
+                if (zipFile.getEntry(filename) != null) {
+                    input = new JarEntryEditorInput(new JarEntryFile(zipFile, filename));
+                }
+            } catch (IOException e) {
+            }
+        } else {
+            File file = new File(location, filename);
+            if (file.exists()) {
+                IFileStore store;
+                try {
+                    store = EFS.getStore(file.toURI());
+                    input = new FileStoreEditorInput(store);
+                } catch (CoreException e) {
+                }
+            }
+        }
+        return openEditor(input);
+    }
 
-	public static IEditorPart openEditor(IEditorInput input) {
-		if (input != null) {
-			try {
-				return PDEPlugin.getActivePage().openEditor(input, BundleManifestEditor.ID_EDITOR);
-			} catch (PartInitException e) {
-				PDEPlugin.logException(e);
-			}
-		}
-		return null;
-	}
+    public static IEditorPart openEditor(IEditorInput input) {
+        if (input != null) {
+            try {
+                return PDEPlugin.getActivePage().openEditor(input, BundleManifestEditor.ID_EDITOR);
+            } catch (PartInitException e) {
+                PDEPlugin.logException(e);
+            }
+        }
+        return null;
+    }
 
-	@Override
-	public void contributeToToolbar(IToolBarManager manager) {
-		// ignore
-	}
+    @Override
+    public void contributeToToolbar(IToolBarManager manager) {
+        // ignore
+    }
 
-	@Override
-	protected void performGlobalAction(String id) {
-		ISelection selection = getSelection();
-		IFormPage page = getActivePageInstance();
-		if (page instanceof AbstractPdeFormPage) {
-			boolean handled = ((AbstractPdeFormPage) page).performGlobalAction(id);
-			if (!handled) {
-				if (id.equals(ActionFactory.UNDO.getId())) {
-					fInputContextManager.undo();
-					return;
-				}
-				if (id.equals(ActionFactory.REDO.getId())) {
-					fInputContextManager.redo();
-					return;
-				}
-				if (id.equals(ActionFactory.CUT.getId()) || id.equals(ActionFactory.COPY.getId())) {
-					copyToClipboard(selection);
-					return;
-				}
-			}
-		} else {
-			super.performGlobalAction(id);
-		}
-	}
+    @Override
+    protected void performGlobalAction(String id) {
+        ISelection selection = getSelection();
+        IFormPage page = getActivePageInstance();
+        if (page instanceof AbstractPdeFormPage) {
+            boolean handled = ((AbstractPdeFormPage) page).performGlobalAction(id);
+            if (!handled) {
+                if (id.equals(ActionFactory.UNDO.getId())) {
+                    this.fInputContextManager.undo();
+                    return;
+                }
+                if (id.equals(ActionFactory.REDO.getId())) {
+                    this.fInputContextManager.redo();
+                    return;
+                }
+                if (id.equals(ActionFactory.CUT.getId()) || id.equals(ActionFactory.COPY.getId())) {
+                    copyToClipboard(selection);
+                    return;
+                }
+            }
+        } else {
+            super.performGlobalAction(id);
+        }
+    }
 
-	private void copyToClipboard(ISelection selection) {
-		Object[] objects = null;
-		String textVersion = null;
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection ssel = (IStructuredSelection) selection;
-			if (ssel == null || ssel.size() == 0) {
-				return;
-			}
-			objects = ssel.toArray();
-			StringWriter writer = new StringWriter();
-			PrintWriter pwriter = new PrintWriter(writer);
-			Class<?> objClass = null;
-			for (int i = 0; i < objects.length; i++) {
-				Object obj = objects[i];
-				if (objClass == null) {
-					objClass = obj.getClass();
-				} else if (objClass.equals(obj.getClass()) == false) {
-					return;
-				}
-				if (obj instanceof IWritable) {
-					// Add a customized delimiter in between all serialized
-					// objects to format the text representation
-					if ((i != 0) && (obj instanceof IWritableDelimiter)) {
-						((IWritableDelimiter) obj).writeDelimeter(pwriter);
-					}
-					((IWritable) obj).write("", pwriter); //$NON-NLS-1$
-				} else if (obj instanceof String) {
-					// Delimiter is always a newline
-					pwriter.println((String) obj);
-				}
-			}
-			pwriter.flush();
-			textVersion = writer.toString();
-			try {
-				pwriter.close();
-				writer.close();
-			} catch (IOException e) {
-			}
-		} else if (selection instanceof ITextSelection) {
-			textVersion = ((ITextSelection) selection).getText();
-		}
-		if ((textVersion == null || textVersion.length() == 0) && objects == null) {
-			return;
-		}
-		// set the clipboard contents
-		Object[] o = null;
-		Transfer[] t = null;
-		if (objects == null) {
-			o = new Object[] { textVersion };
-			t = new Transfer[] { TextTransfer.getInstance() };
-		} else if (textVersion == null || textVersion.length() == 0) {
-			o = new Object[] { objects };
-			t = new Transfer[] { ModelDataTransfer.getInstance() };
-		} else {
-			o = new Object[] { objects, textVersion };
-			t = new Transfer[] { ModelDataTransfer.getInstance(), TextTransfer.getInstance() };
-		}
-		getClipboard().setContents(o, t);
-	}
+    private void copyToClipboard(ISelection selection) {
+        Object[] objects = null;
+        String textVersion = null;
+        if (selection instanceof IStructuredSelection) {
+            IStructuredSelection ssel = (IStructuredSelection) selection;
+            if (ssel == null || ssel.size() == 0) {
+                return;
+            }
+            objects = ssel.toArray();
+            StringWriter writer = new StringWriter();
+            PrintWriter pwriter = new PrintWriter(writer);
+            Class<?> objClass = null;
+            for (int i = 0; i < objects.length; i++) {
+                Object obj = objects[i];
+                if (objClass == null) {
+                    objClass = obj.getClass();
+                } else if (objClass.equals(obj.getClass()) == false) {
+                    return;
+                }
+                if (obj instanceof IWritable) {
+                    // Add a customized delimiter in between all serialized
+                    // objects to format the text representation
+                    if (i != 0 && obj instanceof IWritableDelimiter) {
+                        ((IWritableDelimiter) obj).writeDelimeter(pwriter);
+                    }
+                    ((IWritable) obj).write("", pwriter); //$NON-NLS-1$
+                } else if (obj instanceof String) {
+                    // Delimiter is always a newline
+                    pwriter.println((String) obj);
+                }
+            }
+            pwriter.flush();
+            textVersion = writer.toString();
+            try {
+                pwriter.close();
+                writer.close();
+            } catch (IOException e) {
+            }
+        } else if (selection instanceof ITextSelection) {
+            textVersion = ((ITextSelection) selection).getText();
+        }
+        if ((textVersion == null || textVersion.length() == 0) && objects == null) {
+            return;
+        }
+        // set the clipboard contents
+        Object[] o = null;
+        Transfer[] t = null;
+        if (objects == null) {
+            o = new Object[] { textVersion };
+            t = new Transfer[] { TextTransfer.getInstance() };
+        } else if (textVersion == null || textVersion.length() == 0) {
+            o = new Object[] { objects };
+            t = new Transfer[] { ModelDataTransfer.getInstance() };
+        } else {
+            o = new Object[] { objects, textVersion };
+            t = new Transfer[] { ModelDataTransfer.getInstance(), TextTransfer.getInstance() };
+        }
+        getClipboard().setContents(o, t);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleManifestEditorContributor.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleManifestEditorContributor.java
index 499df14..7311468 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleManifestEditorContributor.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleManifestEditorContributor.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 /**
@@ -15,27 +16,27 @@
  */
 public class BundleManifestEditorContributor extends AbstractPdeFormTextEditorContributor {
 
-	public BundleManifestEditorContributor() {
-		super("&Plugin"); //$NON-NLS-1$
-	}
+    public BundleManifestEditorContributor() {
+        super("&Plugin"); //$NON-NLS-1$
+    }
 
-	@Override
-	public boolean supportsContentAssist() {
-		return true;
-	}
+    @Override
+    public boolean supportsContentAssist() {
+        return true;
+    }
 
-	@Override
-	public boolean supportsFormatAction() {
-		return true;
-	}
+    @Override
+    public boolean supportsFormatAction() {
+        return true;
+    }
 
-	@Override
-	public boolean supportsCorrectionAssist() {
-		return true;
-	}
+    @Override
+    public boolean supportsCorrectionAssist() {
+        return true;
+    }
 
-	@Override
-	public boolean supportsHyperlinking() {
-		return true;
-	}
+    @Override
+    public boolean supportsHyperlinking() {
+        return true;
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleManifestOutlinePage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleManifestOutlinePage.java
index dfdc02d..f17fdee 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleManifestOutlinePage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleManifestOutlinePage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.ArrayList;
@@ -43,106 +44,109 @@
  */
 public class BundleManifestOutlinePage extends ManifestOutlinePage {
 
-	public BundleManifestOutlinePage(PDEFormEditor editor) {
-		super(editor);
-	}
+    public BundleManifestOutlinePage(PDEFormEditor editor) {
+        super(editor);
+    }
 
-	@Override
-	protected Object[] getChildren(Object parent) {
-		if (parent instanceof PDEFormPage) {
-			PDEFormPage page = (PDEFormPage) parent;
-			IBundleModel model = getBundleModel(page);
-			if (model != null && model.isValid()) {
-				IBundle bundle = model.getBundle();
-				if (page.getId().equals(BundleDependenciesPage.PAGE_ID)) {
-					ArrayList<Object> list = new ArrayList<Object>();
-					ImportPackageHeader packageHeader = (ImportPackageHeader) bundle.getManifestHeader(Constants.IMPORT_PACKAGE);
-					ImportBundleHeader bundleHeader = (ImportBundleHeader) bundle.getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
-					ImportLibraryHeader libraryHeader = (ImportLibraryHeader) bundle.getManifestHeader(IHeaderConstants.IMPORT_LIBRARY);
+    @Override
+    protected Object[] getChildren(Object parent) {
+        if (parent instanceof PDEFormPage) {
+            PDEFormPage page = (PDEFormPage) parent;
+            IBundleModel model = getBundleModel(page);
+            if (model != null && model.isValid()) {
+                IBundle bundle = model.getBundle();
+                if (page.getId().equals(BundleDependenciesPage.PAGE_ID)) {
+                    ArrayList<Object> list = new ArrayList<Object>();
+                    ImportPackageHeader packageHeader = (ImportPackageHeader) bundle.getManifestHeader(Constants.IMPORT_PACKAGE);
+                    ImportBundleHeader bundleHeader = (ImportBundleHeader) bundle.getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
+                    ImportLibraryHeader libraryHeader = (ImportLibraryHeader) bundle.getManifestHeader(IHeaderConstants.IMPORT_LIBRARY);
 
-					if (packageHeader != null && !packageHeader.isEmpty()) {
-						list.addAll(Arrays.asList(packageHeader.getPackages()));
-					}
-					if (bundleHeader != null && !bundleHeader.isEmpty()) {
-						list.addAll(Arrays.asList(bundleHeader.getImportedBundles()));
-					}
-					if (libraryHeader != null && !libraryHeader.isEmpty()) {
-						list.addAll(Arrays.asList(libraryHeader.getImportedLibraries()));
-					}
-					return list.toArray();
-				}
-			}
-		}
-		return super.getChildren(parent);
-	}
+                    if (packageHeader != null && !packageHeader.isEmpty()) {
+                        list.addAll(Arrays.asList(packageHeader.getPackages()));
+                    }
+                    if (bundleHeader != null && !bundleHeader.isEmpty()) {
+                        list.addAll(Arrays.asList(bundleHeader.getImportedBundles()));
+                    }
+                    if (libraryHeader != null && !libraryHeader.isEmpty()) {
+                        list.addAll(Arrays.asList(libraryHeader.getImportedLibraries()));
+                    }
+                    return list.toArray();
+                }
+            }
+        }
+        return super.getChildren(parent);
+    }
 
-	@Override
-	protected String getParentPageId(Object item) {
-		String pageId = null;
-		if (item instanceof ImportPackageObject || item instanceof ImportBundleObject
-				|| item instanceof ImportLibraryObject) {
-			pageId = BundleDependenciesPage.PAGE_ID;
-		}
-		if (pageId != null) {
-			return pageId;
-		}
-		return super.getParentPageId(item);
-	}
+    @Override
+    protected String getParentPageId(Object item) {
+        String pageId = null;
+        if (item instanceof ImportPackageObject || item instanceof ImportBundleObject || item instanceof ImportLibraryObject) {
+            pageId = BundleDependenciesPage.PAGE_ID;
+        }
+        if (pageId != null) {
+            return pageId;
+        }
+        return super.getParentPageId(item);
+    }
 
-	private IBundleModel getBundleModel(PDEFormPage page) {
-		InputContextManager manager = page.getPDEEditor().getContextManager();
-		if (manager != null) {
-			BundleInputContext context = (BundleInputContext) manager.findContext(BundleInputContext.CONTEXT_ID);
-			if (context != null) {
-				return (IBundleModel) context.getModel();
-			}
-		}
-		return null;
-	}
+    private IBundleModel getBundleModel(PDEFormPage page) {
+        InputContextManager manager = page.getPDEEditor().getContextManager();
+        if (manager != null) {
+            BundleInputContext context = (BundleInputContext) manager.findContext(BundleInputContext.CONTEXT_ID);
+            if (context != null) {
+                return (IBundleModel) context.getModel();
+            }
+        }
+        return null;
+    }
 
-	@Override
-	public ILabelProvider createLabelProvider() {
-		return new BasicLabelProvider() {
-			@Override
-			public String getText(Object obj) {
-				if (obj instanceof ImportLibraryObject) {
-					return ((ImportLibraryObject) obj).getId();
-				} else if (obj instanceof ImportBundleObject) {
-					return ((ImportBundleObject) obj).getId();
-				} else {
-					return super.getText(obj);
-				}
-			}
+    @Override
+    public ILabelProvider createLabelProvider() {
+        return new BasicLabelProvider() {
 
-			@Override
-			public Image getImage(Object obj) {
-				PDELabelProvider labelProvider = PDEPlugin.getDefault().getLabelProvider();
-				if (obj instanceof ImportLibraryObject) {
-					return labelProvider.get(PDEPluginImages.DESC_JAR_LIB_OBJ);
-				} else if (obj instanceof ImportBundleObject) {
-					return labelProvider.get(PDEPluginImages.DESC_BUNDLE_OBJ);
-				} else {
-					return super.getImage(obj);
-				}
-			}
+            @Override
+            public String getText(Object obj) {
+                if (obj instanceof ImportLibraryObject) {
+                    return ((ImportLibraryObject) obj).getId();
+                } else if (obj instanceof ImportBundleObject) {
+                    return ((ImportBundleObject) obj).getId();
+                } else {
+                    return super.getText(obj);
+                }
+            }
 
-		};
-	}
+            @Override
+            public Image getImage(Object obj) {
+                PDELabelProvider labelProvider = PDEPlugin.getDefault().getLabelProvider();
+                if (obj instanceof ImportLibraryObject) {
+                    return labelProvider.get(PDEPluginImages.DESC_JAR_LIB_OBJ);
+                } else if (obj instanceof ImportBundleObject) {
+                    return labelProvider.get(PDEPluginImages.DESC_BUNDLE_OBJ);
+                } else {
+                    return super.getImage(obj);
+                }
+            }
 
-	public class BasicLabelProvider extends LabelProvider {
-		public String getText(Object obj) {
-			if (obj instanceof IFormPage) {
-				return ((IFormPage) obj).getTitle();
-			}
-			return PDEPlugin.getDefault().getLabelProvider().getText(obj);
-		}
+        };
+    }
 
-		public Image getImage(Object obj) {
-			if (obj instanceof IFormPage) {
-				return PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_PAGE_OBJ);
-			}
-			return PDEPlugin.getDefault().getLabelProvider().getImage(obj);
-		}
-	}
+    public class BasicLabelProvider extends LabelProvider {
+
+        @Override
+        public String getText(Object obj) {
+            if (obj instanceof IFormPage) {
+                return ((IFormPage) obj).getTitle();
+            }
+            return PDEPlugin.getDefault().getLabelProvider().getText(obj);
+        }
+
+        @Override
+        public Image getImage(Object obj) {
+            if (obj instanceof IFormPage) {
+                return PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_PAGE_OBJ);
+            }
+            return PDEPlugin.getDefault().getLabelProvider().getImage(obj);
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleOverviewPage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleOverviewPage.java
index 5182e1a..419fcde 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleOverviewPage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleOverviewPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.lang.reflect.InvocationTargetException;
@@ -73,256 +74,250 @@
  */
 public class BundleOverviewPage extends PDEFormPage implements IHyperlinkListener, IBundleManifestSaveListener {
 
-	public static final String PAGE_ID = "bundle_overview"; //$NON-NLS-1$
+    public static final String PAGE_ID = "bundle_overview"; //$NON-NLS-1$
 
-	private BundleGeneralInfoSection fInfoSection;
+    private BundleGeneralInfoSection fInfoSection;
 
-	private static final String BUNDLE_CONTENT_SECTION_TEXT = "<form><p>The content of the bundle is made up of two sections:</p><li style=\"image\" value=\"page\" bindent=\"5\"><a href=\"dependencies\">Dependencies</a>: lists all the bundles required on this bundle's classpath to compile and run.</li><li style=\"image\" value=\"page\" bindent=\"5\"><a href=\"runtime\">Runtime</a>: lists the packages that this bundle exports to other bundles.</li></form>";
+    private static final String BUNDLE_CONTENT_SECTION_TEXT = "<form><p>The content of the bundle is made up of two sections:</p><li style=\"image\" value=\"page\" bindent=\"5\"><a href=\"dependencies\">Dependencies</a>: lists all the bundles required on this bundle's classpath to compile and run.</li><li style=\"image\" value=\"page\" bindent=\"5\"><a href=\"runtime\">Runtime</a>: lists the packages that this bundle exports to other bundles.</li></form>";
 
-	private static final String BUNDLE_ACTION_SECTION_TEXT = "<form><p>Perform common actions on the bundle:</p>"
-			+ "<li style=\"image\" value=\"dependencies\" bindent=\"5\"><a href=\"refreshdependencies\">Refresh Bundle Dependencies</a>: refresh the Bundle Classpath Container to reflect changes in the MANIFEST.MF file.</li>"
-			+ "<li style=\"image\" value=\"export\" bindent=\"5\"><a href=\"exportbundle\">Export Bundle</a>: export the contents of the Bundle to a deployable JAR.</li>"
-			+ "</form>";
+    private static final String BUNDLE_ACTION_SECTION_TEXT = "<form><p>Perform common actions on the bundle:</p>"
+        + "<li style=\"image\" value=\"dependencies\" bindent=\"5\"><a href=\"refreshdependencies\">Refresh Bundle Dependencies</a>: refresh the Bundle Classpath Container to reflect changes in the MANIFEST.MF file.</li>"
+        + "<li style=\"image\" value=\"export\" bindent=\"5\"><a href=\"exportbundle\">Export Bundle</a>: export the contents of the Bundle to a deployable JAR.</li>"
+        + "</form>";
 
-	private static final String MANIFEST_ERRORS = "Overview: Please correct one or more errors in the manifest";
+    private static final String MANIFEST_ERRORS = "Overview: Please correct one or more errors in the manifest";
 
-	protected ScrolledForm form = null;
+    protected ScrolledForm form = null;
 
-	protected IResource resource = null;
+    protected IResource resource = null;
 
-	public BundleOverviewPage(FormEditor editor) {
-		super(editor, PAGE_ID, "Overview");
-	}
+    public BundleOverviewPage(FormEditor editor) {
+        super(editor, PAGE_ID, "Overview");
+    }
 
-	@Override
-	protected void createFormContent(IManagedForm managedForm) {
-		super.createFormContent(managedForm);
-		IPluginModelBase model = (IPluginModelBase) ((BundleManifestEditor) this.getEditor()).getAggregateModel();
-		resource = model.getUnderlyingResource();
-		form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		form.setImage(ServerIdeUiPlugin.getImage("full/obj16/osgi_obj.gif"));
-		form.setText(PDEUIMessages.ManifestEditor_OverviewPage_title);
-		fillBody(managedForm, toolkit);
-		updateFormText();
-	}
+    @Override
+    protected void createFormContent(IManagedForm managedForm) {
+        super.createFormContent(managedForm);
+        IPluginModelBase model = (IPluginModelBase) ((BundleManifestEditor) this.getEditor()).getAggregateModel();
+        this.resource = model.getUnderlyingResource();
+        this.form = managedForm.getForm();
+        FormToolkit toolkit = managedForm.getToolkit();
+        this.form.setImage(ServerIdeUiPlugin.getImage("full/obj16/osgi_obj.gif"));
+        this.form.setText(PDEUIMessages.ManifestEditor_OverviewPage_title);
+        fillBody(managedForm, toolkit);
+        updateFormText();
+    }
 
-	public void manifestSaved() {
-		if (resource != null) {
-			updateFormText();
-		}
-	}
+    public void manifestSaved() {
+        if (this.resource != null) {
+            updateFormText();
+        }
+    }
 
-	protected void updateFormText() {
-		if (resource != null) {
-			try {
-				// Wait for build
-				Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, null);
-				IMarker[] markers = resource.findMarkers(null, true, IResource.DEPTH_ZERO);
-				if (ManifestEditorUtils.hasErrorSeverityMarker(markers)) {
-					form.setText(MANIFEST_ERRORS);
-					form.setImage(ServerIdeUiPlugin.getImage("full/obj16/manifest_error.png"));
-				} else {
-					form.setText(PDEUIMessages.ManifestEditor_OverviewPage_title);
-					form.setImage(ServerIdeUiPlugin.getImage("full/obj16/osgi_obj.gif"));
-				}
-			} catch (OperationCanceledException e) {
-				StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID,
-						"Could not update page title text", e));
-			} catch (InterruptedException e) {
-				StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID,
-						"Could not update page title text", e));
-			} catch (CoreException e) {
-				StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID,
-						"Could not update page title text", e));
-			}
-		}
-	}
+    protected void updateFormText() {
+        if (this.resource != null) {
+            try {
+                // Wait for build
+                Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, null);
+                IMarker[] markers = this.resource.findMarkers(null, true, IResource.DEPTH_ZERO);
+                if (ManifestEditorUtils.hasErrorSeverityMarker(markers)) {
+                    this.form.setText(MANIFEST_ERRORS);
+                    this.form.setImage(ServerIdeUiPlugin.getImage("full/obj16/manifest_error.png"));
+                } else {
+                    this.form.setText(PDEUIMessages.ManifestEditor_OverviewPage_title);
+                    this.form.setImage(ServerIdeUiPlugin.getImage("full/obj16/osgi_obj.gif"));
+                }
+            } catch (OperationCanceledException e) {
+                StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text", e));
+            } catch (InterruptedException e) {
+                StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text", e));
+            } catch (CoreException e) {
+                StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text", e));
+            }
+        }
+    }
 
-	private void fillBody(IManagedForm managedForm, FormToolkit toolkit) {
-		Composite body = managedForm.getForm().getBody();
-		body.setLayout(FormLayoutFactory.createFormTableWrapLayout(true, 2));
+    private void fillBody(IManagedForm managedForm, FormToolkit toolkit) {
+        Composite body = managedForm.getForm().getBody();
+        body.setLayout(FormLayoutFactory.createFormTableWrapLayout(true, 2));
 
-		Composite left = toolkit.createComposite(body);
-		left.setLayout(FormLayoutFactory.createFormPaneTableWrapLayout(false, 1));
-		left.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
-		fInfoSection = new BundleGeneralInfoSection(this, left);
-		managedForm.addPart(fInfoSection);
-		managedForm.addPart(new BundleExecutionEnvironmentSection(this, left));
+        Composite left = toolkit.createComposite(body);
+        left.setLayout(FormLayoutFactory.createFormPaneTableWrapLayout(false, 1));
+        left.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
+        this.fInfoSection = new BundleGeneralInfoSection(this, left);
+        managedForm.addPart(this.fInfoSection);
+        managedForm.addPart(new BundleExecutionEnvironmentSection(this, left));
 
-		Composite right = toolkit.createComposite(body);
-		right.setLayout(FormLayoutFactory.createFormPaneTableWrapLayout(false, 1));
-		right.setLayoutData(new TableWrapData(TableWrapData.FILL));
-		createBundleActionSection(managedForm, right, toolkit);
-		createBundleContentSection(managedForm, right, toolkit);
+        Composite right = toolkit.createComposite(body);
+        right.setLayout(FormLayoutFactory.createFormPaneTableWrapLayout(false, 1));
+        right.setLayoutData(new TableWrapData(TableWrapData.FILL));
+        createBundleActionSection(managedForm, right, toolkit);
+        createBundleContentSection(managedForm, right, toolkit);
 
-	}
+    }
 
-	private void createBundleContentSection(IManagedForm managedForm, Composite parent, FormToolkit toolkit) {
-		String sectionTitle;
-		sectionTitle = "Bundle Content";
-		Section section = createStaticSection(toolkit, parent, sectionTitle);
+    private void createBundleContentSection(IManagedForm managedForm, Composite parent, FormToolkit toolkit) {
+        String sectionTitle;
+        sectionTitle = "Bundle Content";
+        Section section = createStaticSection(toolkit, parent, sectionTitle);
 
-		Composite container = createStaticSectionClient(toolkit, section);
+        Composite container = createStaticSectionClient(toolkit, section);
 
-		FormText text = createClient(container, BUNDLE_CONTENT_SECTION_TEXT, true, toolkit);
-		PDELabelProvider lp = PDEPlugin.getDefault().getLabelProvider();
-		text.setImage("page", lp.get(PDEPluginImages.DESC_PAGE_OBJ, SharedLabelProvider.F_EDIT)); //$NON-NLS-1$
-		text.addHyperlinkListener(this);
-		section.setClient(container);
-	}
+        FormText text = createClient(container, BUNDLE_CONTENT_SECTION_TEXT, true, toolkit);
+        PDELabelProvider lp = PDEPlugin.getDefault().getLabelProvider();
+        text.setImage("page", lp.get(PDEPluginImages.DESC_PAGE_OBJ, SharedLabelProvider.F_EDIT)); //$NON-NLS-1$
+        text.addHyperlinkListener(this);
+        section.setClient(container);
+    }
 
-	private void createBundleActionSection(IManagedForm managedForm, Composite parent, FormToolkit toolkit) {
-		String sectionTitle;
-		sectionTitle = "Bundle Actions";
-		Section section = createStaticSection(toolkit, parent, sectionTitle);
+    private void createBundleActionSection(IManagedForm managedForm, Composite parent, FormToolkit toolkit) {
+        String sectionTitle;
+        sectionTitle = "Bundle Actions";
+        Section section = createStaticSection(toolkit, parent, sectionTitle);
 
-		Composite container = createStaticSectionClient(toolkit, section);
+        Composite container = createStaticSectionClient(toolkit, section);
 
-		FormText noteText = createClient(
-				container,
-				"<form><p>OSGi dependency meta data in the MANIFEST.MF file can automatically be updated based on dependencies expressed in source code artifacts.</p><p>Java source files, Spring XML configuration, JPA persistence.xml and Hibernate .hbm mapping files will be analysed. The process will create Import-Package and Export-Package headers.</p><li style=\"image\" value=\"manifest\" bindent=\"5\"><a href=\"generate\">Update MANIFEST.MF</a>: automatically generate MANIFEST.MF file based on dependencies in source code artifacts.</li></form>",
-				true, toolkit);
-		noteText.setImage("manifest", ServerIdeUiPlugin.getImage("full/obj16/osgi_obj.gif")); //$NON-NLS-1$
-		noteText.addHyperlinkListener(this);
+        FormText noteText = createClient(container,
+            "<form><p>OSGi dependency meta data in the MANIFEST.MF file can automatically be updated based on dependencies expressed in source code artifacts.</p><p>Java source files, Spring XML configuration, JPA persistence.xml and Hibernate .hbm mapping files will be analysed. The process will create Import-Package and Export-Package headers.</p><li style=\"image\" value=\"manifest\" bindent=\"5\"><a href=\"generate\">Update MANIFEST.MF</a>: automatically generate MANIFEST.MF file based on dependencies in source code artifacts.</li></form>",
+            true, toolkit);
+        noteText.setImage("manifest", ServerIdeUiPlugin.getImage("full/obj16/osgi_obj.gif")); //$NON-NLS-1$
+        noteText.addHyperlinkListener(this);
 
-		Button button = toolkit.createButton(container, "Automatically update MANIFEST.MF file in background.",
-				SWT.CHECK);
-		button.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				IRunnableWithProgress op = new WorkspaceModifyOperation() {
-					@Override
-					protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException {
-						IProject project = resource.getProject();
-						IProjectDescription description = project.getDescription();
-						try {
-							List<ICommand> cmds = Arrays.asList(description.getBuildSpec());
-							List<ICommand> newCmds = new ArrayList<ICommand>(cmds);
-							if (BundlorUiPlugin.isBundlorBuilding(project)) {
-								for (ICommand config : cmds) {
-									if (config.getBuilderName().equals(BundlorCorePlugin.BUILDER_ID)) {
-										newCmds.remove(config);
-									}
-								}
-							} else {
-								ICommand command = project.getDescription().newCommand();
-								command.setBuilderName(BundlorCorePlugin.BUILDER_ID);
-								newCmds.add(command);
-							}
-							if (!cmds.equals(newCmds)) {
-								description.setBuildSpec(newCmds.toArray(new ICommand[] {}));
-								project.setDescription(description, monitor);
-							}
-						} catch (CoreException e1) {
-						}
-					}
-				};
-				try {
-					PlatformUI.getWorkbench()
-							.getProgressService()
-							.runInUI(PDEPlugin.getActiveWorkbenchWindow(), op, PDEPlugin.getWorkspace().getRoot());
-				} catch (InvocationTargetException e1) {
-				} catch (InterruptedException e1) {
-				}
+        Button button = toolkit.createButton(container, "Automatically update MANIFEST.MF file in background.", SWT.CHECK);
+        button.addSelectionListener(new SelectionAdapter() {
 
-			}
-		});
-		TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
-		data.indent = 5;
-		button.setLayoutData(data);
-		boolean building = resource != null && BundlorUiPlugin.isBundlorBuilding(resource.getProject());
-		button.setSelection(building);
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                IRunnableWithProgress op = new WorkspaceModifyOperation() {
 
-		toolkit.createLabel(container, "");
+                    @Override
+                    protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException {
+                        IProject project = BundleOverviewPage.this.resource.getProject();
+                        IProjectDescription description = project.getDescription();
+                        try {
+                            List<ICommand> cmds = Arrays.asList(description.getBuildSpec());
+                            List<ICommand> newCmds = new ArrayList<ICommand>(cmds);
+                            if (BundlorUiPlugin.isBundlorBuilding(project)) {
+                                for (ICommand config : cmds) {
+                                    if (config.getBuilderName().equals(BundlorCorePlugin.BUILDER_ID)) {
+                                        newCmds.remove(config);
+                                    }
+                                }
+                            } else {
+                                ICommand command = project.getDescription().newCommand();
+                                command.setBuilderName(BundlorCorePlugin.BUILDER_ID);
+                                newCmds.add(command);
+                            }
+                            if (!cmds.equals(newCmds)) {
+                                description.setBuildSpec(newCmds.toArray(new ICommand[] {}));
+                                project.setDescription(description, monitor);
+                            }
+                        } catch (CoreException e1) {
+                        }
+                    }
+                };
+                try {
+                    PlatformUI.getWorkbench().getProgressService().runInUI(PDEPlugin.getActiveWorkbenchWindow(), op,
+                        PDEPlugin.getWorkspace().getRoot());
+                } catch (InvocationTargetException e1) {
+                } catch (InterruptedException e1) {
+                }
 
-		FormText text = createClient(container, BUNDLE_ACTION_SECTION_TEXT, true, toolkit);
-		PDELabelProvider lp = PDEPlugin.getDefault().getLabelProvider();
-		text.setImage("page", lp.get(PDEPluginImages.DESC_PAGE_OBJ, SharedLabelProvider.F_EDIT)); //$NON-NLS-1$
-		text.setImage(
-				"dependencies", JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_EXTERNAL_ARCHIVE_WITH_SOURCE)); //$NON-NLS-1$
-		//TODO Replace these with appropriate images as needed. MTP
-		//text.setImage("export", BeansGraphImages.getImage(BeansGraphImages.IMG_OBJS_EXPORT_ENABLED));
-		text.addHyperlinkListener(this);
+            }
+        });
+        TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
+        data.indent = 5;
+        button.setLayoutData(data);
+        boolean building = this.resource != null && BundlorUiPlugin.isBundlorBuilding(this.resource.getProject());
+        button.setSelection(building);
 
-		section.setClient(container);
-	}
+        toolkit.createLabel(container, "");
 
-	protected final Section createStaticSection(FormToolkit toolkit, Composite parent, String text) {
-		Section section = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR);
-		section.clientVerticalSpacing = FormLayoutFactory.SECTION_HEADER_VERTICAL_SPACING;
-		section.setText(text);
-		section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1));
-		TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
-		section.setLayoutData(data);
-		return section;
-	}
+        FormText text = createClient(container, BUNDLE_ACTION_SECTION_TEXT, true, toolkit);
+        PDELabelProvider lp = PDEPlugin.getDefault().getLabelProvider();
+        text.setImage("page", lp.get(PDEPluginImages.DESC_PAGE_OBJ, SharedLabelProvider.F_EDIT)); //$NON-NLS-1$
+        text.setImage("dependencies", JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_EXTERNAL_ARCHIVE_WITH_SOURCE)); //$NON-NLS-1$
+        // TODO Replace these with appropriate images as needed. MTP
+        // text.setImage("export", BeansGraphImages.getImage(BeansGraphImages.IMG_OBJS_EXPORT_ENABLED));
+        text.addHyperlinkListener(this);
 
-	protected Composite createStaticSectionClient(FormToolkit toolkit, Composite parent) {
-		Composite container = toolkit.createComposite(parent, SWT.NONE);
-		container.setLayout(FormLayoutFactory.createSectionClientTableWrapLayout(false, 1));
-		TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
-		container.setLayoutData(data);
-		return container;
-	}
+        section.setClient(container);
+    }
 
-	protected final FormText createClient(Composite section, String content, boolean parseTags, FormToolkit toolkit) {
-		FormText text = toolkit.createFormText(section, true);
-		try {
-			text.setText(content, parseTags, false);
-		} catch (SWTException e) {
-			text.setText(e.getMessage(), false, false);
-		}
-		return text;
-	}
+    protected final Section createStaticSection(FormToolkit toolkit, Composite parent, String text) {
+        Section section = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR);
+        section.clientVerticalSpacing = FormLayoutFactory.SECTION_HEADER_VERTICAL_SPACING;
+        section.setText(text);
+        section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1));
+        TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
+        section.setLayoutData(data);
+        return section;
+    }
 
-	public void linkActivated(HyperlinkEvent e) {
-		if (e.getHref().equals("dependencies")) {
-			getEditor().setActivePage(BundleDependenciesPage.PAGE_ID);
-		} else if (e.getHref().equals("runtime")) {
-			getEditor().setActivePage(BundleRuntimePage.PAGE_ID);
-		} else if (e.getHref().equals("refreshdependencies")) {
-			IRunnableWithProgress op = new WorkspaceModifyOperation() {
-				@Override
-				protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException {
-					ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(
-							JavaCore.create(resource.getProject()), BundleManifestManager.IMPORTS_CHANGED);
-				}
-			};
-			try {
-				PlatformUI.getWorkbench()
-						.getProgressService()
-						.runInUI(PDEPlugin.getActiveWorkbenchWindow(), op, PDEPlugin.getWorkspace().getRoot());
-			} catch (InvocationTargetException e1) {
-			} catch (InterruptedException e1) {
-			}
-		} else if (e.getHref().equals("generate")) {
-			BundlorUiPlugin.runBundlorOnProject(JavaCore.create(resource.getProject()));
-		} else if (e.getHref().equals("exportbundle")) {
-			Display.getDefault().asyncExec(new Runnable() {
+    protected Composite createStaticSectionClient(FormToolkit toolkit, Composite parent) {
+        Composite container = toolkit.createComposite(parent, SWT.NONE);
+        container.setLayout(FormLayoutFactory.createSectionClientTableWrapLayout(false, 1));
+        TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
+        container.setLayoutData(data);
+        return container;
+    }
 
-				public void run() {
-					BundleExportWizard wizard = new BundleExportWizard();
-					WizardDialog dialog = new WizardDialog(Display.getDefault().getActiveShell(), wizard);
-					wizard.init(PlatformUI.getWorkbench(),
-							new StructuredSelection(new Object[] { JavaCore.create(resource.getProject()) }));
-					dialog.open();
-				}
-			});
-		}
-	}
+    protected final FormText createClient(Composite section, String content, boolean parseTags, FormToolkit toolkit) {
+        FormText text = toolkit.createFormText(section, true);
+        try {
+            text.setText(content, parseTags, false);
+        } catch (SWTException e) {
+            text.setText(e.getMessage(), false, false);
+        }
+        return text;
+    }
 
-	public void linkEntered(HyperlinkEvent e) {
-		// Nothing to do
-	}
+    public void linkActivated(HyperlinkEvent e) {
+        if (e.getHref().equals("dependencies")) {
+            getEditor().setActivePage(BundleDependenciesPage.PAGE_ID);
+        } else if (e.getHref().equals("runtime")) {
+            getEditor().setActivePage(BundleRuntimePage.PAGE_ID);
+        } else if (e.getHref().equals("refreshdependencies")) {
+            IRunnableWithProgress op = new WorkspaceModifyOperation() {
 
-	public void linkExited(HyperlinkEvent e) {
-		// Nothing to do
-	}
+                @Override
+                protected void execute(IProgressMonitor monitor) throws CoreException, InterruptedException {
+                    ServerClasspathContainerUpdateJob.scheduleClasspathContainerUpdateJob(
+                        JavaCore.create(BundleOverviewPage.this.resource.getProject()), BundleManifestManager.IMPORTS_CHANGED);
+                }
+            };
+            try {
+                PlatformUI.getWorkbench().getProgressService().runInUI(PDEPlugin.getActiveWorkbenchWindow(), op, PDEPlugin.getWorkspace().getRoot());
+            } catch (InvocationTargetException e1) {
+            } catch (InterruptedException e1) {
+            }
+        } else if (e.getHref().equals("generate")) {
+            BundlorUiPlugin.runBundlorOnProject(JavaCore.create(this.resource.getProject()));
+        } else if (e.getHref().equals("exportbundle")) {
+            Display.getDefault().asyncExec(new Runnable() {
 
-	/** For JUnit testing only * */
-	public BundleGeneralInfoSection getBundleGeneralInfoSection() {
-		return this.fInfoSection;
-	}
+                public void run() {
+                    BundleExportWizard wizard = new BundleExportWizard();
+                    WizardDialog dialog = new WizardDialog(Display.getDefault().getActiveShell(), wizard);
+                    wizard.init(PlatformUI.getWorkbench(),
+                        new StructuredSelection(new Object[] { JavaCore.create(BundleOverviewPage.this.resource.getProject()) }));
+                    dialog.open();
+                }
+            });
+        }
+    }
+
+    public void linkEntered(HyperlinkEvent e) {
+        // Nothing to do
+    }
+
+    public void linkExited(HyperlinkEvent e) {
+        // Nothing to do
+    }
+
+    /** For JUnit testing only * */
+    public BundleGeneralInfoSection getBundleGeneralInfoSection() {
+        return this.fInfoSection;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleQuickAssistAssistant.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleQuickAssistAssistant.java
index efe90ff..038e28f 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleQuickAssistAssistant.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleQuickAssistAssistant.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.ArrayList;
@@ -40,142 +41,142 @@
  */
 public class BundleQuickAssistAssistant extends QuickAssistAssistant {
 
-	private final Image createImage;
+    private final Image createImage;
 
-	private final Image renameImage;
+    private final Image renameImage;
 
-	private final Image removeImage;
+    private final Image removeImage;
 
-	class BundleCompletionProposal implements ICompletionProposal {
+    class BundleCompletionProposal implements ICompletionProposal {
 
-		Position position;
+        Position position;
 
-		IMarkerResolution resolution;
+        IMarkerResolution resolution;
 
-		IMarker marker;
+        IMarker marker;
 
-		public BundleCompletionProposal(IMarkerResolution resolution, Position pos, IMarker marker) {
-			position = pos;
-			this.resolution = resolution;
-			this.marker = marker;
-		}
+        public BundleCompletionProposal(IMarkerResolution resolution, Position pos, IMarker marker) {
+            this.position = pos;
+            this.resolution = resolution;
+            this.marker = marker;
+        }
 
-		public void apply(IDocument document) {
-			resolution.run(marker);
-		}
+        public void apply(IDocument document) {
+            this.resolution.run(this.marker);
+        }
 
-		public Point getSelection(IDocument document) {
-			return new Point(position.offset, 0);
-		}
+        public Point getSelection(IDocument document) {
+            return new Point(this.position.offset, 0);
+        }
 
-		public String getAdditionalProposalInfo() {
-			if (resolution instanceof AbstractPDEMarkerResolution) {
-				return ((AbstractPDEMarkerResolution) resolution).getDescription();
-			}
-			return null;
-		}
+        public String getAdditionalProposalInfo() {
+            if (this.resolution instanceof AbstractPDEMarkerResolution) {
+                return ((AbstractPDEMarkerResolution) this.resolution).getDescription();
+            }
+            return null;
+        }
 
-		public String getDisplayString() {
-			return resolution.getLabel();
-		}
+        public String getDisplayString() {
+            return this.resolution.getLabel();
+        }
 
-		public Image getImage() {
-			if (resolution instanceof AbstractPDEMarkerResolution) {
-				switch (((AbstractPDEMarkerResolution) resolution).getType()) {
-				case AbstractPDEMarkerResolution.CREATE_TYPE:
-					return createImage;
-				case AbstractPDEMarkerResolution.REMOVE_TYPE:
-					return removeImage;
-				case AbstractPDEMarkerResolution.RENAME_TYPE:
-					return renameImage;
-				}
-			}
-			return null;
-		}
+        public Image getImage() {
+            if (this.resolution instanceof AbstractPDEMarkerResolution) {
+                switch (((AbstractPDEMarkerResolution) this.resolution).getType()) {
+                    case AbstractPDEMarkerResolution.CREATE_TYPE:
+                        return BundleQuickAssistAssistant.this.createImage;
+                    case AbstractPDEMarkerResolution.REMOVE_TYPE:
+                        return BundleQuickAssistAssistant.this.removeImage;
+                    case AbstractPDEMarkerResolution.RENAME_TYPE:
+                        return BundleQuickAssistAssistant.this.renameImage;
+                }
+            }
+            return null;
+        }
 
-		public IContextInformation getContextInformation() {
-			return null;
-		}
+        public IContextInformation getContextInformation() {
+            return null;
+        }
 
-	}
+    }
 
-	class BundleQuickAssistProcessor implements IQuickAssistProcessor {
+    class BundleQuickAssistProcessor implements IQuickAssistProcessor {
 
-		Map<IMarker, IMarkerResolution[]> resolutionMap = new HashMap<IMarker, IMarkerResolution[]>();
+        Map<IMarker, IMarkerResolution[]> resolutionMap = new HashMap<IMarker, IMarkerResolution[]>();
 
-		public String getErrorMessage() {
-			return null;
-		}
+        public String getErrorMessage() {
+            return null;
+        }
 
-		public boolean canFix(Annotation annotation) {
-			if (!(annotation instanceof MarkerAnnotation)) {
-				return false;
-			}
-			IMarker marker = ((MarkerAnnotation) annotation).getMarker();
-			IMarkerResolution[] resolutions = IDE.getMarkerHelpRegistry().getResolutions(marker);
-			boolean canFix = resolutions.length > 0;
-			if (canFix) {
-				if (!resolutionMap.containsKey(marker)) {
-					resolutionMap.put(marker, resolutions);
-				}
-			}
-			return canFix;
-		}
+        public boolean canFix(Annotation annotation) {
+            if (!(annotation instanceof MarkerAnnotation)) {
+                return false;
+            }
+            IMarker marker = ((MarkerAnnotation) annotation).getMarker();
+            IMarkerResolution[] resolutions = IDE.getMarkerHelpRegistry().getResolutions(marker);
+            boolean canFix = resolutions.length > 0;
+            if (canFix) {
+                if (!this.resolutionMap.containsKey(marker)) {
+                    this.resolutionMap.put(marker, resolutions);
+                }
+            }
+            return canFix;
+        }
 
-		public boolean canAssist(IQuickAssistInvocationContext invocationContext) {
-			return false;
-		}
+        public boolean canAssist(IQuickAssistInvocationContext invocationContext) {
+            return false;
+        }
 
-		public ICompletionProposal[] computeQuickAssistProposals(IQuickAssistInvocationContext invocationContext) {
-			IAnnotationModel amodel = invocationContext.getSourceViewer().getAnnotationModel();
-			IDocument doc = invocationContext.getSourceViewer().getDocument();
+        public ICompletionProposal[] computeQuickAssistProposals(IQuickAssistInvocationContext invocationContext) {
+            IAnnotationModel amodel = invocationContext.getSourceViewer().getAnnotationModel();
+            IDocument doc = invocationContext.getSourceViewer().getDocument();
 
-			int offset = invocationContext.getOffset();
-			Iterator<?> it = amodel.getAnnotationIterator();
-			List<BundleCompletionProposal> list = new ArrayList<BundleCompletionProposal>();
-			while (it.hasNext()) {
-				Object key = it.next();
-				if (!(key instanceof MarkerAnnotation)) {
-					continue;
-				}
+            int offset = invocationContext.getOffset();
+            Iterator<?> it = amodel.getAnnotationIterator();
+            List<BundleCompletionProposal> list = new ArrayList<BundleCompletionProposal>();
+            while (it.hasNext()) {
+                Object key = it.next();
+                if (!(key instanceof MarkerAnnotation)) {
+                    continue;
+                }
 
-				MarkerAnnotation annotation = (MarkerAnnotation) key;
-				IMarker marker = annotation.getMarker();
+                MarkerAnnotation annotation = (MarkerAnnotation) key;
+                IMarker marker = annotation.getMarker();
 
-				IMarkerResolution[] mapping = resolutionMap.get(marker);
-				if (mapping != null) {
-					Position pos = amodel.getPosition(annotation);
-					try {
-						int line = doc.getLineOfOffset(pos.getOffset());
-						int start = pos.getOffset();
-						String delim = doc.getLineDelimiter(line);
-						int delimLength = delim != null ? delim.length() : 0;
-						int end = doc.getLineLength(line) + start - delimLength;
-						if (offset >= start && offset <= end) {
-							for (IMarkerResolution element : mapping) {
-								list.add(new BundleCompletionProposal(element, pos, marker));
-							}
-						}
-					} catch (BadLocationException e) {
-					}
+                IMarkerResolution[] mapping = this.resolutionMap.get(marker);
+                if (mapping != null) {
+                    Position pos = amodel.getPosition(annotation);
+                    try {
+                        int line = doc.getLineOfOffset(pos.getOffset());
+                        int start = pos.getOffset();
+                        String delim = doc.getLineDelimiter(line);
+                        int delimLength = delim != null ? delim.length() : 0;
+                        int end = doc.getLineLength(line) + start - delimLength;
+                        if (offset >= start && offset <= end) {
+                            for (IMarkerResolution element : mapping) {
+                                list.add(new BundleCompletionProposal(element, pos, marker));
+                            }
+                        }
+                    } catch (BadLocationException e) {
+                    }
 
-				}
-			}
-			return list.toArray(new ICompletionProposal[list.size()]);
-		}
-	}
+                }
+            }
+            return list.toArray(new ICompletionProposal[list.size()]);
+        }
+    }
 
-	public BundleQuickAssistAssistant() {
-		setQuickAssistProcessor(new BundleQuickAssistProcessor());
-		createImage = PDEPluginImages.DESC_ADD_ATT.createImage();
-		removeImage = PDEPluginImages.DESC_DELETE.createImage();
-		renameImage = PDEPluginImages.DESC_REFRESH.createImage();
-	}
+    public BundleQuickAssistAssistant() {
+        setQuickAssistProcessor(new BundleQuickAssistProcessor());
+        this.createImage = PDEPluginImages.DESC_ADD_ATT.createImage();
+        this.removeImage = PDEPluginImages.DESC_DELETE.createImage();
+        this.renameImage = PDEPluginImages.DESC_REFRESH.createImage();
+    }
 
-	public void dispose() {
-		createImage.dispose();
-		removeImage.dispose();
-		renameImage.dispose();
-	}
+    public void dispose() {
+        this.createImage.dispose();
+        this.removeImage.dispose();
+        this.renameImage.dispose();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleRuntimePage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleRuntimePage.java
index 7e51097..26c2c72 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleRuntimePage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleRuntimePage.java
@@ -8,12 +8,14 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.OperationCanceledException;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
@@ -38,92 +40,89 @@
  */
 public class BundleRuntimePage extends PDEFormPage implements IBundleManifestSaveListener {
 
-	public static final String PAGE_ID = "bundle_runtime"; //$NON-NLS-1$
+    public static final String PAGE_ID = "bundle_runtime"; //$NON-NLS-1$
 
-	private BundleExportPackageSection bundleExportPackageSection = null;
+    private BundleExportPackageSection bundleExportPackageSection = null;
 
-	private BundleLibrarySection bundleLibrarySection = null;
+    private BundleLibrarySection bundleLibrarySection = null;
 
-	protected ScrolledForm form = null;
+    protected ScrolledForm form = null;
 
-	protected IResource resource = null;
+    protected IResource resource = null;
 
-	private static final String MANIFEST_ERRORS = "Runtime: Please correct one or more errors in the manifest";
+    private static final String MANIFEST_ERRORS = "Runtime: Please correct one or more errors in the manifest";
 
-	public BundleRuntimePage(FormEditor editor) {
-		super(editor, PAGE_ID, PDEUIMessages.RuntimePage_tabName);
-	}
+    public BundleRuntimePage(FormEditor editor) {
+        super(editor, PAGE_ID, PDEUIMessages.RuntimePage_tabName);
+    }
 
-	@Override
-	protected void createFormContent(IManagedForm mform) {
-		super.createFormContent(mform);
-		form = mform.getForm();
-		form.setImage(PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_JAVA_LIB_OBJ));
-		form.setText(PDEUIMessages.ManifestEditor_RuntimeForm_title);
+    @Override
+    protected void createFormContent(IManagedForm mform) {
+        super.createFormContent(mform);
+        this.form = mform.getForm();
+        this.form.setImage(PDEPlugin.getDefault().getLabelProvider().get(PDEPluginImages.DESC_JAVA_LIB_OBJ));
+        this.form.setText(PDEUIMessages.ManifestEditor_RuntimeForm_title);
 
-		Composite body = form.getBody();
-		body.setLayout(FormLayoutFactory.createFormGridLayout(true, 2));
-		Composite left, right;
-		FormToolkit toolkit = mform.getToolkit();
-		left = toolkit.createComposite(body, SWT.NONE);
-		left.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
-		left.setLayoutData(new GridData(GridData.FILL_BOTH));
-		right = toolkit.createComposite(body, SWT.NONE);
-		right.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
-		right.setLayoutData(new GridData(GridData.FILL_BOTH));
+        Composite body = this.form.getBody();
+        body.setLayout(FormLayoutFactory.createFormGridLayout(true, 2));
+        Composite left, right;
+        FormToolkit toolkit = mform.getToolkit();
+        left = toolkit.createComposite(body, SWT.NONE);
+        left.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
+        left.setLayoutData(new GridData(GridData.FILL_BOTH));
+        right = toolkit.createComposite(body, SWT.NONE);
+        right.setLayout(FormLayoutFactory.createFormPaneGridLayout(false, 1));
+        right.setLayoutData(new GridData(GridData.FILL_BOTH));
 
-		bundleExportPackageSection = new BundleExportPackageSection(this, left);
-		bundleLibrarySection = new BundleLibrarySection(this, right);
+        this.bundleExportPackageSection = new BundleExportPackageSection(this, left);
+        this.bundleLibrarySection = new BundleLibrarySection(this, right);
 
-		mform.addPart(bundleExportPackageSection);
-		mform.addPart(bundleLibrarySection);
+        mform.addPart(this.bundleExportPackageSection);
+        mform.addPart(this.bundleLibrarySection);
 
-		IPluginModelBase model = (IPluginModelBase) ((BundleManifestEditor) this.getEditor()).getAggregateModel();
-		resource = model.getUnderlyingResource();
-		updateFormText();
-	}
+        IPluginModelBase model = (IPluginModelBase) ((BundleManifestEditor) this.getEditor()).getAggregateModel();
+        this.resource = model.getUnderlyingResource();
+        updateFormText();
+    }
 
-	public void manifestSaved() {
-		if (resource != null) {
-			updateFormText();
-		}
-	}
+    public void manifestSaved() {
+        if (this.resource != null) {
+            updateFormText();
+        }
+    }
 
-	protected void updateFormText() {
-		try {
-			// Wait for build
-			Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, null);
-		} catch (OperationCanceledException e) {
-			StatusHandler.log(new Status(Status.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text",
-					e));
-		} catch (InterruptedException e) {
-			StatusHandler.log(new Status(Status.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text",
-					e));
-		}
+    protected void updateFormText() {
+        try {
+            // Wait for build
+            Job.getJobManager().join(ResourcesPlugin.FAMILY_AUTO_BUILD, null);
+        } catch (OperationCanceledException e) {
+            StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text", e));
+        } catch (InterruptedException e) {
+            StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text", e));
+        }
 
-		try {
-			if (resource != null) {
-				IMarker[] markers = resource.findMarkers(null, true, IResource.DEPTH_ZERO);
-				if (ManifestEditorUtils.hasErrorSeverityMarker(markers)) {
-					form.setText(MANIFEST_ERRORS);
-					form.setImage(ServerIdeUiPlugin.getImage("full/obj16/manifest_error.png"));
-				} else {
-					form.setText(PDEUIMessages.ManifestEditor_RuntimeForm_title);
-					form.setImage(ServerIdeUiPlugin.getImage("full/obj16/osgi_obj.gif"));
-				}
-			}
-		} catch (CoreException e) {
-			StatusHandler.log(new Status(Status.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text",
-					e));
-		}
-	}
+        try {
+            if (this.resource != null) {
+                IMarker[] markers = this.resource.findMarkers(null, true, IResource.DEPTH_ZERO);
+                if (ManifestEditorUtils.hasErrorSeverityMarker(markers)) {
+                    this.form.setText(MANIFEST_ERRORS);
+                    this.form.setImage(ServerIdeUiPlugin.getImage("full/obj16/manifest_error.png"));
+                } else {
+                    this.form.setText(PDEUIMessages.ManifestEditor_RuntimeForm_title);
+                    this.form.setImage(ServerIdeUiPlugin.getImage("full/obj16/osgi_obj.gif"));
+                }
+            }
+        } catch (CoreException e) {
+            StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Could not update page title text", e));
+        }
+    }
 
-	public BundleExportPackageSection getBundleExportPackageSection() {
-		return this.bundleExportPackageSection;
-	}
+    public BundleExportPackageSection getBundleExportPackageSection() {
+        return this.bundleExportPackageSection;
+    }
 
-	public BundleLibrarySection getBundleLibrarySection() {
-		return this.bundleLibrarySection;
-	}
+    public BundleLibrarySection getBundleLibrarySection() {
+        return this.bundleLibrarySection;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/IBundleManifestSaveListener.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/IBundleManifestSaveListener.java
index 58e3eed..71b7d92 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/IBundleManifestSaveListener.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/IBundleManifestSaveListener.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 /**
@@ -15,7 +16,7 @@
  */
 public interface IBundleManifestSaveListener {
 
-	/** Called to indicate that the manifest editor has been saved */
-	void manifestSaved();
+    /** Called to indicate that the manifest editor has been saved */
+    void manifestSaved();
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ManifestEditorUtils.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ManifestEditorUtils.java
index db9d20c..a9f7423 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ManifestEditorUtils.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ManifestEditorUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.HashMap;
@@ -24,44 +25,43 @@
  */
 public class ManifestEditorUtils {
 
-	/**
-	 * Returns a collection of downloadable artifacts where only the latest versions are included.
-	 */
-	public static void removeOldVersions(Set<Artefact> bundles) {
-		Map<String, Artefact> symbolicNameToHighestVersionMap = new HashMap<String, Artefact>(bundles.size());
+    /**
+     * Returns a collection of downloadable artifacts where only the latest versions are included.
+     */
+    public static void removeOldVersions(Set<Artefact> bundles) {
+        Map<String, Artefact> symbolicNameToHighestVersionMap = new HashMap<String, Artefact>(bundles.size());
 
-		Set<Artefact> oldArtifacts = new HashSet<Artefact>();
+        Set<Artefact> oldArtifacts = new HashSet<Artefact>();
 
-		for (Artefact currArtifactDefinition : bundles) {
-			Artefact mappedArtifact = symbolicNameToHighestVersionMap.get(currArtifactDefinition.getSymbolicName());
-			if (mappedArtifact == null) {
-				symbolicNameToHighestVersionMap.put(currArtifactDefinition.getSymbolicName(), currArtifactDefinition);
-			} else {
-				if (currArtifactDefinition.getVersion().compareTo(mappedArtifact.getVersion()) <= 0) {
-					oldArtifacts.add(currArtifactDefinition);
-				} else {
-					oldArtifacts.add(mappedArtifact);
-					symbolicNameToHighestVersionMap.put(currArtifactDefinition.getSymbolicName(),
-							currArtifactDefinition);
-				}
-			}
-		}
+        for (Artefact currArtifactDefinition : bundles) {
+            Artefact mappedArtifact = symbolicNameToHighestVersionMap.get(currArtifactDefinition.getSymbolicName());
+            if (mappedArtifact == null) {
+                symbolicNameToHighestVersionMap.put(currArtifactDefinition.getSymbolicName(), currArtifactDefinition);
+            } else {
+                if (currArtifactDefinition.getVersion().compareTo(mappedArtifact.getVersion()) <= 0) {
+                    oldArtifacts.add(currArtifactDefinition);
+                } else {
+                    oldArtifacts.add(mappedArtifact);
+                    symbolicNameToHighestVersionMap.put(currArtifactDefinition.getSymbolicName(), currArtifactDefinition);
+                }
+            }
+        }
 
-		bundles.removeAll(oldArtifacts);
-	}
+        bundles.removeAll(oldArtifacts);
+    }
 
-	/**
-	 * Returns true if the array contains a marker where the severity is ERROR.
-	 */
-	public static boolean hasErrorSeverityMarker(IMarker[] markers) throws CoreException {
+    /**
+     * Returns true if the array contains a marker where the severity is ERROR.
+     */
+    public static boolean hasErrorSeverityMarker(IMarker[] markers) throws CoreException {
 
-		for (IMarker currMarker : markers) {
-			Integer severity = (Integer) currMarker.getAttribute("severity");
-			if (severity != null && severity.intValue() == 2) {
-				return true;
-			}
-		}
-		return false;
-	}
+        for (IMarker currMarker : markers) {
+            Integer severity = (Integer) currMarker.getAttribute("severity");
+            if (severity != null && severity.intValue() == 2) {
+                return true;
+            }
+        }
+        return false;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParDependenciesSection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParDependenciesSection.java
index 66d098a..f68d803 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParDependenciesSection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParDependenciesSection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.ArrayList;
@@ -38,113 +39,111 @@
  */
 public class ParDependenciesSection extends DependenciesSection {
 
-	private final ParXmlEditorPage page;
+    private final ParXmlEditorPage page;
 
-	private Par par;
+    private Par par;
 
-	public ParDependenciesSection(ParXmlEditorPage page, Composite parent, String[] buttonLabels) {
-		super(page, parent, buttonLabels);
-		this.page = page;
-		initialize();
-		getSection().setText("Nested Bundles");
-		getSection().setDescription("Add or remove bundle dependencies to the PAR.");
-	}
+    public ParDependenciesSection(ParXmlEditorPage page, Composite parent, String[] buttonLabels) {
+        super(page, parent, buttonLabels);
+        this.page = page;
+        initialize();
+        getSection().setText("Nested Bundles");
+        getSection().setDescription("Add or remove bundle dependencies to the PAR.");
+    }
 
-	@Override
-	protected void enableButtons() {
-		if (getTableViewer() != null) {
-			Object[] selected = ((IStructuredSelection) getTableViewer().getSelection()).toArray();
-			int size = selected.length;
-			TablePart tablePart = getTablePart();
-			tablePart.setButtonEnabled(getRemoveIndex(), size > 0);
-		}
-	}
+    @Override
+    protected void enableButtons() {
+        if (getTableViewer() != null) {
+            Object[] selected = ((IStructuredSelection) getTableViewer().getSelection()).toArray();
+            int size = selected.length;
+            TablePart tablePart = getTablePart();
+            tablePart.setButtonEnabled(getRemoveIndex(), size > 0);
+        }
+    }
 
-	@Override
-	protected void entryModified(Object entry, String value) {
-		// TODO Auto-generated method stub
+    @Override
+    protected void entryModified(Object entry, String value) {
+        // TODO Auto-generated method stub
 
-	}
+    }
 
-	@Override
-	protected void handleAdd() {
-		// get list of facet projects that are not in the model
-		List<IProject> facetProjects = new ArrayList<IProject>(Arrays.asList(FacetUtils.getBundleProjects()));
-		for (Iterator<IProject> it = facetProjects.iterator(); it.hasNext();) {
-			IProject workspaceProject = it.next();
-			for (Bundle bundle : par.getBundle()) {
-				if (bundle.getSymbolicName() != null
-						&& bundle.getSymbolicName().equals(ParUtils.getSymbolicName(workspaceProject))) {
-					it.remove();
-					break;
-				}
-			}
-		}
+    @Override
+    protected void handleAdd() {
+        // get list of facet projects that are not in the model
+        List<IProject> facetProjects = new ArrayList<IProject>(Arrays.asList(FacetUtils.getBundleProjects()));
+        for (Iterator<IProject> it = facetProjects.iterator(); it.hasNext();) {
+            IProject workspaceProject = it.next();
+            for (Bundle bundle : this.par.getBundle()) {
+                if (bundle.getSymbolicName() != null && bundle.getSymbolicName().equals(ParUtils.getSymbolicName(workspaceProject))) {
+                    it.remove();
+                    break;
+                }
+            }
+        }
 
-		ProjectSelectionDialog dialog = new ProjectSelectionDialog(getSection().getShell());
-		dialog.setElements(facetProjects.toArray(new IProject[0]));
+        ProjectSelectionDialog dialog = new ProjectSelectionDialog(getSection().getShell());
+        dialog.setElements(facetProjects.toArray(new IProject[0]));
 
-		if (dialog.open() == Window.OK) {
-			// add selected facet projects to the model
-			IProject[] workspaceProjects = dialog.getSelectedProjects();
-			for (IProject workspaceProject : workspaceProjects) {
-				Collection<?> newChildDescriptors = page.getModel().getNewChildDescriptors(par, null);
-				Object descriptor = newChildDescriptors.iterator().next();
-				Command command = CreateChildCommand.create(page.getModel(), par, descriptor,
-						Collections.singleton(par));
-				page.getModel().getCommandStack().execute(command);
-				if (command.getResult() != null && !command.getResult().isEmpty()) {
-					Bundle project = (Bundle) command.getResult().iterator().next();
-					project.setSymbolicName(ParUtils.getSymbolicName(workspaceProject));
-				}
-			}
-		}
-	}
+        if (dialog.open() == Window.OK) {
+            // add selected facet projects to the model
+            IProject[] workspaceProjects = dialog.getSelectedProjects();
+            for (IProject workspaceProject : workspaceProjects) {
+                Collection<?> newChildDescriptors = this.page.getModel().getNewChildDescriptors(this.par, null);
+                Object descriptor = newChildDescriptors.iterator().next();
+                Command command = CreateChildCommand.create(this.page.getModel(), this.par, descriptor, Collections.singleton(this.par));
+                this.page.getModel().getCommandStack().execute(command);
+                if (command.getResult() != null && !command.getResult().isEmpty()) {
+                    Bundle project = (Bundle) command.getResult().iterator().next();
+                    project.setSymbolicName(ParUtils.getSymbolicName(workspaceProject));
+                }
+            }
+        }
+    }
 
-	@Override
-	protected void handleDoubleClick(IStructuredSelection selection) {
-		// TODO Auto-generated method stub
+    @Override
+    protected void handleDoubleClick(IStructuredSelection selection) {
+        // TODO Auto-generated method stub
 
-	}
+    }
 
-	@Override
-	protected void handleDown() {
-		// TODO Auto-generated method stub
+    @Override
+    protected void handleDown() {
+        // TODO Auto-generated method stub
 
-	}
+    }
 
-	@Override
-	protected void handleOpenProperties() {
-		// TODO Auto-generated method stub
+    @Override
+    protected void handleOpenProperties() {
+        // TODO Auto-generated method stub
 
-	}
+    }
 
-	@Override
-	protected void handleRemove() {
-		IStructuredSelection selection = (IStructuredSelection) getTableViewer().getSelection();
-		if (!selection.isEmpty()) {
-			Command command = RemoveCommand.create(page.getModel(), par, null, selection.toList());
-			page.getModel().getCommandStack().execute(command);
-		}
-	}
+    @Override
+    protected void handleRemove() {
+        IStructuredSelection selection = (IStructuredSelection) getTableViewer().getSelection();
+        if (!selection.isEmpty()) {
+            Command command = RemoveCommand.create(this.page.getModel(), this.par, null, selection.toList());
+            this.page.getModel().getCommandStack().execute(command);
+        }
+    }
 
-	@Override
-	protected void handleUp() {
-		// TODO Auto-generated method stub
+    @Override
+    protected void handleUp() {
+        // TODO Auto-generated method stub
 
-	}
+    }
 
-	@Override
-	protected void initialize() {
-		getTableViewer().setContentProvider(new AdapterFactoryContentProvider(page.getModel().getAdapterFactory()));
-		getTableViewer().setLabelProvider(new AdapterFactoryLabelProvider(page.getModel().getAdapterFactory()));
-		par = page.getPar();
-		getTableViewer().setInput(par);
-	}
+    @Override
+    protected void initialize() {
+        getTableViewer().setContentProvider(new AdapterFactoryContentProvider(this.page.getModel().getAdapterFactory()));
+        getTableViewer().setLabelProvider(new AdapterFactoryLabelProvider(this.page.getModel().getAdapterFactory()));
+        this.par = this.page.getPar();
+        getTableViewer().setInput(this.par);
+    }
 
-	@Override
-	protected void selectionChanged(IStructuredSelection selection) {
-		enableButtons();
-	}
+    @Override
+    protected void selectionChanged(IStructuredSelection selection) {
+        enableButtons();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParEditor.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParEditor.java
index a30310f..d3fec46 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParEditor.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParEditor.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.io.IOException;
@@ -100,991 +101,997 @@
  */
 public class ParEditor extends SharedHeaderFormEditor implements ISelectionProvider {
 
-	public final static String EDITOR_ID = "org.eclipse.virgo.ide.par.ui.editor";
+    public final static String EDITOR_ID = "org.eclipse.virgo.ide.par.ui.editor";
 
-	/**
-	 * This is the one adapter factory used for providing views of the model. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	protected ComposedAdapterFactory adapterFactory;
+    /**
+     * This is the one adapter factory used for providing views of the model. <!-- begin-user-doc --> <!-- end-user-doc
+     * -->
+     *
+     * @generated
+     */
+    protected ComposedAdapterFactory adapterFactory;
 
-	/**
-	 * Resources that have been changed since last activation. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection<Resource> changedResources = new ArrayList<Resource>();
+    /**
+     * Resources that have been changed since last activation. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected Collection<Resource> changedResources = new ArrayList<Resource>();
 
-	/**
-	 * This is the content outline page. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IContentOutlinePage contentOutlinePage;
+    /**
+     * This is the content outline page. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected IContentOutlinePage contentOutlinePage;
 
-	/**
-	 * This is a kludge... <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IStatusLineManager contentOutlineStatusLineManager;
+    /**
+     * This is a kludge... <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected IStatusLineManager contentOutlineStatusLineManager;
 
-	/**
-	 * This is the content outline page's viewer. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected TreeViewer contentOutlineViewer;
+    /**
+     * This is the content outline page's viewer. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected TreeViewer contentOutlineViewer;
 
-	/**
-	 * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content
-	 * outline viewer. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Viewer currentViewer;
+    /**
+     * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content
+     * outline viewer. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected Viewer currentViewer;
 
-	/**
-	 * This keeps track of the active viewer pane, in the book. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ViewerPane currentViewerPane;
+    /**
+     * This keeps track of the active viewer pane, in the book. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected ViewerPane currentViewerPane;
 
-	/**
-	 * This keeps track of the editing domain that is used to track all changes to the model. <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected AdapterFactoryEditingDomain editingDomain;
+    /**
+     * This keeps track of the editing domain that is used to track all changes to the model. <!-- begin-user-doc -->
+     * <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected AdapterFactoryEditingDomain editingDomain;
 
-	/**
-	 * This keeps track of the selection of the editor as a whole. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ISelection editorSelection = StructuredSelection.EMPTY;
+    /**
+     * This keeps track of the selection of the editor as a whole. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected ISelection editorSelection = StructuredSelection.EMPTY;
 
-	/**
-	 * This listens for when the outline becomes active <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IPartListener partListener = new IPartListener() {
-		public void partActivated(IWorkbenchPart part) {
-			if (part instanceof ContentOutline) {
-				if (((ContentOutline) part).getCurrentPage() == contentOutlinePage) {
-					// getActionBarContributor().setActiveEditor(ParEditor.this);
+    /**
+     * This listens for when the outline becomes active <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected IPartListener partListener = new IPartListener() {
 
-					setCurrentViewer(contentOutlineViewer);
-				}
-			} else if (part == ParEditor.this) {
-				handleActivate();
-			}
-		}
+        public void partActivated(IWorkbenchPart part) {
+            if (part instanceof ContentOutline) {
+                if (((ContentOutline) part).getCurrentPage() == ParEditor.this.contentOutlinePage) {
+                    // getActionBarContributor().setActiveEditor(ParEditor.this);
 
-		public void partBroughtToTop(IWorkbenchPart p) {
-			// Ignore.
-		}
+                    setCurrentViewer(ParEditor.this.contentOutlineViewer);
+                }
+            } else if (part == ParEditor.this) {
+                handleActivate();
+            }
+        }
 
-		public void partClosed(IWorkbenchPart p) {
-			// Ignore.
-		}
+        public void partBroughtToTop(IWorkbenchPart p) {
+            // Ignore.
+        }
 
-		public void partDeactivated(IWorkbenchPart p) {
-			// Ignore.
-		}
+        public void partClosed(IWorkbenchPart p) {
+            // Ignore.
+        }
 
-		public void partOpened(IWorkbenchPart p) {
-			// Ignore.
-		}
-	};
+        public void partDeactivated(IWorkbenchPart p) {
+            // Ignore.
+        }
 
-	/**
-	 * Resources that have been removed since last activation. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection<Resource> removedResources = new ArrayList<Resource>();
+        public void partOpened(IWorkbenchPart p) {
+            // Ignore.
+        }
+    };
 
-	/**
-	 * This listens for workspace changes. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() {
-		public void resourceChanged(IResourceChangeEvent event) {
-			// Only listening to these.
-			// if (event.getType() == IResourceDelta.POST_CHANGE)
-			{
-				IResourceDelta delta = event.getDelta();
-				try {
-					class ResourceDeltaVisitor implements IResourceDeltaVisitor {
-						protected Collection<Resource> changedResources = new ArrayList<Resource>();
+    /**
+     * Resources that have been removed since last activation. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected Collection<Resource> removedResources = new ArrayList<Resource>();
 
-						protected Collection<Resource> removedResources = new ArrayList<Resource>();
+    /**
+     * This listens for workspace changes. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected IResourceChangeListener resourceChangeListener = new IResourceChangeListener() {
 
-						protected ResourceSet resourceSet = editingDomain.getResourceSet();
+        public void resourceChanged(IResourceChangeEvent event) {
+            // Only listening to these.
+            // if (event.getType() == IResourceDelta.POST_CHANGE)
+            {
+                IResourceDelta delta = event.getDelta();
+                try {
+                    class ResourceDeltaVisitor implements IResourceDeltaVisitor {
 
-						public Collection<Resource> getChangedResources() {
-							return changedResources;
-						}
+                        protected Collection<Resource> changedResources = new ArrayList<Resource>();
 
-						public Collection<Resource> getRemovedResources() {
-							return removedResources;
-						}
+                        protected Collection<Resource> removedResources = new ArrayList<Resource>();
 
-						public boolean visit(IResourceDelta delta) {
-							if (delta.getFlags() != IResourceDelta.MARKERS
-									&& delta.getResource().getType() == IResource.FILE) {
-								if ((delta.getKind() & (IResourceDelta.CHANGED | IResourceDelta.REMOVED)) != 0) {
-									Resource resource = resourceSet.getResource(
-											URI.createURI(delta.getFullPath().toString()), false);
-									if (resource != null) {
-										if ((delta.getKind() & IResourceDelta.REMOVED) != 0) {
-											removedResources.add(resource);
-										} else if (!savedResources.remove(resource)) {
-											changedResources.add(resource);
-										}
-									}
-								}
-							}
+                        protected ResourceSet resourceSet = ParEditor.this.editingDomain.getResourceSet();
 
-							return true;
-						}
-					}
+                        public Collection<Resource> getChangedResources() {
+                            return this.changedResources;
+                        }
 
-					ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
-					delta.accept(visitor);
+                        public Collection<Resource> getRemovedResources() {
+                            return this.removedResources;
+                        }
 
-					if (!visitor.getRemovedResources().isEmpty()) {
-						removedResources.addAll(visitor.getRemovedResources());
-						if (!isDirty()) {
-							getSite().getShell().getDisplay().asyncExec(new Runnable() {
-								public void run() {
-									getSite().getPage().closeEditor(ParEditor.this, false);
-									ParEditor.this.dispose();
-								}
-							});
-						}
-					}
+                        public boolean visit(IResourceDelta delta) {
+                            if (delta.getFlags() != IResourceDelta.MARKERS && delta.getResource().getType() == IResource.FILE) {
+                                if ((delta.getKind() & (IResourceDelta.CHANGED | IResourceDelta.REMOVED)) != 0) {
+                                    Resource resource = this.resourceSet.getResource(URI.createURI(delta.getFullPath().toString()), false);
+                                    if (resource != null) {
+                                        if ((delta.getKind() & IResourceDelta.REMOVED) != 0) {
+                                            this.removedResources.add(resource);
+                                        } else if (!ParEditor.this.savedResources.remove(resource)) {
+                                            this.changedResources.add(resource);
+                                        }
+                                    }
+                                }
+                            }
 
-					if (!visitor.getChangedResources().isEmpty()) {
-						changedResources.addAll(visitor.getChangedResources());
-						if (getSite().getPage().getActiveEditor() == ParEditor.this) {
-							getSite().getShell().getDisplay().asyncExec(new Runnable() {
-								public void run() {
-									handleActivate();
-								}
-							});
-						}
-					}
-				} catch (CoreException exception) {
-					ServerIdeUiPlugin.getDefault().log(exception);
-				}
-			}
-		}
-	};
+                            return true;
+                        }
+                    }
 
-	/**
-	 * Resources that have been saved. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection<Resource> savedResources = new ArrayList<Resource>();
+                    ResourceDeltaVisitor visitor = new ResourceDeltaVisitor();
+                    delta.accept(visitor);
 
-	/**
-	 * This listens to which ever viewer is active. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected ISelectionChangedListener selectionChangedListener;
+                    if (!visitor.getRemovedResources().isEmpty()) {
+                        ParEditor.this.removedResources.addAll(visitor.getRemovedResources());
+                        if (!isDirty()) {
+                            getSite().getShell().getDisplay().asyncExec(new Runnable() {
 
-	/**
-	 * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to
-	 * this editor. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
+                                public void run() {
+                                    getSite().getPage().closeEditor(ParEditor.this, false);
+                                    ParEditor.this.dispose();
+                                }
+                            });
+                        }
+                    }
 
-	private Resource parResource;
+                    if (!visitor.getChangedResources().isEmpty()) {
+                        ParEditor.this.changedResources.addAll(visitor.getChangedResources());
+                        if (getSite().getPage().getActiveEditor() == ParEditor.this) {
+                            getSite().getShell().getDisplay().asyncExec(new Runnable() {
 
-	private Par par;
+                                public void run() {
+                                    handleActivate();
+                                }
+                            });
+                        }
+                    }
+                } catch (CoreException exception) {
+                    ServerIdeUiPlugin.getDefault().log(exception);
+                }
+            }
+        }
+    };
 
-	/**
-	 * This creates a model editor. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ParEditor() {
-		initializeEditingDomain();
-	}
+    /**
+     * Resources that have been saved. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected Collection<Resource> savedResources = new ArrayList<Resource>();
 
-	@Override
-	protected void addPages() {
-	}
+    /**
+     * This listens to which ever viewer is active. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected ISelectionChangedListener selectionChangedListener;
 
-	/**
-	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	public void addSelectionChangedListener(ISelectionChangedListener listener) {
-		selectionChangedListeners.add(listener);
-	}
+    /**
+     * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to
+     * this editor. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected Collection<ISelectionChangedListener> selectionChangedListeners = new ArrayList<ISelectionChangedListener>();
 
-	/**
-	 * This creates a context menu for the viewer and adds a listener as well registering the menu for extension. <!--
-	 * begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void createContextMenuFor(StructuredViewer viewer) {
-		MenuManager contextMenu = new MenuManager("#PopUp");
-		contextMenu.add(new Separator("additions"));
-		contextMenu.setRemoveAllWhenShown(true);
-		// contextMenu.addMenuListener(this);
-		Menu menu = contextMenu.createContextMenu(viewer.getControl());
-		viewer.getControl().setMenu(menu);
-		getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
+    private Resource parResource;
 
-		int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
-		Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
-		viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
-		viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer));
-	}
+    private Par par;
 
-	/**
-	 * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void createModel() {
-		URI resourceURI = EditUIUtil.getURI(getEditorInput());
-		try {
-			// Load the resource through the editing domain.
-			//
-			parResource = editingDomain.getResourceSet().getResource(resourceURI, true);
-		} catch (Exception e) {
-			ServerIdeUiPlugin.getDefault().log(e);
-			parResource = editingDomain.getResourceSet().getResource(resourceURI, false);
-		}
+    /**
+     * This creates a model editor. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public ParEditor() {
+        initializeEditingDomain();
+    }
 
-		par = (Par) parResource.getContents().iterator().next();
-	}
+    @Override
+    protected void addPages() {
+    }
 
-	/**
-	 * This is the method used by the framework to install your own controls. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public void createPages() {
-		createModel();
-		addPages();
-	}
+    /**
+     * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. <!-- begin-user-doc --> <!-- end-user-doc
+     * -->
+     *
+     * @generated
+     */
+    public void addSelectionChangedListener(ISelectionChangedListener listener) {
+        this.selectionChangedListeners.add(listener);
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public void dispose() {
-		ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener);
+    /**
+     * This creates a context menu for the viewer and adds a listener as well registering the menu for extension. <!--
+     * begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected void createContextMenuFor(StructuredViewer viewer) {
+        MenuManager contextMenu = new MenuManager("#PopUp");
+        contextMenu.add(new Separator("additions"));
+        contextMenu.setRemoveAllWhenShown(true);
+        // contextMenu.addMenuListener(this);
+        Menu menu = contextMenu.createContextMenu(viewer.getControl());
+        viewer.getControl().setMenu(menu);
+        getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer));
 
-		getSite().getPage().removePartListener(partListener);
+        int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
+        Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
+        viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer));
+        viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(this.editingDomain, viewer));
+    }
 
-		adapterFactory.dispose();
+    /**
+     * This is the method called to load a resource into the editing domain's resource set based on the editor's input.
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public void createModel() {
+        URI resourceURI = EditUIUtil.getURI(getEditorInput());
+        try {
+            // Load the resource through the editing domain.
+            //
+            this.parResource = this.editingDomain.getResourceSet().getResource(resourceURI, true);
+        } catch (Exception e) {
+            ServerIdeUiPlugin.getDefault().log(e);
+            this.parResource = this.editingDomain.getResourceSet().getResource(resourceURI, false);
+        }
 
-		// if (getActionBarContributor().getActiveEditor() == this) {
-		// getActionBarContributor().setActiveEditor(null);
-		// }
+        this.par = (Par) this.parResource.getContents().iterator().next();
+    }
 
-		if (contentOutlinePage != null) {
-			contentOutlinePage.dispose();
-		}
+    /**
+     * This is the method used by the framework to install your own controls. <!-- begin-user-doc --> <!-- end-user-doc
+     * -->
+     *
+     * @generated
+     */
+    @Override
+    public void createPages() {
+        createModel();
+        addPages();
+    }
 
-		super.dispose();
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public void dispose() {
+        ResourcesPlugin.getWorkspace().removeResourceChangeListener(this.resourceChangeListener);
 
-	/**
-	 * This is for implementing {@link IEditorPart} and simply saves the model file. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public void doSave(IProgressMonitor progressMonitor) {
-		// Save only resources that have actually changed.
-		//
-		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
-		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+        getSite().getPage().removePartListener(this.partListener);
 
-		// Do the work within an operation because this is a long running
-		// activity that modifies the workbench.
-		//
-		WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
-			// This is the method that gets invoked when the operation runs.
-			//
-			@Override
-			public void execute(IProgressMonitor monitor) {
-				// Save the resources to the file system.
-				//
-				boolean first = true;
-				for (Resource resource : editingDomain.getResourceSet().getResources()) {
-					if ((first || !resource.getContents().isEmpty() || isPersisted(resource))
-							&& !editingDomain.isReadOnly(resource)) {
-						try {
-							savedResources.add(resource);
-							resource.save(saveOptions);
-						} catch (IOException exception) {
-							handleError(exception);
-						}
-						first = false;
-					}
-				}
-			}
-		};
+        this.adapterFactory.dispose();
 
-		try {
-			// This runs the options, and shows progress.
-			//
-			new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+        // if (getActionBarContributor().getActiveEditor() == this) {
+        // getActionBarContributor().setActiveEditor(null);
+        // }
 
-			// Refresh the necessary state.
-			//
-			((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone();
-			firePropertyChange(IEditorPart.PROP_DIRTY);
-		} catch (Exception exception) {
-			// Something went wrong that shouldn't.
-			//
-			ServerIdeUiPlugin.getDefault().log(exception);
-		}
-	}
+        if (this.contentOutlinePage != null) {
+            this.contentOutlinePage.dispose();
+        }
 
-	/**
-	 * This also changes the editor's input. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public void doSaveAs() {
-		SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
-		saveAsDialog.open();
-		IPath path = saveAsDialog.getResult();
-		if (path != null) {
-			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-			if (file != null) {
-				doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
-			}
-		}
-	}
+        super.dispose();
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void doSaveAs(URI uri, IEditorInput editorInput) {
-		(editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
-		setInputWithNotify(editorInput);
-		setPartName(editorInput.getName());
-		IProgressMonitor progressMonitor = new NullProgressMonitor();
-		// getActionBars().getStatusLineManager() != null ? getActionBars()
-		// .getStatusLineManager().getProgressMonitor() : new
-		// NullProgressMonitor();
-		doSave(progressMonitor);
-	}
+    /**
+     * This is for implementing {@link IEditorPart} and simply saves the model file. <!-- begin-user-doc --> <!--
+     * end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public void doSave(IProgressMonitor progressMonitor) {
+        // Save only resources that have actually changed.
+        //
+        final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+        saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
 
-	/**
-	 * This is here for the listener to be able to call it. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	protected void firePropertyChange(int action) {
-		super.firePropertyChange(action);
-	}
+        // Do the work within an operation because this is a long running
+        // activity that modifies the workbench.
+        //
+        WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
 
-	// /**
-	// * <!-- begin-user-doc --> <!-- end-user-doc -->
-	// * @generated
-	// */
-	// public EditingDomainActionBarContributor getActionBarContributor() {
-	// return (EditingDomainActionBarContributor)
-	// getEditorSite().getActionBarContributor();
-	// }
+            // This is the method that gets invoked when the operation runs.
+            //
+            @Override
+            public void execute(IProgressMonitor monitor) {
+                // Save the resources to the file system.
+                //
+                boolean first = true;
+                for (Resource resource : ParEditor.this.editingDomain.getResourceSet().getResources()) {
+                    if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !ParEditor.this.editingDomain.isReadOnly(resource)) {
+                        try {
+                            ParEditor.this.savedResources.add(resource);
+                            resource.save(saveOptions);
+                        } catch (IOException exception) {
+                            handleError(exception);
+                        }
+                        first = false;
+                    }
+                }
+            }
+        };
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	// public IActionBars getActionBars() {
-	// return getActionBarContributor().getActionBars();
-	// }
-	/**
-	 * This is how the framework determines which interfaces we implement. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public Object getAdapter(Class key) {
-		if (key.equals(IContentOutlinePage.class)) {
-			return showOutlineView() ? getContentOutlinePage() : null;
-		}
-		// else if (key.equals(IPropertySheetPage.class)) {
-		// return getPropertySheetPage();
-		// }
-		// else if (key.equals(IGotoMarker.class)) {
-		// return this;
-		// }
-		else {
-			return super.getAdapter(key);
-		}
-	}
+        try {
+            // This runs the options, and shows progress.
+            //
+            new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public AdapterFactory getAdapterFactory() {
-		return adapterFactory;
-	}
+            // Refresh the necessary state.
+            //
+            ((BasicCommandStack) this.editingDomain.getCommandStack()).saveIsDone();
+            firePropertyChange(IEditorPart.PROP_DIRTY);
+        } catch (Exception exception) {
+            // Something went wrong that shouldn't.
+            //
+            ServerIdeUiPlugin.getDefault().log(exception);
+        }
+    }
 
-	/**
-	 * This accesses a cached version of the content outliner. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public IContentOutlinePage getContentOutlinePage() {
-		if (contentOutlinePage == null) {
-			// The content outline is just a tree.
-			//
-			class MyContentOutlinePage extends ContentOutlinePage {
-				@Override
-				public void createControl(Composite parent) {
-					super.createControl(parent);
-					contentOutlineViewer = getTreeViewer();
-					contentOutlineViewer.addSelectionChangedListener(this);
+    /**
+     * This also changes the editor's input. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public void doSaveAs() {
+        SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+        saveAsDialog.open();
+        IPath path = saveAsDialog.getResult();
+        if (path != null) {
+            IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+            if (file != null) {
+                doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+            }
+        }
+    }
 
-					// Set up the tree viewer.
-					//
-					contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory));
-					contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory));
-					contentOutlineViewer.setInput(parResource);
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected void doSaveAs(URI uri, IEditorInput editorInput) {
+        this.editingDomain.getResourceSet().getResources().get(0).setURI(uri);
+        setInputWithNotify(editorInput);
+        setPartName(editorInput.getName());
+        IProgressMonitor progressMonitor = new NullProgressMonitor();
+        // getActionBars().getStatusLineManager() != null ? getActionBars()
+        // .getStatusLineManager().getProgressMonitor() : new
+        // NullProgressMonitor();
+        doSave(progressMonitor);
+    }
 
-					// Make sure our popups work.
-					//
-					createContextMenuFor(contentOutlineViewer);
+    /**
+     * This is here for the listener to be able to call it. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    protected void firePropertyChange(int action) {
+        super.firePropertyChange(action);
+    }
+
+    // /**
+    // * <!-- begin-user-doc --> <!-- end-user-doc -->
+    // * @generated
+    // */
+    // public EditingDomainActionBarContributor getActionBarContributor() {
+    // return (EditingDomainActionBarContributor)
+    // getEditorSite().getActionBarContributor();
+    // }
+
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    // public IActionBars getActionBars() {
+    // return getActionBarContributor().getActionBars();
+    // }
+    /**
+     * This is how the framework determines which interfaces we implement. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @SuppressWarnings("unchecked")
+    @Override
+    public Object getAdapter(Class key) {
+        if (key.equals(IContentOutlinePage.class)) {
+            return showOutlineView() ? getContentOutlinePage() : null;
+        }
+        // else if (key.equals(IPropertySheetPage.class)) {
+        // return getPropertySheetPage();
+        // }
+        // else if (key.equals(IGotoMarker.class)) {
+        // return this;
+        // }
+        else {
+            return super.getAdapter(key);
+        }
+    }
+
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public AdapterFactory getAdapterFactory() {
+        return this.adapterFactory;
+    }
+
+    /**
+     * This accesses a cached version of the content outliner. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public IContentOutlinePage getContentOutlinePage() {
+        if (this.contentOutlinePage == null) {
+            // The content outline is just a tree.
+            //
+            class MyContentOutlinePage extends ContentOutlinePage {
+
+                @Override
+                public void createControl(Composite parent) {
+                    super.createControl(parent);
+                    ParEditor.this.contentOutlineViewer = getTreeViewer();
+                    ParEditor.this.contentOutlineViewer.addSelectionChangedListener(this);
+
+                    // Set up the tree viewer.
+                    //
+                    ParEditor.this.contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(ParEditor.this.adapterFactory));
+                    ParEditor.this.contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(ParEditor.this.adapterFactory));
+                    ParEditor.this.contentOutlineViewer.setInput(ParEditor.this.parResource);
+
+                    // Make sure our popups work.
+                    //
+                    createContextMenuFor(ParEditor.this.contentOutlineViewer);
+
+                    if (!ParEditor.this.editingDomain.getResourceSet().getResources().isEmpty()) {
+                        // Select the root object in the view.
+                        //
+                        ParEditor.this.contentOutlineViewer.setSelection(
+                            new StructuredSelection(ParEditor.this.editingDomain.getResourceSet().getResources().get(0)), true);
+                    }
+                }
+
+                @Override
+                public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) {
+                    super.makeContributions(menuManager, toolBarManager, statusLineManager);
+                    ParEditor.this.contentOutlineStatusLineManager = statusLineManager;
+                }
+
+                @Override
+                public void setActionBars(IActionBars actionBars) {
+                    // super.setActionBars(actionBars);
+                    // getActionBarContributor().shareGlobalActions(this,
+                    // actionBars);
+                }
+            }
+
+            this.contentOutlinePage = new MyContentOutlinePage();
+
+            // Listen to selection so that we can handle it is a special way.
+            //
+            this.contentOutlinePage.addSelectionChangedListener(new ISelectionChangedListener() {
 
-					if (!editingDomain.getResourceSet().getResources().isEmpty()) {
-						// Select the root object in the view.
-						//
-						contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet()
-								.getResources()
-								.get(0)), true);
-					}
-				}
+                // This ensures that we handle selections correctly.
+                //
+                public void selectionChanged(SelectionChangedEvent event) {
+                    handleContentOutlineSelection(event.getSelection());
+                }
+            });
+        }
 
-				@Override
-				public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager,
-						IStatusLineManager statusLineManager) {
-					super.makeContributions(menuManager, toolBarManager, statusLineManager);
-					contentOutlineStatusLineManager = statusLineManager;
-				}
+        return this.contentOutlinePage;
+    }
 
-				@Override
-				public void setActionBars(IActionBars actionBars) {
-					// super.setActionBars(actionBars);
-					// getActionBarContributor().shareGlobalActions(this,
-					// actionBars);
-				}
-			}
+    /**
+     * This returns the editing domain as required by the {@link IEditingDomainProvider} interface. This is important
+     * for implementing the static methods of {@link AdapterFactoryEditingDomain} and for supporting
+     * {@link org.eclipse.emf.edit.ui.action.CommandAction}. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public AdapterFactoryEditingDomain getEditingDomain() {
+        return this.editingDomain;
+    }
 
-			contentOutlinePage = new MyContentOutlinePage();
+    // /**
+    // * This accesses a cached version of the property sheet. <!--
+    // begin-user-doc
+    // * --> <!-- end-user-doc -->
+    // * @generated
+    // */
+    // public IPropertySheetPage getPropertySheetPage() {
+    // if (propertySheetPage == null) {
+    // propertySheetPage = new ExtendedPropertySheetPage(editingDomain) {
+    // @Override
+    // public void setActionBars(IActionBars actionBars) {
+    // super.setActionBars(actionBars);
+    // getActionBarContributor().shareGlobalActions(this, actionBars);
+    // }
+    //
+    // @Override
+    // public void setSelectionToViewer(List<?> selection) {
+    // ParEditor.this.setSelectionToViewer(selection);
+    // ParEditor.this.setFocus();
+    // }
+    // };
+    // propertySheetPage.setPropertySourceProvider(new
+    // AdapterFactoryContentProvider(adapterFactory));
+    // }
+    //
+    // return propertySheetPage;
+    // }
 
-			// Listen to selection so that we can handle it is a special way.
-			//
-			contentOutlinePage.addSelectionChangedListener(new ISelectionChangedListener() {
-				// This ensures that we handle selections correctly.
-				//
-				public void selectionChanged(SelectionChangedEvent event) {
-					handleContentOutlineSelection(event.getSelection());
-				}
-			});
-		}
+    public Par getPar() {
+        return this.par;
+    }
 
-		return contentOutlinePage;
-	}
+    /**
+     * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public ISelection getSelection() {
+        return this.editorSelection;
+    }
 
-	/**
-	 * This returns the editing domain as required by the {@link IEditingDomainProvider} interface. This is important
-	 * for implementing the static methods of {@link AdapterFactoryEditingDomain} and for supporting
-	 * {@link org.eclipse.emf.edit.ui.action.CommandAction}. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public AdapterFactoryEditingDomain getEditingDomain() {
-		return editingDomain;
-	}
+    /**
+     * This returns the viewer as required by the {@link IViewerProvider} interface. <!-- begin-user-doc --> <!--
+     * end-user-doc -->
+     *
+     * @generated
+     */
+    public Viewer getViewer() {
+        return this.currentViewer;
+    }
 
-	// /**
-	// * This accesses a cached version of the property sheet. <!--
-	// begin-user-doc
-	// * --> <!-- end-user-doc -->
-	// * @generated
-	// */
-	// public IPropertySheetPage getPropertySheetPage() {
-	// if (propertySheetPage == null) {
-	// propertySheetPage = new ExtendedPropertySheetPage(editingDomain) {
-	// @Override
-	// public void setActionBars(IActionBars actionBars) {
-	// super.setActionBars(actionBars);
-	// getActionBarContributor().shareGlobalActions(this, actionBars);
-	// }
-	//
-	// @Override
-	// public void setSelectionToViewer(List<?> selection) {
-	// ParEditor.this.setSelectionToViewer(selection);
-	// ParEditor.this.setFocus();
-	// }
-	// };
-	// propertySheetPage.setPropertySourceProvider(new
-	// AdapterFactoryContentProvider(adapterFactory));
-	// }
-	//
-	// return propertySheetPage;
-	// }
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public void gotoMarker(IMarker marker) {
+        try {
+            if (marker.getType().equals(EValidator.MARKER)) {
+                String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
+                if (uriAttribute != null) {
+                    URI uri = URI.createURI(uriAttribute);
+                    EObject eObject = this.editingDomain.getResourceSet().getEObject(uri, true);
+                    if (eObject != null) {
+                        setSelectionToViewer(Collections.singleton(this.editingDomain.getWrapper(eObject)));
+                    }
+                }
+            }
+        } catch (CoreException exception) {
+            ServerIdeUiPlugin.getDefault().log(exception);
+        }
+    }
 
-	public Par getPar() {
-		return par;
-	}
+    /**
+     * Handles activation of the editor or it's associated views. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected void handleActivate() {
+        // Recompute the read only state.
+        //
+        if (this.editingDomain.getResourceToReadOnlyMap() != null) {
+            this.editingDomain.getResourceToReadOnlyMap().clear();
 
-	/**
-	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection.
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public ISelection getSelection() {
-		return editorSelection;
-	}
+            // Refresh any actions that may become enabled or disabled.
+            //
+            setSelection(getSelection());
+        }
 
-	/**
-	 * This returns the viewer as required by the {@link IViewerProvider} interface. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public Viewer getViewer() {
-		return currentViewer;
-	}
+        if (!this.removedResources.isEmpty()) {
+            if (handleDirtyConflict()) {
+                getSite().getPage().closeEditor(ParEditor.this, false);
+                ParEditor.this.dispose();
+            } else {
+                this.removedResources.clear();
+                this.changedResources.clear();
+                this.savedResources.clear();
+            }
+        } else if (!this.changedResources.isEmpty()) {
+            this.changedResources.removeAll(this.savedResources);
+            handleChangedResources();
+            this.changedResources.clear();
+            this.savedResources.clear();
+        }
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void gotoMarker(IMarker marker) {
-		try {
-			if (marker.getType().equals(EValidator.MARKER)) {
-				String uriAttribute = marker.getAttribute(EValidator.URI_ATTRIBUTE, null);
-				if (uriAttribute != null) {
-					URI uri = URI.createURI(uriAttribute);
-					EObject eObject = editingDomain.getResourceSet().getEObject(uri, true);
-					if (eObject != null) {
-						setSelectionToViewer(Collections.singleton(editingDomain.getWrapper(eObject)));
-					}
-				}
-			}
-		} catch (CoreException exception) {
-			ServerIdeUiPlugin.getDefault().log(exception);
-		}
-	}
+    /**
+     * Handles what to do with changed resources on activation. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected void handleChangedResources() {
+        if (!this.changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
+            this.editingDomain.getCommandStack().flush();
 
-	/**
-	 * Handles activation of the editor or it's associated views. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void handleActivate() {
-		// Recompute the read only state.
-		//
-		if (editingDomain.getResourceToReadOnlyMap() != null) {
-			editingDomain.getResourceToReadOnlyMap().clear();
+            for (Resource resource : this.changedResources) {
+                if (resource.isLoaded()) {
+                    resource.unload();
+                    try {
+                        resource.load(Collections.EMPTY_MAP);
+                    } catch (IOException exception) {
+                        handleError(exception);
+                    }
+                }
+            }
+        }
+    }
 
-			// Refresh any actions that may become enabled or disabled.
-			//
-			setSelection(getSelection());
-		}
+    /**
+     * This deals with how we want selection in the outliner to affect the other views. <!-- begin-user-doc --> <!--
+     * end-user-doc -->
+     *
+     * @generated
+     */
+    public void handleContentOutlineSelection(ISelection selection) {
+        if (this.currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
+            Iterator<?> selectedElements = ((IStructuredSelection) selection).iterator();
+            if (selectedElements.hasNext()) {
+                // Get the first selected element.
+                //
+                // Object selectedElement = selectedElements.next();
+                // TODO select element in editor
+            }
+        }
+    }
 
-		if (!removedResources.isEmpty()) {
-			if (handleDirtyConflict()) {
-				getSite().getPage().closeEditor(ParEditor.this, false);
-				ParEditor.this.dispose();
-			} else {
-				removedResources.clear();
-				changedResources.clear();
-				savedResources.clear();
-			}
-		} else if (!changedResources.isEmpty()) {
-			changedResources.removeAll(savedResources);
-			handleChangedResources();
-			changedResources.clear();
-			savedResources.clear();
-		}
-	}
+    /**
+     * Shows a dialog that asks if conflicting changes should be discarded. <!-- begin-user-doc --> <!-- end-user-doc
+     * -->
+     *
+     * @generated
+     */
+    protected boolean handleDirtyConflict() {
+        return MessageDialog.openQuestion(getSite().getShell(), "File changed detected", "The file has changed on disk. Discard changes and reload?");
+    }
 
-	/**
-	 * Handles what to do with changed resources on activation. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void handleChangedResources() {
-		if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) {
-			editingDomain.getCommandStack().flush();
+    private void handleError(IOException exception) {
+        // TODO Auto-generated method stub
 
-			for (Resource resource : changedResources) {
-				if (resource.isLoaded()) {
-					resource.unload();
-					try {
-						resource.load(Collections.EMPTY_MAP);
-					} catch (IOException exception) {
-						handleError(exception);
-					}
-				}
-			}
-		}
-	}
+    }
 
-	/**
-	 * This deals with how we want selection in the outliner to affect the other views. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void handleContentOutlineSelection(ISelection selection) {
-		if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) {
-			Iterator<?> selectedElements = ((IStructuredSelection) selection).iterator();
-			if (selectedElements.hasNext()) {
-				// Get the first selected element.
-				//
-				// Object selectedElement = selectedElements.next();
-				// TODO select element in editor
-			}
-		}
-	}
+    /**
+     * This is called during startup. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public void init(IEditorSite site, IEditorInput editorInput) {
+        setSite(site);
+        setInputWithNotify(editorInput);
+        setPartName(editorInput.getName());
+        site.setSelectionProvider(this);
+        site.getPage().addPartListener(this.partListener);
+        ResourcesPlugin.getWorkspace().addResourceChangeListener(this.resourceChangeListener, IResourceChangeEvent.POST_CHANGE);
+    }
 
-	/**
-	 * Shows a dialog that asks if conflicting changes should be discarded. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	protected boolean handleDirtyConflict() {
-		return MessageDialog.openQuestion(getSite().getShell(), "File changed detected",
-				"The file has changed on disk. Discard changes and reload?");
-	}
+    /**
+     * This sets up the editing domain for the model editor. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected void initializeEditingDomain() {
+        // Create an adapter factory that yields item providers.
+        //
+        this.adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
 
-	private void handleError(IOException exception) {
-		// TODO Auto-generated method stub
+        this.adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+        this.adapterFactory.addAdapterFactory(new ParItemProviderAdapterFactory());
+        this.adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
 
-	}
+        // Create the command stack that will notify this editor as commands are
+        // executed.
+        //
+        BasicCommandStack commandStack = new BasicCommandStack();
 
-	/**
-	 * This is called during startup. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public void init(IEditorSite site, IEditorInput editorInput) {
-		setSite(site);
-		setInputWithNotify(editorInput);
-		setPartName(editorInput.getName());
-		site.setSelectionProvider(this);
-		site.getPage().addPartListener(partListener);
-		ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener,
-				IResourceChangeEvent.POST_CHANGE);
-	}
+        // Add a listener to set the most recent command's affected objects to
+        // be the selection of the viewer with focus.
+        //
+        commandStack.addCommandStackListener(new CommandStackListener() {
 
-	/**
-	 * This sets up the editing domain for the model editor. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected void initializeEditingDomain() {
-		// Create an adapter factory that yields item providers.
-		//
-		adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+            public void commandStackChanged(final EventObject event) {
+                getContainer().getDisplay().asyncExec(new Runnable() {
 
-		adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
-		adapterFactory.addAdapterFactory(new ParItemProviderAdapterFactory());
-		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+                    public void run() {
+                        firePropertyChange(IEditorPart.PROP_DIRTY);
 
-		// Create the command stack that will notify this editor as commands are
-		// executed.
-		//
-		BasicCommandStack commandStack = new BasicCommandStack();
+                        // Try to select the affected objects.
+                        //
+                        Command mostRecentCommand = ((CommandStack) event.getSource()).getMostRecentCommand();
+                        if (mostRecentCommand != null) {
+                            setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+                        }
+                    }
+                });
+            }
+        });
 
-		// Add a listener to set the most recent command's affected objects to
-		// be the selection of the viewer with focus.
-		//
-		commandStack.addCommandStackListener(new CommandStackListener() {
-			public void commandStackChanged(final EventObject event) {
-				getContainer().getDisplay().asyncExec(new Runnable() {
-					public void run() {
-						firePropertyChange(IEditorPart.PROP_DIRTY);
+        // Create the editing domain with a special command stack.
+        //
+        this.editingDomain = new AdapterFactoryEditingDomain(this.adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+    }
 
-						// Try to select the affected objects.
-						//
-						Command mostRecentCommand = ((CommandStack) event.getSource()).getMostRecentCommand();
-						if (mostRecentCommand != null) {
-							setSelectionToViewer(mostRecentCommand.getAffectedObjects());
-						}
-					}
-				});
-			}
-		});
+    /**
+     * This is for implementing {@link IEditorPart} and simply tests the command stack. <!-- begin-user-doc --> <!--
+     * end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public boolean isDirty() {
+        return ((BasicCommandStack) this.editingDomain.getCommandStack()).isSaveNeeded();
+    }
 
-		// Create the editing domain with a special command stack.
-		//
-		editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
-	}
+    /**
+     * This returns whether something has been persisted to the URI of the specified resource. The implementation uses
+     * the URI converter from the editor's resource set to try to open an input stream. <!-- begin-user-doc --> <!--
+     * end-user-doc -->
+     *
+     * @generated
+     */
+    protected boolean isPersisted(Resource resource) {
+        boolean result = false;
+        try {
+            InputStream stream = this.editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+            if (stream != null) {
+                result = true;
+                stream.close();
+            }
+        } catch (IOException e) {
+            // Ignore
+        }
+        return result;
+    }
 
-	/**
-	 * This is for implementing {@link IEditorPart} and simply tests the command stack. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public boolean isDirty() {
-		return ((BasicCommandStack) editingDomain.getCommandStack()).isSaveNeeded();
-	}
+    @Override
+    public boolean isSaveAsAllowed() {
+        return false;
+    }
 
-	/**
-	 * This returns whether something has been persisted to the URI of the specified resource. The implementation uses
-	 * the URI converter from the editor's resource set to try to open an input stream. <!-- begin-user-doc --> <!--
-	 * end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected boolean isPersisted(Resource resource) {
-		boolean result = false;
-		try {
-			InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
-			if (stream != null) {
-				result = true;
-				stream.close();
-			}
-		} catch (IOException e) {
-			// Ignore
-		}
-		return result;
-	}
+    // /**
+    // * This implements {@link org.eclipse.jface.action.IMenuListener} to help
+    // * fill the context menus with contributions from the Edit menu. <!--
+    // * begin-user-doc --> <!-- end-user-doc -->
+    // * @generated
+    // */
+    // public void menuAboutToShow(IMenuManager menuManager) {
+    // ((IMenuListener)
+    // getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
+    // }
 
-	@Override
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
+    /**
+     * This is used to track the active viewer. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    protected void pageChange(int pageIndex) {
+        super.pageChange(pageIndex);
 
-	// /**
-	// * This implements {@link org.eclipse.jface.action.IMenuListener} to help
-	// * fill the context menus with contributions from the Edit menu. <!--
-	// * begin-user-doc --> <!-- end-user-doc -->
-	// * @generated
-	// */
-	// public void menuAboutToShow(IMenuManager menuManager) {
-	// ((IMenuListener)
-	// getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager);
-	// }
+        if (this.contentOutlinePage != null) {
+            handleContentOutlineSelection(this.contentOutlinePage.getSelection());
+        }
+    }
 
-	/**
-	 * This is used to track the active viewer. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	protected void pageChange(int pageIndex) {
-		super.pageChange(pageIndex);
+    /**
+     * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. <!-- begin-user-doc --> <!-- end-user-doc
+     * -->
+     *
+     * @generated
+     */
+    public void removeSelectionChangedListener(ISelectionChangedListener listener) {
+        this.selectionChangedListeners.remove(listener);
+    }
 
-		if (contentOutlinePage != null) {
-			handleContentOutlineSelection(contentOutlinePage.getSelection());
-		}
-	}
+    /**
+     * This makes sure that one content viewer, either for the current page or the outline view, if it has focus, is the
+     * current one. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public void setCurrentViewer(Viewer viewer) {
+        // If it is changing...
+        //
+        if (this.currentViewer != viewer) {
+            if (this.selectionChangedListener == null) {
+                // Create the listener on demand.
+                //
+                this.selectionChangedListener = new ISelectionChangedListener() {
 
-	/**
-	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. <!-- begin-user-doc --> <!-- end-user-doc
-	 * -->
-	 * 
-	 * @generated
-	 */
-	public void removeSelectionChangedListener(ISelectionChangedListener listener) {
-		selectionChangedListeners.remove(listener);
-	}
+                    // This just notifies those things that are affected by
+                    // the section.
+                    //
+                    public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
+                        setSelection(selectionChangedEvent.getSelection());
+                    }
+                };
+            }
 
-	/**
-	 * This makes sure that one content viewer, either for the current page or the outline view, if it has focus, is the
-	 * current one. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setCurrentViewer(Viewer viewer) {
-		// If it is changing...
-		//
-		if (currentViewer != viewer) {
-			if (selectionChangedListener == null) {
-				// Create the listener on demand.
-				//
-				selectionChangedListener = new ISelectionChangedListener() {
-					// This just notifies those things that are affected by
-					// the section.
-					//
-					public void selectionChanged(SelectionChangedEvent selectionChangedEvent) {
-						setSelection(selectionChangedEvent.getSelection());
-					}
-				};
-			}
+            // Stop listening to the old one.
+            //
+            if (this.currentViewer != null) {
+                this.currentViewer.removeSelectionChangedListener(this.selectionChangedListener);
+            }
 
-			// Stop listening to the old one.
-			//
-			if (currentViewer != null) {
-				currentViewer.removeSelectionChangedListener(selectionChangedListener);
-			}
+            // Start listening to the new one.
+            //
+            if (viewer != null) {
+                viewer.addSelectionChangedListener(this.selectionChangedListener);
+            }
 
-			// Start listening to the new one.
-			//
-			if (viewer != null) {
-				viewer.addSelectionChangedListener(selectionChangedListener);
-			}
+            // Remember it.
+            //
+            this.currentViewer = viewer;
 
-			// Remember it.
-			//
-			currentViewer = viewer;
+            // Set the editors selection based on the current viewer's
+            // selection.
+            //
+            setSelection(this.currentViewer == null ? StructuredSelection.EMPTY : this.currentViewer.getSelection());
+        }
+    }
 
-			// Set the editors selection based on the current viewer's
-			// selection.
-			//
-			setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection());
-		}
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    @Override
+    public void setFocus() {
+        // TODO implement
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	@Override
-	public void setFocus() {
-		// TODO implement
-	}
+    /**
+     * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
+     * Calling this result will notify the listeners. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public void setSelection(ISelection selection) {
+        this.editorSelection = selection;
 
-	/**
-	 * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection.
-	 * Calling this result will notify the listeners. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setSelection(ISelection selection) {
-		editorSelection = selection;
+        for (ISelectionChangedListener listener : this.selectionChangedListeners) {
+            listener.selectionChanged(new SelectionChangedEvent(this, selection));
+        }
+        // setStatusLineManager(selection);
+    }
 
-		for (ISelectionChangedListener listener : selectionChangedListeners) {
-			listener.selectionChanged(new SelectionChangedEvent(this, selection));
-		}
-		// setStatusLineManager(selection);
-	}
+    /**
+     * This sets the selection into whichever viewer is active. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    public void setSelectionToViewer(Collection<?> collection) {
+        final Collection<?> theSelection = collection;
+        // Make sure it's okay.
+        //
+        if (theSelection != null && !theSelection.isEmpty()) {
+            // I don't know if this should be run this deferred
+            // because we might have to give the editor a chance to process the
+            // viewer update events
+            // and hence to update the views first.
+            //
+            //
+            Runnable runnable = new Runnable() {
 
-	/**
-	 * This sets the selection into whichever viewer is active. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	public void setSelectionToViewer(Collection<?> collection) {
-		final Collection<?> theSelection = collection;
-		// Make sure it's okay.
-		//
-		if (theSelection != null && !theSelection.isEmpty()) {
-			// I don't know if this should be run this deferred
-			// because we might have to give the editor a chance to process the
-			// viewer update events
-			// and hence to update the views first.
-			//
-			//
-			Runnable runnable = new Runnable() {
-				public void run() {
-					// Try to select the items in the current content viewer
-					// of the editor.
-					//
-					if (currentViewer != null) {
-						currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
-					}
-				}
-			};
-			runnable.run();
-		}
-	}
+                public void run() {
+                    // Try to select the items in the current content viewer
+                    // of the editor.
+                    //
+                    if (ParEditor.this.currentViewer != null) {
+                        ParEditor.this.currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+                    }
+                }
+            };
+            runnable.run();
+        }
+    }
 
-	/**
-	 * <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	// public void setStatusLineManager(ISelection selection) {
-	// IStatusLineManager statusLineManager = currentViewer != null &&
-	// currentViewer == contentOutlineViewer ? contentOutlineStatusLineManager :
-	// getActionBars().getStatusLineManager();
-	//
-	// if (statusLineManager != null) {
-	// if (selection instanceof IStructuredSelection) {
-	// Collection<?> collection = ((IStructuredSelection) selection).toList();
-	// switch (collection.size()) {
-	// case 0: {
-	// statusLineManager.setMessage(getString("_UI_NoObjectSelected"));
-	// break;
-	// }
-	// case 1: {
-	// String text = new
-	// AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().
-	// next());
-	// statusLineManager.setMessage(getString("_UI_SingleObjectSelected",
-	// text));
-	// break;
-	// }
-	// default: {
-	// statusLineManager.setMessage(getString("_UI_MultiObjectSelected",
-	// Integer.toString(collection
-	// .size())));
-	// break;
-	// }
-	// }
-	// }
-	// else {
-	// statusLineManager.setMessage("");
-	// }
-	// }
-	// }
-	/**
-	 * Returns whether the outline view should be presented to the user. <!-- begin-user-doc --> <!-- end-user-doc -->
-	 * 
-	 * @generated
-	 */
-	protected boolean showOutlineView() {
-		return true;
-	}
+    /**
+     * <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    // public void setStatusLineManager(ISelection selection) {
+    // IStatusLineManager statusLineManager = currentViewer != null &&
+    // currentViewer == contentOutlineViewer ? contentOutlineStatusLineManager :
+    // getActionBars().getStatusLineManager();
+    //
+    // if (statusLineManager != null) {
+    // if (selection instanceof IStructuredSelection) {
+    // Collection<?> collection = ((IStructuredSelection) selection).toList();
+    // switch (collection.size()) {
+    // case 0: {
+    // statusLineManager.setMessage(getString("_UI_NoObjectSelected"));
+    // break;
+    // }
+    // case 1: {
+    // String text = new
+    // AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().
+    // next());
+    // statusLineManager.setMessage(getString("_UI_SingleObjectSelected",
+    // text));
+    // break;
+    // }
+    // default: {
+    // statusLineManager.setMessage(getString("_UI_MultiObjectSelected",
+    // Integer.toString(collection
+    // .size())));
+    // break;
+    // }
+    // }
+    // }
+    // else {
+    // statusLineManager.setMessage("");
+    // }
+    // }
+    // }
+    /**
+     * Returns whether the outline view should be presented to the user. <!-- begin-user-doc --> <!-- end-user-doc -->
+     *
+     * @generated
+     */
+    protected boolean showOutlineView() {
+        return true;
+    }
 
-	protected FormToolkit createToolkit(Display display) {
-		return new FormToolkit(ServerIdeUiPlugin.getDefault().getFormColors(display));
-	}
+    @Override
+    protected FormToolkit createToolkit(Display display) {
+        return new FormToolkit(ServerIdeUiPlugin.getDefault().getFormColors(display));
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParGeneralInfoSection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParGeneralInfoSection.java
index 2ab9d6d..cc92655 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParGeneralInfoSection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParGeneralInfoSection.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import org.eclipse.core.resources.IProject;
@@ -30,139 +31,143 @@
  */
 public class ParGeneralInfoSection extends AbstractPdeGeneralInfoSection {
 
-	public ParGeneralInfoSection(PDEFormPage page, Composite parent) {
-		super(page, parent);
-	}
+    public ParGeneralInfoSection(PDEFormPage page, Composite parent) {
+        super(page, parent);
+    }
 
-	@Override
-	protected void createSpecificControls(Composite parent, FormToolkit toolkit, IActionBars actionBars) {
-	}
+    @Override
+    protected void createSpecificControls(Composite parent, FormToolkit toolkit, IActionBars actionBars) {
+    }
 
-	@Override
-	protected void createClient(Section section, FormToolkit toolkit) {
-		section.setText(PDEUIMessages.ManifestEditor_PluginSpecSection_title);
-		section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1));
-		TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
-		section.setLayoutData(data);
+    @Override
+    protected void createClient(Section section, FormToolkit toolkit) {
+        section.setText(PDEUIMessages.ManifestEditor_PluginSpecSection_title);
+        section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1));
+        TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
+        section.setLayoutData(data);
 
-		section.setDescription(getSectionDescription());
-		Composite client = toolkit.createComposite(section);
-		client.setLayout(FormLayoutFactory.createSectionClientTableWrapLayout(false, 2));
-		section.setClient(client);
+        section.setDescription(getSectionDescription());
+        Composite client = toolkit.createComposite(section);
+        client.setLayout(FormLayoutFactory.createSectionClientTableWrapLayout(false, 2));
+        section.setClient(client);
 
-		IActionBars actionBars = getPage().getPDEEditor().getEditorSite().getActionBars();
-		createIDEntry(client, toolkit, actionBars);
-		createVersionEntry(client, toolkit, actionBars);
-		createNameEntry(client, toolkit, actionBars);
-		createProviderEntry(client, toolkit, actionBars);
-		createSpecificControls(client, toolkit, actionBars);
-		toolkit.paintBordersFor(client);
-	}
+        IActionBars actionBars = getPage().getPDEEditor().getEditorSite().getActionBars();
+        createIDEntry(client, toolkit, actionBars);
+        createVersionEntry(client, toolkit, actionBars);
+        createNameEntry(client, toolkit, actionBars);
+        createProviderEntry(client, toolkit, actionBars);
+        createSpecificControls(client, toolkit, actionBars);
+        toolkit.paintBordersFor(client);
+    }
 
-	@Override
-	protected void createIDEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
-		fIdEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_id, null, false);
-		fIdEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
-			@Override
-			public void textValueChanged(FormEntry entry) {
-				getBundle().setHeader(IHeaderConstants.PAR_SYMBOLICNAME, fIdEntry.getValue());
-			}
-		});
-		fIdEntry.setEditable(isEditable());
-		// Create validator
-		// fIdEntryValidator = new TextValidator(getManagedForm(),
-		// fIdEntry.getText(), getProject(), true) {
-		// @Override
-		// protected boolean validateControl() {
-		// return validateIdEntry();
-		// }
-		// };
-	}
+    @Override
+    protected void createIDEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
+        this.fIdEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_id, null, false);
+        this.fIdEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
 
-	@Override
-	protected void createVersionEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
-		fVersionEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_version, null, false);
-		fVersionEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
-			@Override
-			public void textValueChanged(FormEntry entry) {
-				getBundle().setHeader(IHeaderConstants.PAR_VERSION, fVersionEntry.getValue());
-			}
-		});
-		fVersionEntry.setEditable(isEditable());
-		// Create validator
-		// fVersionEntryValidator = new TextValidator(getManagedForm(),
-		// fVersionEntry.getText(), getProject(), true) {
-		// @Override
-		// protected boolean validateControl() {
-		// return validateVersionEntry();
-		// }
-		// };
-	}
+            @Override
+            public void textValueChanged(FormEntry entry) {
+                getBundle().setHeader(IHeaderConstants.PAR_SYMBOLICNAME, ParGeneralInfoSection.this.fIdEntry.getValue());
+            }
+        });
+        this.fIdEntry.setEditable(isEditable());
+        // Create validator
+        // fIdEntryValidator = new TextValidator(getManagedForm(),
+        // fIdEntry.getText(), getProject(), true) {
+        // @Override
+        // protected boolean validateControl() {
+        // return validateIdEntry();
+        // }
+        // };
+    }
 
-	@Override
-	protected void createNameEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
-		fNameEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_name, null, false);
-		fNameEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
-			@Override
-			public void textValueChanged(FormEntry entry) {
-				getBundle().setHeader(IHeaderConstants.PAR_NAME, fNameEntry.getValue());
-			}
-		});
-		fNameEntry.setEditable(isEditable());
-		// Create validator
-		// fNameEntryValidator = new TextValidator(getManagedForm(),
-		// fNameEntry.getText(), getProject(), true) {
-		// @Override
-		// protected boolean validateControl() {
-		// return validateNameEntry();
-		// }
-		// };
-	}
+    @Override
+    protected void createVersionEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
+        this.fVersionEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_version, null, false);
+        this.fVersionEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
 
-	@Override
-	protected void createProviderEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
-		fProviderEntry = new FormEntry(client, toolkit, "Description", null, false);
-		fProviderEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
-			@Override
-			public void textValueChanged(FormEntry entry) {
-				getBundle().setHeader(IHeaderConstants.PAR_DESCRIPTION, fProviderEntry.getValue());
-			}
-		});
-		fProviderEntry.setEditable(isEditable());
-		// Create validator
-		// fProviderEntryValidator = new TextValidator(getManagedForm(),
-		// fProviderEntry.getText(), getProject(), true) {
-		// @Override
-		// protected boolean validateControl() {
-		// return validateProviderEntry();
-		// }
-		// };
-	}
+            @Override
+            public void textValueChanged(FormEntry entry) {
+                getBundle().setHeader(IHeaderConstants.PAR_VERSION, ParGeneralInfoSection.this.fVersionEntry.getValue());
+            }
+        });
+        this.fVersionEntry.setEditable(isEditable());
+        // Create validator
+        // fVersionEntryValidator = new TextValidator(getManagedForm(),
+        // fVersionEntry.getText(), getProject(), true) {
+        // @Override
+        // protected boolean validateControl() {
+        // return validateVersionEntry();
+        // }
+        // };
+    }
 
-	@Override
-	protected String getSectionDescription() {
-		return "This section describes general information about this PAR";
-	}
+    @Override
+    protected void createNameEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
+        this.fNameEntry = new FormEntry(client, toolkit, PDEUIMessages.GeneralInfoSection_name, null, false);
+        this.fNameEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
 
-	@Override
-	public void refresh() {
-		if (fIdEntry != null) {
-			fIdEntry.setValue(getBundle().getHeader(IHeaderConstants.PAR_SYMBOLICNAME), true);
-		}
-		if (fNameEntry != null) {
-			fNameEntry.setValue(getBundle().getHeader(IHeaderConstants.PAR_NAME), true);
-		}
-		if (fProviderEntry != null) {
-			fProviderEntry.setValue(getBundle().getHeader(IHeaderConstants.PAR_DESCRIPTION), true);
-		}
-		if (fVersionEntry != null) {
-			fVersionEntry.setValue(getBundle().getHeader(IHeaderConstants.PAR_VERSION), true);
-		}
-		getPage().getPDEEditor().updateTitle();
-	}
+            @Override
+            public void textValueChanged(FormEntry entry) {
+                getBundle().setHeader(IHeaderConstants.PAR_NAME, ParGeneralInfoSection.this.fNameEntry.getValue());
+            }
+        });
+        this.fNameEntry.setEditable(isEditable());
+        // Create validator
+        // fNameEntryValidator = new TextValidator(getManagedForm(),
+        // fNameEntry.getText(), getProject(), true) {
+        // @Override
+        // protected boolean validateControl() {
+        // return validateNameEntry();
+        // }
+        // };
+    }
 
-	public IProject getParProject() {
-		return getProject();
-	}
+    @Override
+    protected void createProviderEntry(Composite client, FormToolkit toolkit, IActionBars actionBars) {
+        this.fProviderEntry = new FormEntry(client, toolkit, "Description", null, false);
+        this.fProviderEntry.setFormEntryListener(new FormEntryAdapter(this, actionBars) {
+
+            @Override
+            public void textValueChanged(FormEntry entry) {
+                getBundle().setHeader(IHeaderConstants.PAR_DESCRIPTION, ParGeneralInfoSection.this.fProviderEntry.getValue());
+            }
+        });
+        this.fProviderEntry.setEditable(isEditable());
+        // Create validator
+        // fProviderEntryValidator = new TextValidator(getManagedForm(),
+        // fProviderEntry.getText(), getProject(), true) {
+        // @Override
+        // protected boolean validateControl() {
+        // return validateProviderEntry();
+        // }
+        // };
+    }
+
+    @Override
+    protected String getSectionDescription() {
+        return "This section describes general information about this PAR";
+    }
+
+    @Override
+    public void refresh() {
+        if (this.fIdEntry != null) {
+            this.fIdEntry.setValue(getBundle().getHeader(IHeaderConstants.PAR_SYMBOLICNAME), true);
+        }
+        if (this.fNameEntry != null) {
+            this.fNameEntry.setValue(getBundle().getHeader(IHeaderConstants.PAR_NAME), true);
+        }
+        if (this.fProviderEntry != null) {
+            this.fProviderEntry.setValue(getBundle().getHeader(IHeaderConstants.PAR_DESCRIPTION), true);
+        }
+        if (this.fVersionEntry != null) {
+            this.fVersionEntry.setValue(getBundle().getHeader(IHeaderConstants.PAR_VERSION), true);
+        }
+        getPage().getPDEEditor().updateTitle();
+    }
+
+    public IProject getParProject() {
+        return getProject();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParManifestEditor.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParManifestEditor.java
index e5ae6aa..2b831cb 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParManifestEditor.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParManifestEditor.java
@@ -68,7 +68,6 @@
 import org.eclipse.virgo.ide.par.provider.ParItemProviderAdapterFactory;
 import org.eclipse.virgo.ide.ui.ServerIdeUiPlugin;
 import org.eclipse.virgo.ide.ui.StatusHandler;
-import org.eclipse.virgo.ide.ui.editors.model.BundleModelUtility;
 
 /**
  * @author Christian Dupuis
@@ -76,317 +75,321 @@
  */
 public class ParManifestEditor extends BundleManifestEditor {
 
-	public static String ID_EDITOR = "org.eclipse.virgo.ide.ui.parmanifest";
+    public static String ID_EDITOR = "org.eclipse.virgo.ide.ui.parmanifest";
 
-	protected ComposedAdapterFactory adapterFactory;
+    protected ComposedAdapterFactory adapterFactory;
 
-	protected Viewer currentViewer;
+    protected Viewer currentViewer;
 
-	protected AdapterFactoryEditingDomain editingDomain;
+    protected AdapterFactoryEditingDomain editingDomain;
 
-	protected Collection<Resource> savedResources = new ArrayList<Resource>();
+    protected Collection<Resource> savedResources = new ArrayList<Resource>();
 
-	private Resource parResource;
+    private Resource parResource;
 
-	private Par par;
+    private Par par;
 
-	private IEditorInput parInput;
+    private IEditorInput parInput;
 
-	public AdapterFactoryEditingDomain getEditingDomain() {
-		return editingDomain;
-	}
+    public AdapterFactoryEditingDomain getEditingDomain() {
+        return this.editingDomain;
+    }
 
-	public Par getPar() {
-		return par;
-	}
+    public Par getPar() {
+        return this.par;
+    }
 
-	@Override
-	protected void addEditorPages() {
-		try {
-			addPage(new ParOverviewPage(this));
-			if (parInput != null) {
-				initializeEditingDomain();
-				createParPages();
-			}
-		} catch (PartInitException e) {
-			StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Failed to create editor pages", e));
-		}
-		addSourcePage(BundleInputContext.CONTEXT_ID);
-	}
+    @Override
+    protected void addEditorPages() {
+        try {
+            addPage(new ParOverviewPage(this));
+            if (this.parInput != null) {
+                initializeEditingDomain();
+                createParPages();
+            }
+        } catch (PartInitException e) {
+            StatusHandler.log(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Failed to create editor pages", e));
+        }
+        addSourcePage(BundleInputContext.CONTEXT_ID);
+    }
 
-	@Override
-	protected void createResourceContexts(InputContextManager manager, IFileEditorInput input) {
-		IFile file = input.getFile();
-		IContainer container = file.getParent();
-		org.eclipse.core.resources.IProject project = file.getProject();
+    @Override
+    protected void createResourceContexts(InputContextManager manager, IFileEditorInput input) {
+        IFile file = input.getFile();
+        IContainer container = file.getParent();
+        org.eclipse.core.resources.IProject project = file.getProject();
 
-		IFile manifestFile = null;
-		IFile parFile = null;
+        IFile manifestFile = null;
+        IFile parFile = null;
 
-		String name = file.getName().toLowerCase(Locale.ENGLISH);
-		if (name.equals("manifest.mf")) { //$NON-NLS-1$
-			if (container instanceof IFolder) {
-				container = container.getParent();
-			}
-			manifestFile = file;
-			parFile = FacetUtils.getParFile(project);
-		} else if (name.equalsIgnoreCase("org.eclipse.virgo.ide.runtime.core.par.xml")) {
-			parFile = file;
-			manifestFile = container.getProject().getFile(new Path("META-INF/MANIFEST.MF")); //$NON-NLS-1$
-		}
-		if (manifestFile != null && manifestFile.exists()) {
-			IEditorInput in = new FileEditorInput(manifestFile);
-			manager.putContext(in, new SpringBundleInputContext(this, in, file == manifestFile));
-		}
-		if (parFile != null && parFile.exists()) {
-			parInput = new FileEditorInput(parFile);
-		}
-		manager.monitorFile(manifestFile);
-		manager.monitorFile(parFile);
+        String name = file.getName().toLowerCase(Locale.ENGLISH);
+        if (name.equals("manifest.mf")) { //$NON-NLS-1$
+            if (container instanceof IFolder) {
+                container = container.getParent();
+            }
+            manifestFile = file;
+            parFile = FacetUtils.getParFile(project);
+        } else if (name.equalsIgnoreCase("org.eclipse.virgo.ide.runtime.core.par.xml")) {
+            parFile = file;
+            manifestFile = container.getProject().getFile(new Path("META-INF/MANIFEST.MF")); //$NON-NLS-1$
+        }
+        if (manifestFile != null && manifestFile.exists()) {
+            IEditorInput in = new FileEditorInput(manifestFile);
+            manager.putContext(in, new SpringBundleInputContext(this, in, file == manifestFile));
+        }
+        if (parFile != null && parFile.exists()) {
+            this.parInput = new FileEditorInput(parFile);
+        }
+        manager.monitorFile(manifestFile);
+        manager.monitorFile(parFile);
 
-		fPrefs = new ProjectScope(container.getProject()).getNode(PDECore.PLUGIN_ID);
-		if (fPrefs != null) {
-			fShowExtensions = fPrefs.getBoolean(ICoreConstants.EXTENSIONS_PROPERTY, true);
-			fEquinox = fPrefs.getBoolean(ICoreConstants.EQUINOX_PROPERTY, true);
-		}
-	}
+        this.fPrefs = new ProjectScope(container.getProject()).getNode(PDECore.PLUGIN_ID);
+        if (this.fPrefs != null) {
+            this.fShowExtensions = this.fPrefs.getBoolean(ICoreConstants.EXTENSIONS_PROPERTY, true);
+            this.fEquinox = this.fPrefs.getBoolean(ICoreConstants.EQUINOX_PROPERTY, true);
+        }
+    }
 
-	@Override
-	protected void createSystemFileContexts(InputContextManager manager, IEditorInput input) {
-		File file = (File) input.getAdapter(File.class);
-		if (file == null && input instanceof FileStoreEditorInput) {
-			file = new File(((IURIEditorInput) input).getURI());
-		}
-		if (file == null) {
-			return;
-		}
-		File manifestFile = null;
-		File parFile = null;
-		String name = file.getName().toLowerCase(Locale.ENGLISH);
-		if (name.equals("manifest.mf")) { //$NON-NLS-1$
-			manifestFile = file;
-			File dir = file.getParentFile().getParentFile();
-			parFile = new File(dir, "org.eclipse.virgo.ide.runtime.core.par.xml");
-		} else if (name.equals("org.eclipse.virgo.ide.runtime.core.par.xml")) {
-			parFile = file;
-			File dir = file.getParentFile();
-			manifestFile = new File(dir.getParentFile(), "META-INF/MANIFEST.MF"); //$NON-NLS-1$
-		}
-		try {
-			if (manifestFile != null && manifestFile.exists()) {
-				IEditorInput in = PdeCompatibilityUtil.createSystemFileEditorInput(manifestFile);
-				if (in == null) {
-					// Eclipse 3.5 or later
-					IFileStore store = EFS.getStore(manifestFile.toURI());
-					in = new FileStoreEditorInput(store);
-				}
-				manager.putContext(in, new SpringBundleInputContext(this, in, file == manifestFile));
-			}
-			if (parFile != null && parFile.exists()) {
-				parInput = PdeCompatibilityUtil.createSystemFileEditorInput(parFile);
-				if (parInput == null) {
-					// Eclipse 3.5 or later
-					IFileStore store = EFS.getStore(parFile.toURI());
-					parInput = new FileStoreEditorInput(store);
-				}
-			}
-		} catch (CoreException e) {
-			PDEPlugin.logException(e);
-		}
-	}
+    @Override
+    protected void createSystemFileContexts(InputContextManager manager, IEditorInput input) {
+        File file = input.getAdapter(File.class);
+        if (file == null && input instanceof FileStoreEditorInput) {
+            file = new File(((IURIEditorInput) input).getURI());
+        }
+        if (file == null) {
+            return;
+        }
+        File manifestFile = null;
+        File parFile = null;
+        String name = file.getName().toLowerCase(Locale.ENGLISH);
+        if (name.equals("manifest.mf")) { //$NON-NLS-1$
+            manifestFile = file;
+            File dir = file.getParentFile().getParentFile();
+            parFile = new File(dir, "org.eclipse.virgo.ide.runtime.core.par.xml");
+        } else if (name.equals("org.eclipse.virgo.ide.runtime.core.par.xml")) {
+            parFile = file;
+            File dir = file.getParentFile();
+            manifestFile = new File(dir.getParentFile(), "META-INF/MANIFEST.MF"); //$NON-NLS-1$
+        }
+        try {
+            if (manifestFile != null && manifestFile.exists()) {
+                IEditorInput in = PdeCompatibilityUtil.createSystemFileEditorInput(manifestFile);
+                if (in == null) {
+                    // Eclipse 3.5 or later
+                    IFileStore store = EFS.getStore(manifestFile.toURI());
+                    in = new FileStoreEditorInput(store);
+                }
+                manager.putContext(in, new SpringBundleInputContext(this, in, file == manifestFile));
+            }
+            if (parFile != null && parFile.exists()) {
+                this.parInput = PdeCompatibilityUtil.createSystemFileEditorInput(parFile);
+                if (this.parInput == null) {
+                    // Eclipse 3.5 or later
+                    IFileStore store = EFS.getStore(parFile.toURI());
+                    this.parInput = new FileStoreEditorInput(store);
+                }
+            }
+        } catch (CoreException e) {
+            PDEPlugin.logException(e);
+        }
+    }
 
-	protected void initializeEditingDomain() {
-		// Create an adapter factory that yields item providers.
-		//
-		adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
+    protected void initializeEditingDomain() {
+        // Create an adapter factory that yields item providers.
+        //
+        this.adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
 
-		adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
-		adapterFactory.addAdapterFactory(new ParItemProviderAdapterFactory());
-		adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
+        this.adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory());
+        this.adapterFactory.addAdapterFactory(new ParItemProviderAdapterFactory());
+        this.adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
 
-		// Create the command stack that will notify this editor as commands are
-		// executed.
-		//
-		BasicCommandStack commandStack = new BasicCommandStack();
+        // Create the command stack that will notify this editor as commands are
+        // executed.
+        //
+        BasicCommandStack commandStack = new BasicCommandStack();
 
-		// Add a listener to set the most recent command's affected objects to
-		// be the selection of the viewer with focus.
-		//
-		commandStack.addCommandStackListener(new CommandStackListener() {
-			public void commandStackChanged(final EventObject event) {
-				getContainer().getDisplay().asyncExec(new Runnable() {
-					public void run() {
-						firePropertyChange(IEditorPart.PROP_DIRTY);
+        // Add a listener to set the most recent command's affected objects to
+        // be the selection of the viewer with focus.
+        //
+        commandStack.addCommandStackListener(new CommandStackListener() {
 
-						// Try to select the affected objects.
-						//
-						Command mostRecentCommand = ((CommandStack) event.getSource()).getMostRecentCommand();
-						if (mostRecentCommand != null) {
-							setSelectionToViewer(mostRecentCommand.getAffectedObjects());
-						}
-					}
-				});
-			}
-		});
+            public void commandStackChanged(final EventObject event) {
+                getContainer().getDisplay().asyncExec(new Runnable() {
 
-		// Create the editing domain with a special command stack.
-		//
-		editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap<Resource, Boolean>());
-	}
+                    public void run() {
+                        firePropertyChange(IEditorPart.PROP_DIRTY);
 
-	public void setSelectionToViewer(Collection<?> collection) {
-		final Collection<?> theSelection = collection;
-		// Make sure it's okay.
-		//
-		if (theSelection != null && !theSelection.isEmpty()) {
-			// I don't know if this should be run this deferred
-			// because we might have to give the editor a chance to process the
-			// viewer update events
-			// and hence to update the views first.
-			//
-			//
-			Runnable runnable = new Runnable() {
-				public void run() {
-					// Try to select the items in the current content viewer
-					// of the editor.
-					//
-					if (currentViewer != null) {
-						currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
-					}
-				}
-			};
-			runnable.run();
-		}
-	}
+                        // Try to select the affected objects.
+                        //
+                        Command mostRecentCommand = ((CommandStack) event.getSource()).getMostRecentCommand();
+                        if (mostRecentCommand != null) {
+                            setSelectionToViewer(mostRecentCommand.getAffectedObjects());
+                        }
+                    }
+                });
+            }
+        });
 
-	public void createModel() {
-		URI resourceURI = EditUIUtil.getURI(parInput);
-		try {
-			// Load the resource through the editing domain.
-			//
-			parResource = editingDomain.getResourceSet().getResource(resourceURI, true);
-		} catch (Exception e) {
-			ServerIdeUiPlugin.getDefault().log(e);
-			parResource = editingDomain.getResourceSet().getResource(resourceURI, false);
-		}
+        // Create the editing domain with a special command stack.
+        //
+        this.editingDomain = new AdapterFactoryEditingDomain(this.adapterFactory, commandStack, new HashMap<Resource, Boolean>());
+    }
 
-		par = (Par) parResource.getContents().iterator().next();
-	}
+    public void setSelectionToViewer(Collection<?> collection) {
+        final Collection<?> theSelection = collection;
+        // Make sure it's okay.
+        //
+        if (theSelection != null && !theSelection.isEmpty()) {
+            // I don't know if this should be run this deferred
+            // because we might have to give the editor a chance to process the
+            // viewer update events
+            // and hence to update the views first.
+            //
+            //
+            Runnable runnable = new Runnable() {
 
-	public void createParPages() {
-		createModel();
-		addParPages();
-	}
+                public void run() {
+                    // Try to select the items in the current content viewer
+                    // of the editor.
+                    //
+                    if (ParManifestEditor.this.currentViewer != null) {
+                        ParManifestEditor.this.currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true);
+                    }
+                }
+            };
+            runnable.run();
+        }
+    }
 
-	protected void addParPages() {
-		try {
-			addPage(new ParXmlEditorPage(this, "org.eclipse.virgo.ide.ui.editor.par.dependencies", "Dependencies"));
-		} catch (PartInitException e) {
-			ServerIdeUiPlugin.getDefault().log(e);
-		}
-	}
+    public void createModel() {
+        URI resourceURI = EditUIUtil.getURI(this.parInput);
+        try {
+            // Load the resource through the editing domain.
+            //
+            this.parResource = this.editingDomain.getResourceSet().getResource(resourceURI, true);
+        } catch (Exception e) {
+            ServerIdeUiPlugin.getDefault().log(e);
+            this.parResource = this.editingDomain.getResourceSet().getResource(resourceURI, false);
+        }
 
-	@Override
-	public void doSave(IProgressMonitor progressMonitor) {
-		// Save only resources that have actually changed.
-		//
-		final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
-		saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
+        this.par = (Par) this.parResource.getContents().iterator().next();
+    }
 
-		// Do the work within an operation because this is a long running
-		// activity that modifies the workbench.
-		//
-		WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
-			// This is the method that gets invoked when the operation runs.
-			//
-			@Override
-			public void execute(IProgressMonitor monitor) {
-				// Save the resources to the file system.
-				//
-				boolean first = true;
-				for (Resource resource : editingDomain.getResourceSet().getResources()) {
-					if ((first || !resource.getContents().isEmpty() || isPersisted(resource))
-							&& !editingDomain.isReadOnly(resource)) {
-						try {
-							savedResources.add(resource);
-							resource.save(saveOptions);
-						} catch (IOException exception) {
-							handleError(exception);
-						}
-						first = false;
-					}
-				}
-			}
-		};
+    public void createParPages() {
+        createModel();
+        addParPages();
+    }
 
-		try {
-			// This runs the options, and shows progress.
-			//
-			new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
+    protected void addParPages() {
+        try {
+            addPage(new ParXmlEditorPage(this, "org.eclipse.virgo.ide.ui.editor.par.dependencies", "Dependencies"));
+        } catch (PartInitException e) {
+            ServerIdeUiPlugin.getDefault().log(e);
+        }
+    }
 
-			// Refresh the necessary state.
-			//
-			((BasicCommandStack) editingDomain.getCommandStack()).saveIsDone();
-			firePropertyChange(IEditorPart.PROP_DIRTY);
-		} catch (Exception exception) {
-			// Something went wrong that shouldn't.
-			//
-			ServerIdeUiPlugin.getDefault().log(exception);
-		}
-		super.doSave(progressMonitor);
-	}
+    @Override
+    public void doSave(IProgressMonitor progressMonitor) {
+        // Save only resources that have actually changed.
+        //
+        final Map<Object, Object> saveOptions = new HashMap<Object, Object>();
+        saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER);
 
-	protected boolean isPersisted(Resource resource) {
-		boolean result = false;
-		try {
-			InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
-			if (stream != null) {
-				result = true;
-				stream.close();
-			}
-		} catch (IOException e) {
-			// Ignore
-		}
-		return result;
-	}
+        // Do the work within an operation because this is a long running
+        // activity that modifies the workbench.
+        //
+        WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
 
-	private void handleError(IOException exception) {
-		// TODO Auto-generated method stub
+            // This is the method that gets invoked when the operation runs.
+            //
+            @Override
+            public void execute(IProgressMonitor monitor) {
+                // Save the resources to the file system.
+                //
+                boolean first = true;
+                for (Resource resource : ParManifestEditor.this.editingDomain.getResourceSet().getResources()) {
+                    if ((first || !resource.getContents().isEmpty() || isPersisted(resource))
+                        && !ParManifestEditor.this.editingDomain.isReadOnly(resource)) {
+                        try {
+                            ParManifestEditor.this.savedResources.add(resource);
+                            resource.save(saveOptions);
+                        } catch (IOException exception) {
+                            handleError(exception);
+                        }
+                        first = false;
+                    }
+                }
+            }
+        };
 
-	}
+        try {
+            // This runs the options, and shows progress.
+            //
+            new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation);
 
-	@Override
-	public void doSaveAs() {
-		SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
-		saveAsDialog.open();
-		IPath path = saveAsDialog.getResult();
-		if (path != null) {
-			IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
-			if (file != null) {
-				doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
-			}
-		}
-		super.doSaveAs();
-	}
+            // Refresh the necessary state.
+            //
+            ((BasicCommandStack) this.editingDomain.getCommandStack()).saveIsDone();
+            firePropertyChange(IEditorPart.PROP_DIRTY);
+        } catch (Exception exception) {
+            // Something went wrong that shouldn't.
+            //
+            ServerIdeUiPlugin.getDefault().log(exception);
+        }
+        super.doSave(progressMonitor);
+    }
 
-	protected void doSaveAs(URI uri, IEditorInput editorInput) {
-		(editingDomain.getResourceSet().getResources().get(0)).setURI(uri);
-		setInputWithNotify(editorInput);
-		setPartName(editorInput.getName());
-		IProgressMonitor progressMonitor = new NullProgressMonitor();
-		// getActionBars().getStatusLineManager() != null ? getActionBars()
-		// .getStatusLineManager().getProgressMonitor() : new
-		// NullProgressMonitor();
-		doSave(progressMonitor);
-	}
+    protected boolean isPersisted(Resource resource) {
+        boolean result = false;
+        try {
+            InputStream stream = this.editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+            if (stream != null) {
+                result = true;
+                stream.close();
+            }
+        } catch (IOException e) {
+            // Ignore
+        }
+        return result;
+    }
 
-	@Override
-	public boolean isDirty() {
-		if (editingDomain != null && editingDomain.getCommandStack() != null) {
-			boolean dirty = ((BasicCommandStack) editingDomain.getCommandStack()).isSaveNeeded();
-			return dirty || super.isDirty();
-		}
-		return super.isDirty();
-	}
+    private void handleError(IOException exception) {
+        // TODO Auto-generated method stub
+
+    }
+
+    @Override
+    public void doSaveAs() {
+        SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell());
+        saveAsDialog.open();
+        IPath path = saveAsDialog.getResult();
+        if (path != null) {
+            IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path);
+            if (file != null) {
+                doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file));
+            }
+        }
+        super.doSaveAs();
+    }
+
+    protected void doSaveAs(URI uri, IEditorInput editorInput) {
+        this.editingDomain.getResourceSet().getResources().get(0).setURI(uri);
+        setInputWithNotify(editorInput);
+        setPartName(editorInput.getName());
+        IProgressMonitor progressMonitor = new NullProgressMonitor();
+        // getActionBars().getStatusLineManager() != null ? getActionBars()
+        // .getStatusLineManager().getProgressMonitor() : new
+        // NullProgressMonitor();
+        doSave(progressMonitor);
+    }
+
+    @Override
+    public boolean isDirty() {
+        if (this.editingDomain != null && this.editingDomain.getCommandStack() != null) {
+            boolean dirty = ((BasicCommandStack) this.editingDomain.getCommandStack()).isSaveNeeded();
+            return dirty || super.isDirty();
+        }
+        return super.isDirty();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParOverviewPage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParOverviewPage.java
index b319e6e..cd9b37a 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParOverviewPage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParOverviewPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import org.eclipse.jface.viewers.StructuredSelection;
@@ -42,126 +43,126 @@
  */
 public class ParOverviewPage extends PDEFormPage implements IHyperlinkListener {
 
-	public static final String PAGE_ID = "par_overview"; //$NON-NLS-1$
+    public static final String PAGE_ID = "par_overview"; //$NON-NLS-1$
 
-	private static final String BUNDLE_CONTENT_SECTION_TEXT = "<form><p>The content of the PAR is made up of one section:</p><li style=\"image\" value=\"page\" bindent=\"5\"><a href=\"dependencies\">Dependencies</a>: lists all the bundles required by this PAR to compile and run.</li></form>";
+    private static final String BUNDLE_CONTENT_SECTION_TEXT = "<form><p>The content of the PAR is made up of one section:</p><li style=\"image\" value=\"page\" bindent=\"5\"><a href=\"dependencies\">Dependencies</a>: lists all the bundles required by this PAR to compile and run.</li></form>";
 
-	private ParGeneralInfoSection fInfoSection;
+    private ParGeneralInfoSection fInfoSection;
 
-	private static String PAR_ACTION_SECTION_TEXT = "<form><p>Perform common actions on the PAR:</p>"
-			+ "<li style=\"image\" value=\"export\" bindent=\"5\"><a href=\"exportpar\">Export PAR</a>: export the contents of the PAR to a deployable JAR.</li>"
-			+ "</form>";
+    private static String PAR_ACTION_SECTION_TEXT = "<form><p>Perform common actions on the PAR:</p>"
+        + "<li style=\"image\" value=\"export\" bindent=\"5\"><a href=\"exportpar\">Export PAR</a>: export the contents of the PAR to a deployable JAR.</li>"
+        + "</form>";
 
-	public ParOverviewPage(FormEditor editor) {
-		super(editor, PAGE_ID, "Overview");
-	}
+    public ParOverviewPage(FormEditor editor) {
+        super(editor, PAGE_ID, "Overview");
+    }
 
-	@Override
-	protected void createFormContent(IManagedForm managedForm) {
-		super.createFormContent(managedForm);
-		ScrolledForm form = managedForm.getForm();
-		FormToolkit toolkit = managedForm.getToolkit();
-		form.setImage(ServerIdeUiPlugin.getImage("full/obj16/par_obj.gif"));
-		form.setText(PDEUIMessages.ManifestEditor_OverviewPage_title);
-		fillBody(managedForm, toolkit);
-	}
+    @Override
+    protected void createFormContent(IManagedForm managedForm) {
+        super.createFormContent(managedForm);
+        ScrolledForm form = managedForm.getForm();
+        FormToolkit toolkit = managedForm.getToolkit();
+        form.setImage(ServerIdeUiPlugin.getImage("full/obj16/par_obj.gif"));
+        form.setText(PDEUIMessages.ManifestEditor_OverviewPage_title);
+        fillBody(managedForm, toolkit);
+    }
 
-	private void fillBody(IManagedForm managedForm, FormToolkit toolkit) {
-		Composite body = managedForm.getForm().getBody();
-		body.setLayout(FormLayoutFactory.createFormTableWrapLayout(true, 2));
+    private void fillBody(IManagedForm managedForm, FormToolkit toolkit) {
+        Composite body = managedForm.getForm().getBody();
+        body.setLayout(FormLayoutFactory.createFormTableWrapLayout(true, 2));
 
-		Composite left = toolkit.createComposite(body);
-		left.setLayout(FormLayoutFactory.createFormPaneTableWrapLayout(false, 1));
-		left.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
-		fInfoSection = new ParGeneralInfoSection(this, left);
-		managedForm.addPart(fInfoSection);
+        Composite left = toolkit.createComposite(body);
+        left.setLayout(FormLayoutFactory.createFormPaneTableWrapLayout(false, 1));
+        left.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
+        this.fInfoSection = new ParGeneralInfoSection(this, left);
+        managedForm.addPart(this.fInfoSection);
 
-		Composite right = toolkit.createComposite(body);
-		right.setLayout(FormLayoutFactory.createFormPaneTableWrapLayout(false, 1));
-		right.setLayoutData(new TableWrapData(TableWrapData.FILL));
-		createParActionSection(managedForm, right, toolkit);
-		createParContentSection(managedForm, right, toolkit);
-	}
+        Composite right = toolkit.createComposite(body);
+        right.setLayout(FormLayoutFactory.createFormPaneTableWrapLayout(false, 1));
+        right.setLayoutData(new TableWrapData(TableWrapData.FILL));
+        createParActionSection(managedForm, right, toolkit);
+        createParContentSection(managedForm, right, toolkit);
+    }
 
-	private void createParContentSection(IManagedForm managedForm, Composite parent, FormToolkit toolkit) {
-		String sectionTitle;
-		sectionTitle = "PAR Content";
-		Section section = createStaticSection(toolkit, parent, sectionTitle);
+    private void createParContentSection(IManagedForm managedForm, Composite parent, FormToolkit toolkit) {
+        String sectionTitle;
+        sectionTitle = "PAR Content";
+        Section section = createStaticSection(toolkit, parent, sectionTitle);
 
-		Composite container = createStaticSectionClient(toolkit, section);
+        Composite container = createStaticSectionClient(toolkit, section);
 
-		FormText text = createClient(container, BUNDLE_CONTENT_SECTION_TEXT, true, toolkit);
-		PDELabelProvider lp = PDEPlugin.getDefault().getLabelProvider();
-		text.setImage("page", lp.get(PDEPluginImages.DESC_PAGE_OBJ, SharedLabelProvider.F_EDIT)); //$NON-NLS-1$
-		text.addHyperlinkListener(this);
-		section.setClient(container);
-	}
+        FormText text = createClient(container, BUNDLE_CONTENT_SECTION_TEXT, true, toolkit);
+        PDELabelProvider lp = PDEPlugin.getDefault().getLabelProvider();
+        text.setImage("page", lp.get(PDEPluginImages.DESC_PAGE_OBJ, SharedLabelProvider.F_EDIT)); //$NON-NLS-1$
+        text.addHyperlinkListener(this);
+        section.setClient(container);
+    }
 
-	private void createParActionSection(IManagedForm managedForm, Composite parent, FormToolkit toolkit) {
-		String sectionTitle = "PAR Actions";
-		Section section = createStaticSection(toolkit, parent, sectionTitle);
+    private void createParActionSection(IManagedForm managedForm, Composite parent, FormToolkit toolkit) {
+        String sectionTitle = "PAR Actions";
+        Section section = createStaticSection(toolkit, parent, sectionTitle);
 
-		Composite container = createStaticSectionClient(toolkit, section);
+        Composite container = createStaticSectionClient(toolkit, section);
 
-		FormText text = createClient(container, PAR_ACTION_SECTION_TEXT, true, toolkit);
-		//TODO Replace these with appropriate images as needed. MTP
-//		text.setImage("export", BeansGraphImages.getImage(BeansGraphImages.IMG_OBJS_EXPORT_ENABLED));
-		text.addHyperlinkListener(this);
+        FormText text = createClient(container, PAR_ACTION_SECTION_TEXT, true, toolkit);
+        // TODO Replace these with appropriate images as needed. MTP
+        // text.setImage("export", BeansGraphImages.getImage(BeansGraphImages.IMG_OBJS_EXPORT_ENABLED));
+        text.addHyperlinkListener(this);
 
-		section.setClient(container);
-	}
+        section.setClient(container);
+    }
 
-	protected final Section createStaticSection(FormToolkit toolkit, Composite parent, String text) {
-		Section section = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR);
-		section.clientVerticalSpacing = FormLayoutFactory.SECTION_HEADER_VERTICAL_SPACING;
-		section.setText(text);
-		section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1));
-		TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
-		section.setLayoutData(data);
-		return section;
-	}
+    protected final Section createStaticSection(FormToolkit toolkit, Composite parent, String text) {
+        Section section = toolkit.createSection(parent, ExpandableComposite.TITLE_BAR);
+        section.clientVerticalSpacing = FormLayoutFactory.SECTION_HEADER_VERTICAL_SPACING;
+        section.setText(text);
+        section.setLayout(FormLayoutFactory.createClearTableWrapLayout(false, 1));
+        TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
+        section.setLayoutData(data);
+        return section;
+    }
 
-	protected Composite createStaticSectionClient(FormToolkit toolkit, Composite parent) {
-		Composite container = toolkit.createComposite(parent, SWT.NONE);
-		container.setLayout(FormLayoutFactory.createSectionClientTableWrapLayout(false, 1));
-		TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
-		container.setLayoutData(data);
-		return container;
-	}
+    protected Composite createStaticSectionClient(FormToolkit toolkit, Composite parent) {
+        Composite container = toolkit.createComposite(parent, SWT.NONE);
+        container.setLayout(FormLayoutFactory.createSectionClientTableWrapLayout(false, 1));
+        TableWrapData data = new TableWrapData(TableWrapData.FILL_GRAB);
+        container.setLayoutData(data);
+        return container;
+    }
 
-	protected final FormText createClient(Composite section, String content, boolean parseTags, FormToolkit toolkit) {
-		FormText text = toolkit.createFormText(section, true);
-		try {
-			text.setText(content, parseTags, false);
-		} catch (SWTException e) {
-			text.setText(e.getMessage(), false, false);
-		}
-		return text;
-	}
+    protected final FormText createClient(Composite section, String content, boolean parseTags, FormToolkit toolkit) {
+        FormText text = toolkit.createFormText(section, true);
+        try {
+            text.setText(content, parseTags, false);
+        } catch (SWTException e) {
+            text.setText(e.getMessage(), false, false);
+        }
+        return text;
+    }
 
-	public void linkActivated(HyperlinkEvent e) {
-		if (e.getHref().equals("dependencies")) {
-			getEditor().setActivePage(ParXmlEditorPage.ID_EDITOR);
-		} else if (e.getHref().equals("exportpar")) {
-			Display.getDefault().asyncExec(new Runnable() {
+    public void linkActivated(HyperlinkEvent e) {
+        if (e.getHref().equals("dependencies")) {
+            getEditor().setActivePage(ParXmlEditorPage.ID_EDITOR);
+        } else if (e.getHref().equals("exportpar")) {
+            Display.getDefault().asyncExec(new Runnable() {
 
-				public void run() {
-					ParExportWizard wizard = new ParExportWizard();
-					WizardDialog dialog = new WizardDialog(Display.getDefault().getActiveShell(), wizard);
-					wizard.init(PlatformUI.getWorkbench(),
-							new StructuredSelection(new Object[] { fInfoSection.getParProject() }));
-					dialog.open();
-				}
-			});
-		}
-	}
+                public void run() {
+                    ParExportWizard wizard = new ParExportWizard();
+                    WizardDialog dialog = new WizardDialog(Display.getDefault().getActiveShell(), wizard);
+                    wizard.init(PlatformUI.getWorkbench(),
+                        new StructuredSelection(new Object[] { ParOverviewPage.this.fInfoSection.getParProject() }));
+                    dialog.open();
+                }
+            });
+        }
+    }
 
-	public void linkEntered(HyperlinkEvent e) {
-		// ignore
-	}
+    public void linkEntered(HyperlinkEvent e) {
+        // ignore
+    }
 
-	public void linkExited(HyperlinkEvent e) {
-		// ignore
-	}
+    public void linkExited(HyperlinkEvent e) {
+        // ignore
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParUtils.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParUtils.java
index 0998953..1aa7b5c 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParUtils.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParUtils.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import org.eclipse.core.resources.IProject;
@@ -17,11 +18,11 @@
  */
 public class ParUtils {
 
-	public static String getSymbolicName(IProject project) {
-		// For now we are going to use project names instead of
-		// Bundle-SymbolicName cause these *must*
-		// be unique within the eclipse workspace
-		return project.getName();
-	}
+    public static String getSymbolicName(IProject project) {
+        // For now we are going to use project names instead of
+        // Bundle-SymbolicName cause these *must*
+        // be unique within the eclipse workspace
+        return project.getName();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParXmlEditorPage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParXmlEditorPage.java
index d9b9ea3..43ea4ea 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParXmlEditorPage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ParXmlEditorPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
@@ -24,31 +25,31 @@
  */
 public class ParXmlEditorPage extends AbstractParXmlEditorPage {
 
-	public static String ID_EDITOR = "org.eclipse.virgo.ide.ui.editor.par.dependencies";
+    public static String ID_EDITOR = "org.eclipse.virgo.ide.ui.editor.par.dependencies";
 
-	public ParXmlEditorPage(ParManifestEditor editor, String id, String title) {
-		super(editor, id, title);
-	}
+    public ParXmlEditorPage(ParManifestEditor editor, String id, String title) {
+        super(editor, id, title);
+    }
 
-	@Override
-	protected IFormPart getFormPart(Composite parent, String[] labels) {
-		return new ParDependenciesSection(this, parent, labels);
-	}
+    @Override
+    protected IFormPart getFormPart(Composite parent, String[] labels) {
+        return new ParDependenciesSection(this, parent, labels);
+    }
 
-	@Override
-	protected void createFormContent(IManagedForm managedForm) {
-		super.createFormContent(managedForm);
-		ScrolledForm form = managedForm.getForm();
-		form.setImage(ServerIdeUiPlugin.getImage("full/obj16/par_obj.gif"));
-		form.setText("PAR Editor");
-	}
+    @Override
+    protected void createFormContent(IManagedForm managedForm) {
+        super.createFormContent(managedForm);
+        ScrolledForm form = managedForm.getForm();
+        form.setImage(ServerIdeUiPlugin.getImage("full/obj16/par_obj.gif"));
+        form.setText("PAR Editor");
+    }
 
-	protected AdapterFactoryEditingDomain getModel() {
-		return ((ParManifestEditor) getEditor()).getEditingDomain();
-	}
+    protected AdapterFactoryEditingDomain getModel() {
+        return ((ParManifestEditor) getEditor()).getEditingDomain();
+    }
 
-	public Par getPar() {
-		return ((ParManifestEditor) getEditor()).getPar();
-	}
+    public Par getPar() {
+        return ((ParManifestEditor) getEditor()).getPar();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/PdeCompatibilityUtil.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/PdeCompatibilityUtil.java
index 18ed781..5607224 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/PdeCompatibilityUtil.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/PdeCompatibilityUtil.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.io.File;
@@ -25,47 +26,45 @@
  */
 class PdeCompatibilityUtil {
 
-	private static boolean isEclipse34 = true;
+    private static boolean isEclipse34 = true;
 
-	public static boolean isSystemFileEditorInput(IEditorInput input) {
-		if (isEclipse34) {
-			Class<?> systemFileEditorInputClass;
-			try {
-				systemFileEditorInputClass = Class.forName("org.eclipse.pde.internal.ui.editor.SystemFileEditorInput");
-				return systemFileEditorInputClass.isInstance(input);
-			} catch (ClassNotFoundException e) {
-				isEclipse34 = false;
-			} catch (Throwable e) {
-				StatusManager.getManager().handle(
-						new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID,
-								"Failed to check for instance of SystemFileEditorInput"));
-				isEclipse34 = false;
-			}
-		}
-		return false;
-	}
+    public static boolean isSystemFileEditorInput(IEditorInput input) {
+        if (isEclipse34) {
+            Class<?> systemFileEditorInputClass;
+            try {
+                systemFileEditorInputClass = Class.forName("org.eclipse.pde.internal.ui.editor.SystemFileEditorInput");
+                return systemFileEditorInputClass.isInstance(input);
+            } catch (ClassNotFoundException e) {
+                isEclipse34 = false;
+            } catch (Throwable e) {
+                StatusManager.getManager().handle(
+                    new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Failed to check for instance of SystemFileEditorInput"));
+                isEclipse34 = false;
+            }
+        }
+        return false;
+    }
 
-	public static IEditorInput createSystemFileEditorInput(IURIEditorInput input) {
-		return createSystemFileEditorInput(new File(input.getURI()));
-	}
+    public static IEditorInput createSystemFileEditorInput(IURIEditorInput input) {
+        return createSystemFileEditorInput(new File(input.getURI()));
+    }
 
-	public static IEditorInput createSystemFileEditorInput(File file) {
-		if (isEclipse34) {
-			Class<?> systemFileEditorInputClass;
-			try {
-				systemFileEditorInputClass = Class.forName("org.eclipse.pde.internal.ui.editor.SystemFileEditorInput");
-				Constructor<?> constructor = systemFileEditorInputClass.getConstructor(File.class);
-				return (IEditorInput) constructor.newInstance(file);
-			} catch (ClassNotFoundException e) {
-				isEclipse34 = false;
-			} catch (Throwable e) {
-				StatusManager.getManager().handle(
-						new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID,
-								"Failed to create instance of SystemFileEditorInput"));
-				isEclipse34 = false;
-			}
-		}
-		return null;
-	}
+    public static IEditorInput createSystemFileEditorInput(File file) {
+        if (isEclipse34) {
+            Class<?> systemFileEditorInputClass;
+            try {
+                systemFileEditorInputClass = Class.forName("org.eclipse.pde.internal.ui.editor.SystemFileEditorInput");
+                Constructor<?> constructor = systemFileEditorInputClass.getConstructor(File.class);
+                return (IEditorInput) constructor.newInstance(file);
+            } catch (ClassNotFoundException e) {
+                isEclipse34 = false;
+            } catch (Throwable e) {
+                StatusManager.getManager().handle(
+                    new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Failed to create instance of SystemFileEditorInput"));
+                isEclipse34 = false;
+            }
+        }
+        return null;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ProjectSelectionDialog.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ProjectSelectionDialog.java
index 23d021b..0a91e63 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ProjectSelectionDialog.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/ProjectSelectionDialog.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.ArrayList;
@@ -23,21 +24,21 @@
  */
 public class ProjectSelectionDialog extends ElementListSelectionDialog {
 
-	public ProjectSelectionDialog(Shell parent) {
-		super(parent, WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
-		setTitle("Bundle Selection");
-		setMessage("Select a Bundle:");
-		setElements(FacetUtils.getBundleProjects());
-		setMultipleSelection(true);
-	}
+    public ProjectSelectionDialog(Shell parent) {
+        super(parent, WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider());
+        setTitle("Bundle Selection");
+        setMessage("Select a Bundle:");
+        setElements(FacetUtils.getBundleProjects());
+        setMultipleSelection(true);
+    }
 
-	public IProject[] getSelectedProjects() {
-		Object[] result = getResult();
-		ArrayList<IProject> projects = new ArrayList<IProject>();
-		for (Object project : result) {
-			projects.add((IProject) project);
-		}
-		return projects.toArray(new IProject[0]);
-	}
+    public IProject[] getSelectedProjects() {
+        Object[] result = getResult();
+        ArrayList<IProject> projects = new ArrayList<IProject>();
+        for (Object project : result) {
+            projects.add((IProject) project);
+        }
+        return projects.toArray(new IProject[0]);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleFoldingStructureProvider.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleFoldingStructureProvider.java
index 78b49c7..615e871 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleFoldingStructureProvider.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleFoldingStructureProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.HashMap;
@@ -32,49 +33,49 @@
  */
 public class SpringBundleFoldingStructureProvider extends BundleFoldingStructureProvider {
 
-	private final Map fPositionToElement = new HashMap();
+    private final Map fPositionToElement = new HashMap();
 
-	public SpringBundleFoldingStructureProvider(PDESourcePage editor, IEditingModel model) {
-		super(editor, model);
-	}
+    public SpringBundleFoldingStructureProvider(PDESourcePage editor, IEditingModel model) {
+        super(editor, model);
+    }
 
-	@Override
-	public void addFoldingRegions(Set currentRegions, IEditingModel model) throws BadLocationException {
-		IBundle bundle = ((BundleModel) model).getBundle();
+    @Override
+    public void addFoldingRegions(Set currentRegions, IEditingModel model) throws BadLocationException {
+        IBundle bundle = ((BundleModel) model).getBundle();
 
-		IManifestHeader importPackageHeader = bundle.getManifestHeader(Constants.IMPORT_PACKAGE);
-		IManifestHeader exportPackageHeader = bundle.getManifestHeader(Constants.EXPORT_PACKAGE);
-		IManifestHeader requireBundleHeader = bundle.getManifestHeader(Constants.REQUIRE_BUNDLE);
-		IManifestHeader importLibraryHeader = bundle.getManifestHeader(IHeaderConstants.IMPORT_LIBRARY);
-		IManifestHeader importBundleHeader = bundle.getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
-		IManifestHeader importTemplateBundleHeader = bundle.getManifestHeader(IHeaderConstants.IMPORT_TEMPLATE);
-		IManifestHeader exportTemplateBundleHeader = bundle.getManifestHeader(IHeaderConstants.EXPORT_TEMPLATE);
+        IManifestHeader importPackageHeader = bundle.getManifestHeader(Constants.IMPORT_PACKAGE);
+        IManifestHeader exportPackageHeader = bundle.getManifestHeader(Constants.EXPORT_PACKAGE);
+        IManifestHeader requireBundleHeader = bundle.getManifestHeader(Constants.REQUIRE_BUNDLE);
+        IManifestHeader importLibraryHeader = bundle.getManifestHeader(IHeaderConstants.IMPORT_LIBRARY);
+        IManifestHeader importBundleHeader = bundle.getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
+        IManifestHeader importTemplateBundleHeader = bundle.getManifestHeader(IHeaderConstants.IMPORT_TEMPLATE);
+        IManifestHeader exportTemplateBundleHeader = bundle.getManifestHeader(IHeaderConstants.EXPORT_TEMPLATE);
 
-		try {
-			addFoldingRegions(currentRegions, importPackageHeader, model.getDocument());
-			addFoldingRegions(currentRegions, exportPackageHeader, model.getDocument());
-			addFoldingRegions(currentRegions, requireBundleHeader, model.getDocument());
-			addFoldingRegions(currentRegions, importLibraryHeader, model.getDocument());
-			addFoldingRegions(currentRegions, importBundleHeader, model.getDocument());
-			addFoldingRegions(currentRegions, importTemplateBundleHeader, model.getDocument());
-			addFoldingRegions(currentRegions, exportTemplateBundleHeader, model.getDocument());
-		} catch (BadLocationException e) {
-		}
-	}
+        try {
+            addFoldingRegions(currentRegions, importPackageHeader, model.getDocument());
+            addFoldingRegions(currentRegions, exportPackageHeader, model.getDocument());
+            addFoldingRegions(currentRegions, requireBundleHeader, model.getDocument());
+            addFoldingRegions(currentRegions, importLibraryHeader, model.getDocument());
+            addFoldingRegions(currentRegions, importBundleHeader, model.getDocument());
+            addFoldingRegions(currentRegions, importTemplateBundleHeader, model.getDocument());
+            addFoldingRegions(currentRegions, exportTemplateBundleHeader, model.getDocument());
+        } catch (BadLocationException e) {
+        }
+    }
 
-	private void addFoldingRegions(Set regions, IManifestHeader header, IDocument document) throws BadLocationException {
-		if (header == null) {
-			return;
-		}
-		int startLine = document.getLineOfOffset(header.getOffset());
-		int endLine = document.getLineOfOffset(header.getOffset() + header.getLength() - 1);
-		if (startLine < endLine) {
-			int start = document.getLineOffset(startLine);
-			int end = document.getLineOffset(endLine) + document.getLineLength(endLine);
-			Position position = new Position(start, end - start);
-			regions.add(position);
-			fPositionToElement.put(position, header);
-		}
-	}
+    private void addFoldingRegions(Set regions, IManifestHeader header, IDocument document) throws BadLocationException {
+        if (header == null) {
+            return;
+        }
+        int startLine = document.getLineOfOffset(header.getOffset());
+        int endLine = document.getLineOfOffset(header.getOffset() + header.getLength() - 1);
+        if (startLine < endLine) {
+            int start = document.getLineOffset(startLine);
+            int end = document.getLineOffset(endLine) + document.getLineLength(endLine);
+            Position position = new Position(start, end - start);
+            regions.add(position);
+            this.fPositionToElement.put(position, header);
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleHyperlinkDetector.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleHyperlinkDetector.java
index 3ea6ad8..aa9239c 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleHyperlinkDetector.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleHyperlinkDetector.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import org.eclipse.core.resources.IProject;
@@ -42,180 +43,174 @@
  */
 public class SpringBundleHyperlinkDetector implements IHyperlinkDetector {
 
-	private final PDESourcePage fSourcePage;
+    private final PDESourcePage fSourcePage;
 
-	/**
-	 * @param editor
-	 *            the editor in which to detect the hyperlink
-	 */
-	public SpringBundleHyperlinkDetector(PDESourcePage page) {
-		fSourcePage = page;
-	}
+    /**
+     * @param editor the editor in which to detect the hyperlink
+     */
+    public SpringBundleHyperlinkDetector(PDESourcePage page) {
+        this.fSourcePage = page;
+    }
 
-	/*
-	 * @see
-	 * org.eclipse.jface.text.hyperlink.IHyperlinkDetector#detectHyperlinks(
-	 * org.eclipse.jface.text.ITextViewer, org.eclipse.jface.text.IRegion,
-	 * boolean)
-	 */
-	public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
-		if (region == null) {
-			return null;
-		}
+    /*
+     * @see org.eclipse.jface.text.hyperlink.IHyperlinkDetector#detectHyperlinks( org.eclipse.jface.text.ITextViewer,
+     * org.eclipse.jface.text.IRegion, boolean)
+     */
+    public IHyperlink[] detectHyperlinks(ITextViewer textViewer, IRegion region, boolean canShowMultipleHyperlinks) {
+        if (region == null) {
+            return null;
+        }
 
-		IDocumentRange element = fSourcePage.getRangeElement(region.getOffset(), false);
-		if (!(element instanceof ManifestHeader)) {
-			return null;
-		}
+        IDocumentRange element = this.fSourcePage.getRangeElement(region.getOffset(), false);
+        if (!(element instanceof ManifestHeader)) {
+            return null;
+        }
 
-		ManifestHeader header = (ManifestHeader) element;
-		if (!header.getModel().isEditable()) {
-			return null;
-		}
+        ManifestHeader header = (ManifestHeader) element;
+        if (!header.getModel().isEditable()) {
+            return null;
+        }
 
-		String headerName = header.getName();
-		if (region.getOffset() <= header.getOffset() + headerName.length()) {
-			return null;
-		}
+        String headerName = header.getName();
+        if (region.getOffset() <= header.getOffset() + headerName.length()) {
+            return null;
+        }
 
-		String[] translatable = ICoreConstants.TRANSLATABLE_HEADERS;
-		for (int i = 0; i < translatable.length; i++) {
-			if (!headerName.equals(translatable[i])) {
-				continue;
-			}
-			String value = header.getValue();
-			if (value == null || value.length() == 0 || value.charAt(0) != '%') {
-				break;
-			}
+        String[] translatable = ICoreConstants.TRANSLATABLE_HEADERS;
+        for (int i = 0; i < translatable.length; i++) {
+            if (!headerName.equals(translatable[i])) {
+                continue;
+            }
+            String value = header.getValue();
+            if (value == null || value.length() == 0 || value.charAt(0) != '%') {
+                break;
+            }
 
-			IDocumentRange range = BundleSourcePage.getSpecificRange(header.getModel(), header, value);
-			return new IHyperlink[] { new TranslationHyperlink(new Region(range.getOffset(), range.getLength()), value,
-					header.getModel()) };
-		}
+            IDocumentRange range = BundleSourcePage.getSpecificRange(header.getModel(), header, value);
+            return new IHyperlink[] { new TranslationHyperlink(new Region(range.getOffset(), range.getLength()), value, header.getModel()) };
+        }
 
-		if (header instanceof BundleActivatorHeader) { // add else if statments
-			// for other headers
-			String target = ((BundleActivatorHeader) element).getClassName();
-			if (target == null || target.length() == 0) {
-				return null;
-			}
-			IDocumentRange range = BundleSourcePage.getSpecificRange(header.getModel(), header, target);
-			if (range == null) {
-				return null;
-			}
-			return new IHyperlink[] { new JavaHyperlink(new Region(range.getOffset(), range.getLength()), target,
-					header.getModel().getUnderlyingResource()) };
-		} else if (header instanceof BasePackageHeader || header instanceof RequireBundleHeader
-				|| header instanceof ImportBundleHeader || header instanceof ImportLibraryHeader
-				|| header instanceof FragmentHostHeader) {
-			return matchLinkFor(header, region.getOffset());
-		}
-		return null;
-	}
+        if (header instanceof BundleActivatorHeader) { // add else if statments
+            // for other headers
+            String target = ((BundleActivatorHeader) element).getClassName();
+            if (target == null || target.length() == 0) {
+                return null;
+            }
+            IDocumentRange range = BundleSourcePage.getSpecificRange(header.getModel(), header, target);
+            if (range == null) {
+                return null;
+            }
+            return new IHyperlink[] {
+                new JavaHyperlink(new Region(range.getOffset(), range.getLength()), target, header.getModel().getUnderlyingResource()) };
+        } else if (header instanceof BasePackageHeader || header instanceof RequireBundleHeader || header instanceof ImportBundleHeader
+            || header instanceof ImportLibraryHeader || header instanceof FragmentHostHeader) {
+            return matchLinkFor(header, region.getOffset());
+        }
+        return null;
+    }
 
-	private IHyperlink[] matchLinkFor(ManifestHeader header, int mainOffset) {
-		IDocument doc = ((IEditingModel) header.getModel()).getDocument();
-		String value;
-		try {
-			value = doc.get(header.getOffset(), header.getLength());
-			int offset = mainOffset - header.getOffset();
-			// Our offset falls outside the value range
-			if (offset >= value.length()) {
-				return null;
-			}
+    private IHyperlink[] matchLinkFor(ManifestHeader header, int mainOffset) {
+        IDocument doc = ((IEditingModel) header.getModel()).getDocument();
+        String value;
+        try {
+            value = doc.get(header.getOffset(), header.getLength());
+            int offset = mainOffset - header.getOffset();
+            // Our offset falls outside the value range
+            if (offset >= value.length()) {
+                return null;
+            }
 
-			// ensure we are over a letter or period
-			char c = value.charAt(offset);
-			if (!elementChar(c, true)) {
-				return null;
-			}
+            // ensure we are over a letter or period
+            char c = value.charAt(offset);
+            if (!elementChar(c, true)) {
+                return null;
+            }
 
-			// scan backwards to find the start of the word
-			int downOffset = offset;
-			c = value.charAt(--downOffset);
-			while (c != ',' && c != ':' && downOffset > 0) {
-				// c == ';' means we are at a directive / attribute name (NOT
-				// value)
-				if (c == ';' || !elementChar(c, false)) {
-					return null;
-				}
-				downOffset -= 1;
-				c = value.charAt(downOffset);
-			}
-			// backtrack forwards to remove whitespace etc.
-			while (downOffset < offset && !elementChar(c, true)) {
-				c = value.charAt(++downOffset);
-			}
+            // scan backwards to find the start of the word
+            int downOffset = offset;
+            c = value.charAt(--downOffset);
+            while (c != ',' && c != ':' && downOffset > 0) {
+                // c == ';' means we are at a directive / attribute name (NOT
+                // value)
+                if (c == ';' || !elementChar(c, false)) {
+                    return null;
+                }
+                downOffset -= 1;
+                c = value.charAt(downOffset);
+            }
+            // backtrack forwards to remove whitespace etc.
+            while (downOffset < offset && !elementChar(c, true)) {
+                c = value.charAt(++downOffset);
+            }
 
-			// scan forwards to find the end of the word
-			int upOffset = offset;
-			c = value.charAt(upOffset);
-			int length = value.length();
-			while (c != ';' && c != ',' && upOffset < length - 1) {
-				if (!elementChar(c, false)) {
-					return null;
-				}
-				upOffset += 1;
-				c = value.charAt(upOffset);
-			}
-			// backtrack to remove extra chars
-			if (c == ';' || c == ',') {
-				upOffset -= 1;
-			}
+            // scan forwards to find the end of the word
+            int upOffset = offset;
+            c = value.charAt(upOffset);
+            int length = value.length();
+            while (c != ';' && c != ',' && upOffset < length - 1) {
+                if (!elementChar(c, false)) {
+                    return null;
+                }
+                upOffset += 1;
+                c = value.charAt(upOffset);
+            }
+            // backtrack to remove extra chars
+            if (c == ';' || c == ',') {
+                upOffset -= 1;
+            }
 
-			String match = value.substring(downOffset, upOffset + 1);
-			if (match.length() > 0) {
-				IRegion region = new Region(mainOffset - (offset - downOffset), match.length());
-				if (header instanceof BasePackageHeader) {
-					return new IHyperlink[] { new PackageHyperlink(region, match, (BasePackageHeader) header) };
-				} else if (header instanceof RequireBundleHeader || header instanceof ImportBundleHeader
-						|| header instanceof FragmentHostHeader) {
+            String match = value.substring(downOffset, upOffset + 1);
+            if (match.length() > 0) {
+                IRegion region = new Region(mainOffset - (offset - downOffset), match.length());
+                if (header instanceof BasePackageHeader) {
+                    return new IHyperlink[] { new PackageHyperlink(region, match, (BasePackageHeader) header) };
+                } else if (header instanceof RequireBundleHeader || header instanceof ImportBundleHeader || header instanceof FragmentHostHeader) {
 
-					// try to figure out the version range
-					String version = value.substring(upOffset + 1);
-					if (version.startsWith(";version=\"")) {
-						version = version.substring(10);
-						int lastindex = version.indexOf('"');
-						version = version.substring(0, lastindex);
-					} else if (version.startsWith(";bundle-version=\"")) {
-						version = version.substring(17);
-						int lastindex = version.indexOf('"');
-						version = version.substring(0, lastindex);
-					}
+                    // try to figure out the version range
+                    String version = value.substring(upOffset + 1);
+                    if (version.startsWith(";version=\"")) {
+                        version = version.substring(10);
+                        int lastindex = version.indexOf('"');
+                        version = version.substring(0, lastindex);
+                    } else if (version.startsWith(";bundle-version=\"")) {
+                        version = version.substring(17);
+                        int lastindex = version.indexOf('"');
+                        version = version.substring(0, lastindex);
+                    }
 
-					return new IHyperlink[] { new BundleHyperlink(region, match, version) };
-				}
-			}
-		} catch (BadLocationException e) {
-		}
-		return null;
-	}
+                    return new IHyperlink[] { new BundleHyperlink(region, match, version) };
+                }
+            }
+        } catch (BadLocationException e) {
+        }
+        return null;
+    }
 
-	private boolean elementChar(char c, boolean noWhitespace) {
-		if (noWhitespace && Character.isWhitespace(c)) {
-			return false;
-		}
-		return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '.' || Character.isWhitespace(c);
-	}
+    private boolean elementChar(char c, boolean noWhitespace) {
+        if (noWhitespace && Character.isWhitespace(c)) {
+            return false;
+        }
+        return 'a' <= c && c <= 'z' || 'A' <= c && c <= 'Z' || c == '.' || Character.isWhitespace(c);
+    }
 
-	private IProject getProject() {
-		return ((PDEFormEditor) fSourcePage.getEditor()).getCommonProject();
-	}
+    private IProject getProject() {
+        return ((PDEFormEditor) this.fSourcePage.getEditor()).getCommonProject();
+    }
 
-	public class BundleHyperlink extends ManifestElementHyperlink {
+    public class BundleHyperlink extends ManifestElementHyperlink {
 
-		private final String version;
+        private final String version;
 
-		public BundleHyperlink(IRegion region, String pluginID, String version) {
-			super(region, pluginID);
-			this.version = version;
-		}
+        public BundleHyperlink(IRegion region, String pluginID, String version) {
+            super(region, pluginID);
+            this.version = version;
+        }
 
-		@Override
-		protected void open2() {
-			BundleManifestEditor.openBundleEditor(fElement, version, getProject());
-		}
+        @Override
+        protected void open2() {
+            BundleManifestEditor.openBundleEditor(this.fElement, this.version, getProject());
+        }
 
-	}
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleInputContext.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleInputContext.java
index e9013a8..b7e51c1 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleInputContext.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleInputContext.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.io.File;
@@ -35,38 +36,38 @@
  */
 public class SpringBundleInputContext extends BundleInputContext {
 
-	public SpringBundleInputContext(PDEFormEditor editor, IEditorInput input, boolean primary) {
-		super(editor, input, primary);
-	}
+    public SpringBundleInputContext(PDEFormEditor editor, IEditorInput input, boolean primary) {
+        super(editor, input, primary);
+    }
 
-	@Override
-	protected IBaseModel createModel(IEditorInput input) throws CoreException {
-		SpringBundleModel model = null;
-		boolean isReconciling = input instanceof IFileEditorInput;
-		IDocument document = getDocumentProvider().getDocument(input);
-		model = new SpringBundleModel(document, isReconciling);
-		if (input instanceof IFileEditorInput) {
-			IFile file = ((IFileEditorInput) input).getFile();
-			model.setUnderlyingResource(file);
-			model.setCharset(file.getCharset());
-		} else if (PdeCompatibilityUtil.isSystemFileEditorInput(input)) {
-			File file = (File) (input).getAdapter(File.class);
-			IPath path = new Path(file.getAbsolutePath()).removeLastSegments(2);
-			model.setInstallLocation(path.addTrailingSeparator().toString());
-			model.setCharset(getDefaultCharset());
-		} else if (input instanceof IURIEditorInput) {
-			IFileStore store = EFS.getStore(((IURIEditorInput) input).getURI());
-			model.setInstallLocation(store.getParent().getParent().toString());
-			model.setCharset(getDefaultCharset());
-		} else if (input instanceof JarEntryEditorInput) {
-			File file = (File) ((JarEntryEditorInput) input).getAdapter(File.class);
-			model.setInstallLocation(file.toString());
-			model.setCharset(getDefaultCharset());
-		} else {
-			model.setCharset(getDefaultCharset());
-		}
-		model.load();
-		return model;
-	}
+    @Override
+    protected IBaseModel createModel(IEditorInput input) throws CoreException {
+        SpringBundleModel model = null;
+        boolean isReconciling = input instanceof IFileEditorInput;
+        IDocument document = getDocumentProvider().getDocument(input);
+        model = new SpringBundleModel(document, isReconciling);
+        if (input instanceof IFileEditorInput) {
+            IFile file = ((IFileEditorInput) input).getFile();
+            model.setUnderlyingResource(file);
+            model.setCharset(file.getCharset());
+        } else if (PdeCompatibilityUtil.isSystemFileEditorInput(input)) {
+            File file = input.getAdapter(File.class);
+            IPath path = new Path(file.getAbsolutePath()).removeLastSegments(2);
+            model.setInstallLocation(path.addTrailingSeparator().toString());
+            model.setCharset(getDefaultCharset());
+        } else if (input instanceof IURIEditorInput) {
+            IFileStore store = EFS.getStore(((IURIEditorInput) input).getURI());
+            model.setInstallLocation(store.getParent().getParent().toString());
+            model.setCharset(getDefaultCharset());
+        } else if (input instanceof JarEntryEditorInput) {
+            File file = ((JarEntryEditorInput) input).getAdapter(File.class);
+            model.setInstallLocation(file.toString());
+            model.setCharset(getDefaultCharset());
+        } else {
+            model.setCharset(getDefaultCharset());
+        }
+        model.load();
+        return model;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleSourcePage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleSourcePage.java
index 6a73503..e5408cf 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleSourcePage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleSourcePage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors;
 
 import java.util.ArrayList;
@@ -84,368 +85,370 @@
  */
 public class SpringBundleSourcePage extends BundleSourcePage {
 
-	private final String ID_CONTEXT_MENU = "org.eclipse.virgo.ide.bundlemanifest.text.menu";
+    private final String ID_CONTEXT_MENU = "org.eclipse.virgo.ide.bundlemanifest.text.menu";
 
-	private IFoldingStructureProvider fFoldingStructureProvider;
+    private IFoldingStructureProvider fFoldingStructureProvider;
 
-	private final ChangeAwareSourceViewerConfiguration fConfiguration;
+    private final ChangeAwareSourceViewerConfiguration fConfiguration;
 
-	public SpringBundleSourcePage(PDEFormEditor editor, String id, String title) {
-		super(editor, id, title);
-		fConfiguration = createSourceViewerConfiguration(BundleColorManager.getDefault());
-		if (fConfiguration != null) {
-			setSourceViewerConfiguration(fConfiguration);
-		}
-	}
+    public SpringBundleSourcePage(PDEFormEditor editor, String id, String title) {
+        super(editor, id, title);
+        this.fConfiguration = createSourceViewerConfiguration(BundleColorManager.getDefault());
+        if (this.fConfiguration != null) {
+            setSourceViewerConfiguration(this.fConfiguration);
+        }
+    }
 
-	protected ChangeAwareSourceViewerConfiguration createSourceViewerConfiguration(IColorManager colorManager) {
-		return new BundleManifestConfiguration(colorManager, this);
-	}
+    @Override
+    protected ChangeAwareSourceViewerConfiguration createSourceViewerConfiguration(IColorManager colorManager) {
+        return new BundleManifestConfiguration(colorManager, this);
+    }
 
-	@Override
-	protected void setEditorContextMenuId(String contextMenuId) {
-		super.setEditorContextMenuId(ID_CONTEXT_MENU);
-	}
+    @Override
+    protected void setEditorContextMenuId(String contextMenuId) {
+        super.setEditorContextMenuId(this.ID_CONTEXT_MENU);
+    }
 
-	@Override
-	public void projectionEnabled() {
-		IBaseModel model = getInputContext().getModel();
-		if (model instanceof IEditingModel) {
-			fFoldingStructureProvider = getFoldingStructureProvider((IEditingModel) model);
-			if (fFoldingStructureProvider != null) {
-				fFoldingStructureProvider.initialize();
-				IReconciler rec = getSourceViewerConfiguration().getReconciler(getSourceViewer());
-				IReconcilingStrategy startegy = rec.getReconcilingStrategy(new String());
-				if (startegy instanceof ReconcilingStrategy) {
-					((ReconcilingStrategy) startegy).addParticipant(fFoldingStructureProvider);
-				}
-			}
-		}
-	}
+    @Override
+    public void projectionEnabled() {
+        IBaseModel model = getInputContext().getModel();
+        if (model instanceof IEditingModel) {
+            this.fFoldingStructureProvider = getFoldingStructureProvider((IEditingModel) model);
+            if (this.fFoldingStructureProvider != null) {
+                this.fFoldingStructureProvider.initialize();
+                IReconciler rec = getSourceViewerConfiguration().getReconciler(getSourceViewer());
+                IReconcilingStrategy startegy = rec.getReconcilingStrategy(new String());
+                if (startegy instanceof ReconcilingStrategy) {
+                    ((ReconcilingStrategy) startegy).addParticipant(this.fFoldingStructureProvider);
+                }
+            }
+        }
+    }
 
-	protected IFoldingStructureProvider getFoldingStructureProvider(IEditingModel model) {
-		if (model instanceof PluginModel) {
-			return new PluginFoldingStructureProvider(this, model);
-		}
-		if (model instanceof BundleModel) {
-			return new SpringBundleFoldingStructureProvider(this, model);
-		}
-		// return super.getFoldingStructureProvider(model);
-		return null;
-	}
+    @Override
+    protected IFoldingStructureProvider getFoldingStructureProvider(IEditingModel model) {
+        if (model instanceof PluginModel) {
+            return new PluginFoldingStructureProvider(this, model);
+        }
+        if (model instanceof BundleModel) {
+            return new SpringBundleFoldingStructureProvider(this, model);
+        }
+        // return super.getFoldingStructureProvider(model);
+        return null;
+    }
 
-	@Override
-	public void projectionDisabled() {
-		fFoldingStructureProvider = null;
-	}
+    @Override
+    public void projectionDisabled() {
+        this.fFoldingStructureProvider = null;
+    }
 
-	@Override
-	protected boolean affectsTextPresentation(PropertyChangeEvent event) {
-		if (fConfiguration == null) {
-			return false;
-		}
-		return fConfiguration.affectsTextPresentation(event) || super.affectsTextPresentation(event);
-	}
+    @Override
+    protected boolean affectsTextPresentation(PropertyChangeEvent event) {
+        if (this.fConfiguration == null) {
+            return false;
+        }
+        return this.fConfiguration.affectsTextPresentation(event) || super.affectsTextPresentation(event);
+    }
 
-	@Override
-	public void dispose() {
-		if (fConfiguration != null) {
-			fConfiguration.dispose();
-		}
-		super.dispose();
-	}
+    @Override
+    public void dispose() {
+        if (this.fConfiguration != null) {
+            this.fConfiguration.dispose();
+        }
+        super.dispose();
+    }
 
-	@Override
-	protected void handlePreferenceStoreChanged(PropertyChangeEvent event) {
-		try {
-			if (fConfiguration != null) {
-				ISourceViewer sourceViewer = getSourceViewer();
-				if (sourceViewer != null) {
-					fConfiguration.adaptToPreferenceChange(event);
-				}
-			}
-		} finally {
-			super.handlePreferenceStoreChanged(event);
-		}
-	}
+    @Override
+    protected void handlePreferenceStoreChanged(PropertyChangeEvent event) {
+        try {
+            if (this.fConfiguration != null) {
+                ISourceViewer sourceViewer = getSourceViewer();
+                if (sourceViewer != null) {
+                    this.fConfiguration.adaptToPreferenceChange(event);
+                }
+            }
+        } finally {
+            super.handlePreferenceStoreChanged(event);
+        }
+    }
 
-	@Override
-	protected void editorContextMenuAboutToShow(IMenuManager menu) {
-		super.editorContextMenuAboutToShow(menu);
-		PDEFormEditorContributor contributor = ((PDEFormEditor) getEditor()).getContributor();
-		if (contributor instanceof BundleManifestEditorContributor) {
-			BundleManifestEditorContributor textContributor = (BundleManifestEditorContributor) contributor;
-			HyperlinkAction action = textContributor.getHyperlinkAction();
-			if ((action != null) && action.isEnabled()
-					&& ((action.getHyperLink() instanceof ExtensionHyperLink) == false)) {
-				// Another detector handles this the extension hyperlink case
-				// org.eclipse.pde.internal.ui.editor.plugin.
-				// ExtensionAttributePointDectector.java
-				// Implemented at a higher level. As a result, need to disable
-				// the action here to prevent duplicate entries in the context
-				// menu
-				menu.add(action);
-			}
-			ManifestFormatAction formatManifestAction = textContributor.getFormatAction();
-			if (formatManifestAction != null && formatManifestAction.isEnabled()) {
-				// add format action after Outline. This is the same order as
-				// the hyperlink actions
-				menu.insertAfter(PDEActionConstants.COMMAND_ID_QUICK_OUTLINE, formatManifestAction);
-			}
-		}
-	}
+    @Override
+    protected void editorContextMenuAboutToShow(IMenuManager menu) {
+        super.editorContextMenuAboutToShow(menu);
+        PDEFormEditorContributor contributor = ((PDEFormEditor) getEditor()).getContributor();
+        if (contributor instanceof BundleManifestEditorContributor) {
+            BundleManifestEditorContributor textContributor = (BundleManifestEditorContributor) contributor;
+            HyperlinkAction action = textContributor.getHyperlinkAction();
+            if (action != null && action.isEnabled() && action.getHyperLink() instanceof ExtensionHyperLink == false) {
+                // Another detector handles this the extension hyperlink case
+                // org.eclipse.pde.internal.ui.editor.plugin.
+                // ExtensionAttributePointDectector.java
+                // Implemented at a higher level. As a result, need to disable
+                // the action here to prevent duplicate entries in the context
+                // menu
+                menu.add(action);
+            }
+            ManifestFormatAction formatManifestAction = textContributor.getFormatAction();
+            if (formatManifestAction != null && formatManifestAction.isEnabled()) {
+                // add format action after Outline. This is the same order as
+                // the hyperlink actions
+                menu.insertAfter(PDEActionConstants.COMMAND_ID_QUICK_OUTLINE, formatManifestAction);
+            }
+        }
+    }
 
-	@Override
-	protected void createActions() {
-		super.createActions();
-		PDEFormEditorContributor contributor = ((PDEFormEditor) getEditor()).getContributor();
-		if (contributor instanceof BundleManifestEditorContributor) {
-			BundleManifestEditorContributor textContributor = (BundleManifestEditorContributor) contributor;
-			setAction(PDEActionConstants.OPEN, textContributor.getHyperlinkAction());
-			setAction(PDEActionConstants.FORMAT, textContributor.getFormatAction());
-			if (textContributor.supportsContentAssist()) {
-				createContentAssistAction();
-			}
-		}
-	}
+    @Override
+    protected void createActions() {
+        super.createActions();
+        PDEFormEditorContributor contributor = ((PDEFormEditor) getEditor()).getContributor();
+        if (contributor instanceof BundleManifestEditorContributor) {
+            BundleManifestEditorContributor textContributor = (BundleManifestEditorContributor) contributor;
+            setAction(PDEActionConstants.OPEN, textContributor.getHyperlinkAction());
+            setAction(PDEActionConstants.FORMAT, textContributor.getFormatAction());
+            if (textContributor.supportsContentAssist()) {
+                createContentAssistAction();
+            }
+        }
+    }
 
-	private void createContentAssistAction() {
-		IAction contentAssist = new ContentAssistAction(getBundleForConstructedKeys(), "ContentAssistProposal.", this); //$NON-NLS-1$
-		contentAssist.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
-		setAction("ContentAssist", contentAssist); //$NON-NLS-1$
-		markAsStateDependentAction("ContentAssist", true); //$NON-NLS-1$		
-	}
+    private void createContentAssistAction() {
+        IAction contentAssist = new ContentAssistAction(getBundleForConstructedKeys(), "ContentAssistProposal.", this); //$NON-NLS-1$
+        contentAssist.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS);
+        setAction("ContentAssist", contentAssist); //$NON-NLS-1$
+        markAsStateDependentAction("ContentAssist", true); //$NON-NLS-1$
+    }
 
-	@Override
-	public ILabelProvider createOutlineLabelProvider() {
-		return new SpringBundleLabelProvider();
-	}
+    @Override
+    public ILabelProvider createOutlineLabelProvider() {
+        return new SpringBundleLabelProvider();
+    }
 
-	@Override
-	public ITreeContentProvider createOutlineContentProvider() {
-		return new SpringBundleOutlineContentProvider();
-	}
+    @Override
+    public ITreeContentProvider createOutlineContentProvider() {
+        return new SpringBundleOutlineContentProvider();
+    }
 
-	@Override
-	public IDocumentRange findRange() {
-		java.lang.reflect.Field field = null;
-		Class classAncestor = this.getClass();
-		while (classAncestor != Object.class) {
-			try {
-				field = classAncestor.getDeclaredField("fSelection");
-				break;
-			} catch (NoSuchFieldException e) {
-			}
-			// meh, just move up the hierarchy
-			classAncestor = classAncestor.getSuperclass();
-		}
-		if (field != null) {
-			field.setAccessible(true);
-			Object selection;
-			try {
-				selection = field.get(this);
-			} catch (Exception e) {
-				throw new RuntimeException("Internal Error", e);
-			}
+    @Override
+    public IDocumentRange findRange() {
+        java.lang.reflect.Field field = null;
+        Class classAncestor = this.getClass();
+        while (classAncestor != Object.class) {
+            try {
+                field = classAncestor.getDeclaredField("fSelection");
+                break;
+            } catch (NoSuchFieldException e) {
+            }
+            // meh, just move up the hierarchy
+            classAncestor = classAncestor.getSuperclass();
+        }
+        if (field != null) {
+            field.setAccessible(true);
+            Object selection;
+            try {
+                selection = field.get(this);
+            } catch (Exception e) {
+                throw new RuntimeException("Internal Error", e);
+            }
 
-			if (selection instanceof ImportLibraryObject) {
-				return getSpecificRange(((ImportLibraryObject) selection).getModel(), IHeaderConstants.IMPORT_LIBRARY,
-						((ImportLibraryObject) selection).getId());
-			} else if (selection instanceof ImportBundleObject) {
-				return getSpecificRange(((ImportBundleObject) selection).getModel(), IHeaderConstants.IMPORT_BUNDLE,
-						((ImportBundleObject) selection).getId());
-			} else if (selection instanceof ImportPackageObject) {
-				ImportPackageObject impObj = (ImportPackageObject) selection;
-				String key = impObj.getHeader().getKey();
-				if (key != null && key.equalsIgnoreCase(IHeaderConstants.IMPORT_TEMPLATE)) {
-					return getSpecificRange(((ImportPackageObject) selection).getModel(),
-							IHeaderConstants.IMPORT_TEMPLATE, ((ImportPackageObject) selection).getValue());
-				} else if (key != null && key.equalsIgnoreCase(IHeaderConstants.EXCLUDED_IMPORTS)) {
-					return getSpecificRange(((ImportPackageObject) selection).getModel(),
-							IHeaderConstants.EXCLUDED_IMPORTS, ((ImportPackageObject) selection).getValue());
-				} else if (key != null && key.equalsIgnoreCase(IHeaderConstants.UNVERSIONED_IMPORTS)) {
-					return getSpecificRange(((ImportPackageObject) selection).getModel(),
-							IHeaderConstants.UNVERSIONED_IMPORTS, ((ImportPackageObject) selection).getValue());
-				}
-			} else if (selection instanceof ExportPackageObject) {
-				ExportPackageObject expObj = (ExportPackageObject) selection;
-				String key = expObj.getHeader().getKey();
-				if (key != null && key.equalsIgnoreCase(IHeaderConstants.EXPORT_TEMPLATE)) {
-					return getSpecificRange(((ExportPackageObject) selection).getModel(),
-							IHeaderConstants.EXPORT_TEMPLATE, ((ExportPackageObject) selection).getValue());
-				} else if (key != null && key.equalsIgnoreCase(IHeaderConstants.EXCLUDED_EXPORTS)) {
-					return getSpecificRange(((ExportPackageObject) selection).getModel(),
-							IHeaderConstants.EXCLUDED_EXPORTS, ((ExportPackageObject) selection).getValue());
-				}
-			}
-		}
-		return super.findRange();
-	}
+            if (selection instanceof ImportLibraryObject) {
+                return getSpecificRange(((ImportLibraryObject) selection).getModel(), IHeaderConstants.IMPORT_LIBRARY,
+                    ((ImportLibraryObject) selection).getId());
+            } else if (selection instanceof ImportBundleObject) {
+                return getSpecificRange(((ImportBundleObject) selection).getModel(), IHeaderConstants.IMPORT_BUNDLE,
+                    ((ImportBundleObject) selection).getId());
+            } else if (selection instanceof ImportPackageObject) {
+                ImportPackageObject impObj = (ImportPackageObject) selection;
+                String key = impObj.getHeader().getKey();
+                if (key != null && key.equalsIgnoreCase(IHeaderConstants.IMPORT_TEMPLATE)) {
+                    return getSpecificRange(((ImportPackageObject) selection).getModel(), IHeaderConstants.IMPORT_TEMPLATE,
+                        ((ImportPackageObject) selection).getValue());
+                } else if (key != null && key.equalsIgnoreCase(IHeaderConstants.EXCLUDED_IMPORTS)) {
+                    return getSpecificRange(((ImportPackageObject) selection).getModel(), IHeaderConstants.EXCLUDED_IMPORTS,
+                        ((ImportPackageObject) selection).getValue());
+                } else if (key != null && key.equalsIgnoreCase(IHeaderConstants.UNVERSIONED_IMPORTS)) {
+                    return getSpecificRange(((ImportPackageObject) selection).getModel(), IHeaderConstants.UNVERSIONED_IMPORTS,
+                        ((ImportPackageObject) selection).getValue());
+                }
+            } else if (selection instanceof ExportPackageObject) {
+                ExportPackageObject expObj = (ExportPackageObject) selection;
+                String key = expObj.getHeader().getKey();
+                if (key != null && key.equalsIgnoreCase(IHeaderConstants.EXPORT_TEMPLATE)) {
+                    return getSpecificRange(((ExportPackageObject) selection).getModel(), IHeaderConstants.EXPORT_TEMPLATE,
+                        ((ExportPackageObject) selection).getValue());
+                } else if (key != null && key.equalsIgnoreCase(IHeaderConstants.EXCLUDED_EXPORTS)) {
+                    return getSpecificRange(((ExportPackageObject) selection).getModel(), IHeaderConstants.EXCLUDED_EXPORTS,
+                        ((ExportPackageObject) selection).getValue());
+                }
+            }
+        }
+        return super.findRange();
+    }
 
-	private class SpringBundleOutlineContentProvider extends DefaultContentProvider implements ITreeContentProvider {
+    private class SpringBundleOutlineContentProvider extends DefaultContentProvider implements ITreeContentProvider {
 
-		public Object[] getChildren(Object parent) {
-			// Need an identifying class for label provider
-			if (parent instanceof ImportPackageHeader) {
-				return ((ImportPackageHeader) parent).getPackages();
-			} else if (parent instanceof ExportPackageHeader) {
-				return ((ExportPackageHeader) parent).getPackages();
-			} else if (parent instanceof RequiredExecutionEnvironmentHeader) {
-				return ((RequiredExecutionEnvironmentHeader) parent).getEnvironments();
-			} else if (parent instanceof RequireBundleHeader) {
-				return ((RequireBundleHeader) parent).getRequiredBundles();
-			} else if (parent instanceof BundleClasspathHeader) {
-				return getPluginLibraries();
-			} else if (parent instanceof ImportBundleHeader) {
-				return ((ImportBundleHeader) parent).getImportedBundles();
-			} else if (parent instanceof ImportLibraryHeader) {
-				return ((ImportLibraryHeader) parent).getImportedLibraries();
-			}
-			return new Object[0];
-		}
+        public Object[] getChildren(Object parent) {
+            // Need an identifying class for label provider
+            if (parent instanceof ImportPackageHeader) {
+                return ((ImportPackageHeader) parent).getPackages();
+            } else if (parent instanceof ExportPackageHeader) {
+                return ((ExportPackageHeader) parent).getPackages();
+            } else if (parent instanceof RequiredExecutionEnvironmentHeader) {
+                return ((RequiredExecutionEnvironmentHeader) parent).getEnvironments();
+            } else if (parent instanceof RequireBundleHeader) {
+                return ((RequireBundleHeader) parent).getRequiredBundles();
+            } else if (parent instanceof BundleClasspathHeader) {
+                return getPluginLibraries();
+            } else if (parent instanceof ImportBundleHeader) {
+                return ((ImportBundleHeader) parent).getImportedBundles();
+            } else if (parent instanceof ImportLibraryHeader) {
+                return ((ImportLibraryHeader) parent).getImportedLibraries();
+            }
+            return new Object[0];
+        }
 
-		private Object[] getPluginLibraries() {
-			IPluginLibrary[] libraries = getBundleClasspathLibraries();
-			if ((libraries == null) || (libraries.length == 0)) {
-				return new Object[0];
-			}
-			return libraries;
-		}
+        private Object[] getPluginLibraries() {
+            IPluginLibrary[] libraries = getBundleClasspathLibraries();
+            if (libraries == null || libraries.length == 0) {
+                return new Object[0];
+            }
+            return libraries;
+        }
 
-		public boolean hasChildren(Object parent) {
-			return getChildren(parent).length > 0;
-		}
+        public boolean hasChildren(Object parent) {
+            return getChildren(parent).length > 0;
+        }
 
-		public Object getParent(Object child) {
-			return null;
-		}
+        public Object getParent(Object child) {
+            return null;
+        }
 
-		@SuppressWarnings("unchecked")
-		public Object[] getElements(Object parent) {
-			if (parent instanceof BundleModel) {
-				BundleModel model = (BundleModel) parent;
-				Map manifest = ((Bundle) model.getBundle()).getHeaders();
-				ArrayList keys = new ArrayList();
-				for (Iterator elements = manifest.keySet().iterator(); elements.hasNext();) {
-					IDocumentKey key = (IDocumentKey) manifest.get(elements.next());
-					if (key.getOffset() > -1) {
-						keys.add(key);
-					}
-				}
-				return keys.toArray();
-			}
-			return new Object[0];
-		}
-	}
+        @SuppressWarnings("unchecked")
+        public Object[] getElements(Object parent) {
+            if (parent instanceof BundleModel) {
+                BundleModel model = (BundleModel) parent;
+                Map manifest = ((Bundle) model.getBundle()).getHeaders();
+                ArrayList keys = new ArrayList();
+                for (Iterator elements = manifest.keySet().iterator(); elements.hasNext();) {
+                    IDocumentKey key = (IDocumentKey) manifest.get(elements.next());
+                    if (key.getOffset() > -1) {
+                        keys.add(key);
+                    }
+                }
+                return keys.toArray();
+            }
+            return new Object[0];
+        }
+    }
 
-	private IPluginLibrary[] getBundleClasspathLibraries() {
-		// The bundle classpath header has no model data members
-		// Retrieve the plug-in library equivalents from the editor model
-		FormEditor editor = getEditor();
-		if (editor instanceof PDEFormEditor) {
-			PDEFormEditor formEditor = (PDEFormEditor) editor;
-			IBaseModel baseModel = formEditor.getAggregateModel();
-			if (baseModel instanceof IPluginModelBase) {
-				IPluginLibrary[] libraries = ((IPluginModelBase) baseModel).getPluginBase().getLibraries();
-				return libraries;
-			}
-		}
-		return null;
-	}
+    private IPluginLibrary[] getBundleClasspathLibraries() {
+        // The bundle classpath header has no model data members
+        // Retrieve the plug-in library equivalents from the editor model
+        FormEditor editor = getEditor();
+        if (editor instanceof PDEFormEditor) {
+            PDEFormEditor formEditor = (PDEFormEditor) editor;
+            IBaseModel baseModel = formEditor.getAggregateModel();
+            if (baseModel instanceof IPluginModelBase) {
+                IPluginLibrary[] libraries = ((IPluginModelBase) baseModel).getPluginBase().getLibraries();
+                return libraries;
+            }
+        }
+        return null;
+    }
 
-	private class SpringBundleLabelProvider extends LabelProvider {
-		// TODO: MP: QO: LOW: Move to PDELabelProvider
-		@Override
-		public String getText(Object obj) {
-			if (obj instanceof PackageObject) {
-				return ((PackageObject) obj).getName();
-			} else if (obj instanceof ExecutionEnvironment) {
-				return ((ExecutionEnvironment) obj).getName();
-			} else if (obj instanceof RequireBundleObject) {
-				return getTextRequireBundle(((RequireBundleObject) obj));
-			} else if (obj instanceof ImportLibraryObject) {
-				return ((ImportLibraryObject) obj).getId();
-			} else if (obj instanceof ImportBundleObject) {
-				return ((ImportBundleObject) obj).getId();
-			} else if (obj instanceof ManifestHeader) {
-				return ((ManifestHeader) obj).getName();
-			}
-			return super.getText(obj);
-		}
+    private class SpringBundleLabelProvider extends LabelProvider {
 
-		private String getTextRequireBundle(RequireBundleObject bundle) {
-			StringBuffer label = new StringBuffer();
-			// Append the ID
-			label.append(bundle.getId());
-			// Get the version
-			String version = bundle.getVersion();
-			// If there is no version, just return what we have
-			if ((version == null) || (version.length() == 0)) {
-				return label.toString();
-			}
-			// Append a space
-			label.append(' ');
-			// If the first character does not have a range indicator,
-			// add a default one. This can happen when there is only one
-			// value specified for either min or max
-			char firstChar = version.charAt(0);
-			if ((firstChar != '(') && (firstChar != '[')) {
-				label.append('(');
-			}
-			// Append the version
-			label.append(version);
-			// If the last character does not have a range indicator,
-			// add a default one. This can happen when there is only one
-			// value specified for either min or max
-			char lastChar = version.charAt(version.length() - 1);
-			if ((lastChar != ')') && (lastChar != ']')) {
-				label.append(')');
-			}
-			// Return what we have
-			return label.toString();
-		}
+        // TODO: MP: QO: LOW: Move to PDELabelProvider
+        @Override
+        public String getText(Object obj) {
+            if (obj instanceof PackageObject) {
+                return ((PackageObject) obj).getName();
+            } else if (obj instanceof ExecutionEnvironment) {
+                return ((ExecutionEnvironment) obj).getName();
+            } else if (obj instanceof RequireBundleObject) {
+                return getTextRequireBundle((RequireBundleObject) obj);
+            } else if (obj instanceof ImportLibraryObject) {
+                return ((ImportLibraryObject) obj).getId();
+            } else if (obj instanceof ImportBundleObject) {
+                return ((ImportBundleObject) obj).getId();
+            } else if (obj instanceof ManifestHeader) {
+                return ((ManifestHeader) obj).getName();
+            }
+            return super.getText(obj);
+        }
 
-		@Override
-		public Image getImage(Object obj) {
-			PDELabelProvider labelProvider = PDEPlugin.getDefault().getLabelProvider();
-			if (obj instanceof PackageObject) {
-				return labelProvider.get(PDEPluginImages.DESC_PACKAGE_OBJ);
-			} else if (obj instanceof ExecutionEnvironment) {
-				return labelProvider.get(PDEPluginImages.DESC_JAVA_LIB_OBJ);
-			} else if (obj instanceof RequireBundleObject) {
-				int flags = SharedLabelProvider.F_EXTERNAL;
-				if (((RequireBundleObject) obj).isReexported()) {
-					flags = flags | SharedLabelProvider.F_EXPORT;
-				}
-				return labelProvider.get(PDEPluginImages.DESC_REQ_PLUGIN_OBJ, flags);
-			} else if (obj instanceof ImportLibraryObject) {
-				return labelProvider.get(PDEPluginImages.DESC_JAR_LIB_OBJ);
-			} else if (obj instanceof ImportBundleObject) {
-				return labelProvider.get(PDEPluginImages.DESC_BUNDLE_OBJ);
-			} else if (obj instanceof ManifestHeader) {
-				if (isSpringHeader(((ManifestHeader) obj).getKey())) {
-					return labelProvider.get(ServerIdeUiPlugin.getImageDescriptor("full/view16/green_ball_obj.gif"));
-				}
-				return labelProvider.get(PDEPluginImages.DESC_BUILD_VAR_OBJ);
-			} else if (obj instanceof IPluginLibrary) {
-				return labelProvider.get(PDEPluginImages.DESC_JAVA_LIB_OBJ);
-			}
-			return null;
-		}
-	}
+        private String getTextRequireBundle(RequireBundleObject bundle) {
+            StringBuffer label = new StringBuffer();
+            // Append the ID
+            label.append(bundle.getId());
+            // Get the version
+            String version = bundle.getVersion();
+            // If there is no version, just return what we have
+            if (version == null || version.length() == 0) {
+                return label.toString();
+            }
+            // Append a space
+            label.append(' ');
+            // If the first character does not have a range indicator,
+            // add a default one. This can happen when there is only one
+            // value specified for either min or max
+            char firstChar = version.charAt(0);
+            if (firstChar != '(' && firstChar != '[') {
+                label.append('(');
+            }
+            // Append the version
+            label.append(version);
+            // If the last character does not have a range indicator,
+            // add a default one. This can happen when there is only one
+            // value specified for either min or max
+            char lastChar = version.charAt(version.length() - 1);
+            if (lastChar != ')' && lastChar != ']') {
+                label.append(')');
+            }
+            // Return what we have
+            return label.toString();
+        }
 
-	private boolean isSpringHeader(String key) {
-		ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.virgo.ide.ui.editors.text.headers");
-		List<String> headers = Collections.list(bundle.getKeys());
-		return headers.contains(key);
-	}
+        @Override
+        public Image getImage(Object obj) {
+            PDELabelProvider labelProvider = PDEPlugin.getDefault().getLabelProvider();
+            if (obj instanceof PackageObject) {
+                return labelProvider.get(PDEPluginImages.DESC_PACKAGE_OBJ);
+            } else if (obj instanceof ExecutionEnvironment) {
+                return labelProvider.get(PDEPluginImages.DESC_JAVA_LIB_OBJ);
+            } else if (obj instanceof RequireBundleObject) {
+                int flags = SharedLabelProvider.F_EXTERNAL;
+                if (((RequireBundleObject) obj).isReexported()) {
+                    flags = flags | SharedLabelProvider.F_EXPORT;
+                }
+                return labelProvider.get(PDEPluginImages.DESC_REQ_PLUGIN_OBJ, flags);
+            } else if (obj instanceof ImportLibraryObject) {
+                return labelProvider.get(PDEPluginImages.DESC_JAR_LIB_OBJ);
+            } else if (obj instanceof ImportBundleObject) {
+                return labelProvider.get(PDEPluginImages.DESC_BUNDLE_OBJ);
+            } else if (obj instanceof ManifestHeader) {
+                if (isSpringHeader(((ManifestHeader) obj).getKey())) {
+                    return labelProvider.get(ServerIdeUiPlugin.getImageDescriptor("full/view16/green_ball_obj.gif"));
+                }
+                return labelProvider.get(PDEPluginImages.DESC_BUILD_VAR_OBJ);
+            } else if (obj instanceof IPluginLibrary) {
+                return labelProvider.get(PDEPluginImages.DESC_JAVA_LIB_OBJ);
+            }
+            return null;
+        }
+    }
 
-	@SuppressWarnings("unchecked")
-	@Override
-	public Object getAdapter(Class adapter) {
-		if (IHyperlinkDetector.class.equals(adapter)) {
-			return new SpringBundleHyperlinkDetector(this);
-		}
-		return super.getAdapter(adapter);
-	}
+    private boolean isSpringHeader(String key) {
+        ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.virgo.ide.ui.editors.text.headers");
+        List<String> headers = Collections.list(bundle.getKeys());
+        return headers.contains(key);
+    }
+
+    @SuppressWarnings("unchecked")
+    @Override
+    public Object getAdapter(Class adapter) {
+        if (IHyperlinkDetector.class.equals(adapter)) {
+            return new SpringBundleHyperlinkDetector(this);
+        }
+        return super.getAdapter(adapter);
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/model/BundleModelModification.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/model/BundleModelModification.java
index 8d37339..87259fa 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/model/BundleModelModification.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/model/BundleModelModification.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.model;
 
 import org.eclipse.core.resources.IFile;
@@ -20,58 +21,55 @@
 /**
  * Adapted from ModelModification for use when modifying SpringBundleModels. This essentially provides access to needed
  * private final methods.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  */
 public abstract class BundleModelModification extends ModelModification {
 
-	private IFile modelFile;
+    private IFile modelFile;
 
-	/**
-	 * Create a single model modification - used for modifying single AbstractEditingModels
-	 * 
-	 * @param modelFile
-	 *            the basic underlying file for the model you wish to modify.
-	 */
-	public BundleModelModification(IFile modelFile) {
-		super(modelFile);
-		this.modelFile = modelFile;
-	}
+    /**
+     * Create a single model modification - used for modifying single AbstractEditingModels
+     *
+     * @param modelFile the basic underlying file for the model you wish to modify.
+     */
+    public BundleModelModification(IFile modelFile) {
+        super(modelFile);
+        this.modelFile = modelFile;
+    }
 
-	/**
-	 * Create a full IBundlePluginModelBase modification
-	 * 
-	 * @param bundleFile
-	 *            the MANIFEST.MF file
-	 * @param xmlFile
-	 *            the plugin.xml/fragment.xml file for this modification (optional - can be null)
-	 * @pre bundleFile must not be <code>null</code>
-	 */
-	public BundleModelModification(IFile bundleFile, IFile xmlFile) {
-		super(bundleFile, xmlFile);
-	}
+    /**
+     * Create a full IBundlePluginModelBase modification
+     *
+     * @param bundleFile the MANIFEST.MF file
+     * @param xmlFile the plugin.xml/fragment.xml file for this modification (optional - can be null)
+     * @pre bundleFile must not be <code>null</code>
+     */
+    public BundleModelModification(IFile bundleFile, IFile xmlFile) {
+        super(bundleFile, xmlFile);
+    }
 
-	/**
-	 * Create a ModelModification based on the contents of the project ie. if the project contains a MANIFEST.MF this
-	 * will be tagged as a fullBundleModification, otherwise (this project is an old-style plugin) this will be a
-	 * PluginModel/FragmentModel modification.
-	 * 
-	 * @param project
-	 */
-	public BundleModelModification(IProject project) {
-		super(project);
-	}
+    /**
+     * Create a ModelModification based on the contents of the project ie. if the project contains a MANIFEST.MF this
+     * will be tagged as a fullBundleModification, otherwise (this project is an old-style plugin) this will be a
+     * PluginModel/FragmentModel modification.
+     *
+     * @param project
+     */
+    public BundleModelModification(IProject project) {
+        super(project);
+    }
 
-	public IFile getIfile() {
-		if (this.getFile() != null) {
-			return this.getFile();
-		}
-		return this.modelFile;
-	}
+    public IFile getIfile() {
+        if (this.getFile() != null) {
+            return this.getFile();
+        }
+        return this.modelFile;
+    }
 
-	public void modifySpringBundle(IBaseModel model, IProgressMonitor monitor) throws CoreException {
-		this.modifyModel(model, monitor);
-	}
+    public void modifySpringBundle(IBaseModel model, IProgressMonitor monitor) throws CoreException {
+        this.modifyModel(model, monitor);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/model/BundleModelUtility.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/model/BundleModelUtility.java
index 456a083..477d37e 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/model/BundleModelUtility.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/model/BundleModelUtility.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.model;
 
 import java.lang.reflect.Field;
@@ -60,7 +61,7 @@
 /**
  * Adapted from PDEModelUtility to create SpringBundleModels for modification. This will either retrieve a model from an
  * open editor if one exists or create a new SpringBundleModel from file.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @see PDEModelUtility
@@ -68,427 +69,426 @@
 @SuppressWarnings({ "unchecked" })
 public class BundleModelUtility {
 
-	public static final String F_MANIFEST = "MANIFEST.MF"; //$NON-NLS-1$
+    public static final String F_MANIFEST = "MANIFEST.MF"; //$NON-NLS-1$
 
-	public static final String F_MANIFEST_FP = "META-INF/" + F_MANIFEST; //$NON-NLS-1$
+    public static final String F_MANIFEST_FP = "META-INF/" + F_MANIFEST; //$NON-NLS-1$
 
-	public static final String F_PLUGIN = "plugin.xml"; //$NON-NLS-1$
+    public static final String F_PLUGIN = "plugin.xml"; //$NON-NLS-1$
 
-	public static final String F_FRAGMENT = "fragment.xml"; //$NON-NLS-1$
+    public static final String F_FRAGMENT = "fragment.xml"; //$NON-NLS-1$
 
-	public static final String F_PROPERTIES = ".properties"; //$NON-NLS-1$
+    public static final String F_PROPERTIES = ".properties"; //$NON-NLS-1$
 
-	public static final String F_BUILD = "build" + F_PROPERTIES; //$NON-NLS-1$
+    public static final String F_BUILD = "build" + F_PROPERTIES; //$NON-NLS-1$
 
-	public static void modifyModel(final ModelModification modification, final IProgressMonitor monitor) {
-		// ModelModification was not supplied with the right files
-		// TODO should we just fail silently?
-		if (getFile(modification) == null) {
-			return;
-		}
+    public static void modifyModel(final ModelModification modification, final IProgressMonitor monitor) {
+        // ModelModification was not supplied with the right files
+        // TODO should we just fail silently?
+        if (getFile(modification) == null) {
+            return;
+        }
 
-		PDEFormEditor editor = getOpenEditor(modification);
-		IBaseModel model = getModelFromEditor(editor, modification);
+        PDEFormEditor editor = getOpenEditor(modification);
+        IBaseModel model = getModelFromEditor(editor, modification);
 
-		if (model != null) {
-			// open editor found, should have underlying text listeners -> apply
-			// modification
-			modifyEditorModel((BundleModelModification) modification, editor, model, monitor);
-		} else {
-			generateModelEdits((BundleModelModification) modification, monitor, true);
-		}
-	}
+        if (model != null) {
+            // open editor found, should have underlying text listeners -> apply
+            // modification
+            modifyEditorModel((BundleModelModification) modification, editor, model, monitor);
+        } else {
+            generateModelEdits((BundleModelModification) modification, monitor, true);
+        }
+    }
 
-	private static TextFileChange[] generateModelEdits(final BundleModelModification modification,
-			final IProgressMonitor monitor, boolean performEdits) {
-		ArrayList edits = new ArrayList();
-		// create own model, attach listeners and grab text edits
-		ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
-		IFile[] files;
-		if (isFullBundleModification(modification)) {
-			files = new IFile[2];
-			files[F_Bi] = getManifestFile(modification);
-			files[F_Xi] = getXMLFile(modification);
-		} else {
-			files = new IFile[] { getFile(modification) };
-		}
-		// need to monitor number of successful buffer connections for
-		// disconnection purposes
-		// @see } finally { statement
-		int sc = 0;
-		try {
-			ITextFileBuffer[] buffers = new ITextFileBuffer[files.length];
-			IDocument[] documents = new IDocument[files.length];
-			for (int i = 0; i < files.length; i++) {
-				if (files[i] == null || !files[i].exists()) {
-					continue;
-				}
-				manager.connect(files[i].getFullPath(), LocationKind.NORMALIZE, monitor);
-				sc++;
-				buffers[i] = manager.getTextFileBuffer(files[i].getFullPath(), LocationKind.NORMALIZE);
-				if (performEdits && buffers[i].isDirty()) {
-					buffers[i].commit(monitor, true);
-				}
-				documents[i] = buffers[i].getDocument();
-			}
+    private static TextFileChange[] generateModelEdits(final BundleModelModification modification, final IProgressMonitor monitor,
+        boolean performEdits) {
+        ArrayList edits = new ArrayList();
+        // create own model, attach listeners and grab text edits
+        ITextFileBufferManager manager = FileBuffers.getTextFileBufferManager();
+        IFile[] files;
+        if (isFullBundleModification(modification)) {
+            files = new IFile[2];
+            files[F_Bi] = getManifestFile(modification);
+            files[F_Xi] = getXMLFile(modification);
+        } else {
+            files = new IFile[] { getFile(modification) };
+        }
+        // need to monitor number of successful buffer connections for
+        // disconnection purposes
+        // @see } finally { statement
+        int sc = 0;
+        try {
+            ITextFileBuffer[] buffers = new ITextFileBuffer[files.length];
+            IDocument[] documents = new IDocument[files.length];
+            for (int i = 0; i < files.length; i++) {
+                if (files[i] == null || !files[i].exists()) {
+                    continue;
+                }
+                manager.connect(files[i].getFullPath(), LocationKind.NORMALIZE, monitor);
+                sc++;
+                buffers[i] = manager.getTextFileBuffer(files[i].getFullPath(), LocationKind.NORMALIZE);
+                if (performEdits && buffers[i].isDirty()) {
+                    buffers[i].commit(monitor, true);
+                }
+                documents[i] = buffers[i].getDocument();
+            }
 
-			IBaseModel editModel;
-			if (isFullBundleModification(modification)) {
-				editModel = prepareBundlePluginModel(files, documents, !performEdits);
-			} else {
-				editModel = prepareAbstractEditingModel(files[0], documents[0], !performEdits);
-			}
+            IBaseModel editModel;
+            if (isFullBundleModification(modification)) {
+                editModel = prepareBundlePluginModel(files, documents, !performEdits);
+            } else {
+                editModel = prepareAbstractEditingModel(files[0], documents[0], !performEdits);
+            }
 
-			modification.modifySpringBundle(editModel, monitor);
+            modification.modifySpringBundle(editModel, monitor);
 
-			IModelTextChangeListener[] listeners = gatherListeners(editModel);
-			for (int i = 0; i < listeners.length; i++) {
-				if (listeners[i] == null) {
-					continue;
-				}
-				TextEdit[] currentEdits = listeners[i].getTextOperations();
-				if (currentEdits.length > 0) {
-					MultiTextEdit multi = new MultiTextEdit();
-					multi.addChildren(currentEdits);
-					if (performEdits) {
-						multi.apply(documents[i]);
-						buffers[i].commit(monitor, true);
-					}
-					TextFileChange change = new TextFileChange(files[i].getName(), files[i]);
-					change.setEdit(multi);
-					// If the edits were performed right away (performEdits ==
-					// true) then
-					// all the names are null and we don't need the granular
-					// detail anyway.
-					if (!performEdits) {
-						for (TextEdit currentEdit : currentEdits) {
-							String name = listeners[i].getReadableName(currentEdit);
-							if (name != null) {
-								change.addTextEditGroup(new TextEditGroup(name, currentEdit));
-							}
-						}
-					}
-					// save the file after the change applied
-					change.setSaveMode(TextFileChange.FORCE_SAVE);
-					PDEModelUtility.setChangeTextType(change, files[i]);
-					edits.add(change);
-				}
-			}
-		} catch (CoreException e) {
-			PDEPlugin.log(e);
-		} catch (MalformedTreeException e) {
-			PDEPlugin.log(e);
-		} catch (BadLocationException e) {
-			PDEPlugin.log(e);
-		} finally {
-			// don't want to over-disconnect in case we ran into an exception
-			// during connections
-			// dc <= sc stops this from happening
-			int dc = 0;
-			for (int i = 0; i < files.length && dc <= sc; i++) {
-				if (files[i] == null || !files[i].exists()) {
-					continue;
-				}
-				try {
-					manager.disconnect(files[i].getFullPath(), LocationKind.NORMALIZE, monitor);
-					dc++;
-				} catch (CoreException e) {
-					PDEPlugin.log(e);
-				}
-			}
-		}
-		return (TextFileChange[]) edits.toArray(new TextFileChange[edits.size()]);
-	}
+            IModelTextChangeListener[] listeners = gatherListeners(editModel);
+            for (int i = 0; i < listeners.length; i++) {
+                if (listeners[i] == null) {
+                    continue;
+                }
+                TextEdit[] currentEdits = listeners[i].getTextOperations();
+                if (currentEdits.length > 0) {
+                    MultiTextEdit multi = new MultiTextEdit();
+                    multi.addChildren(currentEdits);
+                    if (performEdits) {
+                        multi.apply(documents[i]);
+                        buffers[i].commit(monitor, true);
+                    }
+                    TextFileChange change = new TextFileChange(files[i].getName(), files[i]);
+                    change.setEdit(multi);
+                    // If the edits were performed right away (performEdits ==
+                    // true) then
+                    // all the names are null and we don't need the granular
+                    // detail anyway.
+                    if (!performEdits) {
+                        for (TextEdit currentEdit : currentEdits) {
+                            String name = listeners[i].getReadableName(currentEdit);
+                            if (name != null) {
+                                change.addTextEditGroup(new TextEditGroup(name, currentEdit));
+                            }
+                        }
+                    }
+                    // save the file after the change applied
+                    change.setSaveMode(TextFileChange.FORCE_SAVE);
+                    PDEModelUtility.setChangeTextType(change, files[i]);
+                    edits.add(change);
+                }
+            }
+        } catch (CoreException e) {
+            PDEPlugin.log(e);
+        } catch (MalformedTreeException e) {
+            PDEPlugin.log(e);
+        } catch (BadLocationException e) {
+            PDEPlugin.log(e);
+        } finally {
+            // don't want to over-disconnect in case we ran into an exception
+            // during connections
+            // dc <= sc stops this from happening
+            int dc = 0;
+            for (int i = 0; i < files.length && dc <= sc; i++) {
+                if (files[i] == null || !files[i].exists()) {
+                    continue;
+                }
+                try {
+                    manager.disconnect(files[i].getFullPath(), LocationKind.NORMALIZE, monitor);
+                    dc++;
+                } catch (CoreException e) {
+                    PDEPlugin.log(e);
+                }
+            }
+        }
+        return (TextFileChange[]) edits.toArray(new TextFileChange[edits.size()]);
+    }
 
-	private static IBaseModel prepareBundlePluginModel(IFile[] files, IDocument[] docs, boolean generateEditNames)
-			throws CoreException {
-		AbstractEditingModel[] models = new AbstractEditingModel[docs.length];
+    private static IBaseModel prepareBundlePluginModel(IFile[] files, IDocument[] docs, boolean generateEditNames) throws CoreException {
+        AbstractEditingModel[] models = new AbstractEditingModel[docs.length];
 
-		boolean isFragment = false;
-		models[F_Bi] = prepareAbstractEditingModel(files[F_Bi], docs[F_Bi], generateEditNames);
-		if (models[F_Bi] instanceof IBundleModel) {
-			isFragment = ((IBundleModel) models[F_Bi]).getBundle().getHeader(Constants.FRAGMENT_HOST) != null;
-		}
+        boolean isFragment = false;
+        models[F_Bi] = prepareAbstractEditingModel(files[F_Bi], docs[F_Bi], generateEditNames);
+        if (models[F_Bi] instanceof IBundleModel) {
+            isFragment = ((IBundleModel) models[F_Bi]).getBundle().getHeader(Constants.FRAGMENT_HOST) != null;
+        }
 
-		IBundlePluginModelBase pluginModel;
-		if (isFragment) {
-			pluginModel = new BundleFragmentModel();
-		} else {
-			pluginModel = new BundlePluginModel();
-		}
+        IBundlePluginModelBase pluginModel;
+        if (isFragment) {
+            pluginModel = new BundleFragmentModel();
+        } else {
+            pluginModel = new BundlePluginModel();
+        }
 
-		pluginModel.setBundleModel((IBundleModel) models[F_Bi]);
-		if (files.length > F_Xi && files[F_Xi] != null) {
-			models[F_Xi] = prepareAbstractEditingModel(files[F_Xi], docs[F_Xi], generateEditNames);
-			pluginModel.setExtensionsModel((ISharedExtensionsModel) models[F_Xi]);
-		}
-		return pluginModel;
-	}
+        pluginModel.setBundleModel((IBundleModel) models[F_Bi]);
+        if (files.length > F_Xi && files[F_Xi] != null) {
+            models[F_Xi] = prepareAbstractEditingModel(files[F_Xi], docs[F_Xi], generateEditNames);
+            pluginModel.setExtensionsModel((ISharedExtensionsModel) models[F_Xi]);
+        }
+        return pluginModel;
+    }
 
-	private static AbstractEditingModel prepareAbstractEditingModel(IFile file, IDocument doc, boolean generateEditNames) {
-		AbstractEditingModel model;
-		String filename = file.getName();
-		if (filename.equals(F_MANIFEST)) {
-			// TODO: include template.mf && TEST.MF??
-			model = new SpringBundleModel(doc, true);
-		} else {
-			return null;
-		}
-		model.setUnderlyingResource(file);
-		try {
-			model.load();
-			IModelTextChangeListener listener = createListener(filename, doc, generateEditNames);
-			model.addModelChangedListener(listener);
-		} catch (CoreException e) {
-			PDEPlugin.log(e);
-		}
-		return model;
-	}
+    private static AbstractEditingModel prepareAbstractEditingModel(IFile file, IDocument doc, boolean generateEditNames) {
+        AbstractEditingModel model;
+        String filename = file.getName();
+        if (filename.equals(F_MANIFEST)) {
+            // TODO: include template.mf && TEST.MF??
+            model = new SpringBundleModel(doc, true);
+        } else {
+            return null;
+        }
+        model.setUnderlyingResource(file);
+        try {
+            model.load();
+            IModelTextChangeListener listener = createListener(filename, doc, generateEditNames);
+            model.addModelChangedListener(listener);
+        } catch (CoreException e) {
+            PDEPlugin.log(e);
+        }
+        return model;
+    }
 
-	private static PDEFormEditor getOpenEditor(ModelModification modification) {
-		IProject project = getFile(modification).getProject();
-		String name = getFile(modification).getName();
-		if (name.equals(F_PLUGIN) || name.equals(F_FRAGMENT) || name.equals(F_MANIFEST)
-				|| name.equalsIgnoreCase("template.mf") || name.equalsIgnoreCase("TEST.MF")) {
-			return getOpenManifestEditor(project, getFile(modification));
-		} else if (name.equals(F_BUILD)) {
-			PDEFormEditor openEditor = PDEModelUtility.getOpenBuildPropertiesEditor(project);
-			if (openEditor == null) {
-				openEditor = getOpenManifestEditor(project, getFile(modification));
-			}
-			return openEditor;
-		}
-		return null;
-	}
+    private static PDEFormEditor getOpenEditor(ModelModification modification) {
+        IProject project = getFile(modification).getProject();
+        String name = getFile(modification).getName();
+        if (name.equals(F_PLUGIN) || name.equals(F_FRAGMENT) || name.equals(F_MANIFEST) || name.equalsIgnoreCase("template.mf")
+            || name.equalsIgnoreCase("TEST.MF")) {
+            return getOpenManifestEditor(project, getFile(modification));
+        } else if (name.equals(F_BUILD)) {
+            PDEFormEditor openEditor = PDEModelUtility.getOpenBuildPropertiesEditor(project);
+            if (openEditor == null) {
+                openEditor = getOpenManifestEditor(project, getFile(modification));
+            }
+            return openEditor;
+        }
+        return null;
+    }
 
-	public static ManifestEditor getOpenManifestEditor(IProject project, IFile file) {
-		return (ManifestEditor) getOpenEditor(project, BundleManifestEditor.ID_EDITOR, file);
-	}
+    public static ManifestEditor getOpenManifestEditor(IProject project, IFile file) {
+        return (ManifestEditor) getOpenEditor(project, BundleManifestEditor.ID_EDITOR, file);
+    }
 
-	private static PDEFormEditor getOpenEditor(IProject project, String editorId, IFile file) {
-		ArrayList list = (ArrayList) getOpenPDEEditors().get(project);
-		if (list == null) {
-			return null;
-		}
-		for (int i = 0; i < list.size(); i++) {
-			PDEFormEditor editor = (PDEFormEditor) list.get(i);
-			if (editor.getEditorSite().getId().equals(editorId)) {
-				if (editor.getEditorInput() instanceof IFileEditorInput) {
-					if (((IFileEditorInput) editor.getEditorInput()).getFile().equals(file)) {
-						return editor;
-					}
-				}
-			}
-		}
-		return null;
-	}
+    private static PDEFormEditor getOpenEditor(IProject project, String editorId, IFile file) {
+        ArrayList list = (ArrayList) getOpenPDEEditors().get(project);
+        if (list == null) {
+            return null;
+        }
+        for (int i = 0; i < list.size(); i++) {
+            PDEFormEditor editor = (PDEFormEditor) list.get(i);
+            if (editor.getEditorSite().getId().equals(editorId)) {
+                if (editor.getEditorInput() instanceof IFileEditorInput) {
+                    if (((IFileEditorInput) editor.getEditorInput()).getFile().equals(file)) {
+                        return editor;
+                    }
+                }
+            }
+        }
+        return null;
+    }
 
-	private static IBaseModel getModelFromEditor(PDEFormEditor openEditor, ModelModification modification) {
-		if (openEditor == null) {
-			return null;
-		}
-		String name = getFile(modification).getName();
-		IBaseModel model = null;
-		if (name.equals(F_PLUGIN) || name.equals(F_FRAGMENT)) {
-			model = openEditor.getAggregateModel();
-			if (model instanceof IBundlePluginModelBase) {
-				model = ((IBundlePluginModelBase) model).getExtensionsModel();
-			}
-		} else if (name.equals(F_BUILD)) {
-			if (openEditor instanceof BuildEditor) {
-				model = openEditor.getAggregateModel();
-			} else if (openEditor instanceof ManifestEditor) {
-				IFormPage page = openEditor.findPage(BuildInputContext.CONTEXT_ID);
-				if (page instanceof BuildSourcePage) {
-					model = ((BuildSourcePage) page).getInputContext().getModel();
-				}
-			}
-		} else if (name.equals(F_MANIFEST) || name.equalsIgnoreCase("template.mf") || name.equalsIgnoreCase("TEST.MF")) {
-			model = openEditor.getAggregateModel();
-			if (model instanceof IBundlePluginModelBase) {
-				return model;
-			}
-		}
-		if (model instanceof AbstractEditingModel) {
-			return model;
-		}
-		return null;
-	}
+    private static IBaseModel getModelFromEditor(PDEFormEditor openEditor, ModelModification modification) {
+        if (openEditor == null) {
+            return null;
+        }
+        String name = getFile(modification).getName();
+        IBaseModel model = null;
+        if (name.equals(F_PLUGIN) || name.equals(F_FRAGMENT)) {
+            model = openEditor.getAggregateModel();
+            if (model instanceof IBundlePluginModelBase) {
+                model = ((IBundlePluginModelBase) model).getExtensionsModel();
+            }
+        } else if (name.equals(F_BUILD)) {
+            if (openEditor instanceof BuildEditor) {
+                model = openEditor.getAggregateModel();
+            } else if (openEditor instanceof ManifestEditor) {
+                IFormPage page = openEditor.findPage(BuildInputContext.CONTEXT_ID);
+                if (page instanceof BuildSourcePage) {
+                    model = ((BuildSourcePage) page).getInputContext().getModel();
+                }
+            }
+        } else if (name.equals(F_MANIFEST) || name.equalsIgnoreCase("template.mf") || name.equalsIgnoreCase("TEST.MF")) {
+            model = openEditor.getAggregateModel();
+            if (model instanceof IBundlePluginModelBase) {
+                return model;
+            }
+        }
+        if (model instanceof AbstractEditingModel) {
+            return model;
+        }
+        return null;
+    }
 
-	private static void modifyEditorModel(final BundleModelModification mod, final PDEFormEditor editor,
-			final IBaseModel model, final IProgressMonitor monitor) {
-		getDisplay().syncExec(new Runnable() {
-			public void run() {
-				try {
-					mod.modifySpringBundle(model, monitor);
-					IFile[] files = new IFile[] { getManifestFile(mod), getXMLFile(mod), getPropertiesFile(mod) };
-					for (IFile element : files) {
-						if (element == null) {
-							continue;
-						}
-						InputContext con = editor.getContextManager().findContext(element);
-						if (con != null) {
-							con.flushEditorInput();
-						}
-					}
-					if (mod.saveOpenEditor()) {
-						editor.doSave(monitor);
-					}
-				}
-				// catch (CoreException e) {
-				// PDEPlugin.log(e);
-				// }
-				catch (Exception e) {
-					PDEPlugin.log(e);
-				}
-			}
-		});
-	}
+    private static void modifyEditorModel(final BundleModelModification mod, final PDEFormEditor editor, final IBaseModel model,
+        final IProgressMonitor monitor) {
+        getDisplay().syncExec(new Runnable() {
 
-	private static Display getDisplay() {
-		Display display = Display.getCurrent();
-		if (display == null) {
-			display = Display.getDefault();
-		}
-		return display;
-	}
+            public void run() {
+                try {
+                    mod.modifySpringBundle(model, monitor);
+                    IFile[] files = new IFile[] { getManifestFile(mod), getXMLFile(mod), getPropertiesFile(mod) };
+                    for (IFile element : files) {
+                        if (element == null) {
+                            continue;
+                        }
+                        InputContext con = editor.getContextManager().findContext(element);
+                        if (con != null) {
+                            con.flushEditorInput();
+                        }
+                    }
+                    if (mod.saveOpenEditor()) {
+                        editor.doSave(monitor);
+                    }
+                }
+                // catch (CoreException e) {
+                // PDEPlugin.log(e);
+                // }
+                catch (Exception e) {
+                    PDEPlugin.log(e);
+                }
+            }
+        });
+    }
 
-	private static Hashtable getOpenPDEEditors() {
-		try {
-			Field openEditorsField = PDEModelUtility.class.getDeclaredField("fOpenPDEEditors");
-			openEditorsField.setAccessible(true);
-			Hashtable openEditors = (Hashtable) openEditorsField.get(null);
-			return openEditors;
-		} catch (Exception e) {
-			return new Hashtable();
-		}
-	}
+    private static Display getDisplay() {
+        Display display = Display.getCurrent();
+        if (display == null) {
+            display = Display.getDefault();
+        }
+        return display;
+    }
 
-	private static IFile getFile(ModelModification mod) {
-		try {
-			Method getFileMethod = ModelModification.class.getDeclaredMethod("getFile", (Class[]) null);
-			getFileMethod.setAccessible(true);
-			Object obj = getFileMethod.invoke(mod, (Object[]) null);
-			if (obj == null) {
-				if (mod instanceof BundleModelModification) {
-					return ((BundleModelModification) mod).getIfile();
-				}
-				return null;
-			} else {
-				return (IFile) obj;
-			}
-		} catch (Exception e) {
-			return null;
-		}
-	}
+    private static Hashtable getOpenPDEEditors() {
+        try {
+            Field openEditorsField = PDEModelUtility.class.getDeclaredField("fOpenPDEEditors");
+            openEditorsField.setAccessible(true);
+            Hashtable openEditors = (Hashtable) openEditorsField.get(null);
+            return openEditors;
+        } catch (Exception e) {
+            return new Hashtable();
+        }
+    }
 
-	private static IFile getManifestFile(ModelModification mod) {
-		try {
-			Method getFileMethod = ModelModification.class.getDeclaredMethod("getManifestFile", (Class[]) null);
-			getFileMethod.setAccessible(true);
-			Object obj = getFileMethod.invoke(mod, (Object[]) null);
-			if (obj instanceof IFile) {
-				return (IFile) obj;
-			} else if (mod instanceof BundleModelModification) {
-				return ((BundleModelModification) mod).getIfile();
-			}
-			return null;
-		} catch (Exception e) {
-			return null;
-		}
-	}
+    private static IFile getFile(ModelModification mod) {
+        try {
+            Method getFileMethod = ModelModification.class.getDeclaredMethod("getFile", (Class[]) null);
+            getFileMethod.setAccessible(true);
+            Object obj = getFileMethod.invoke(mod, (Object[]) null);
+            if (obj == null) {
+                if (mod instanceof BundleModelModification) {
+                    return ((BundleModelModification) mod).getIfile();
+                }
+                return null;
+            } else {
+                return (IFile) obj;
+            }
+        } catch (Exception e) {
+            return null;
+        }
+    }
 
-	private static IFile getXMLFile(ModelModification mod) {
-		try {
-			Method getFileMethod = ModelModification.class.getDeclaredMethod("getXMLFile", (Class[]) null);
-			getFileMethod.setAccessible(true);
-			Object obj = getFileMethod.invoke(mod, (Object[]) null);
-			if (obj instanceof IFile) {
-				return (IFile) obj;
-			}
-			return null;
-		} catch (Exception e) {
-			return null;
-		}
-	}
+    private static IFile getManifestFile(ModelModification mod) {
+        try {
+            Method getFileMethod = ModelModification.class.getDeclaredMethod("getManifestFile", (Class[]) null);
+            getFileMethod.setAccessible(true);
+            Object obj = getFileMethod.invoke(mod, (Object[]) null);
+            if (obj instanceof IFile) {
+                return (IFile) obj;
+            } else if (mod instanceof BundleModelModification) {
+                return ((BundleModelModification) mod).getIfile();
+            }
+            return null;
+        } catch (Exception e) {
+            return null;
+        }
+    }
 
-	private static IFile getPropertiesFile(ModelModification mod) {
-		try {
-			Method getFileMethod = ModelModification.class.getDeclaredMethod("getPropertiesFile", (Class[]) null);
-			getFileMethod.setAccessible(true);
-			Object obj = getFileMethod.invoke(mod, (Object[]) null);
-			if (obj instanceof IFile) {
-				return (IFile) obj;
-			}
-			return null;
-		} catch (Exception e) {
-			return null;
-		}
-	}
+    private static IFile getXMLFile(ModelModification mod) {
+        try {
+            Method getFileMethod = ModelModification.class.getDeclaredMethod("getXMLFile", (Class[]) null);
+            getFileMethod.setAccessible(true);
+            Object obj = getFileMethod.invoke(mod, (Object[]) null);
+            if (obj instanceof IFile) {
+                return (IFile) obj;
+            }
+            return null;
+        } catch (Exception e) {
+            return null;
+        }
+    }
 
-	private static boolean isFullBundleModification(ModelModification mod) {
-		try {
-			Method getBooleanMethod = ModelModification.class.getDeclaredMethod("isFullBundleModification",
-					(Class[]) null);
-			getBooleanMethod.setAccessible(true);
-			Object obj = getBooleanMethod.invoke(mod, (Object[]) null);
-			if (obj instanceof Boolean) {
-				Boolean bool = (Boolean) obj;
-				return bool.booleanValue();
-			} else if (mod instanceof BundleModelModification) {
-				IFile file = ((BundleModelModification) mod).getIfile();
-				return file.getName().equals(F_MANIFEST);
-			}
-			return false;
-		} catch (Exception e) {
-			if (mod instanceof BundleModelModification) {
-				IFile file = ((BundleModelModification) mod).getIfile();
-				return file.getName().equals(F_MANIFEST);
-			}
-			return false;
-		}
+    private static IFile getPropertiesFile(ModelModification mod) {
+        try {
+            Method getFileMethod = ModelModification.class.getDeclaredMethod("getPropertiesFile", (Class[]) null);
+            getFileMethod.setAccessible(true);
+            Object obj = getFileMethod.invoke(mod, (Object[]) null);
+            if (obj instanceof IFile) {
+                return (IFile) obj;
+            }
+            return null;
+        } catch (Exception e) {
+            return null;
+        }
+    }
 
-	}
+    private static boolean isFullBundleModification(ModelModification mod) {
+        try {
+            Method getBooleanMethod = ModelModification.class.getDeclaredMethod("isFullBundleModification", (Class[]) null);
+            getBooleanMethod.setAccessible(true);
+            Object obj = getBooleanMethod.invoke(mod, (Object[]) null);
+            if (obj instanceof Boolean) {
+                Boolean bool = (Boolean) obj;
+                return bool.booleanValue();
+            } else if (mod instanceof BundleModelModification) {
+                IFile file = ((BundleModelModification) mod).getIfile();
+                return file.getName().equals(F_MANIFEST);
+            }
+            return false;
+        } catch (Exception e) {
+            if (mod instanceof BundleModelModification) {
+                IFile file = ((BundleModelModification) mod).getIfile();
+                return file.getName().equals(F_MANIFEST);
+            }
+            return false;
+        }
 
-	private static IModelTextChangeListener[] gatherListeners(IBaseModel editModel) {
-		IModelTextChangeListener[] listeners = new IModelTextChangeListener[0];
-		if (editModel instanceof AbstractEditingModel) {
-			listeners = new IModelTextChangeListener[] { ((AbstractEditingModel) editModel).getLastTextChangeListener() };
-		}
-		if (editModel instanceof IBundlePluginModelBase) {
-			IBundlePluginModelBase modelBase = (IBundlePluginModelBase) editModel;
-			listeners = new IModelTextChangeListener[2];
-			listeners[F_Bi] = gatherListener(modelBase.getBundleModel());
-			listeners[F_Xi] = gatherListener(modelBase.getExtensionsModel());
-			return listeners;
-		}
-		return listeners;
-	}
+    }
 
-	private static IModelTextChangeListener createListener(String filename, IDocument doc, boolean generateEditNames) {
-		if (filename.equals(F_PLUGIN) || filename.equals(F_FRAGMENT)) {
-			return new XMLTextChangeListener(doc, generateEditNames);
-		} else if (filename.equals(F_MANIFEST)) {
-			// TODO: include template.mf && TEST.MF??
-			return new BundleTextChangeListener(doc, generateEditNames);
-		} else if (filename.endsWith(F_PROPERTIES)) {
-			return new PropertiesTextChangeListener(doc, generateEditNames);
-		}
-		return null;
-	}
+    private static IModelTextChangeListener[] gatherListeners(IBaseModel editModel) {
+        IModelTextChangeListener[] listeners = new IModelTextChangeListener[0];
+        if (editModel instanceof AbstractEditingModel) {
+            listeners = new IModelTextChangeListener[] { ((AbstractEditingModel) editModel).getLastTextChangeListener() };
+        }
+        if (editModel instanceof IBundlePluginModelBase) {
+            IBundlePluginModelBase modelBase = (IBundlePluginModelBase) editModel;
+            listeners = new IModelTextChangeListener[2];
+            listeners[F_Bi] = gatherListener(modelBase.getBundleModel());
+            listeners[F_Xi] = gatherListener(modelBase.getExtensionsModel());
+            return listeners;
+        }
+        return listeners;
+    }
 
-	private static IModelTextChangeListener gatherListener(IBaseModel model) {
-		if (model instanceof AbstractEditingModel) {
-			return ((AbstractEditingModel) model).getLastTextChangeListener();
-		}
-		return null;
-	}
+    private static IModelTextChangeListener createListener(String filename, IDocument doc, boolean generateEditNames) {
+        if (filename.equals(F_PLUGIN) || filename.equals(F_FRAGMENT)) {
+            return new XMLTextChangeListener(doc, generateEditNames);
+        } else if (filename.equals(F_MANIFEST)) {
+            // TODO: include template.mf && TEST.MF??
+            return new BundleTextChangeListener(doc, generateEditNames);
+        } else if (filename.endsWith(F_PROPERTIES)) {
+            return new PropertiesTextChangeListener(doc, generateEditNames);
+        }
+        return null;
+    }
 
-	// bundle / xml various Object[] indices
-	private static final int F_Bi = 0; // the manifest.mf-related object will
+    private static IModelTextChangeListener gatherListener(IBaseModel model) {
+        if (model instanceof AbstractEditingModel) {
+            return ((AbstractEditingModel) model).getLastTextChangeListener();
+        }
+        return null;
+    }
 
-	// always be 1st
+    // bundle / xml various Object[] indices
+    private static final int F_Bi = 0; // the manifest.mf-related object will
 
-	private static final int F_Xi = 1; // the xml-related object will always be
-	// 2nd
+    // always be 1st
+
+    private static final int F_Xi = 1; // the xml-related object will always be
+    // 2nd
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanAdapterFactoryProvider.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanAdapterFactoryProvider.java
index 2801bf5..b86665c 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanAdapterFactoryProvider.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanAdapterFactoryProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.plan;
 
 import org.eclipse.wst.sse.core.internal.ltk.modelhandler.IDocumentTypeHandler;
@@ -19,9 +20,9 @@
  */
 public class PlanAdapterFactoryProvider extends AdapterFactoryProviderForXML {
 
-	@Override
-	public boolean isFor(IDocumentTypeHandler contentTypeDescription) {
-		return (contentTypeDescription instanceof PlanModelHandler);
-	}
+    @Override
+    public boolean isFor(IDocumentTypeHandler contentTypeDescription) {
+        return contentTypeDescription instanceof PlanModelHandler;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanContentAssistProcessor.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanContentAssistProcessor.java
index a8197a0..ccc4356 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanContentAssistProcessor.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanContentAssistProcessor.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.plan;
 
 import java.util.ArrayList;
@@ -42,148 +43,145 @@
 
 /**
  * Content assist processor for plan files.
- * 
+ *
  * @author Christian Dupuis
  * @author Leo Dos Santos
  * @since 2.3.1
  */
 public class PlanContentAssistProcessor extends DefaultXMLCompletionProposalComputer {
 
-	private static final List<String> TYPES = Arrays.asList(new String[] { "configuration", "bundle", "plan", "par" });
+    private static final List<String> TYPES = Arrays.asList(new String[] { "configuration", "bundle", "plan", "par" });
 
-	@Override
-	protected void addAttributeValueProposals(ContentAssistRequest request, CompletionProposalInvocationContext context) {
-		super.addAttributeValueProposals(request, context);
-		String attr = findAttribute(request);
-		if (attr != null) {
-			if (attr.equals("type")) {
-				computeTypeContentProposals(request, context);
-			} else if (attr.equals("name")) {
-				computeNameContentProposals(request, context);
-			} else if (attr.equals("version")) {
-				computeVersionContentProposals(request, context);
-			}
-		}
-	}
+    @Override
+    protected void addAttributeValueProposals(ContentAssistRequest request, CompletionProposalInvocationContext context) {
+        super.addAttributeValueProposals(request, context);
+        String attr = findAttribute(request);
+        if (attr != null) {
+            if (attr.equals("type")) {
+                computeTypeContentProposals(request, context);
+            } else if (attr.equals("name")) {
+                computeNameContentProposals(request, context);
+            } else if (attr.equals("version")) {
+                computeVersionContentProposals(request, context);
+            }
+        }
+    }
 
-	private void computeNameContentProposals(ContentAssistRequest request, CompletionProposalInvocationContext context) {
-		String prefix = cleanInput(request.getMatchString());
-		String type = getAttributeValue(request.getNode(), "type");
-		if (type == null || "bundle".equals(type)) {
-			IFile file = getFile(request);
-			if (file != null) {
-				Set<Artefact> bundles = RepositoryUtils.getImportBundleProposals(file.getProject(), prefix);
-				for (IArtefact bundle : bundles) {
-					String value = "\"" + bundle.getSymbolicName() + "\"";
-					request.addProposal(new CompletionProposal(value, request.getReplacementBeginPosition(),
-							request.getReplacementLength(), value.length(),
-							ServerIdeUiPlugin.getImage("full/obj16/osgi_obj.gif"), value, null, null));
-				}
-			}
-		}
-	}
+    private void computeNameContentProposals(ContentAssistRequest request, CompletionProposalInvocationContext context) {
+        String prefix = cleanInput(request.getMatchString());
+        String type = getAttributeValue(request.getNode(), "type");
+        if (type == null || "bundle".equals(type)) {
+            IFile file = getFile(request);
+            if (file != null) {
+                Set<Artefact> bundles = RepositoryUtils.getImportBundleProposals(file.getProject(), prefix);
+                for (IArtefact bundle : bundles) {
+                    String value = "\"" + bundle.getSymbolicName() + "\"";
+                    request.addProposal(new CompletionProposal(value, request.getReplacementBeginPosition(), request.getReplacementLength(),
+                        value.length(), ServerIdeUiPlugin.getImage("full/obj16/osgi_obj.gif"), value, null, null));
+                }
+            }
+        }
+    }
 
-	private void computeTypeContentProposals(ContentAssistRequest request, CompletionProposalInvocationContext context) {
-		String prefix = cleanInput(request.getMatchString());
-		for (String type : TYPES) {
-			if (type.startsWith(prefix)) {
-				String value = "\"" + type + "\"";
-				request.addProposal(new CompletionProposal(value, request.getReplacementBeginPosition(),
-						request.getReplacementLength(), value.length()));
-				;
-			}
-		}
-	}
+    private void computeTypeContentProposals(ContentAssistRequest request, CompletionProposalInvocationContext context) {
+        String prefix = cleanInput(request.getMatchString());
+        for (String type : TYPES) {
+            if (type.startsWith(prefix)) {
+                String value = "\"" + type + "\"";
+                request.addProposal(
+                    new CompletionProposal(value, request.getReplacementBeginPosition(), request.getReplacementLength(), value.length()));
+                ;
+            }
+        }
+    }
 
-	private void computeVersionContentProposals(ContentAssistRequest request,
-			CompletionProposalInvocationContext context) {
-		String prefix = cleanInput(request.getMatchString());
-		String bundleId = getAttributeValue(request.getNode(), "name");
-		String type = getAttributeValue(request.getNode(), "type");
-		if (type == null || "bundle".equals(type)) {
-			IFile file = getFile(request);
-			if (file != null) {
-				Set<Artefact> bundles = RepositoryUtils.getImportBundleProposals(file.getProject(), bundleId);
-				for (IArtefact element : bundles) {
-					if (element.getSymbolicName().equalsIgnoreCase(bundleId)) {
-						List<String> proposalValues = getVersionProposals(element.getVersion());
-						for (String proposalValue : proposalValues) {
-							if (proposalValue.regionMatches(0, prefix, 0, prefix.length())) {
-								String value = "\"" + proposalValue + "\"";
-								request.addProposal(new CompletionProposal(value,
-										request.getReplacementBeginPosition(), request.getReplacementLength(),
-										value.length()));
-							}
-						}
-					}
-				}
-			}
-		}
-	}
+    private void computeVersionContentProposals(ContentAssistRequest request, CompletionProposalInvocationContext context) {
+        String prefix = cleanInput(request.getMatchString());
+        String bundleId = getAttributeValue(request.getNode(), "name");
+        String type = getAttributeValue(request.getNode(), "type");
+        if (type == null || "bundle".equals(type)) {
+            IFile file = getFile(request);
+            if (file != null) {
+                Set<Artefact> bundles = RepositoryUtils.getImportBundleProposals(file.getProject(), bundleId);
+                for (IArtefact element : bundles) {
+                    if (element.getSymbolicName().equalsIgnoreCase(bundleId)) {
+                        List<String> proposalValues = getVersionProposals(element.getVersion());
+                        for (String proposalValue : proposalValues) {
+                            if (proposalValue.regionMatches(0, prefix, 0, prefix.length())) {
+                                String value = "\"" + proposalValue + "\"";
+                                request.addProposal(new CompletionProposal(value, request.getReplacementBeginPosition(),
+                                    request.getReplacementLength(), value.length()));
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
 
-	private String cleanInput(String input) {
-		if (input != null && input.startsWith("\"")) {
-			input = input.substring(1);
-		}
-		if (input != null && input.endsWith("\"")) {
-			input = input.substring(0, input.length() - 1);
-		}
-		return input;
-	}
+    private String cleanInput(String input) {
+        if (input != null && input.startsWith("\"")) {
+            input = input.substring(1);
+        }
+        if (input != null && input.endsWith("\"")) {
+            input = input.substring(0, input.length() - 1);
+        }
+        return input;
+    }
 
-	private String findAttribute(ContentAssistRequest request) {
-		IDOMNode node = (IDOMNode) request.getNode();
-		IStructuredDocumentRegion nodeRegion = node.getFirstStructuredDocumentRegion();
-		ITextRegionList regionList = nodeRegion.getRegions();
-		int i = regionList.indexOf(request.getRegion());
-		while (i >= 0) {
-			ITextRegion region = regionList.get(i);
-			if (region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
-				return nodeRegion.getText(region);
-			}
-			i--;
-		}
-		return "";
-	}
+    private String findAttribute(ContentAssistRequest request) {
+        IDOMNode node = (IDOMNode) request.getNode();
+        IStructuredDocumentRegion nodeRegion = node.getFirstStructuredDocumentRegion();
+        ITextRegionList regionList = nodeRegion.getRegions();
+        int i = regionList.indexOf(request.getRegion());
+        while (i >= 0) {
+            ITextRegion region = regionList.get(i);
+            if (region.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) {
+                return nodeRegion.getText(region);
+            }
+            i--;
+        }
+        return "";
+    }
 
-	private String getAttributeValue(Node node, String attrName) {
-		if (node != null && node.hasAttributes() && node.getAttributes().getNamedItem(attrName) != null) {
-			return node.getAttributes().getNamedItem(attrName).getNodeValue();
-		}
-		return null;
-	}
+    private String getAttributeValue(Node node, String attrName) {
+        if (node != null && node.hasAttributes() && node.getAttributes().getNamedItem(attrName) != null) {
+            return node.getAttributes().getNamedItem(attrName).getNodeValue();
+        }
+        return null;
+    }
 
-	private IFile getFile(ContentAssistRequest request) {
-		String location = null;
-		IStructuredDocumentRegion docRegion = request.getDocumentRegion();
-		if (docRegion != null) {
-			IDocument document = docRegion.getParentDocument();
-			IStructuredModel model = null;
-			try {
-				model = StructuredModelManager.getModelManager().getExistingModelForRead(document);
-				location = model.getBaseLocation();
-			} finally {
-				if (model != null) {
-					model.releaseFromRead();
-				}
-			}
-		}
-		if (location != null) {
-			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-			IPath path = new Path(location);
-			return root.getFile(path);
-		}
-		return null;
-	}
+    private IFile getFile(ContentAssistRequest request) {
+        String location = null;
+        IStructuredDocumentRegion docRegion = request.getDocumentRegion();
+        if (docRegion != null) {
+            IDocument document = docRegion.getParentDocument();
+            IStructuredModel model = null;
+            try {
+                model = StructuredModelManager.getModelManager().getExistingModelForRead(document);
+                location = model.getBaseLocation();
+            } finally {
+                if (model != null) {
+                    model.releaseFromRead();
+                }
+            }
+        }
+        if (location != null) {
+            IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+            IPath path = new Path(location);
+            return root.getFile(path);
+        }
+        return null;
+    }
 
-	private List<String> getVersionProposals(OsgiVersion version) {
-		Set<String> versionStrings = new LinkedHashSet<String>();
-		versionStrings.add(version.toString());
-		List<String> versions = new ArrayList<String>();
-		for (String ver : RepositoryUtils.getVersionProposals(versionStrings)) {
-			versions.add(ver);
-		}
-		return versions;
-	}
+    private List<String> getVersionProposals(OsgiVersion version) {
+        Set<String> versionStrings = new LinkedHashSet<String>();
+        versionStrings.add(version.toString());
+        List<String> versions = new ArrayList<String>();
+        for (String ver : RepositoryUtils.getVersionProposals(versionStrings)) {
+            versions.add(ver);
+        }
+        return versions;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanModelHandler.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanModelHandler.java
index ff32bd9..4141362 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanModelHandler.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanModelHandler.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.plan;
 
 import org.eclipse.wst.sse.core.internal.document.IDocumentCharsetDetector;
@@ -25,25 +26,25 @@
  */
 public class PlanModelHandler extends AbstractModelHandler implements IModelHandler {
 
-	private static String modelHandlerID = "org.eclipse.virgo.ide.ui.handler.planConfig";
+    private static String modelHandlerID = "org.eclipse.virgo.ide.ui.handler.planConfig";
 
-	private static String associatedContentTypeID = "org.eclipse.virgo.ide.facet.core.planContentType";
+    private static String associatedContentTypeID = "org.eclipse.virgo.ide.facet.core.planContentType";
 
-	public PlanModelHandler() {
-		setId(modelHandlerID);
-		setAssociatedContentTypeId(associatedContentTypeID);
-	}
+    public PlanModelHandler() {
+        setId(modelHandlerID);
+        setAssociatedContentTypeId(associatedContentTypeID);
+    }
 
-	@Override
-	public IDocumentCharsetDetector getEncodingDetector() {
-		return new XMLDocumentCharsetDetector();
-	}
+    @Override
+    public IDocumentCharsetDetector getEncodingDetector() {
+        return new XMLDocumentCharsetDetector();
+    }
 
-	public IDocumentLoader getDocumentLoader() {
-		return new XMLDocumentLoader();
-	}
+    public IDocumentLoader getDocumentLoader() {
+        return new XMLDocumentLoader();
+    }
 
-	public IModelLoader getModelLoader() {
-		return new XMLModelLoader();
-	}
+    public IModelLoader getModelLoader() {
+        return new XMLModelLoader();
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanOutlineLabelProvider.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanOutlineLabelProvider.java
index 1d329ae..edcb778 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanOutlineLabelProvider.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/plan/PlanOutlineLabelProvider.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.plan;
 
 import org.eclipse.wst.xml.ui.internal.contentoutline.JFaceNodeLabelProvider;
@@ -19,13 +20,13 @@
  */
 public class PlanOutlineLabelProvider extends JFaceNodeLabelProvider {
 
-	@Override
-	public String getText(Object o) {
+    @Override
+    public String getText(Object o) {
 
-		Node node = (Node) o;
-		String shortNodeName = node.getLocalName();
-		String text = shortNodeName;
+        Node node = (Node) o;
+        String shortNodeName = node.getLocalName();
+        String text = shortNodeName;
 
-		return text;
-	}
+        return text;
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/AbstractPdeManifestConfiguration.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/AbstractPdeManifestConfiguration.java
index f34bae7..1a42c73 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/AbstractPdeManifestConfiguration.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/AbstractPdeManifestConfiguration.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.text;
 
 import org.eclipse.jface.text.IDocument;
@@ -47,301 +48,298 @@
  */
 public class AbstractPdeManifestConfiguration extends ChangeAwareSourceViewerConfiguration {
 
-	protected IAnnotationHover fAnnotationHover;
+    protected IAnnotationHover fAnnotationHover;
 
-	protected BasePDEScanner fPropertyKeyScanner;
+    protected BasePDEScanner fPropertyKeyScanner;
 
-	protected BasePDEScanner fPropertyValueScanner;
+    protected BasePDEScanner fPropertyValueScanner;
 
-	protected BundleQuickAssistAssistant fQuickAssistant;
+    protected BundleQuickAssistAssistant fQuickAssistant;
 
-	protected ContentAssistant fContentAssistant;
+    protected ContentAssistant fContentAssistant;
 
-	private ManifestContentAssistProcessor fContentAssistantProcessor;
+    private ManifestContentAssistProcessor fContentAssistantProcessor;
 
-	protected ManifestTextHover fTextHover;
+    protected ManifestTextHover fTextHover;
 
-	protected String fDocumentPartitioning;
+    protected String fDocumentPartitioning;
 
-	protected class ManifestHeaderScanner extends BasePDEScanner {
+    protected class ManifestHeaderScanner extends BasePDEScanner {
 
-		protected Token fToken;
+        protected Token fToken;
 
-		public ManifestHeaderScanner() {
-			super(fColorManager);
-		}
+        public ManifestHeaderScanner() {
+            super(AbstractPdeManifestConfiguration.this.fColorManager);
+        }
 
-		@Override
-		public boolean affectsTextPresentation(String property) {
-			return property.startsWith(IPDEColorConstants.P_HEADER_KEY)
-					|| property.startsWith(IPDEColorConstants.P_HEADER_OSGI);
-		}
+        @Override
+        public boolean affectsTextPresentation(String property) {
+            return property.startsWith(IPDEColorConstants.P_HEADER_KEY) || property.startsWith(IPDEColorConstants.P_HEADER_OSGI);
+        }
 
-		@Override
-		protected Token getTokenAffected(PropertyChangeEvent event) {
-			if (event.getProperty().startsWith(IPDEColorConstants.P_HEADER_OSGI)) {
-				return fToken;
-			}
-			return (Token) fDefaultReturnToken;
-		}
+        @Override
+        protected Token getTokenAffected(PropertyChangeEvent event) {
+            if (event.getProperty().startsWith(IPDEColorConstants.P_HEADER_OSGI)) {
+                return this.fToken;
+            }
+            return (Token) this.fDefaultReturnToken;
+        }
 
-		@Override
-		protected void initialize() {
-			fToken = new Token(createTextAttribute(IPDEColorConstants.P_HEADER_OSGI));
-			WordRule rule = new WordRule(new KeywordDetector(), Token.UNDEFINED, true);
-			rule.addWord(Constants.BUNDLE_ACTIVATOR, fToken);
-			rule.addWord(Constants.BUNDLE_CATEGORY, fToken);
-			rule.addWord(Constants.BUNDLE_CLASSPATH, fToken);
-			rule.addWord(Constants.BUNDLE_CONTACTADDRESS, fToken);
-			rule.addWord(Constants.BUNDLE_COPYRIGHT, fToken);
-			rule.addWord(Constants.BUNDLE_DESCRIPTION, fToken);
-			rule.addWord(Constants.BUNDLE_DOCURL, fToken);
-			rule.addWord(Constants.BUNDLE_LOCALIZATION, fToken);
-			rule.addWord(Constants.BUNDLE_MANIFESTVERSION, fToken);
-			rule.addWord(Constants.BUNDLE_NAME, fToken);
-			rule.addWord(Constants.BUNDLE_NATIVECODE, fToken);
-			rule.addWord(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, fToken);
-			rule.addWord(Constants.BUNDLE_SYMBOLICNAME, fToken);
-			rule.addWord(Constants.BUNDLE_UPDATELOCATION, fToken);
-			rule.addWord(Constants.BUNDLE_VENDOR, fToken);
-			rule.addWord(Constants.BUNDLE_VERSION, fToken);
-			rule.addWord(Constants.REQUIRE_BUNDLE, fToken);
-			rule.addWord(Constants.DYNAMICIMPORT_PACKAGE, fToken);
-			rule.addWord(Constants.EXPORT_PACKAGE, fToken);
-			rule.addWord(ICoreConstants.EXPORT_SERVICE, fToken);
-			rule.addWord(Constants.FRAGMENT_HOST, fToken);
-			rule.addWord(Constants.IMPORT_PACKAGE, fToken);
-			rule.addWord(ICoreConstants.IMPORT_SERVICE, fToken);
-			rule.addWord(ICoreConstants.PROVIDE_PACKAGE, fToken);
-			setRules(new IRule[] { rule });
-			setDefaultReturnToken(new Token(createTextAttribute(IPDEColorConstants.P_HEADER_KEY)));
-		}
-	}
+        @Override
+        protected void initialize() {
+            this.fToken = new Token(createTextAttribute(IPDEColorConstants.P_HEADER_OSGI));
+            WordRule rule = new WordRule(new KeywordDetector(), Token.UNDEFINED, true);
+            rule.addWord(Constants.BUNDLE_ACTIVATOR, this.fToken);
+            rule.addWord(Constants.BUNDLE_CATEGORY, this.fToken);
+            rule.addWord(Constants.BUNDLE_CLASSPATH, this.fToken);
+            rule.addWord(Constants.BUNDLE_CONTACTADDRESS, this.fToken);
+            rule.addWord(Constants.BUNDLE_COPYRIGHT, this.fToken);
+            rule.addWord(Constants.BUNDLE_DESCRIPTION, this.fToken);
+            rule.addWord(Constants.BUNDLE_DOCURL, this.fToken);
+            rule.addWord(Constants.BUNDLE_LOCALIZATION, this.fToken);
+            rule.addWord(Constants.BUNDLE_MANIFESTVERSION, this.fToken);
+            rule.addWord(Constants.BUNDLE_NAME, this.fToken);
+            rule.addWord(Constants.BUNDLE_NATIVECODE, this.fToken);
+            rule.addWord(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, this.fToken);
+            rule.addWord(Constants.BUNDLE_SYMBOLICNAME, this.fToken);
+            rule.addWord(Constants.BUNDLE_UPDATELOCATION, this.fToken);
+            rule.addWord(Constants.BUNDLE_VENDOR, this.fToken);
+            rule.addWord(Constants.BUNDLE_VERSION, this.fToken);
+            rule.addWord(Constants.REQUIRE_BUNDLE, this.fToken);
+            rule.addWord(Constants.DYNAMICIMPORT_PACKAGE, this.fToken);
+            rule.addWord(Constants.EXPORT_PACKAGE, this.fToken);
+            rule.addWord(ICoreConstants.EXPORT_SERVICE, this.fToken);
+            rule.addWord(Constants.FRAGMENT_HOST, this.fToken);
+            rule.addWord(Constants.IMPORT_PACKAGE, this.fToken);
+            rule.addWord(ICoreConstants.IMPORT_SERVICE, this.fToken);
+            rule.addWord(ICoreConstants.PROVIDE_PACKAGE, this.fToken);
+            setRules(new IRule[] { rule });
+            setDefaultReturnToken(new Token(createTextAttribute(IPDEColorConstants.P_HEADER_KEY)));
+        }
+    }
 
-	protected class ManifestValueScanner extends BasePDEScanner {
+    protected class ManifestValueScanner extends BasePDEScanner {
 
-		protected Token fAssignmentToken;
+        protected Token fAssignmentToken;
 
-		protected Token fAttributeToken;
+        protected Token fAttributeToken;
 
-		public ManifestValueScanner() {
-			super(fColorManager);
-		}
+        public ManifestValueScanner() {
+            super(AbstractPdeManifestConfiguration.this.fColorManager);
+        }
 
-		@Override
-		public boolean affectsTextPresentation(String property) {
-			return property.startsWith(IPDEColorConstants.P_HEADER_ASSIGNMENT)
-					|| property.startsWith(IPDEColorConstants.P_HEADER_VALUE)
-					|| property.startsWith(IPDEColorConstants.P_HEADER_ATTRIBUTES);
-		}
+        @Override
+        public boolean affectsTextPresentation(String property) {
+            return property.startsWith(IPDEColorConstants.P_HEADER_ASSIGNMENT) || property.startsWith(IPDEColorConstants.P_HEADER_VALUE)
+                || property.startsWith(IPDEColorConstants.P_HEADER_ATTRIBUTES);
+        }
 
-		@Override
-		protected Token getTokenAffected(PropertyChangeEvent event) {
-			String property = event.getProperty();
-			if (property.startsWith(IPDEColorConstants.P_HEADER_ASSIGNMENT)) {
-				return fAssignmentToken;
-			}
-			if (property.startsWith(IPDEColorConstants.P_HEADER_ATTRIBUTES)) {
-				return fAttributeToken;
-			}
-			return (Token) fDefaultReturnToken;
-		}
+        @Override
+        protected Token getTokenAffected(PropertyChangeEvent event) {
+            String property = event.getProperty();
+            if (property.startsWith(IPDEColorConstants.P_HEADER_ASSIGNMENT)) {
+                return this.fAssignmentToken;
+            }
+            if (property.startsWith(IPDEColorConstants.P_HEADER_ATTRIBUTES)) {
+                return this.fAttributeToken;
+            }
+            return (Token) this.fDefaultReturnToken;
+        }
 
-		@Override
-		protected void initialize() {
-			IRule[] rules = new IRule[2];
-			fAssignmentToken = new Token(createTextAttribute(IPDEColorConstants.P_HEADER_ASSIGNMENT));
-			rules[0] = new WordRule(new AssignmentDetector(), fAssignmentToken);
+        @Override
+        protected void initialize() {
+            IRule[] rules = new IRule[2];
+            this.fAssignmentToken = new Token(createTextAttribute(IPDEColorConstants.P_HEADER_ASSIGNMENT));
+            rules[0] = new WordRule(new AssignmentDetector(), this.fAssignmentToken);
 
-			fAttributeToken = new Token(createTextAttribute(IPDEColorConstants.P_HEADER_ATTRIBUTES));
-			WordRule rule = new WordRule(new KeywordDetector());
-			rule.addWord(Constants.BUNDLE_NATIVECODE_LANGUAGE, fAttributeToken);
-			rule.addWord(Constants.BUNDLE_NATIVECODE_OSNAME, fAttributeToken);
-			rule.addWord(Constants.BUNDLE_NATIVECODE_OSVERSION, fAttributeToken);
-			rule.addWord(Constants.BUNDLE_NATIVECODE_PROCESSOR, fAttributeToken);
-			rule.addWord(Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE, fAttributeToken);
-			rule.addWord(Constants.BUNDLE_VERSION_ATTRIBUTE, fAttributeToken);
-			rule.addWord(Constants.EXCLUDE_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.FRAGMENT_ATTACHMENT_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.INCLUDE_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.MANDATORY_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.RESOLUTION_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.SINGLETON_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.USES_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.VERSION_ATTRIBUTE, fAttributeToken);
-			rule.addWord(Constants.VISIBILITY_DIRECTIVE, fAttributeToken);
-			rule.addWord(ICoreConstants.FRIENDS_DIRECTIVE, fAttributeToken);
-			rule.addWord(ICoreConstants.INTERNAL_DIRECTIVE, fAttributeToken);
-			rule.addWord(ICoreConstants.PACKAGE_SPECIFICATION_VERSION, fAttributeToken);
-			// EASTER EGG
-			for (String element : ICoreConstants.EE_TOKENS) {
-				rule.addWord(element, fAttributeToken);
-			}
-			rules[1] = rule;
+            this.fAttributeToken = new Token(createTextAttribute(IPDEColorConstants.P_HEADER_ATTRIBUTES));
+            WordRule rule = new WordRule(new KeywordDetector());
+            rule.addWord(Constants.BUNDLE_NATIVECODE_LANGUAGE, this.fAttributeToken);
+            rule.addWord(Constants.BUNDLE_NATIVECODE_OSNAME, this.fAttributeToken);
+            rule.addWord(Constants.BUNDLE_NATIVECODE_OSVERSION, this.fAttributeToken);
+            rule.addWord(Constants.BUNDLE_NATIVECODE_PROCESSOR, this.fAttributeToken);
+            rule.addWord(Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE, this.fAttributeToken);
+            rule.addWord(Constants.BUNDLE_VERSION_ATTRIBUTE, this.fAttributeToken);
+            rule.addWord(Constants.EXCLUDE_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.FRAGMENT_ATTACHMENT_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.INCLUDE_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.MANDATORY_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.RESOLUTION_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.SINGLETON_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.USES_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.VERSION_ATTRIBUTE, this.fAttributeToken);
+            rule.addWord(Constants.VISIBILITY_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(ICoreConstants.FRIENDS_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(ICoreConstants.INTERNAL_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(ICoreConstants.PACKAGE_SPECIFICATION_VERSION, this.fAttributeToken);
+            // EASTER EGG
+            for (String element : ICoreConstants.EE_TOKENS) {
+                rule.addWord(element, this.fAttributeToken);
+            }
+            rules[1] = rule;
 
-			setRules(rules);
-			setDefaultReturnToken(new Token(createTextAttribute(IPDEColorConstants.P_HEADER_VALUE)));
-		}
-	}
+            setRules(rules);
+            setDefaultReturnToken(new Token(createTextAttribute(IPDEColorConstants.P_HEADER_VALUE)));
+        }
+    }
 
-	class AssignmentDetector implements IWordDetector {
-		public boolean isWordStart(char c) {
-			return c == ':' || c == '=';
-		}
+    class AssignmentDetector implements IWordDetector {
 
-		public boolean isWordPart(char c) {
-			return false;
-		}
-	}
+        public boolean isWordStart(char c) {
+            return c == ':' || c == '=';
+        }
 
-	class KeywordDetector implements IWordDetector {
-		public boolean isWordStart(char c) {
-			return Character.isJavaIdentifierStart(c);
-		}
+        public boolean isWordPart(char c) {
+            return false;
+        }
+    }
 
-		public boolean isWordPart(char c) {
-			return c != ':' && c != '=' && !Character.isSpaceChar(c);
-		}
-	}
+    class KeywordDetector implements IWordDetector {
 
-	public AbstractPdeManifestConfiguration(IColorManager manager) {
-		this(manager, null, null);
-	}
+        public boolean isWordStart(char c) {
+            return Character.isJavaIdentifierStart(c);
+        }
 
-	public AbstractPdeManifestConfiguration(IColorManager manager, PDESourcePage page) {
-		this(manager, page, null);
-	}
+        public boolean isWordPart(char c) {
+            return c != ':' && c != '=' && !Character.isSpaceChar(c);
+        }
+    }
 
-	public AbstractPdeManifestConfiguration(IColorManager manager, PDESourcePage page, String documentPartitioning) {
-		super(page, manager);
-		fPropertyKeyScanner = new ManifestHeaderScanner();
-		fPropertyValueScanner = new ManifestValueScanner();
-		this.fDocumentPartitioning = documentPartitioning;
-	}
+    public AbstractPdeManifestConfiguration(IColorManager manager) {
+        this(manager, null, null);
+    }
 
-	@Override
-	public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
-		String[] partitions = ManifestPartitionScanner.PARTITIONS;
-		String[] all = new String[partitions.length + 1];
-		all[0] = IDocument.DEFAULT_CONTENT_TYPE;
-		System.arraycopy(partitions, 0, all, 1, partitions.length);
-		return all;
-	}
+    public AbstractPdeManifestConfiguration(IColorManager manager, PDESourcePage page) {
+        this(manager, page, null);
+    }
 
-	@Override
-	public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
-		if (fAnnotationHover == null) {
-			fAnnotationHover = new AnnotationHover();
-		}
-		return fAnnotationHover;
-	}
+    public AbstractPdeManifestConfiguration(IColorManager manager, PDESourcePage page, String documentPartitioning) {
+        super(page, manager);
+        this.fPropertyKeyScanner = new ManifestHeaderScanner();
+        this.fPropertyValueScanner = new ManifestValueScanner();
+        this.fDocumentPartitioning = documentPartitioning;
+    }
 
-	@Override
-	public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
-		PresentationReconciler reconciler = new PresentationReconciler();
-		reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
+    @Override
+    public String[] getConfiguredContentTypes(ISourceViewer sourceViewer) {
+        String[] partitions = ManifestPartitionScanner.PARTITIONS;
+        String[] all = new String[partitions.length + 1];
+        all[0] = IDocument.DEFAULT_CONTENT_TYPE;
+        System.arraycopy(partitions, 0, all, 1, partitions.length);
+        return all;
+    }
 
-		DefaultDamagerRepairer dr = new DefaultDamagerRepairer(fPropertyKeyScanner);
-		reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
-		reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
+    @Override
+    public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
+        if (this.fAnnotationHover == null) {
+            this.fAnnotationHover = new AnnotationHover();
+        }
+        return this.fAnnotationHover;
+    }
 
-		dr = new DefaultDamagerRepairer(fPropertyValueScanner);
-		reconciler.setDamager(dr, ManifestPartitionScanner.MANIFEST_HEADER_VALUE);
-		reconciler.setRepairer(dr, ManifestPartitionScanner.MANIFEST_HEADER_VALUE);
+    @Override
+    public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) {
+        PresentationReconciler reconciler = new PresentationReconciler();
+        reconciler.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
 
-		return reconciler;
-	}
+        DefaultDamagerRepairer dr = new DefaultDamagerRepairer(this.fPropertyKeyScanner);
+        reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
+        reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
 
-	@Override
-	public boolean affectsTextPresentation(PropertyChangeEvent event) {
-		String property = event.getProperty();
-		return property.startsWith(IPDEColorConstants.P_HEADER_KEY)
-				|| property.startsWith(IPDEColorConstants.P_HEADER_OSGI)
-				|| property.startsWith(IPDEColorConstants.P_HEADER_VALUE)
-				|| property.startsWith(IPDEColorConstants.P_HEADER_ATTRIBUTES)
-				|| property.startsWith(IPDEColorConstants.P_HEADER_ASSIGNMENT);
-	}
+        dr = new DefaultDamagerRepairer(this.fPropertyValueScanner);
+        reconciler.setDamager(dr, ManifestPartitionScanner.MANIFEST_HEADER_VALUE);
+        reconciler.setRepairer(dr, ManifestPartitionScanner.MANIFEST_HEADER_VALUE);
 
-	@Override
-	public boolean affectsColorPresentation(PropertyChangeEvent event) {
-		String property = event.getProperty();
-		return property.equals(IPDEColorConstants.P_HEADER_KEY) || property.equals(IPDEColorConstants.P_HEADER_OSGI)
-				|| property.equals(IPDEColorConstants.P_HEADER_VALUE)
-				|| property.equals(IPDEColorConstants.P_HEADER_ATTRIBUTES)
-				|| property.equals(IPDEColorConstants.P_HEADER_ASSIGNMENT);
-	}
+        return reconciler;
+    }
 
-	@Override
-	public void adaptToPreferenceChange(PropertyChangeEvent event) {
-		if (affectsColorPresentation(event)) {
-			fColorManager.handlePropertyChangeEvent(event);
-		}
-		fPropertyKeyScanner.adaptToPreferenceChange(event);
-		fPropertyValueScanner.adaptToPreferenceChange(event);
-	}
+    @Override
+    public boolean affectsTextPresentation(PropertyChangeEvent event) {
+        String property = event.getProperty();
+        return property.startsWith(IPDEColorConstants.P_HEADER_KEY) || property.startsWith(IPDEColorConstants.P_HEADER_OSGI)
+            || property.startsWith(IPDEColorConstants.P_HEADER_VALUE) || property.startsWith(IPDEColorConstants.P_HEADER_ATTRIBUTES)
+            || property.startsWith(IPDEColorConstants.P_HEADER_ASSIGNMENT);
+    }
 
-	@Override
-	public IQuickAssistAssistant getQuickAssistAssistant(ISourceViewer sourceViewer) {
-		if (sourceViewer.isEditable()) {
-			if (fQuickAssistant == null) {
-				fQuickAssistant = new BundleQuickAssistAssistant();
-			}
-			return fQuickAssistant;
-		}
-		return null;
-	}
+    @Override
+    public boolean affectsColorPresentation(PropertyChangeEvent event) {
+        String property = event.getProperty();
+        return property.equals(IPDEColorConstants.P_HEADER_KEY) || property.equals(IPDEColorConstants.P_HEADER_OSGI)
+            || property.equals(IPDEColorConstants.P_HEADER_VALUE) || property.equals(IPDEColorConstants.P_HEADER_ATTRIBUTES)
+            || property.equals(IPDEColorConstants.P_HEADER_ASSIGNMENT);
+    }
 
-	@Override
-	public void dispose() {
-		if (fQuickAssistant != null) {
-			fQuickAssistant.dispose();
-		}
-		if (fContentAssistant != null) {
-			fContentAssistantProcessor.dispose();
-		}
-	}
+    @Override
+    public void adaptToPreferenceChange(PropertyChangeEvent event) {
+        if (affectsColorPresentation(event)) {
+            this.fColorManager.handlePropertyChangeEvent(event);
+        }
+        this.fPropertyKeyScanner.adaptToPreferenceChange(event);
+        this.fPropertyValueScanner.adaptToPreferenceChange(event);
+    }
 
-	@Override
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-		if (fSourcePage != null && fSourcePage.isEditable()) {
-			if (fContentAssistant == null) {
-				fContentAssistant = new ContentAssistant();
-				fContentAssistant.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
-				fContentAssistantProcessor = new ManifestContentAssistProcessor(fSourcePage);
-				fContentAssistant.setContentAssistProcessor(fContentAssistantProcessor, IDocument.DEFAULT_CONTENT_TYPE);
-				fContentAssistant.setContentAssistProcessor(fContentAssistantProcessor,
-						ManifestPartitionScanner.MANIFEST_HEADER_VALUE);
-				fContentAssistant.addCompletionListener(fContentAssistantProcessor);
-				fContentAssistant.setInformationControlCreator(new IInformationControlCreator() {
-					public IInformationControl createInformationControl(Shell parent) {
-						return new JFaceDefaultInformationControl(parent, false);
-					}
-				});
-				fContentAssistant.setContextInformationPopupOrientation(IContentAssistant.CONTEXT_INFO_ABOVE);
-			}
-			return fContentAssistant;
-		}
-		return null;
-	}
+    @Override
+    public IQuickAssistAssistant getQuickAssistAssistant(ISourceViewer sourceViewer) {
+        if (sourceViewer.isEditable()) {
+            if (this.fQuickAssistant == null) {
+                this.fQuickAssistant = new BundleQuickAssistAssistant();
+            }
+            return this.fQuickAssistant;
+        }
+        return null;
+    }
 
-	@Override
-	public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType) {
-		if (fTextHover == null && fSourcePage != null) {
-			fTextHover = new ManifestTextHover(fSourcePage);
-		}
-		return fTextHover;
-	}
+    @Override
+    public void dispose() {
+        if (this.fQuickAssistant != null) {
+            this.fQuickAssistant.dispose();
+        }
+        if (this.fContentAssistant != null) {
+            this.fContentAssistantProcessor.dispose();
+        }
+    }
 
-	@Override
-	protected int getInfoImplementationType() {
-		return SourceInformationProvider.F_MANIFEST_IMP;
-	}
+    @Override
+    public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+        if (this.fSourcePage != null && this.fSourcePage.isEditable()) {
+            if (this.fContentAssistant == null) {
+                this.fContentAssistant = new ContentAssistant();
+                this.fContentAssistant.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
+                this.fContentAssistantProcessor = new ManifestContentAssistProcessor(this.fSourcePage);
+                this.fContentAssistant.setContentAssistProcessor(this.fContentAssistantProcessor, IDocument.DEFAULT_CONTENT_TYPE);
+                this.fContentAssistant.setContentAssistProcessor(this.fContentAssistantProcessor, ManifestPartitionScanner.MANIFEST_HEADER_VALUE);
+                this.fContentAssistant.addCompletionListener(this.fContentAssistantProcessor);
+                this.fContentAssistant.setInformationControlCreator(new IInformationControlCreator() {
 
-	@Override
-	public String getConfiguredDocumentPartitioning(ISourceViewer sourceViewer) {
-		if (fDocumentPartitioning != null) {
-			return fDocumentPartitioning;
-		}
-		return super.getConfiguredDocumentPartitioning(sourceViewer);
-	}
+                    public IInformationControl createInformationControl(Shell parent) {
+                        return new JFaceDefaultInformationControl(parent, false);
+                    }
+                });
+                this.fContentAssistant.setContextInformationPopupOrientation(IContentAssistant.CONTEXT_INFO_ABOVE);
+            }
+            return this.fContentAssistant;
+        }
+        return null;
+    }
+
+    @Override
+    public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType) {
+        if (this.fTextHover == null && this.fSourcePage != null) {
+            this.fTextHover = new ManifestTextHover(this.fSourcePage);
+        }
+        return this.fTextHover;
+    }
+
+    @Override
+    protected int getInfoImplementationType() {
+        return SourceInformationProvider.F_MANIFEST_IMP;
+    }
+
+    @Override
+    public String getConfiguredDocumentPartitioning(ISourceViewer sourceViewer) {
+        if (this.fDocumentPartitioning != null) {
+            return this.fDocumentPartitioning;
+        }
+        return super.getConfiguredDocumentPartitioning(sourceViewer);
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/AbstractPdeManifestContentAssistProcessor.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/AbstractPdeManifestContentAssistProcessor.java
index e654816..f7d680e 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/AbstractPdeManifestContentAssistProcessor.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/AbstractPdeManifestContentAssistProcessor.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.text;
 
 import java.util.ArrayList;
@@ -60,859 +61,804 @@
 /**
  * @author Christian Dupuis
  */
-public class AbstractPdeManifestContentAssistProcessor extends TypePackageCompletionProcessor implements
-		ICompletionListener {
+public class AbstractPdeManifestContentAssistProcessor extends TypePackageCompletionProcessor implements ICompletionListener {
 
-	protected PDESourcePage fSourcePage;
+    protected PDESourcePage fSourcePage;
 
-	private IJavaProject fJP;
+    private IJavaProject fJP;
 
-	// if we order the headers alphabetically in the array, there is no need to
-	// sort and we can save time
-	protected static String[] fHeader = { Constants.BUNDLE_ACTIVATOR, Constants.BUNDLE_ACTIVATIONPOLICY,
-			Constants.BUNDLE_CATEGORY, Constants.BUNDLE_CLASSPATH, Constants.BUNDLE_CONTACTADDRESS,
-			Constants.BUNDLE_COPYRIGHT, Constants.BUNDLE_DESCRIPTION, Constants.BUNDLE_DOCURL,
-			Constants.BUNDLE_LOCALIZATION, Constants.BUNDLE_MANIFESTVERSION, Constants.BUNDLE_NAME,
-			Constants.BUNDLE_NATIVECODE, Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, Constants.BUNDLE_SYMBOLICNAME,
-			Constants.BUNDLE_UPDATELOCATION, Constants.BUNDLE_VENDOR, Constants.BUNDLE_VERSION,
-			Constants.DYNAMICIMPORT_PACKAGE, ICoreConstants.ECLIPSE_BUDDY_POLICY,
-			ICoreConstants.ECLIPSE_GENERIC_CAPABILITY, ICoreConstants.ECLIPSE_GENERIC_REQUIRED,
-			ICoreConstants.ECLIPSE_LAZYSTART, Constants.EXPORT_PACKAGE, ICoreConstants.PLATFORM_FILTER,
-			ICoreConstants.ECLIPSE_REGISTER_BUDDY, ICoreConstants.EXPORT_SERVICE, Constants.IMPORT_PACKAGE,
-			ICoreConstants.IMPORT_SERVICE, Constants.REQUIRE_BUNDLE, Constants.FRAGMENT_HOST };
+    // if we order the headers alphabetically in the array, there is no need to
+    // sort and we can save time
+    protected static String[] fHeader = { Constants.BUNDLE_ACTIVATOR, Constants.BUNDLE_ACTIVATIONPOLICY, Constants.BUNDLE_CATEGORY,
+        Constants.BUNDLE_CLASSPATH, Constants.BUNDLE_CONTACTADDRESS, Constants.BUNDLE_COPYRIGHT, Constants.BUNDLE_DESCRIPTION,
+        Constants.BUNDLE_DOCURL, Constants.BUNDLE_LOCALIZATION, Constants.BUNDLE_MANIFESTVERSION, Constants.BUNDLE_NAME, Constants.BUNDLE_NATIVECODE,
+        Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, Constants.BUNDLE_SYMBOLICNAME, Constants.BUNDLE_UPDATELOCATION, Constants.BUNDLE_VENDOR,
+        Constants.BUNDLE_VERSION, Constants.DYNAMICIMPORT_PACKAGE, ICoreConstants.ECLIPSE_BUDDY_POLICY, ICoreConstants.ECLIPSE_GENERIC_CAPABILITY,
+        ICoreConstants.ECLIPSE_GENERIC_REQUIRED, ICoreConstants.ECLIPSE_LAZYSTART, Constants.EXPORT_PACKAGE, ICoreConstants.PLATFORM_FILTER,
+        ICoreConstants.ECLIPSE_REGISTER_BUDDY, ICoreConstants.EXPORT_SERVICE, Constants.IMPORT_PACKAGE, ICoreConstants.IMPORT_SERVICE,
+        Constants.REQUIRE_BUNDLE, Constants.FRAGMENT_HOST };
 
-	private static final String BAUMAN = "Brian Bauman"; //$NON-NLS-1$
+    private static final String BAUMAN = "Brian Bauman"; //$NON-NLS-1$
 
-	private static final String ANISZCZYK = "Chris Aniszczyk"; //$NON-NLS-1$
+    private static final String ANISZCZYK = "Chris Aniszczyk"; //$NON-NLS-1$
 
-	private static final String LASOCKI_BICZYSKO = "Janek Lasocki-Biczysko"; //$NON-NLS-1$
+    private static final String LASOCKI_BICZYSKO = "Janek Lasocki-Biczysko"; //$NON-NLS-1$
 
-	private static final String PAWLOWSKI = "Mike Pawlowski"; //$NON-NLS-1$
+    private static final String PAWLOWSKI = "Mike Pawlowski"; //$NON-NLS-1$
 
-	private static final String MELHEM = "Wassim Melhem"; //$NON-NLS-1$
+    private static final String MELHEM = "Wassim Melhem"; //$NON-NLS-1$
 
-	private static final String[] fNames = { BAUMAN, ANISZCZYK, LASOCKI_BICZYSKO, PAWLOWSKI, MELHEM };
+    private static final String[] fNames = { BAUMAN, ANISZCZYK, LASOCKI_BICZYSKO, PAWLOWSKI, MELHEM };
 
-	protected static final short F_TYPE_HEADER = 0, // header proposal
-			F_TYPE_PKG = 1, // package proposal
-			F_TYPE_BUNDLE = 2, // bundle proposal
-			F_TYPE_CLASS = 3, // class proposal
-			F_TYPE_DIRECTIVE = 4, // directive proposal
-			F_TYPE_ATTRIBUTE = 5, // attribute proposal
-			F_TYPE_VALUE = 6, // value of attribute or directive proposal
-			F_TYPE_EXEC_ENV = 7, // value of execution env., added since we
-			// use a unique icon for exec envs.
-			F_TYPE_LIB = 8, F_TOTAL_TYPES = 9;
+    protected static final short F_TYPE_HEADER = 0, // header proposal
+        F_TYPE_PKG = 1, // package proposal
+        F_TYPE_BUNDLE = 2, // bundle proposal
+        F_TYPE_CLASS = 3, // class proposal
+        F_TYPE_DIRECTIVE = 4, // directive proposal
+        F_TYPE_ATTRIBUTE = 5, // attribute proposal
+        F_TYPE_VALUE = 6, // value of attribute or directive proposal
+        F_TYPE_EXEC_ENV = 7, // value of execution env., added since we
+        // use a unique icon for exec envs.
+        F_TYPE_LIB = 8, F_TOTAL_TYPES = 9;
 
-	protected final Image[] fImages = new Image[F_TOTAL_TYPES];
+    protected final Image[] fImages = new Image[F_TOTAL_TYPES];
 
-	private static final String[] fExecEnvs;
-	static {
-		IExecutionEnvironment[] envs = JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments();
-		fExecEnvs = new String[envs.length];
-		for (int i = 0; i < envs.length; i++) {
-			fExecEnvs[i] = envs[i].getId();
-		}
-		Arrays.sort(fExecEnvs, new Comparator() {
-			public int compare(Object o1, Object o2) {
-				return ((String) o1).compareToIgnoreCase((String) o2);
-			}
-		});
-	}
+    private static final String[] fExecEnvs;
 
-	protected Map fHeaders;
+    static {
+        IExecutionEnvironment[] envs = JavaRuntime.getExecutionEnvironmentsManager().getExecutionEnvironments();
+        fExecEnvs = new String[envs.length];
+        for (int i = 0; i < envs.length; i++) {
+            fExecEnvs[i] = envs[i].getId();
+        }
+        Arrays.sort(fExecEnvs, new Comparator() {
 
-	public AbstractPdeManifestContentAssistProcessor(PDESourcePage sourcePage) {
-		fSourcePage = sourcePage;
-	}
+            public int compare(Object o1, Object o2) {
+                return ((String) o1).compareToIgnoreCase((String) o2);
+            }
+        });
+    }
 
-	@Override
-	public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int offset) {
-		IDocument doc = fSourcePage.getDocumentProvider().getDocument(fSourcePage.getInputContext().getInput());
-		if (fHeaders == null) {
-			parseDocument(doc);
-		}
-		try {
-			int lineNum = doc.getLineOfOffset(offset);
-			int lineStart = doc.getLineOffset(lineNum);
-			return computeCompletionProposals(doc, lineStart, offset);
-		} catch (BadLocationException e) {
-		}
-		return null;
-	}
+    protected Map fHeaders;
 
-	protected final void parseDocument(IDocument doc) {
-		fHeaders = new HeaderMap();
-		int numLines = doc.getNumberOfLines();
-		int offset = 0;
-		for (int i = 0; i < numLines; i++) {
-			try {
-				IRegion line = doc.getLineInformation(i);
-				String value = doc.get(offset, line.getOffset() + line.getLength() - offset);
-				if (value.indexOf(':') != value.lastIndexOf(':') || i == (numLines - 1)) {
-					value = doc.get(offset, line.getOffset() - offset - 1).trim();
-					int index = value.indexOf(':');
-					String header = (index == -1) ? value : value.substring(0, index);
-					try {
-						if (value.endsWith(",")) {
-							value = value.substring(0, value.length() - 1);
-						}
-						ManifestElement[] elems = ManifestElement.parseHeader(header, value.substring(index + 1));
-						if (shouldStoreSet(header)) {
-							HashSet set = new HashSet((4 / 3) * elems.length + 1);
-							for (ManifestElement element : elems) {
-								set.add(element.getValue());
-							}
-							fHeaders.put(header, set);
-						} else {
-							fHeaders.put(header, elems);
-						}
-					} catch (BundleException e) {
-					}
-					offset = line.getOffset();
-				}
-			} catch (BadLocationException e) {
-			}
-		}
-	}
+    public AbstractPdeManifestContentAssistProcessor(PDESourcePage sourcePage) {
+        this.fSourcePage = sourcePage;
+    }
 
-	protected boolean shouldStoreSet(String header) {
-		return header.equalsIgnoreCase(Constants.IMPORT_PACKAGE) || header.equalsIgnoreCase(Constants.EXPORT_PACKAGE)
-				|| header.equalsIgnoreCase(Constants.REQUIRE_BUNDLE)
-				|| header.equalsIgnoreCase(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-	}
+    @Override
+    public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int offset) {
+        IDocument doc = this.fSourcePage.getDocumentProvider().getDocument(this.fSourcePage.getInputContext().getInput());
+        if (this.fHeaders == null) {
+            parseDocument(doc);
+        }
+        try {
+            int lineNum = doc.getLineOfOffset(offset);
+            int lineStart = doc.getLineOffset(lineNum);
+            return computeCompletionProposals(doc, lineStart, offset);
+        } catch (BadLocationException e) {
+        }
+        return null;
+    }
 
-	protected ICompletionProposal[] computeCompletionProposals(IDocument doc, int startOffset, int offset) {
-		try {
-			if (!isHeader(doc, startOffset, offset)) {
-				return computeValue(doc, startOffset, offset);
-			}
-			return computeHeader(doc.get(startOffset, offset - startOffset), startOffset, offset);
-		} catch (BadLocationException e) {
-		}
-		return new ICompletionProposal[0];
-	}
+    protected final void parseDocument(IDocument doc) {
+        this.fHeaders = new HeaderMap();
+        int numLines = doc.getNumberOfLines();
+        int offset = 0;
+        for (int i = 0; i < numLines; i++) {
+            try {
+                IRegion line = doc.getLineInformation(i);
+                String value = doc.get(offset, line.getOffset() + line.getLength() - offset);
+                if (value.indexOf(':') != value.lastIndexOf(':') || i == numLines - 1) {
+                    value = doc.get(offset, line.getOffset() - offset - 1).trim();
+                    int index = value.indexOf(':');
+                    String header = index == -1 ? value : value.substring(0, index);
+                    try {
+                        if (value.endsWith(",")) {
+                            value = value.substring(0, value.length() - 1);
+                        }
+                        ManifestElement[] elems = ManifestElement.parseHeader(header, value.substring(index + 1));
+                        if (shouldStoreSet(header)) {
+                            HashSet set = new HashSet(4 / 3 * elems.length + 1);
+                            for (ManifestElement element : elems) {
+                                set.add(element.getValue());
+                            }
+                            this.fHeaders.put(header, set);
+                        } else {
+                            this.fHeaders.put(header, elems);
+                        }
+                    } catch (BundleException e) {
+                    }
+                    offset = line.getOffset();
+                }
+            } catch (BadLocationException e) {
+            }
+        }
+    }
 
-	protected final boolean isHeader(IDocument doc, int startOffset, int offset) throws BadLocationException {
-		String value = doc.get(startOffset, offset - startOffset);
-		if (value.indexOf(':') != -1) {
-			return false;
-		}
-		for (--startOffset; startOffset >= 0; --startOffset) {
-			char ch = doc.getChar(startOffset);
-			if (!Character.isWhitespace(ch)) {
-				return ch != ',' && ch != ':' && ch != ';';
-			}
-		}
-		return true;
-	}
+    protected boolean shouldStoreSet(String header) {
+        return header.equalsIgnoreCase(Constants.IMPORT_PACKAGE) || header.equalsIgnoreCase(Constants.EXPORT_PACKAGE)
+            || header.equalsIgnoreCase(Constants.REQUIRE_BUNDLE) || header.equalsIgnoreCase(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
+    }
 
-	protected ICompletionProposal[] computeHeader(String currentValue, int startOffset, int offset) {
-		ArrayList completions = new ArrayList();
-		IBaseModel model = fSourcePage.getInputContext().getModel();
-		int length = fHeader.length;
-		if (model instanceof IBundleModel && !((IBundleModel) model).isFragmentModel()) {
-			--length;
-		}
-		for (String element : fHeader) {
-			if (element.regionMatches(true, 0, currentValue, 0, currentValue.length()) && fHeaders.get(element) == null) {
-				BundleTypeCompletionProposal proposal = new BundleTypeCompletionProposal(
-						element + ": ", getImage(F_TYPE_HEADER), //$NON-NLS-1$
-						element, startOffset, currentValue.length());
-				proposal.setAdditionalProposalInfo(getJavaDoc(element));
-				completions.add(proposal);
-			}
-		}
-		return (ICompletionProposal[]) completions.toArray(new ICompletionProposal[completions.size()]);
-	}
+    protected ICompletionProposal[] computeCompletionProposals(IDocument doc, int startOffset, int offset) {
+        try {
+            if (!isHeader(doc, startOffset, offset)) {
+                return computeValue(doc, startOffset, offset);
+            }
+            return computeHeader(doc.get(startOffset, offset - startOffset), startOffset, offset);
+        } catch (BadLocationException e) {
+        }
+        return new ICompletionProposal[0];
+    }
 
-	protected ICompletionProposal[] computeValue(IDocument doc, int startOffset, int offset)
-			throws BadLocationException {
-		String value = doc.get(startOffset, offset - startOffset);
-		int lineNum = doc.getLineOfOffset(startOffset) - 1;
-		int index;
-		while ((index = value.indexOf(':')) == -1
-				|| ((value.length() - 1 != index) && (value.charAt(index + 1) == '='))) {
-			int startLine = doc.getLineOffset(lineNum);
-			value = doc.get(startLine, offset - startLine);
-			lineNum--;
-		}
+    protected final boolean isHeader(IDocument doc, int startOffset, int offset) throws BadLocationException {
+        String value = doc.get(startOffset, offset - startOffset);
+        if (value.indexOf(':') != -1) {
+            return false;
+        }
+        for (--startOffset; startOffset >= 0; --startOffset) {
+            char ch = doc.getChar(startOffset);
+            if (!Character.isWhitespace(ch)) {
+                return ch != ',' && ch != ':' && ch != ';';
+            }
+        }
+        return true;
+    }
 
-		int length = value.length();
-		if (value.regionMatches(true, 0, Constants.IMPORT_PACKAGE, 0,
-				Math.min(length, Constants.IMPORT_PACKAGE.length()))) {
-			return handleImportPackageCompletion(value.substring(Constants.IMPORT_PACKAGE.length() + 1), offset);
-		}
-		if (value.regionMatches(true, 0, Constants.FRAGMENT_HOST, 0, Math.min(length, Constants.FRAGMENT_HOST.length()))) {
-			return handleFragmentHostCompletion(value.substring(Constants.FRAGMENT_HOST.length() + 1), offset);
-		}
-		if (value.regionMatches(true, 0, Constants.REQUIRE_BUNDLE, 0,
-				Math.min(length, Constants.REQUIRE_BUNDLE.length()))) {
-			return handleRequireBundleCompletion(value.substring(Constants.REQUIRE_BUNDLE.length() + 1), offset);
-		}
-		if (value.regionMatches(true, 0, Constants.EXPORT_PACKAGE, 0,
-				Math.min(length, Constants.EXPORT_PACKAGE.length()))) {
-			return handleExportPackageCompletion(value.substring(Constants.EXPORT_PACKAGE.length() + 1), offset);
-		}
-		if (value.regionMatches(true, 0, Constants.BUNDLE_ACTIVATOR, 0,
-				Math.min(length, Constants.BUNDLE_ACTIVATOR.length()))) {
-			return handleBundleActivatorCompletion(
-					removeLeadingSpaces(value.substring(Constants.BUNDLE_ACTIVATOR.length() + 1)), offset);
-		}
-		if (value.regionMatches(true, 0, Constants.BUNDLE_SYMBOLICNAME, 0,
-				Math.min(length, Constants.BUNDLE_SYMBOLICNAME.length()))) {
-			return handleBundleSymbolicNameCompletion(value.substring(Constants.BUNDLE_SYMBOLICNAME.length() + 1),
-					offset);
-		}
-		if (value.regionMatches(true, 0, Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, 0,
-				Math.min(length, Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT.length()))) {
-			return handleRequiredExecEnv(value.substring(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT.length() + 1),
-					offset);
-		}
-		if (value.regionMatches(true, 0, ICoreConstants.ECLIPSE_LAZYSTART, 0,
-				Math.min(length, ICoreConstants.ECLIPSE_LAZYSTART.length()))) {
-			return handleTrueFalseValue(value.substring(ICoreConstants.ECLIPSE_LAZYSTART.length() + 1), offset);
-		}
-		if (value.regionMatches(true, 0, Constants.BUNDLE_NAME, 0, Math.min(length, Constants.BUNDLE_NAME.length()))) {
-			return handleBundleNameCompletion(value.substring(Constants.BUNDLE_NAME.length() + 1), offset);
-		}
-		if (value.regionMatches(true, 0, Constants.BUNDLE_ACTIVATIONPOLICY, 0,
-				Math.min(length, Constants.BUNDLE_ACTIVATIONPOLICY.length()))) {
-			return handleBundleActivationPolicyCompletion(
-					value.substring(Constants.BUNDLE_ACTIVATIONPOLICY.length() + 1), offset);
-		}
-		if (value.regionMatches(true, 0, ICoreConstants.ECLIPSE_BUDDY_POLICY, 0,
-				Math.min(length, ICoreConstants.ECLIPSE_BUDDY_POLICY.length()))) {
-			return handleBuddyPolicyCompletion(value.substring(ICoreConstants.ECLIPSE_BUDDY_POLICY.length() + 1),
-					offset);
-		}
-		return new ICompletionProposal[0];
-	}
+    protected ICompletionProposal[] computeHeader(String currentValue, int startOffset, int offset) {
+        ArrayList completions = new ArrayList();
+        IBaseModel model = this.fSourcePage.getInputContext().getModel();
+        if (model instanceof IBundleModel && !((IBundleModel) model).isFragmentModel()) {
+        }
+        for (String element : fHeader) {
+            if (element.regionMatches(true, 0, currentValue, 0, currentValue.length()) && this.fHeaders.get(element) == null) {
+                BundleTypeCompletionProposal proposal = new BundleTypeCompletionProposal(element + ": ", getImage(F_TYPE_HEADER), //$NON-NLS-1$
+                    element, startOffset, currentValue.length());
+                proposal.setAdditionalProposalInfo(getJavaDoc(element));
+                completions.add(proposal);
+            }
+        }
+        return (ICompletionProposal[]) completions.toArray(new ICompletionProposal[completions.size()]);
+    }
 
-	/*
-	 * Easter Egg
-	 */
-	protected ICompletionProposal[] handleBundleNameCompletion(String currentValue, int offset) {
-		currentValue = removeLeadingSpaces(currentValue);
-		int length = currentValue.length();
+    protected ICompletionProposal[] computeValue(IDocument doc, int startOffset, int offset) throws BadLocationException {
+        String value = doc.get(startOffset, offset - startOffset);
+        int lineNum = doc.getLineOfOffset(startOffset) - 1;
+        int index;
+        while ((index = value.indexOf(':')) == -1 || value.length() - 1 != index && value.charAt(index + 1) == '=') {
+            int startLine = doc.getLineOffset(lineNum);
+            value = doc.get(startLine, offset - startLine);
+            lineNum--;
+        }
 
-		// only show when there is no bundle name
-		if (length == 0) {
-			return new ICompletionProposal[] {
-					new BundleTypeCompletionProposal(BAUMAN, null, BAUMAN, offset - length, length),
-					new BundleTypeCompletionProposal(ANISZCZYK, null, ANISZCZYK, offset - length, length),
-					new BundleTypeCompletionProposal(LASOCKI_BICZYSKO, null, LASOCKI_BICZYSKO, offset - length, length),
-					new BundleTypeCompletionProposal(PAWLOWSKI, null, PAWLOWSKI, offset - length, length),
-					new BundleTypeCompletionProposal(MELHEM, null, MELHEM, offset - length, length) };
-		}
+        int length = value.length();
+        if (value.regionMatches(true, 0, Constants.IMPORT_PACKAGE, 0, Math.min(length, Constants.IMPORT_PACKAGE.length()))) {
+            return handleImportPackageCompletion(value.substring(Constants.IMPORT_PACKAGE.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, Constants.FRAGMENT_HOST, 0, Math.min(length, Constants.FRAGMENT_HOST.length()))) {
+            return handleFragmentHostCompletion(value.substring(Constants.FRAGMENT_HOST.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, Constants.REQUIRE_BUNDLE, 0, Math.min(length, Constants.REQUIRE_BUNDLE.length()))) {
+            return handleRequireBundleCompletion(value.substring(Constants.REQUIRE_BUNDLE.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, Constants.EXPORT_PACKAGE, 0, Math.min(length, Constants.EXPORT_PACKAGE.length()))) {
+            return handleExportPackageCompletion(value.substring(Constants.EXPORT_PACKAGE.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, Constants.BUNDLE_ACTIVATOR, 0, Math.min(length, Constants.BUNDLE_ACTIVATOR.length()))) {
+            return handleBundleActivatorCompletion(removeLeadingSpaces(value.substring(Constants.BUNDLE_ACTIVATOR.length() + 1)), offset);
+        }
+        if (value.regionMatches(true, 0, Constants.BUNDLE_SYMBOLICNAME, 0, Math.min(length, Constants.BUNDLE_SYMBOLICNAME.length()))) {
+            return handleBundleSymbolicNameCompletion(value.substring(Constants.BUNDLE_SYMBOLICNAME.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, 0,
+            Math.min(length, Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT.length()))) {
+            return handleRequiredExecEnv(value.substring(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, ICoreConstants.ECLIPSE_LAZYSTART, 0, Math.min(length, ICoreConstants.ECLIPSE_LAZYSTART.length()))) {
+            return handleTrueFalseValue(value.substring(ICoreConstants.ECLIPSE_LAZYSTART.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, Constants.BUNDLE_NAME, 0, Math.min(length, Constants.BUNDLE_NAME.length()))) {
+            return handleBundleNameCompletion(value.substring(Constants.BUNDLE_NAME.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, Constants.BUNDLE_ACTIVATIONPOLICY, 0, Math.min(length, Constants.BUNDLE_ACTIVATIONPOLICY.length()))) {
+            return handleBundleActivationPolicyCompletion(value.substring(Constants.BUNDLE_ACTIVATIONPOLICY.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, ICoreConstants.ECLIPSE_BUDDY_POLICY, 0, Math.min(length, ICoreConstants.ECLIPSE_BUDDY_POLICY.length()))) {
+            return handleBuddyPolicyCompletion(value.substring(ICoreConstants.ECLIPSE_BUDDY_POLICY.length() + 1), offset);
+        }
+        return new ICompletionProposal[0];
+    }
 
-		// only show when we are trying to complete a name
-		for (String element : fNames) {
-			StringTokenizer tokenizer = new StringTokenizer(currentValue, " "); //$NON-NLS-1$
-			while (tokenizer.hasMoreTokens()) {
-				String token = tokenizer.nextToken();
-				if (element.regionMatches(true, 0, token, 0, token.length())) {
-					return new ICompletionProposal[] { new BundleTypeCompletionProposal(element, null, element, offset
-							- token.length(), token.length()) };
-				}
-			}
-		}
-		return new ICompletionProposal[0];
-	}
+    /*
+     * Easter Egg
+     */
+    protected ICompletionProposal[] handleBundleNameCompletion(String currentValue, int offset) {
+        currentValue = removeLeadingSpaces(currentValue);
+        int length = currentValue.length();
 
-	protected ICompletionProposal[] handleImportPackageCompletion(String currentValue, int offset) {
-		int comma = currentValue.lastIndexOf(',');
-		int semicolon = currentValue.lastIndexOf(';');
-		String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
-		if (comma > semicolon || comma == semicolon) {
-			HashSet set = (HashSet) fHeaders.get(Constants.IMPORT_PACKAGE);
-			if (set == null) {
-				set = parseHeaderForValues(currentValue, offset);
-			}
-			HashSet importedBundles = (HashSet) fHeaders.get(Constants.REQUIRE_BUNDLE);
-			if (importedBundles == null) {
-				importedBundles = new HashSet(0);
-			}
-			value = removeLeadingSpaces(value);
-			int length = value.length();
-			set.remove(value);
-			ArrayList completions = new ArrayList();
-			IPluginModelBase[] bases = PluginRegistry.getActiveModels();
+        // only show when there is no bundle name
+        if (length == 0) {
+            return new ICompletionProposal[] { new BundleTypeCompletionProposal(BAUMAN, null, BAUMAN, offset - length, length),
+                new BundleTypeCompletionProposal(ANISZCZYK, null, ANISZCZYK, offset - length, length),
+                new BundleTypeCompletionProposal(LASOCKI_BICZYSKO, null, LASOCKI_BICZYSKO, offset - length, length),
+                new BundleTypeCompletionProposal(PAWLOWSKI, null, PAWLOWSKI, offset - length, length),
+                new BundleTypeCompletionProposal(MELHEM, null, MELHEM, offset - length, length) };
+        }
 
-			for (IPluginModelBase element : bases) { // Remove any packages
-				// already imported
-				// through
-				// Require-Bundle
-				BundleDescription desc = element.getBundleDescription();
-				if (desc == null || importedBundles.contains(desc.getSymbolicName())) {
-					continue;
-				}
-				ExportPackageDescription[] expPkgs = desc.getExportPackages();
-				for (ExportPackageDescription element2 : expPkgs) {
-					String pkgName = element2.getName();
-					if (pkgName.regionMatches(true, 0, value, 0, length) && !set.contains(pkgName)) {
-						completions.add(new BundleTypeCompletionProposal(pkgName, getImage(F_TYPE_PKG), pkgName, offset
-								- length, length));
-						set.add(pkgName);
-					}
-				}
-			}
-			ICompletionProposal[] proposals = (ICompletionProposal[]) completions.toArray(new ICompletionProposal[completions.size()]);
-			sortCompletions(proposals);
-			return proposals;
-		}
-		int equals = currentValue.lastIndexOf('=');
-		if (equals == -1 || semicolon > equals) {
-			String[] validAtts = new String[] { Constants.RESOLUTION_DIRECTIVE, Constants.VERSION_ATTRIBUTE };
-			Integer[] validTypes = new Integer[] { new Integer(F_TYPE_DIRECTIVE), new Integer(F_TYPE_ATTRIBUTE) };
-			return handleAttrsAndDirectives(value, initializeNewList(validAtts), initializeNewList(validTypes), offset);
-		}
-		String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
-		if (Constants.RESOLUTION_DIRECTIVE.regionMatches(true, 0, attributeValue, 0,
-				Constants.RESOLUTION_DIRECTIVE.length())) {
-			return matchValueCompletion(currentValue.substring(equals + 1), new String[] {
-					Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL }, new int[] { F_TYPE_VALUE,
-					F_TYPE_VALUE }, offset, "RESOLUTION_"); //$NON-NLS-1$
-		}
-		if (Constants.VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.VERSION_ATTRIBUTE.length())) {
-			value = removeLeadingSpaces(currentValue.substring(equals + 1));
-			if (value.length() == 0) {
-				return new ICompletionProposal[] { new BundleTypeCompletionProposal(
-						"\"\"", getImage(F_TYPE_VALUE), "\"\"", offset, 0) }; //$NON-NLS-1$ //$NON-NLS-2$
-			}
-		}
-		return new ICompletionProposal[0];
-	}
+        // only show when we are trying to complete a name
+        for (String element : fNames) {
+            StringTokenizer tokenizer = new StringTokenizer(currentValue, " "); //$NON-NLS-1$
+            while (tokenizer.hasMoreTokens()) {
+                String token = tokenizer.nextToken();
+                if (element.regionMatches(true, 0, token, 0, token.length())) {
+                    return new ICompletionProposal[] {
+                        new BundleTypeCompletionProposal(element, null, element, offset - token.length(), token.length()) };
+                }
+            }
+        }
+        return new ICompletionProposal[0];
+    }
 
-	protected ICompletionProposal[] handleXFriendsCompletion(String value, final int offset) {
-		ManifestElement[] elems = (ManifestElement[]) fHeaders.get(Constants.BUNDLE_SYMBOLICNAME);
-		HashSet set = new HashSet();
-		if (elems != null && elems.length > 0) {
-			set.add(elems[0].getValue());
-		}
-		value = removeLeadingSpaces(value);
-		if (value.length() == 0) {
-			return new ICompletionProposal[] { new BundleTypeCompletionProposal(
-					"\"\"", getImage(F_TYPE_VALUE), "\"\"", offset, 0) }; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		if (value.charAt(0) == '"') {
-			value = value.substring(1);
-		}
-		int index = value.lastIndexOf(',');
-		StringTokenizer tokenizer = new StringTokenizer(value, ","); //$NON-NLS-1$
-		while (tokenizer.hasMoreTokens()) {
-			set.add(tokenizer.nextToken());
-		}
-		return handleBundleCompletions(value.substring((index == -1) ? 0 : index + 1), set, F_TYPE_VALUE, offset, true);
-	}
+    protected ICompletionProposal[] handleImportPackageCompletion(String currentValue, int offset) {
+        int comma = currentValue.lastIndexOf(',');
+        int semicolon = currentValue.lastIndexOf(';');
+        String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
+        if (comma > semicolon || comma == semicolon) {
+            HashSet set = (HashSet) this.fHeaders.get(Constants.IMPORT_PACKAGE);
+            if (set == null) {
+                set = parseHeaderForValues(currentValue, offset);
+            }
+            HashSet importedBundles = (HashSet) this.fHeaders.get(Constants.REQUIRE_BUNDLE);
+            if (importedBundles == null) {
+                importedBundles = new HashSet(0);
+            }
+            value = removeLeadingSpaces(value);
+            int length = value.length();
+            set.remove(value);
+            ArrayList completions = new ArrayList();
+            IPluginModelBase[] bases = PluginRegistry.getActiveModels();
 
-	protected ICompletionProposal[] handleFragmentHostCompletion(String currentValue, int offset) {
-		int index = currentValue.lastIndexOf(';');
-		if (index == -1) {
-			HashMap completions = new HashMap();
-			IPluginModelBase base = PluginRegistry.findModel(((ManifestEditor) fSourcePage.getEditor()).getCommonProject());
-			BundleDescription desc = base.getBundleDescription();
-			String currentId = desc != null ? desc.getSymbolicName() : null;
+            for (IPluginModelBase element : bases) { // Remove any packages
+                // already imported
+                // through
+                // Require-Bundle
+                BundleDescription desc = element.getBundleDescription();
+                if (desc == null || importedBundles.contains(desc.getSymbolicName())) {
+                    continue;
+                }
+                ExportPackageDescription[] expPkgs = desc.getExportPackages();
+                for (ExportPackageDescription element2 : expPkgs) {
+                    String pkgName = element2.getName();
+                    if (pkgName.regionMatches(true, 0, value, 0, length) && !set.contains(pkgName)) {
+                        completions.add(new BundleTypeCompletionProposal(pkgName, getImage(F_TYPE_PKG), pkgName, offset - length, length));
+                        set.add(pkgName);
+                    }
+                }
+            }
+            ICompletionProposal[] proposals = (ICompletionProposal[]) completions.toArray(new ICompletionProposal[completions.size()]);
+            sortCompletions(proposals);
+            return proposals;
+        }
+        int equals = currentValue.lastIndexOf('=');
+        if (equals == -1 || semicolon > equals) {
+            String[] validAtts = new String[] { Constants.RESOLUTION_DIRECTIVE, Constants.VERSION_ATTRIBUTE };
+            Integer[] validTypes = new Integer[] { new Integer(F_TYPE_DIRECTIVE), new Integer(F_TYPE_ATTRIBUTE) };
+            return handleAttrsAndDirectives(value, initializeNewList(validAtts), initializeNewList(validTypes), offset);
+        }
+        String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
+        if (Constants.RESOLUTION_DIRECTIVE.regionMatches(true, 0, attributeValue, 0, Constants.RESOLUTION_DIRECTIVE.length())) {
+            return matchValueCompletion(currentValue.substring(equals + 1),
+                new String[] { Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL }, new int[] { F_TYPE_VALUE, F_TYPE_VALUE }, offset,
+                "RESOLUTION_"); //$NON-NLS-1$
+        }
+        if (Constants.VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.VERSION_ATTRIBUTE.length())) {
+            value = removeLeadingSpaces(currentValue.substring(equals + 1));
+            if (value.length() == 0) {
+                return new ICompletionProposal[] { new BundleTypeCompletionProposal("\"\"", getImage(F_TYPE_VALUE), "\"\"", offset, 0) }; //$NON-NLS-1$ //$NON-NLS-2$
+            }
+        }
+        return new ICompletionProposal[0];
+    }
 
-			String pluginStart = removeLeadingSpaces(currentValue);
-			int length = pluginStart.length();
-			IPluginModelBase[] bases = PluginRegistry.getActiveModels();
-			for (IPluginModelBase element : bases) {
-				desc = element.getBundleDescription();
-				if (desc != null && desc.getHost() == null) {
-					String pluginID = element.getBundleDescription().getSymbolicName();
-					if (!completions.containsKey(pluginID) && pluginID.regionMatches(true, 0, pluginStart, 0, length)
-							&& !pluginID.equals(currentId)) {
-						completions.put(pluginID, new BundleTypeCompletionProposal(pluginID, getImage(F_TYPE_BUNDLE),
-								pluginID, offset - length, length));
-					}
-				}
-			}
-			return (ICompletionProposal[]) completions.values().toArray(new ICompletionProposal[completions.size()]);
-		}
-		int equals = currentValue.lastIndexOf('=');
-		if (equals == -1 || index > equals) {
-			return matchValueCompletion(removeLeadingSpaces(currentValue.substring(index + 1)),
-					new String[] { Constants.BUNDLE_VERSION_ATTRIBUTE }, new int[] { F_TYPE_ATTRIBUTE }, offset);
-		}
-		String attributeValue = removeLeadingSpaces(currentValue.substring(index + 1));
-		if (Constants.BUNDLE_VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0,
-				Constants.BUNDLE_VERSION_ATTRIBUTE.length())) {
-			return getBundleVersionCompletions(currentValue.substring(0, index).trim(),
-					removeLeadingSpaces(currentValue.substring(equals + 1)), offset);
-		}
-		return new ICompletionProposal[0];
-	}
+    protected ICompletionProposal[] handleXFriendsCompletion(String value, final int offset) {
+        ManifestElement[] elems = (ManifestElement[]) this.fHeaders.get(Constants.BUNDLE_SYMBOLICNAME);
+        HashSet set = new HashSet();
+        if (elems != null && elems.length > 0) {
+            set.add(elems[0].getValue());
+        }
+        value = removeLeadingSpaces(value);
+        if (value.length() == 0) {
+            return new ICompletionProposal[] { new BundleTypeCompletionProposal("\"\"", getImage(F_TYPE_VALUE), "\"\"", offset, 0) }; //$NON-NLS-1$ //$NON-NLS-2$
+        }
+        if (value.charAt(0) == '"') {
+            value = value.substring(1);
+        }
+        int index = value.lastIndexOf(',');
+        StringTokenizer tokenizer = new StringTokenizer(value, ","); //$NON-NLS-1$
+        while (tokenizer.hasMoreTokens()) {
+            set.add(tokenizer.nextToken());
+        }
+        return handleBundleCompletions(value.substring(index == -1 ? 0 : index + 1), set, F_TYPE_VALUE, offset, true);
+    }
 
-	protected ICompletionProposal[] handleRequireBundleCompletion(String currentValue, int offset) {
-		int comma = currentValue.lastIndexOf(',');
-		int semicolon = currentValue.lastIndexOf(';');
-		String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
-		if (comma > semicolon || comma == semicolon) {
-			HashSet set = (HashSet) fHeaders.get(Constants.REQUIRE_BUNDLE);
-			if (set == null) {
-				set = parseHeaderForValues(currentValue, offset);
-			}
-			return handleBundleCompletions(value, set, F_TYPE_BUNDLE, offset, false);
-		}
-		int equals = currentValue.lastIndexOf('=');
-		if (equals == -1 || semicolon > equals) {
-			String[] validAttrs = new String[] { Constants.BUNDLE_VERSION_ATTRIBUTE, Constants.RESOLUTION_DIRECTIVE,
-					Constants.VISIBILITY_DIRECTIVE };
-			Integer[] validTypes = new Integer[] { new Integer(F_TYPE_ATTRIBUTE), new Integer(F_TYPE_DIRECTIVE),
-					new Integer(F_TYPE_DIRECTIVE) };
-			return handleAttrsAndDirectives(value, initializeNewList(validAttrs), initializeNewList(validTypes), offset);
-		}
-		String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
-		if (Constants.VISIBILITY_DIRECTIVE.regionMatches(true, 0, attributeValue, 0,
-				Constants.VISIBILITY_DIRECTIVE.length())) {
-			return matchValueCompletion(currentValue.substring(equals + 1), new String[] {
-					Constants.VISIBILITY_PRIVATE, Constants.VISIBILITY_REEXPORT }, new int[] { F_TYPE_VALUE,
-					F_TYPE_VALUE }, offset, "VISIBILITY_"); //$NON-NLS-1$
-		}
-		if (Constants.RESOLUTION_DIRECTIVE.regionMatches(true, 0, attributeValue, 0,
-				Constants.RESOLUTION_DIRECTIVE.length())) {
-			return matchValueCompletion(currentValue.substring(equals + 1), new String[] {
-					Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL }, new int[] { F_TYPE_VALUE,
-					F_TYPE_VALUE }, offset, "RESOLUTION_"); //$NON-NLS-1$
-		}
-		if (Constants.BUNDLE_VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0,
-				Constants.RESOLUTION_DIRECTIVE.length())) {
-			String pluginId = removeLeadingSpaces(currentValue.substring((comma == -1) ? 0 : comma + 1, semicolon));
-			return getBundleVersionCompletions(pluginId, removeLeadingSpaces(currentValue.substring(equals + 1)),
-					offset);
-		}
-		return new ICompletionProposal[0];
-	}
+    protected ICompletionProposal[] handleFragmentHostCompletion(String currentValue, int offset) {
+        int index = currentValue.lastIndexOf(';');
+        if (index == -1) {
+            HashMap completions = new HashMap();
+            IPluginModelBase base = PluginRegistry.findModel(((ManifestEditor) this.fSourcePage.getEditor()).getCommonProject());
+            BundleDescription desc = base.getBundleDescription();
+            String currentId = desc != null ? desc.getSymbolicName() : null;
 
-	protected ICompletionProposal[] getBundleVersionCompletions(String pluginID, String existingValue, int offset) {
-		ModelEntry entry = PluginRegistry.findEntry(pluginID);
-		if (entry != null) {
-			IPluginModelBase[] hosts = entry.getActiveModels();
-			ArrayList proposals = new ArrayList(hosts.length);
-			for (IPluginModelBase element : hosts) {
-				String proposalValue = getVersionProposal(element);
-				if (proposalValue.regionMatches(0, existingValue, 0, existingValue.length())) {
-					proposals.add(new BundleTypeCompletionProposal(proposalValue.substring(existingValue.length()),
-							getImage(F_TYPE_VALUE), proposalValue, offset, 0));
-				}
-			}
-			return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]);
-		} else if (existingValue.length() == 0) {
-			return new ICompletionProposal[] { new BundleTypeCompletionProposal(
-					"\"\"", getImage(F_TYPE_VALUE), "\"\"", offset, 0) }; //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		return new ICompletionProposal[0];
-	}
+            String pluginStart = removeLeadingSpaces(currentValue);
+            int length = pluginStart.length();
+            IPluginModelBase[] bases = PluginRegistry.getActiveModels();
+            for (IPluginModelBase element : bases) {
+                desc = element.getBundleDescription();
+                if (desc != null && desc.getHost() == null) {
+                    String pluginID = element.getBundleDescription().getSymbolicName();
+                    if (!completions.containsKey(pluginID) && pluginID.regionMatches(true, 0, pluginStart, 0, length)
+                        && !pluginID.equals(currentId)) {
+                        completions.put(pluginID,
+                            new BundleTypeCompletionProposal(pluginID, getImage(F_TYPE_BUNDLE), pluginID, offset - length, length));
+                    }
+                }
+            }
+            return (ICompletionProposal[]) completions.values().toArray(new ICompletionProposal[completions.size()]);
+        }
+        int equals = currentValue.lastIndexOf('=');
+        if (equals == -1 || index > equals) {
+            return matchValueCompletion(removeLeadingSpaces(currentValue.substring(index + 1)), new String[] { Constants.BUNDLE_VERSION_ATTRIBUTE },
+                new int[] { F_TYPE_ATTRIBUTE }, offset);
+        }
+        String attributeValue = removeLeadingSpaces(currentValue.substring(index + 1));
+        if (Constants.BUNDLE_VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.BUNDLE_VERSION_ATTRIBUTE.length())) {
+            return getBundleVersionCompletions(currentValue.substring(0, index).trim(), removeLeadingSpaces(currentValue.substring(equals + 1)),
+                offset);
+        }
+        return new ICompletionProposal[0];
+    }
 
-	protected String getVersionProposal(IPluginModelBase base) {
-		StringBuffer buffer = new StringBuffer("\""); //$NON-NLS-1$
-		BundleDescription desc = base.getBundleDescription();
-		if (desc != null) {
-			Version version = desc.getVersion();
-			buffer.append(version.getMajor());
-			buffer.append('.');
-			buffer.append(version.getMinor());
-			buffer.append('.');
-			buffer.append(version.getMicro());
-		} else {
-			char[] chars = base.getPluginBase().getVersion().toCharArray();
-			int periodCount = 0;
-			for (char element : chars) {
-				if (element == '.') {
-					if (periodCount == 2) {
-						break;
-					}
-					++periodCount;
-				}
-				buffer.append(element);
-			}
-		}
-		return buffer.append('\"').toString();
-	}
+    protected ICompletionProposal[] handleRequireBundleCompletion(String currentValue, int offset) {
+        int comma = currentValue.lastIndexOf(',');
+        int semicolon = currentValue.lastIndexOf(';');
+        String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
+        if (comma > semicolon || comma == semicolon) {
+            HashSet set = (HashSet) this.fHeaders.get(Constants.REQUIRE_BUNDLE);
+            if (set == null) {
+                set = parseHeaderForValues(currentValue, offset);
+            }
+            return handleBundleCompletions(value, set, F_TYPE_BUNDLE, offset, false);
+        }
+        int equals = currentValue.lastIndexOf('=');
+        if (equals == -1 || semicolon > equals) {
+            String[] validAttrs = new String[] { Constants.BUNDLE_VERSION_ATTRIBUTE, Constants.RESOLUTION_DIRECTIVE, Constants.VISIBILITY_DIRECTIVE };
+            Integer[] validTypes = new Integer[] { new Integer(F_TYPE_ATTRIBUTE), new Integer(F_TYPE_DIRECTIVE), new Integer(F_TYPE_DIRECTIVE) };
+            return handleAttrsAndDirectives(value, initializeNewList(validAttrs), initializeNewList(validTypes), offset);
+        }
+        String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
+        if (Constants.VISIBILITY_DIRECTIVE.regionMatches(true, 0, attributeValue, 0, Constants.VISIBILITY_DIRECTIVE.length())) {
+            return matchValueCompletion(currentValue.substring(equals + 1),
+                new String[] { Constants.VISIBILITY_PRIVATE, Constants.VISIBILITY_REEXPORT }, new int[] { F_TYPE_VALUE, F_TYPE_VALUE }, offset,
+                "VISIBILITY_"); //$NON-NLS-1$
+        }
+        if (Constants.RESOLUTION_DIRECTIVE.regionMatches(true, 0, attributeValue, 0, Constants.RESOLUTION_DIRECTIVE.length())) {
+            return matchValueCompletion(currentValue.substring(equals + 1),
+                new String[] { Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL }, new int[] { F_TYPE_VALUE, F_TYPE_VALUE }, offset,
+                "RESOLUTION_"); //$NON-NLS-1$
+        }
+        if (Constants.BUNDLE_VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.RESOLUTION_DIRECTIVE.length())) {
+            String pluginId = removeLeadingSpaces(currentValue.substring(comma == -1 ? 0 : comma + 1, semicolon));
+            return getBundleVersionCompletions(pluginId, removeLeadingSpaces(currentValue.substring(equals + 1)), offset);
+        }
+        return new ICompletionProposal[0];
+    }
 
-	protected ICompletionProposal[] handleBundleCompletions(String value, Collection doNotInclude, int type,
-			int offset, boolean includeFragments) {
-		value = removeLeadingSpaces(value);
-		int length = value.length();
-		doNotInclude.remove(value);
-		ArrayList completions = new ArrayList();
-		IPluginModelBase[] bases = PluginRegistry.getActiveModels();
-		for (IPluginModelBase element : bases) {
-			BundleDescription desc = element.getBundleDescription();
-			if (desc != null) {
-				if (!includeFragments && desc.getHost() != null) {
-					continue;
-				}
-				String bundleId = desc.getSymbolicName();
-				if (bundleId.regionMatches(true, 0, value, 0, value.length()) && !doNotInclude.contains(bundleId)) {
-					completions.add(new BundleTypeCompletionProposal(bundleId, getImage(type), bundleId, offset
-							- length, length));
-				}
-			}
-		}
-		return (ICompletionProposal[]) completions.toArray(new ICompletionProposal[completions.size()]);
-	}
+    protected ICompletionProposal[] getBundleVersionCompletions(String pluginID, String existingValue, int offset) {
+        ModelEntry entry = PluginRegistry.findEntry(pluginID);
+        if (entry != null) {
+            IPluginModelBase[] hosts = entry.getActiveModels();
+            ArrayList proposals = new ArrayList(hosts.length);
+            for (IPluginModelBase element : hosts) {
+                String proposalValue = getVersionProposal(element);
+                if (proposalValue.regionMatches(0, existingValue, 0, existingValue.length())) {
+                    proposals.add(new BundleTypeCompletionProposal(proposalValue.substring(existingValue.length()), getImage(F_TYPE_VALUE),
+                        proposalValue, offset, 0));
+                }
+            }
+            return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]);
+        } else if (existingValue.length() == 0) {
+            return new ICompletionProposal[] { new BundleTypeCompletionProposal("\"\"", getImage(F_TYPE_VALUE), "\"\"", offset, 0) }; //$NON-NLS-1$ //$NON-NLS-2$
+        }
+        return new ICompletionProposal[0];
+    }
 
-	protected ICompletionProposal[] handleExportPackageCompletion(String currentValue, int offset) {
-		int comma = currentValue.lastIndexOf(',');
-		int semicolon = currentValue.lastIndexOf(';');
-		ArrayList list = new ArrayList();
-		if (!insideQuotes(currentValue) && comma > semicolon || comma == semicolon) {
-			String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
-			HashSet set = (HashSet) fHeaders.get(Constants.EXPORT_PACKAGE);
-			if (set == null) {
-				set = parseHeaderForValues(currentValue, offset);
-			}
-			value = removeLeadingSpaces(value);
-			int length = value.length();
-			IProject proj = ((PDEFormEditor) fSourcePage.getEditor()).getCommonProject();
-			if (proj != null) {
-				IJavaProject jp = JavaCore.create(proj);
-				IPackageFragment[] frags = PDEJavaHelper.getPackageFragments(jp, set, false);
-				for (IPackageFragment element : frags) {
-					String name = element.getElementName();
-					if (name.regionMatches(true, 0, value, 0, length)) {
-						list.add(new BundleTypeCompletionProposal(name, getImage(F_TYPE_PKG), name, offset - length,
-								length));
-					}
-				}
-			}
-		} else {
-			String value = currentValue;
-			if (comma > 0) {
-				do {
-					String prefix = currentValue.substring(0, comma);
-					if (!insideQuotes(prefix)) {
-						value = currentValue.substring(comma + 1);
-						break;
-					}
-					comma = currentValue.lastIndexOf(',', comma - 1);
-				} while (comma > 0);
-			}
-			int equals = currentValue.lastIndexOf('=');
-			if (equals == -1 || semicolon > equals) {
-				String[] validAttrs = new String[] { Constants.VERSION_ATTRIBUTE, ICoreConstants.INTERNAL_DIRECTIVE,
-						ICoreConstants.FRIENDS_DIRECTIVE };
-				Integer[] validTypes = new Integer[] { new Integer(F_TYPE_ATTRIBUTE), new Integer(F_TYPE_DIRECTIVE),
-						new Integer(F_TYPE_DIRECTIVE) };
-				return handleAttrsAndDirectives(value, initializeNewList(validAttrs), initializeNewList(validTypes),
-						offset);
-			}
-			String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
-			if (ICoreConstants.FRIENDS_DIRECTIVE.regionMatches(true, 0, attributeValue, 0,
-					ICoreConstants.FRIENDS_DIRECTIVE.length())) {
-				return handleXFriendsCompletion(currentValue.substring(equals + 1), offset);
-			}
-			if (ICoreConstants.INTERNAL_DIRECTIVE.regionMatches(true, 0, attributeValue, 0,
-					ICoreConstants.INTERNAL_DIRECTIVE.length())) {
-				return handleTrueFalseValue(currentValue.substring(equals + 1), offset);
-			}
-			if (Constants.VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0,
-					Constants.VERSION_ATTRIBUTE.length())) {
-				value = removeLeadingSpaces(currentValue.substring(equals + 1));
-				if (value.length() == 0) {
-					return new ICompletionProposal[] { new BundleTypeCompletionProposal(
-							"\"\"", getImage(F_TYPE_VALUE), "\"\"", offset, 0) }; //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-		}
-		return (ICompletionProposal[]) list.toArray(new ICompletionProposal[list.size()]);
-	}
+    protected String getVersionProposal(IPluginModelBase base) {
+        StringBuffer buffer = new StringBuffer("\""); //$NON-NLS-1$
+        BundleDescription desc = base.getBundleDescription();
+        if (desc != null) {
+            Version version = desc.getVersion();
+            buffer.append(version.getMajor());
+            buffer.append('.');
+            buffer.append(version.getMinor());
+            buffer.append('.');
+            buffer.append(version.getMicro());
+        } else {
+            char[] chars = base.getPluginBase().getVersion().toCharArray();
+            int periodCount = 0;
+            for (char element : chars) {
+                if (element == '.') {
+                    if (periodCount == 2) {
+                        break;
+                    }
+                    ++periodCount;
+                }
+                buffer.append(element);
+            }
+        }
+        return buffer.append('\"').toString();
+    }
 
-	protected ICompletionProposal[] handleBundleActivatorCompletion(final String currentValue, final int offset) {
-		ArrayList completions = new ArrayList();
-		IProject project = ((PDEFormEditor) fSourcePage.getEditor()).getCommonProject();
-		int startOffset = offset - currentValue.length();
-		generateTypePackageProposals(currentValue, project, completions, startOffset, IJavaSearchConstants.CLASS);
-		ICompletionProposal[] proposals = (ICompletionProposal[]) completions.toArray(new ICompletionProposal[completions.size()]);
-		sortCompletions(proposals);
-		return proposals;
-	}
+    protected ICompletionProposal[] handleBundleCompletions(String value, Collection doNotInclude, int type, int offset, boolean includeFragments) {
+        value = removeLeadingSpaces(value);
+        int length = value.length();
+        doNotInclude.remove(value);
+        ArrayList completions = new ArrayList();
+        IPluginModelBase[] bases = PluginRegistry.getActiveModels();
+        for (IPluginModelBase element : bases) {
+            BundleDescription desc = element.getBundleDescription();
+            if (desc != null) {
+                if (!includeFragments && desc.getHost() != null) {
+                    continue;
+                }
+                String bundleId = desc.getSymbolicName();
+                if (bundleId.regionMatches(true, 0, value, 0, value.length()) && !doNotInclude.contains(bundleId)) {
+                    completions.add(new BundleTypeCompletionProposal(bundleId, getImage(type), bundleId, offset - length, length));
+                }
+            }
+        }
+        return (ICompletionProposal[]) completions.toArray(new ICompletionProposal[completions.size()]);
+    }
 
-	protected ICompletionProposal[] handleBundleSymbolicNameCompletion(String currentValue, int offset) {
-		int semicolon = currentValue.indexOf(';');
-		if (semicolon != -1) {
-			int equals = currentValue.indexOf('=');
-			if (equals == -1) {
-				String attribute = currentValue.substring(semicolon + 1);
-				attribute = removeLeadingSpaces(attribute);
-				Object o = fHeaders.get(Constants.BUNDLE_MANIFESTVERSION);
-				int type = (o == null || o.toString().equals("1")) ? F_TYPE_ATTRIBUTE : F_TYPE_DIRECTIVE;//$NON-NLS-1$
-				if (Constants.SINGLETON_DIRECTIVE.regionMatches(true, 0, attribute, 0, attribute.length())) {
-					int length = attribute.length();
-					BundleTypeCompletionProposal proposal = new BundleTypeCompletionProposal(
-							Constants.SINGLETON_DIRECTIVE + ":=", //$NON-NLS-1$
-							getImage(type), Constants.SINGLETON_DIRECTIVE, offset - length, length);
-					proposal.setAdditionalProposalInfo(getJavaDoc("SINGLETON_DIRECTIVE")); //$NON-NLS-1$
-					return new ICompletionProposal[] { proposal };
-				}
-			} else if (equals > semicolon) {
-				return handleTrueFalseValue(currentValue.substring(equals + 1), offset);
-			}
-		}
-		return new ICompletionProposal[0];
-	}
+    protected ICompletionProposal[] handleExportPackageCompletion(String currentValue, int offset) {
+        int comma = currentValue.lastIndexOf(',');
+        int semicolon = currentValue.lastIndexOf(';');
+        ArrayList list = new ArrayList();
+        if (!insideQuotes(currentValue) && comma > semicolon || comma == semicolon) {
+            String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
+            HashSet set = (HashSet) this.fHeaders.get(Constants.EXPORT_PACKAGE);
+            if (set == null) {
+                set = parseHeaderForValues(currentValue, offset);
+            }
+            value = removeLeadingSpaces(value);
+            int length = value.length();
+            IProject proj = ((PDEFormEditor) this.fSourcePage.getEditor()).getCommonProject();
+            if (proj != null) {
+                IJavaProject jp = JavaCore.create(proj);
+                IPackageFragment[] frags = PDEJavaHelper.getPackageFragments(jp, set, false);
+                for (IPackageFragment element : frags) {
+                    String name = element.getElementName();
+                    if (name.regionMatches(true, 0, value, 0, length)) {
+                        list.add(new BundleTypeCompletionProposal(name, getImage(F_TYPE_PKG), name, offset - length, length));
+                    }
+                }
+            }
+        } else {
+            String value = currentValue;
+            if (comma > 0) {
+                do {
+                    String prefix = currentValue.substring(0, comma);
+                    if (!insideQuotes(prefix)) {
+                        value = currentValue.substring(comma + 1);
+                        break;
+                    }
+                    comma = currentValue.lastIndexOf(',', comma - 1);
+                } while (comma > 0);
+            }
+            int equals = currentValue.lastIndexOf('=');
+            if (equals == -1 || semicolon > equals) {
+                String[] validAttrs = new String[] { Constants.VERSION_ATTRIBUTE, ICoreConstants.INTERNAL_DIRECTIVE,
+                    ICoreConstants.FRIENDS_DIRECTIVE };
+                Integer[] validTypes = new Integer[] { new Integer(F_TYPE_ATTRIBUTE), new Integer(F_TYPE_DIRECTIVE), new Integer(F_TYPE_DIRECTIVE) };
+                return handleAttrsAndDirectives(value, initializeNewList(validAttrs), initializeNewList(validTypes), offset);
+            }
+            String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
+            if (ICoreConstants.FRIENDS_DIRECTIVE.regionMatches(true, 0, attributeValue, 0, ICoreConstants.FRIENDS_DIRECTIVE.length())) {
+                return handleXFriendsCompletion(currentValue.substring(equals + 1), offset);
+            }
+            if (ICoreConstants.INTERNAL_DIRECTIVE.regionMatches(true, 0, attributeValue, 0, ICoreConstants.INTERNAL_DIRECTIVE.length())) {
+                return handleTrueFalseValue(currentValue.substring(equals + 1), offset);
+            }
+            if (Constants.VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.VERSION_ATTRIBUTE.length())) {
+                value = removeLeadingSpaces(currentValue.substring(equals + 1));
+                if (value.length() == 0) {
+                    return new ICompletionProposal[] { new BundleTypeCompletionProposal("\"\"", getImage(F_TYPE_VALUE), "\"\"", offset, 0) }; //$NON-NLS-1$ //$NON-NLS-2$
+                }
+            }
+        }
+        return (ICompletionProposal[]) list.toArray(new ICompletionProposal[list.size()]);
+    }
 
-	protected ICompletionProposal[] handleBundleActivationPolicyCompletion(final String currentValue, final int offset) {
-		int comma = currentValue.lastIndexOf(',');
-		int semicolon = currentValue.lastIndexOf(';');
-		if (!insideQuotes(currentValue) && comma > semicolon || comma == semicolon) {
-			String value = removeLeadingSpaces(currentValue);
-			String lazyValue = "lazy"; //$NON-NLS-1$
-			int length = value.length();
-			if (lazyValue.regionMatches(0, value, 0, length)) {
-				return new ICompletionProposal[] { new BundleTypeCompletionProposal(lazyValue, null, lazyValue, offset
-						- length, length) };
-			}
-		}
-		return new ICompletionProposal[0];
-	}
+    protected ICompletionProposal[] handleBundleActivatorCompletion(final String currentValue, final int offset) {
+        ArrayList completions = new ArrayList();
+        IProject project = ((PDEFormEditor) this.fSourcePage.getEditor()).getCommonProject();
+        int startOffset = offset - currentValue.length();
+        generateTypePackageProposals(currentValue, project, completions, startOffset, IJavaSearchConstants.CLASS);
+        ICompletionProposal[] proposals = (ICompletionProposal[]) completions.toArray(new ICompletionProposal[completions.size()]);
+        sortCompletions(proposals);
+        return proposals;
+    }
 
-	protected ICompletionProposal[] handleBuddyPolicyCompletion(String currentValue, int offset) {
-		String value = removeLeadingSpaces(currentValue);
-		// values from bug 178517 comment #7
-		ArrayList validValues = initializeNewList(new String[] { "dependent", "global", "registered", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				"app", "ext", "boot", "parent" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		ArrayList types = initializeNewList(new Object[] { new Integer(F_TYPE_VALUE), new Integer(F_TYPE_VALUE),
-				new Integer(F_TYPE_VALUE), new Integer(F_TYPE_VALUE), new Integer(F_TYPE_VALUE),
-				new Integer(F_TYPE_VALUE), new Integer(F_TYPE_VALUE) });
-		return handleAttrsAndDirectives(value, validValues, types, offset);
-	}
+    protected ICompletionProposal[] handleBundleSymbolicNameCompletion(String currentValue, int offset) {
+        int semicolon = currentValue.indexOf(';');
+        if (semicolon != -1) {
+            int equals = currentValue.indexOf('=');
+            if (equals == -1) {
+                String attribute = currentValue.substring(semicolon + 1);
+                attribute = removeLeadingSpaces(attribute);
+                Object o = this.fHeaders.get(Constants.BUNDLE_MANIFESTVERSION);
+                int type = o == null || o.toString().equals("1") ? F_TYPE_ATTRIBUTE : F_TYPE_DIRECTIVE;//$NON-NLS-1$
+                if (Constants.SINGLETON_DIRECTIVE.regionMatches(true, 0, attribute, 0, attribute.length())) {
+                    int length = attribute.length();
+                    BundleTypeCompletionProposal proposal = new BundleTypeCompletionProposal(Constants.SINGLETON_DIRECTIVE + ":=", //$NON-NLS-1$
+                        getImage(type), Constants.SINGLETON_DIRECTIVE, offset - length, length);
+                    proposal.setAdditionalProposalInfo(getJavaDoc("SINGLETON_DIRECTIVE")); //$NON-NLS-1$
+                    return new ICompletionProposal[] { proposal };
+                }
+            } else if (equals > semicolon) {
+                return handleTrueFalseValue(currentValue.substring(equals + 1), offset);
+            }
+        }
+        return new ICompletionProposal[0];
+    }
 
-	protected ICompletionProposal[] handleRequiredExecEnv(String currentValue, int offset) {
-		int comma = currentValue.lastIndexOf(',');
-		if (comma != -1) {
-			currentValue = currentValue.substring(comma + 1);
-		}
-		currentValue = removeLeadingSpaces(currentValue);
-		ArrayList completions = new ArrayList();
-		HashSet set = (HashSet) fHeaders.get(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
-		if (set == null) {
-			set = new HashSet(0);
-		}
-		int length = currentValue.length();
-		for (int i = 0; i < fExecEnvs.length; i++) {
-			if (fExecEnvs[i].regionMatches(true, 0, currentValue, 0, length) && !set.contains(fExecEnvs[i])) {
-				completions.add(new BundleTypeCompletionProposal(fExecEnvs[i], getImage(F_TYPE_EXEC_ENV), fExecEnvs[i],
-						offset - length, length));
-			}
-		}
-		return (ICompletionProposal[]) completions.toArray(new ICompletionProposal[completions.size()]);
-	}
+    protected ICompletionProposal[] handleBundleActivationPolicyCompletion(final String currentValue, final int offset) {
+        int comma = currentValue.lastIndexOf(',');
+        int semicolon = currentValue.lastIndexOf(';');
+        if (!insideQuotes(currentValue) && comma > semicolon || comma == semicolon) {
+            String value = removeLeadingSpaces(currentValue);
+            String lazyValue = "lazy"; //$NON-NLS-1$
+            int length = value.length();
+            if (lazyValue.regionMatches(0, value, 0, length)) {
+                return new ICompletionProposal[] { new BundleTypeCompletionProposal(lazyValue, null, lazyValue, offset - length, length) };
+            }
+        }
+        return new ICompletionProposal[0];
+    }
 
-	protected ICompletionProposal[] handleTrueFalseValue(String currentValue, int offset) {
-		currentValue = removeLeadingSpaces(currentValue);
-		int length = currentValue.length();
-		if (length == 0) {
-			return new ICompletionProposal[] {
-					new BundleTypeCompletionProposal("true", getImage(F_TYPE_VALUE), "true", offset, 0), //$NON-NLS-1$ //$NON-NLS-2$
-					new BundleTypeCompletionProposal("false", getImage(F_TYPE_VALUE), "false", offset, 0) //$NON-NLS-1$ //$NON-NLS-2$
-			};
-		} else if (length < 5 && "true".regionMatches(true, 0, currentValue, 0, length)) {
-			return new ICompletionProposal[] { new BundleTypeCompletionProposal(
-					"true", getImage(F_TYPE_VALUE), "true", offset - length, length) //$NON-NLS-1$ //$NON-NLS-2$
-			};
-		} else if (length < 6 && "false".regionMatches(true, 0, currentValue, 0, length)) {
-			return new ICompletionProposal[] { new BundleTypeCompletionProposal(
-					"false", getImage(F_TYPE_VALUE), "false", offset - length, length) //$NON-NLS-1$ //$NON-NLS-2$
-			};
-		}
-		return new ICompletionProposal[0];
-	}
+    protected ICompletionProposal[] handleBuddyPolicyCompletion(String currentValue, int offset) {
+        String value = removeLeadingSpaces(currentValue);
+        // values from bug 178517 comment #7
+        ArrayList validValues = initializeNewList(new String[] { "dependent", "global", "registered", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+            "app", "ext", "boot", "parent" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+        ArrayList types = initializeNewList(new Object[] { new Integer(F_TYPE_VALUE), new Integer(F_TYPE_VALUE), new Integer(F_TYPE_VALUE),
+            new Integer(F_TYPE_VALUE), new Integer(F_TYPE_VALUE), new Integer(F_TYPE_VALUE), new Integer(F_TYPE_VALUE) });
+        return handleAttrsAndDirectives(value, validValues, types, offset);
+    }
 
-	protected ICompletionProposal[] matchValueCompletion(String value, String[] attrs, int[] types, int offset) {
-		return matchValueCompletion(value, attrs, types, offset, ""); //$NON-NLS-1$
-	}
+    protected ICompletionProposal[] handleRequiredExecEnv(String currentValue, int offset) {
+        int comma = currentValue.lastIndexOf(',');
+        if (comma != -1) {
+            currentValue = currentValue.substring(comma + 1);
+        }
+        currentValue = removeLeadingSpaces(currentValue);
+        ArrayList completions = new ArrayList();
+        HashSet set = (HashSet) this.fHeaders.get(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT);
+        if (set == null) {
+            set = new HashSet(0);
+        }
+        int length = currentValue.length();
+        for (int i = 0; i < fExecEnvs.length; i++) {
+            if (fExecEnvs[i].regionMatches(true, 0, currentValue, 0, length) && !set.contains(fExecEnvs[i])) {
+                completions.add(new BundleTypeCompletionProposal(fExecEnvs[i], getImage(F_TYPE_EXEC_ENV), fExecEnvs[i], offset - length, length));
+            }
+        }
+        return (ICompletionProposal[]) completions.toArray(new ICompletionProposal[completions.size()]);
+    }
 
-	protected ICompletionProposal[] matchValueCompletion(String value, String[] attrs, int[] types, int offset,
-			String prefixCostant) {
-		ArrayList list = new ArrayList();
-		int length = value.length();
-		BundleTypeCompletionProposal proposal = null;
-		for (int i = 0; i < attrs.length; i++) {
-			if (attrs[i].regionMatches(true, 0, value, 0, length)) {
-				if (types[i] == F_TYPE_ATTRIBUTE) {
-					proposal = new BundleTypeCompletionProposal(
-							attrs[i] + "=", getImage(F_TYPE_ATTRIBUTE), attrs[i], offset - length, length); //$NON-NLS-1$
-					proposal.setAdditionalProposalInfo(getJavaDoc(attrs[i] + "_ATTRIBUTE")); //$NON-NLS-1$
-				} else if (types[i] == F_TYPE_DIRECTIVE) {
-					proposal = new BundleTypeCompletionProposal(
-							attrs[i] + ":=", getImage(F_TYPE_DIRECTIVE), attrs[i], offset - length, length); //$NON-NLS-1$
-					proposal.setAdditionalProposalInfo(getJavaDoc(attrs[i] + "_DIRECTIVE")); //$NON-NLS-1$
-				} else {
-					proposal = new BundleTypeCompletionProposal(attrs[i], getImage(types[i]), attrs[i],
-							offset - length, length);
-					proposal.setAdditionalProposalInfo(getJavaDoc(prefixCostant + attrs[i]));
-				}
-				list.add(proposal);
-			}
-		}
-		return (ICompletionProposal[]) list.toArray(new ICompletionProposal[list.size()]);
-	}
+    protected ICompletionProposal[] handleTrueFalseValue(String currentValue, int offset) {
+        currentValue = removeLeadingSpaces(currentValue);
+        int length = currentValue.length();
+        if (length == 0) {
+            return new ICompletionProposal[] { new BundleTypeCompletionProposal("true", getImage(F_TYPE_VALUE), "true", offset, 0), //$NON-NLS-1$ //$NON-NLS-2$
+                new BundleTypeCompletionProposal("false", getImage(F_TYPE_VALUE), "false", offset, 0) //$NON-NLS-1$ //$NON-NLS-2$
+            };
+        } else if (length < 5 && "true".regionMatches(true, 0, currentValue, 0, length)) {
+            return new ICompletionProposal[] { new BundleTypeCompletionProposal("true", getImage(F_TYPE_VALUE), "true", offset - length, length) //$NON-NLS-1$ //$NON-NLS-2$
+            };
+        } else if (length < 6 && "false".regionMatches(true, 0, currentValue, 0, length)) {
+            return new ICompletionProposal[] { new BundleTypeCompletionProposal("false", getImage(F_TYPE_VALUE), "false", offset - length, length) //$NON-NLS-1$ //$NON-NLS-2$
+            };
+        }
+        return new ICompletionProposal[0];
+    }
 
-	protected ICompletionProposal[] handleAttrsAndDirectives(String value, ArrayList attrs, ArrayList types, int offset) {
-		String fullValue = findFullLine(value, offset, false);
-		int semicolon = value.lastIndexOf(';');
-		value = removeLeadingSpaces(value.substring(semicolon + 1));
-		StringTokenizer tokenizer = new StringTokenizer(fullValue, ";"); //$NON-NLS-1$
-		tokenizer.nextToken();
-		while (tokenizer.hasMoreTokens()) {
-			String tokenValue = removeLeadingSpaces(tokenizer.nextToken());
-			int index = tokenValue.indexOf('=');
-			if (index == -1) {
-				continue;
-			}
-			if (tokenValue.charAt(index - 1) == ':') {
-				--index;
-			}
-			tokenValue = tokenValue.substring(0, index);
-			int indexOfObject = attrs.indexOf(tokenValue);
-			if (indexOfObject >= 0) {
-				attrs.remove(indexOfObject);
-				types.remove(indexOfObject);
-			}
-		}
-		return matchValueCompletion(value, (String[]) attrs.toArray(new String[attrs.size()]), toIntArray(types),
-				offset);
-	}
+    protected ICompletionProposal[] matchValueCompletion(String value, String[] attrs, int[] types, int offset) {
+        return matchValueCompletion(value, attrs, types, offset, ""); //$NON-NLS-1$
+    }
 
-	protected HashSet parseHeaderForValues(String currentValue, int offset) {
-		HashSet set = new HashSet();
-		String fullValue = findFullLine(currentValue, offset, true);
-		StringTokenizer tokenizer = new StringTokenizer(fullValue, ","); //$NON-NLS-1$
-		while (tokenizer.hasMoreTokens()) {
-			String pkgValue = tokenizer.nextToken();
-			int index = pkgValue.indexOf(';');
-			set.add(index == -1 ? pkgValue.trim() : pkgValue.substring(0, index).trim());
-		}
-		return set;
-	}
+    protected ICompletionProposal[] matchValueCompletion(String value, String[] attrs, int[] types, int offset, String prefixCostant) {
+        ArrayList list = new ArrayList();
+        int length = value.length();
+        BundleTypeCompletionProposal proposal = null;
+        for (int i = 0; i < attrs.length; i++) {
+            if (attrs[i].regionMatches(true, 0, value, 0, length)) {
+                if (types[i] == F_TYPE_ATTRIBUTE) {
+                    proposal = new BundleTypeCompletionProposal(attrs[i] + "=", getImage(F_TYPE_ATTRIBUTE), attrs[i], offset - length, length); //$NON-NLS-1$
+                    proposal.setAdditionalProposalInfo(getJavaDoc(attrs[i] + "_ATTRIBUTE")); //$NON-NLS-1$
+                } else if (types[i] == F_TYPE_DIRECTIVE) {
+                    proposal = new BundleTypeCompletionProposal(attrs[i] + ":=", getImage(F_TYPE_DIRECTIVE), attrs[i], offset - length, length); //$NON-NLS-1$
+                    proposal.setAdditionalProposalInfo(getJavaDoc(attrs[i] + "_DIRECTIVE")); //$NON-NLS-1$
+                } else {
+                    proposal = new BundleTypeCompletionProposal(attrs[i], getImage(types[i]), attrs[i], offset - length, length);
+                    proposal.setAdditionalProposalInfo(getJavaDoc(prefixCostant + attrs[i]));
+                }
+                list.add(proposal);
+            }
+        }
+        return (ICompletionProposal[]) list.toArray(new ICompletionProposal[list.size()]);
+    }
 
-	protected String findFullLine(String value, int offset, boolean entireHeader) {
-		IDocument doc = fSourcePage.getDocumentProvider().getDocument(fSourcePage.getInputContext().getInput());
-		try {
-			int line = doc.getLineOfOffset(offset);
-			String newValue = ""; //$NON-NLS-1$
-			int startOfLine = 0;
-			int colon = -1;
-			do {
-				startOfLine = doc.getLineOffset(line);
-				newValue = doc.get(offset, doc.getLineLength(line) - offset + startOfLine);
-				++line;
-				colon = newValue.lastIndexOf(':');
-			} while ((colon == -1 || (newValue.length() > colon && newValue.charAt(colon + 1) == '='))
-					&& (entireHeader || newValue.indexOf(',') == -1) && !(doc.getNumberOfLines() == line));
-			int firstColon = newValue.indexOf(':');
-			if (colon > 0 && newValue.charAt(colon + 1) != '=') {
-				newValue = doc.get(offset, startOfLine - 1 - offset);
-			} else if (firstColon > 0 && newValue.charAt(firstColon + 1) == ' ') {
-				newValue = doc.get(offset, startOfLine - 1 - offset);
-			} else {
-				// break on the comma to find our element, but only break on a
-				// comma that is not enclosed in parenthesis
-				int comma = newValue.indexOf(',');
-				int parenthesis = newValue.indexOf('"');
-				if (!(parenthesis < comma && newValue.indexOf('"', parenthesis + 1) > comma)) {
-					newValue = (comma != -1) ? newValue.substring(0, comma) : newValue;
-				}
-			}
-			return value.concat(newValue);
-		} catch (BadLocationException e) {
-		}
-		return ""; //$NON-NLS-1$
-	}
+    protected ICompletionProposal[] handleAttrsAndDirectives(String value, ArrayList attrs, ArrayList types, int offset) {
+        String fullValue = findFullLine(value, offset, false);
+        int semicolon = value.lastIndexOf(';');
+        value = removeLeadingSpaces(value.substring(semicolon + 1));
+        StringTokenizer tokenizer = new StringTokenizer(fullValue, ";"); //$NON-NLS-1$
+        tokenizer.nextToken();
+        while (tokenizer.hasMoreTokens()) {
+            String tokenValue = removeLeadingSpaces(tokenizer.nextToken());
+            int index = tokenValue.indexOf('=');
+            if (index == -1) {
+                continue;
+            }
+            if (tokenValue.charAt(index - 1) == ':') {
+                --index;
+            }
+            tokenValue = tokenValue.substring(0, index);
+            int indexOfObject = attrs.indexOf(tokenValue);
+            if (indexOfObject >= 0) {
+                attrs.remove(indexOfObject);
+                types.remove(indexOfObject);
+            }
+        }
+        return matchValueCompletion(value, (String[]) attrs.toArray(new String[attrs.size()]), toIntArray(types), offset);
+    }
 
-	protected int[] toIntArray(ArrayList list) {
-		int[] result = new int[list.size()];
-		int i = -1;
-		while (++i < result.length) {
-			Object o = list.get(i);
-			if (!(o instanceof Integer)) {
-				return new int[0];
-			}
-			result[i] = ((Integer) o).intValue();
-		}
-		return result;
-	}
+    protected HashSet parseHeaderForValues(String currentValue, int offset) {
+        HashSet set = new HashSet();
+        String fullValue = findFullLine(currentValue, offset, true);
+        StringTokenizer tokenizer = new StringTokenizer(fullValue, ","); //$NON-NLS-1$
+        while (tokenizer.hasMoreTokens()) {
+            String pkgValue = tokenizer.nextToken();
+            int index = pkgValue.indexOf(';');
+            set.add(index == -1 ? pkgValue.trim() : pkgValue.substring(0, index).trim());
+        }
+        return set;
+    }
 
-	// if you use java.util.Arrays.asList(), we get an UnsupportedOperation
-	// later in the code
-	protected final ArrayList initializeNewList(Object[] values) {
-		ArrayList list = new ArrayList(values.length);
-		for (Object element : values) {
-			list.add(element);
-		}
-		return list;
-	}
+    protected String findFullLine(String value, int offset, boolean entireHeader) {
+        IDocument doc = this.fSourcePage.getDocumentProvider().getDocument(this.fSourcePage.getInputContext().getInput());
+        try {
+            int line = doc.getLineOfOffset(offset);
+            String newValue = ""; //$NON-NLS-1$
+            int startOfLine = 0;
+            int colon = -1;
+            do {
+                startOfLine = doc.getLineOffset(line);
+                newValue = doc.get(offset, doc.getLineLength(line) - offset + startOfLine);
+                ++line;
+                colon = newValue.lastIndexOf(':');
+            } while ((colon == -1 || newValue.length() > colon && newValue.charAt(colon + 1) == '=') && (entireHeader || newValue.indexOf(',') == -1)
+                && !(doc.getNumberOfLines() == line));
+            int firstColon = newValue.indexOf(':');
+            if (colon > 0 && newValue.charAt(colon + 1) != '=') {
+                newValue = doc.get(offset, startOfLine - 1 - offset);
+            } else if (firstColon > 0 && newValue.charAt(firstColon + 1) == ' ') {
+                newValue = doc.get(offset, startOfLine - 1 - offset);
+            } else {
+                // break on the comma to find our element, but only break on a
+                // comma that is not enclosed in parenthesis
+                int comma = newValue.indexOf(',');
+                int parenthesis = newValue.indexOf('"');
+                if (!(parenthesis < comma && newValue.indexOf('"', parenthesis + 1) > comma)) {
+                    newValue = comma != -1 ? newValue.substring(0, comma) : newValue;
+                }
+            }
+            return value.concat(newValue);
+        } catch (BadLocationException e) {
+        }
+        return ""; //$NON-NLS-1$
+    }
 
-	protected boolean insideQuotes(String value) {
-		char[] chars = value.toCharArray();
-		int numOfQuotes = 0;
-		for (char element : chars) {
-			if (element == '\"') {
-				++numOfQuotes;
-			}
-		}
-		int j = numOfQuotes % 2;
-		return j == 1;
-	}
+    protected int[] toIntArray(ArrayList list) {
+        int[] result = new int[list.size()];
+        int i = -1;
+        while (++i < result.length) {
+            Object o = list.get(i);
+            if (!(o instanceof Integer)) {
+                return new int[0];
+            }
+            result[i] = ((Integer) o).intValue();
+        }
+        return result;
+    }
 
-	public void assistSessionEnded(ContentAssistEvent event) {
-		fHeaders = null;
-	}
+    // if you use java.util.Arrays.asList(), we get an UnsupportedOperation
+    // later in the code
+    protected final ArrayList initializeNewList(Object[] values) {
+        ArrayList list = new ArrayList(values.length);
+        for (Object element : values) {
+            list.add(element);
+        }
+        return list;
+    }
 
-	public void assistSessionStarted(ContentAssistEvent event) {
-	}
+    protected boolean insideQuotes(String value) {
+        char[] chars = value.toCharArray();
+        int numOfQuotes = 0;
+        for (char element : chars) {
+            if (element == '\"') {
+                ++numOfQuotes;
+            }
+        }
+        int j = numOfQuotes % 2;
+        return j == 1;
+    }
 
-	public void selectionChanged(ICompletionProposal proposal, boolean smartToggle) {
-	}
+    public void assistSessionEnded(ContentAssistEvent event) {
+        this.fHeaders = null;
+    }
 
-	public Image getImage(int type) {
-		if (type >= 0 && type < F_TOTAL_TYPES) {
-			if (fImages[type] == null) {
-				switch (type) {
-				case F_TYPE_HEADER:
-					return fImages[type] = PDEPluginImages.DESC_BUILD_VAR_OBJ.createImage();
-				case F_TYPE_PKG:
-					return PDEPluginImages.get(PDEPluginImages.OBJ_DESC_PACKAGE);
-				case F_TYPE_BUNDLE:
-					return fImages[type] = PDEPluginImages.DESC_PLUGIN_OBJ.createImage();
-				case F_TYPE_CLASS:
-					return PDEPluginImages.get(PDEPluginImages.OBJ_DESC_GENERATE_CLASS);
-				case F_TYPE_ATTRIBUTE:
-					return fImages[type] = PDEPluginImages.DESC_ATT_URI_OBJ.createImage();
-				case F_TYPE_DIRECTIVE:
-					fImages[F_TYPE_ATTRIBUTE] = PDEPluginImages.DESC_ATT_URI_OBJ.createImage();
-					ImageOverlayIcon icon = new ImageOverlayIcon(fImages[F_TYPE_ATTRIBUTE], new ImageDescriptor[][] {
-							new ImageDescriptor[] { PDEPluginImages.DESC_DOC_CO }, null, null, null });
-					return fImages[type] = icon.createImage();
-				case F_TYPE_EXEC_ENV:
-					return fImages[type] = PDEPluginImages.DESC_JAVA_LIB_OBJ.createImage();
-				case F_TYPE_VALUE:
-					return null;
-				}
-			} else {
-				return fImages[type];
-			}
-		}
-		return null;
-	}
+    public void assistSessionStarted(ContentAssistEvent event) {
+    }
 
-	protected void dispose() {
-		for (int i = 0; i < fImages.length; i++) {
-			if (fImages[i] != null && !fImages[i].isDisposed()) {
-				fImages[i].dispose();
-			}
-		}
-	}
+    public void selectionChanged(ICompletionProposal proposal, boolean smartToggle) {
+    }
 
-	protected String getJavaDoc(String constant) {
-		if (fJP == null) {
-			IProject project = ((PDEFormEditor) fSourcePage.getEditor()).getCommonProject();
-			fJP = JavaCore.create(project);
-		}
-		return PDEJavaHelperUI.getOSGIConstantJavaDoc(constant, fJP);
-	}
+    public Image getImage(int type) {
+        if (type >= 0 && type < F_TOTAL_TYPES) {
+            if (this.fImages[type] == null) {
+                switch (type) {
+                    case F_TYPE_HEADER:
+                        return this.fImages[type] = PDEPluginImages.DESC_BUILD_VAR_OBJ.createImage();
+                    case F_TYPE_PKG:
+                        return PDEPluginImages.get(PDEPluginImages.OBJ_DESC_PACKAGE);
+                    case F_TYPE_BUNDLE:
+                        return this.fImages[type] = PDEPluginImages.DESC_PLUGIN_OBJ.createImage();
+                    case F_TYPE_CLASS:
+                        return PDEPluginImages.get(PDEPluginImages.OBJ_DESC_GENERATE_CLASS);
+                    case F_TYPE_ATTRIBUTE:
+                        return this.fImages[type] = PDEPluginImages.DESC_ATT_URI_OBJ.createImage();
+                    case F_TYPE_DIRECTIVE:
+                        this.fImages[F_TYPE_ATTRIBUTE] = PDEPluginImages.DESC_ATT_URI_OBJ.createImage();
+                        ImageOverlayIcon icon = new ImageOverlayIcon(this.fImages[F_TYPE_ATTRIBUTE],
+                            new ImageDescriptor[][] { new ImageDescriptor[] { PDEPluginImages.DESC_DOC_CO }, null, null, null });
+                        return this.fImages[type] = icon.createImage();
+                    case F_TYPE_EXEC_ENV:
+                        return this.fImages[type] = PDEPluginImages.DESC_JAVA_LIB_OBJ.createImage();
+                    case F_TYPE_VALUE:
+                        return null;
+                }
+            } else {
+                return this.fImages[type];
+            }
+        }
+        return null;
+    }
+
+    protected void dispose() {
+        for (int i = 0; i < this.fImages.length; i++) {
+            if (this.fImages[i] != null && !this.fImages[i].isDisposed()) {
+                this.fImages[i].dispose();
+            }
+        }
+    }
+
+    protected String getJavaDoc(String constant) {
+        if (this.fJP == null) {
+            IProject project = ((PDEFormEditor) this.fSourcePage.getEditor()).getCommonProject();
+            this.fJP = JavaCore.create(project);
+        }
+        return PDEJavaHelperUI.getOSGIConstantJavaDoc(constant, this.fJP);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleColorManager.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleColorManager.java
index 173af92..109ab6c 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleColorManager.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleColorManager.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.text;
 
 import java.util.HashMap;
@@ -32,109 +33,109 @@
  */
 public class BundleColorManager implements IColorManager, IPDEColorConstants, ISpringColorConstants {
 
-	private static BundleColorManager fColorManager;
+    private static BundleColorManager fColorManager;
 
-	private final Map fColorTable = new HashMap(5);
+    private final Map fColorTable = new HashMap(5);
 
-	private static int counter = 0;
+    private static int counter = 0;
 
-	public BundleColorManager() {
-		initialize();
-	}
+    public BundleColorManager() {
+        initialize();
+    }
 
-	public static IColorManager getDefault() {
-		if (fColorManager == null) {
-			fColorManager = new BundleColorManager();
-		}
+    public static IColorManager getDefault() {
+        if (fColorManager == null) {
+            fColorManager = new BundleColorManager();
+        }
 
-		counter += 1;
-		return fColorManager;
-	}
+        counter += 1;
+        return fColorManager;
+    }
 
-	public static void initializeDefaults(IPreferenceStore store) {
-		PreferenceConverter.setDefault(store, P_DEFAULT, DEFAULT);
-		PreferenceConverter.setDefault(store, P_PROC_INSTR, PROC_INSTR);
-		PreferenceConverter.setDefault(store, P_STRING, STRING);
-		PreferenceConverter.setDefault(store, P_TAG, TAG);
-		PreferenceConverter.setDefault(store, P_XML_COMMENT, XML_COMMENT);
-		PreferenceConverter.setDefault(store, P_HEADER_KEY, HEADER_KEY);
-		PreferenceConverter.setDefault(store, P_HEADER_OSGI, HEADER_OSGI);
-		store.setDefault(P_HEADER_OSGI + IPDEColorConstants.P_BOLD_SUFFIX, true);
-		PreferenceConverter.setDefault(store, P_HEADER_VALUE, HEADER_VALUE);
-		PreferenceConverter.setDefault(store, P_HEADER_ATTRIBUTES, HEADER_ATTRIBUTES);
-		store.setDefault(P_HEADER_ATTRIBUTES + IPDEColorConstants.P_ITALIC_SUFFIX, true);
-		PreferenceConverter.setDefault(store, P_HEADER_ASSIGNMENT, HEADER_ASSIGNMENT);
-		PreferenceConverter.setDefault(store, P_HEADER_SPRING, HEADER_SPRING);
-		store.setDefault(P_HEADER_SPRING + IPDEColorConstants.P_BOLD_SUFFIX, true);
-	}
+    public static void initializeDefaults(IPreferenceStore store) {
+        PreferenceConverter.setDefault(store, P_DEFAULT, DEFAULT);
+        PreferenceConverter.setDefault(store, P_PROC_INSTR, PROC_INSTR);
+        PreferenceConverter.setDefault(store, P_STRING, STRING);
+        PreferenceConverter.setDefault(store, P_TAG, TAG);
+        PreferenceConverter.setDefault(store, P_XML_COMMENT, XML_COMMENT);
+        PreferenceConverter.setDefault(store, P_HEADER_KEY, HEADER_KEY);
+        PreferenceConverter.setDefault(store, P_HEADER_OSGI, HEADER_OSGI);
+        store.setDefault(P_HEADER_OSGI + IPDEColorConstants.P_BOLD_SUFFIX, true);
+        PreferenceConverter.setDefault(store, P_HEADER_VALUE, HEADER_VALUE);
+        PreferenceConverter.setDefault(store, P_HEADER_ATTRIBUTES, HEADER_ATTRIBUTES);
+        store.setDefault(P_HEADER_ATTRIBUTES + IPDEColorConstants.P_ITALIC_SUFFIX, true);
+        PreferenceConverter.setDefault(store, P_HEADER_ASSIGNMENT, HEADER_ASSIGNMENT);
+        PreferenceConverter.setDefault(store, P_HEADER_SPRING, HEADER_SPRING);
+        store.setDefault(P_HEADER_SPRING + IPDEColorConstants.P_BOLD_SUFFIX, true);
+    }
 
-	private void initialize() {
-		IPreferenceStore pstore = PDEPlugin.getDefault().getPreferenceStore();
-		putColor(pstore, P_DEFAULT);
-		putColor(pstore, P_PROC_INSTR);
-		putColor(pstore, P_STRING);
-		putColor(pstore, P_TAG);
-		putColor(pstore, P_XML_COMMENT);
-		putColor(pstore, P_HEADER_KEY);
-		putColor(pstore, P_HEADER_OSGI);
-		putColor(pstore, P_HEADER_VALUE);
-		putColor(pstore, P_HEADER_ATTRIBUTES);
-		putColor(pstore, P_HEADER_ASSIGNMENT);
-		putColor(pstore, P_HEADER_SPRING);
-		pstore = JavaPlugin.getDefault().getCombinedPreferenceStore();
-		for (String element : IColorManager.PROPERTIES_COLORS) {
-			putColor(pstore, element);
-		}
-	}
+    private void initialize() {
+        IPreferenceStore pstore = PDEPlugin.getDefault().getPreferenceStore();
+        putColor(pstore, P_DEFAULT);
+        putColor(pstore, P_PROC_INSTR);
+        putColor(pstore, P_STRING);
+        putColor(pstore, P_TAG);
+        putColor(pstore, P_XML_COMMENT);
+        putColor(pstore, P_HEADER_KEY);
+        putColor(pstore, P_HEADER_OSGI);
+        putColor(pstore, P_HEADER_VALUE);
+        putColor(pstore, P_HEADER_ATTRIBUTES);
+        putColor(pstore, P_HEADER_ASSIGNMENT);
+        putColor(pstore, P_HEADER_SPRING);
+        pstore = JavaPlugin.getDefault().getCombinedPreferenceStore();
+        for (String element : IColorManager.PROPERTIES_COLORS) {
+            putColor(pstore, element);
+        }
+    }
 
-	public void disposeColors(boolean resetSingleton) {
-		Iterator e = fColorTable.values().iterator();
-		while (e.hasNext()) {
-			((Color) e.next()).dispose();
-		}
-		if (resetSingleton) {
-			fColorManager = null;
-		}
+    public void disposeColors(boolean resetSingleton) {
+        Iterator e = this.fColorTable.values().iterator();
+        while (e.hasNext()) {
+            ((Color) e.next()).dispose();
+        }
+        if (resetSingleton) {
+            fColorManager = null;
+        }
 
-	}
+    }
 
-	public void dispose() {
-		counter--;
-		if (counter == 0) {
-			disposeColors(true);
-		}
-	}
+    public void dispose() {
+        counter--;
+        if (counter == 0) {
+            disposeColors(true);
+        }
+    }
 
-	private void putColor(IPreferenceStore pstore, String property) {
-		putColor(property, PreferenceConverter.getColor(pstore, property));
-	}
+    private void putColor(IPreferenceStore pstore, String property) {
+        putColor(property, PreferenceConverter.getColor(pstore, property));
+    }
 
-	private void putColor(String property, RGB setting) {
-		Color oldColor = (Color) fColorTable.get(property);
-		if (oldColor != null) {
-			if (oldColor.getRGB().equals(setting)) {
-				return;
-			}
-			oldColor.dispose();
-		}
-		fColorTable.put(property, new Color(Display.getCurrent(), setting));
-	}
+    private void putColor(String property, RGB setting) {
+        Color oldColor = (Color) this.fColorTable.get(property);
+        if (oldColor != null) {
+            if (oldColor.getRGB().equals(setting)) {
+                return;
+            }
+            oldColor.dispose();
+        }
+        this.fColorTable.put(property, new Color(Display.getCurrent(), setting));
+    }
 
-	public Color getColor(String key) {
-		Color color = (Color) fColorTable.get(key);
-		if (color == null) {
-			color = Display.getCurrent().getSystemColor(SWT.COLOR_LIST_FOREGROUND);
-		}
-		return color;
-	}
+    public Color getColor(String key) {
+        Color color = (Color) this.fColorTable.get(key);
+        if (color == null) {
+            color = Display.getCurrent().getSystemColor(SWT.COLOR_LIST_FOREGROUND);
+        }
+        return color;
+    }
 
-	public void handlePropertyChangeEvent(PropertyChangeEvent event) {
-		Object color = event.getNewValue();
-		if (color instanceof RGB) {
-			putColor(event.getProperty(), (RGB) color);
-		} else {
-			putColor(event.getProperty(), StringConverter.asRGB(color.toString()));
-		}
-	}
+    public void handlePropertyChangeEvent(PropertyChangeEvent event) {
+        Object color = event.getNewValue();
+        if (color instanceof RGB) {
+            putColor(event.getProperty(), (RGB) color);
+        } else {
+            putColor(event.getProperty(), StringConverter.asRGB(color.toString()));
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleManifestConfiguration.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleManifestConfiguration.java
index d722863..9f381f2 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleManifestConfiguration.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleManifestConfiguration.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.text;
 
 import java.util.Enumeration;
@@ -36,176 +37,176 @@
  */
 public class BundleManifestConfiguration extends AbstractPdeManifestConfiguration {
 
-	private BundleManifestContentAssistProcessor fContentAssistantProcessor;
+    private BundleManifestContentAssistProcessor fContentAssistantProcessor;
 
-	protected class BundleManifestHeaderScanner extends ManifestHeaderScanner {
+    protected class BundleManifestHeaderScanner extends ManifestHeaderScanner {
 
-		private Token springToken;
+        private Token springToken;
 
-		public BundleManifestHeaderScanner() {
-			super();
-		}
+        public BundleManifestHeaderScanner() {
+            super();
+        }
 
-		@Override
-		public boolean affectsTextPresentation(String property) {
-			if (property.startsWith(ISpringColorConstants.P_HEADER_SPRING)) {
-				return true;
-			}
-			return super.affectsTextPresentation(property);
-		}
+        @Override
+        public boolean affectsTextPresentation(String property) {
+            if (property.startsWith(ISpringColorConstants.P_HEADER_SPRING)) {
+                return true;
+            }
+            return super.affectsTextPresentation(property);
+        }
 
-		@Override
-		protected Token getTokenAffected(PropertyChangeEvent event) {
-			if (event.getProperty().startsWith(ISpringColorConstants.P_HEADER_SPRING)) {
-				return springToken;
-			}
-			return super.getTokenAffected(event);
-		}
+        @Override
+        protected Token getTokenAffected(PropertyChangeEvent event) {
+            if (event.getProperty().startsWith(ISpringColorConstants.P_HEADER_SPRING)) {
+                return this.springToken;
+            }
+            return super.getTokenAffected(event);
+        }
 
-		@Override
-		protected void initialize() {
-			fToken = new Token(createTextAttribute(IPDEColorConstants.P_HEADER_OSGI));
-			springToken = new Token(createTextAttribute(ISpringColorConstants.P_HEADER_SPRING));
-			WordRule rule = new WordRule(new KeywordDetector(), Token.UNDEFINED, true);
-			rule.addWord(Constants.BUNDLE_ACTIVATOR, fToken);
-			rule.addWord(Constants.BUNDLE_CATEGORY, fToken);
-			rule.addWord(Constants.BUNDLE_CLASSPATH, fToken);
-			rule.addWord(Constants.BUNDLE_CONTACTADDRESS, fToken);
-			rule.addWord(Constants.BUNDLE_COPYRIGHT, fToken);
-			rule.addWord(Constants.BUNDLE_DESCRIPTION, fToken);
-			rule.addWord(Constants.BUNDLE_DOCURL, fToken);
-			rule.addWord(Constants.BUNDLE_LOCALIZATION, fToken);
-			rule.addWord(Constants.BUNDLE_MANIFESTVERSION, fToken);
-			rule.addWord(Constants.BUNDLE_NAME, fToken);
-			rule.addWord(Constants.BUNDLE_NATIVECODE, fToken);
-			rule.addWord(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, fToken);
-			rule.addWord(Constants.BUNDLE_SYMBOLICNAME, fToken);
-			rule.addWord(Constants.BUNDLE_UPDATELOCATION, fToken);
-			rule.addWord(Constants.BUNDLE_VENDOR, fToken);
-			rule.addWord(Constants.BUNDLE_VERSION, fToken);
-			rule.addWord(Constants.REQUIRE_BUNDLE, fToken);
-			rule.addWord(Constants.DYNAMICIMPORT_PACKAGE, fToken);
-			rule.addWord(Constants.EXPORT_PACKAGE, fToken);
-			rule.addWord(ICoreConstants.EXPORT_SERVICE, fToken);
-			rule.addWord(Constants.FRAGMENT_HOST, fToken);
-			rule.addWord(Constants.IMPORT_PACKAGE, fToken);
-			rule.addWord(ICoreConstants.IMPORT_SERVICE, fToken);
-			rule.addWord(ICoreConstants.PROVIDE_PACKAGE, fToken);
+        @Override
+        protected void initialize() {
+            this.fToken = new Token(createTextAttribute(IPDEColorConstants.P_HEADER_OSGI));
+            this.springToken = new Token(createTextAttribute(ISpringColorConstants.P_HEADER_SPRING));
+            WordRule rule = new WordRule(new KeywordDetector(), Token.UNDEFINED, true);
+            rule.addWord(Constants.BUNDLE_ACTIVATOR, this.fToken);
+            rule.addWord(Constants.BUNDLE_CATEGORY, this.fToken);
+            rule.addWord(Constants.BUNDLE_CLASSPATH, this.fToken);
+            rule.addWord(Constants.BUNDLE_CONTACTADDRESS, this.fToken);
+            rule.addWord(Constants.BUNDLE_COPYRIGHT, this.fToken);
+            rule.addWord(Constants.BUNDLE_DESCRIPTION, this.fToken);
+            rule.addWord(Constants.BUNDLE_DOCURL, this.fToken);
+            rule.addWord(Constants.BUNDLE_LOCALIZATION, this.fToken);
+            rule.addWord(Constants.BUNDLE_MANIFESTVERSION, this.fToken);
+            rule.addWord(Constants.BUNDLE_NAME, this.fToken);
+            rule.addWord(Constants.BUNDLE_NATIVECODE, this.fToken);
+            rule.addWord(Constants.BUNDLE_REQUIREDEXECUTIONENVIRONMENT, this.fToken);
+            rule.addWord(Constants.BUNDLE_SYMBOLICNAME, this.fToken);
+            rule.addWord(Constants.BUNDLE_UPDATELOCATION, this.fToken);
+            rule.addWord(Constants.BUNDLE_VENDOR, this.fToken);
+            rule.addWord(Constants.BUNDLE_VERSION, this.fToken);
+            rule.addWord(Constants.REQUIRE_BUNDLE, this.fToken);
+            rule.addWord(Constants.DYNAMICIMPORT_PACKAGE, this.fToken);
+            rule.addWord(Constants.EXPORT_PACKAGE, this.fToken);
+            rule.addWord(ICoreConstants.EXPORT_SERVICE, this.fToken);
+            rule.addWord(Constants.FRAGMENT_HOST, this.fToken);
+            rule.addWord(Constants.IMPORT_PACKAGE, this.fToken);
+            rule.addWord(ICoreConstants.IMPORT_SERVICE, this.fToken);
+            rule.addWord(ICoreConstants.PROVIDE_PACKAGE, this.fToken);
 
-			addRulesForHeaders(rule);
+            addRulesForHeaders(rule);
 
-			setRules(new IRule[] { rule });
-			setDefaultReturnToken(new Token(createTextAttribute(IPDEColorConstants.P_HEADER_KEY)));
-		}
+            setRules(new IRule[] { rule });
+            setDefaultReturnToken(new Token(createTextAttribute(IPDEColorConstants.P_HEADER_KEY)));
+        }
 
-		private void addRulesForHeaders(WordRule rule) {
-			ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.virgo.ide.ui.editors.text.headers");
-			Enumeration<String> headers = bundle.getKeys();
-			while (headers.hasMoreElements()) {
-				rule.addWord(headers.nextElement(), springToken);
-			}
-		}
-	}
+        private void addRulesForHeaders(WordRule rule) {
+            ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.virgo.ide.ui.editors.text.headers");
+            Enumeration<String> headers = bundle.getKeys();
+            while (headers.hasMoreElements()) {
+                rule.addWord(headers.nextElement(), this.springToken);
+            }
+        }
+    }
 
-	protected class BundleManifestValueScanner extends ManifestValueScanner {
+    protected class BundleManifestValueScanner extends ManifestValueScanner {
 
-		public BundleManifestValueScanner() {
-			super();
-		}
+        public BundleManifestValueScanner() {
+            super();
+        }
 
-		@Override
-		protected void initialize() {
-			IRule[] rules = new IRule[2];
-			fAssignmentToken = new Token(createTextAttribute(IPDEColorConstants.P_HEADER_ASSIGNMENT));
-			rules[0] = new WordRule(new AssignmentDetector(), fAssignmentToken);
+        @Override
+        protected void initialize() {
+            IRule[] rules = new IRule[2];
+            this.fAssignmentToken = new Token(createTextAttribute(IPDEColorConstants.P_HEADER_ASSIGNMENT));
+            rules[0] = new WordRule(new AssignmentDetector(), this.fAssignmentToken);
 
-			fAttributeToken = new Token(createTextAttribute(IPDEColorConstants.P_HEADER_ATTRIBUTES));
-			WordRule rule = new WordRule(new KeywordDetector());
-			rule.addWord(Constants.BUNDLE_NATIVECODE_LANGUAGE, fAttributeToken);
-			rule.addWord(Constants.BUNDLE_NATIVECODE_OSNAME, fAttributeToken);
-			rule.addWord(Constants.BUNDLE_NATIVECODE_OSVERSION, fAttributeToken);
-			rule.addWord(Constants.BUNDLE_NATIVECODE_PROCESSOR, fAttributeToken);
-			rule.addWord(Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE, fAttributeToken);
-			rule.addWord(Constants.BUNDLE_VERSION_ATTRIBUTE, fAttributeToken);
-			rule.addWord(Constants.EXCLUDE_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.FRAGMENT_ATTACHMENT_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.INCLUDE_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.MANDATORY_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.RESOLUTION_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.SINGLETON_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.USES_DIRECTIVE, fAttributeToken);
-			rule.addWord(Constants.VERSION_ATTRIBUTE, fAttributeToken);
-			rule.addWord(Constants.VISIBILITY_DIRECTIVE, fAttributeToken);
-			rule.addWord(ICoreConstants.FRIENDS_DIRECTIVE, fAttributeToken);
-			rule.addWord(ICoreConstants.INTERNAL_DIRECTIVE, fAttributeToken);
-			rule.addWord(ICoreConstants.PACKAGE_SPECIFICATION_VERSION, fAttributeToken);
+            this.fAttributeToken = new Token(createTextAttribute(IPDEColorConstants.P_HEADER_ATTRIBUTES));
+            WordRule rule = new WordRule(new KeywordDetector());
+            rule.addWord(Constants.BUNDLE_NATIVECODE_LANGUAGE, this.fAttributeToken);
+            rule.addWord(Constants.BUNDLE_NATIVECODE_OSNAME, this.fAttributeToken);
+            rule.addWord(Constants.BUNDLE_NATIVECODE_OSVERSION, this.fAttributeToken);
+            rule.addWord(Constants.BUNDLE_NATIVECODE_PROCESSOR, this.fAttributeToken);
+            rule.addWord(Constants.BUNDLE_SYMBOLICNAME_ATTRIBUTE, this.fAttributeToken);
+            rule.addWord(Constants.BUNDLE_VERSION_ATTRIBUTE, this.fAttributeToken);
+            rule.addWord(Constants.EXCLUDE_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.FRAGMENT_ATTACHMENT_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.INCLUDE_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.MANDATORY_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.RESOLUTION_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.SINGLETON_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.USES_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(Constants.VERSION_ATTRIBUTE, this.fAttributeToken);
+            rule.addWord(Constants.VISIBILITY_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(ICoreConstants.FRIENDS_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(ICoreConstants.INTERNAL_DIRECTIVE, this.fAttributeToken);
+            rule.addWord(ICoreConstants.PACKAGE_SPECIFICATION_VERSION, this.fAttributeToken);
 
-			// EASTER EGG
-			for (String element : ICoreConstants.EE_TOKENS) {
-				rule.addWord(element, fAttributeToken);
-			}
+            // EASTER EGG
+            for (String element : ICoreConstants.EE_TOKENS) {
+                rule.addWord(element, this.fAttributeToken);
+            }
 
-			addRulesForAttributes(rule);
-			rules[1] = rule;
+            addRulesForAttributes(rule);
+            rules[1] = rule;
 
-			setRules(rules);
-			setDefaultReturnToken(new Token(createTextAttribute(IPDEColorConstants.P_HEADER_VALUE)));
-		}
+            setRules(rules);
+            setDefaultReturnToken(new Token(createTextAttribute(IPDEColorConstants.P_HEADER_VALUE)));
+        }
 
-		private void addRulesForAttributes(WordRule rule) {
-			ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.virgo.ide.ui.editors.text.attributes");
-			Enumeration<String> attributes = bundle.getKeys();
-			while (attributes.hasMoreElements()) {
-				rule.addWord(attributes.nextElement(), fAttributeToken);
-			}
-		}
+        private void addRulesForAttributes(WordRule rule) {
+            ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.virgo.ide.ui.editors.text.attributes");
+            Enumeration<String> attributes = bundle.getKeys();
+            while (attributes.hasMoreElements()) {
+                rule.addWord(attributes.nextElement(), this.fAttributeToken);
+            }
+        }
 
-	}
+    }
 
-	public BundleManifestConfiguration(IColorManager manager) {
-		this(manager, null, null);
-	}
+    public BundleManifestConfiguration(IColorManager manager) {
+        this(manager, null, null);
+    }
 
-	public BundleManifestConfiguration(IColorManager manager, PDESourcePage page) {
-		this(manager, page, null);
-	}
+    public BundleManifestConfiguration(IColorManager manager, PDESourcePage page) {
+        this(manager, page, null);
+    }
 
-	public BundleManifestConfiguration(IColorManager manager, PDESourcePage page, String documentPartitioning) {
-		super(manager, page, documentPartitioning);
-		fPropertyKeyScanner = new BundleManifestHeaderScanner();
-		fPropertyValueScanner = new BundleManifestValueScanner();
-	}
+    public BundleManifestConfiguration(IColorManager manager, PDESourcePage page, String documentPartitioning) {
+        super(manager, page, documentPartitioning);
+        this.fPropertyKeyScanner = new BundleManifestHeaderScanner();
+        this.fPropertyValueScanner = new BundleManifestValueScanner();
+    }
 
-	@Override
-	public void dispose() {
-		if (fQuickAssistant != null) {
-			fQuickAssistant.dispose();
-		}
-		if (fContentAssistant != null) {
-			fContentAssistantProcessor.dispose();
-		}
-	}
+    @Override
+    public void dispose() {
+        if (this.fQuickAssistant != null) {
+            this.fQuickAssistant.dispose();
+        }
+        if (this.fContentAssistant != null) {
+            this.fContentAssistantProcessor.dispose();
+        }
+    }
 
-	@Override
-	public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
-		if (fSourcePage != null && fSourcePage.isEditable()) {
-			if (fContentAssistant == null) {
-				fContentAssistant = new ContentAssistant();
-				fContentAssistant.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
-				fContentAssistantProcessor = new BundleManifestContentAssistProcessor(fSourcePage);
-				fContentAssistant.setContentAssistProcessor(fContentAssistantProcessor, IDocument.DEFAULT_CONTENT_TYPE);
-				fContentAssistant.setContentAssistProcessor(fContentAssistantProcessor,
-						ManifestPartitionScanner.MANIFEST_HEADER_VALUE);
-				fContentAssistant.addCompletionListener(fContentAssistantProcessor);
-				fContentAssistant.setInformationControlCreator(new IInformationControlCreator() {
-					public IInformationControl createInformationControl(Shell parent) {
-						return new JFaceDefaultInformationControl(parent, false);
-					}
-				});
-				fContentAssistant.setContextInformationPopupOrientation(IContentAssistant.CONTEXT_INFO_ABOVE);
-			}
-			return fContentAssistant;
-		}
-		return null;
-	}
+    @Override
+    public IContentAssistant getContentAssistant(ISourceViewer sourceViewer) {
+        if (this.fSourcePage != null && this.fSourcePage.isEditable()) {
+            if (this.fContentAssistant == null) {
+                this.fContentAssistant = new ContentAssistant();
+                this.fContentAssistant.setDocumentPartitioning(getConfiguredDocumentPartitioning(sourceViewer));
+                this.fContentAssistantProcessor = new BundleManifestContentAssistProcessor(this.fSourcePage);
+                this.fContentAssistant.setContentAssistProcessor(this.fContentAssistantProcessor, IDocument.DEFAULT_CONTENT_TYPE);
+                this.fContentAssistant.setContentAssistProcessor(this.fContentAssistantProcessor, ManifestPartitionScanner.MANIFEST_HEADER_VALUE);
+                this.fContentAssistant.addCompletionListener(this.fContentAssistantProcessor);
+                this.fContentAssistant.setInformationControlCreator(new IInformationControlCreator() {
+
+                    public IInformationControl createInformationControl(Shell parent) {
+                        return new JFaceDefaultInformationControl(parent, false);
+                    }
+                });
+                this.fContentAssistant.setContextInformationPopupOrientation(IContentAssistant.CONTEXT_INFO_ABOVE);
+            }
+            return this.fContentAssistant;
+        }
+        return null;
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleManifestContentAssistProcessor.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleManifestContentAssistProcessor.java
index 4e701cb..fa76d98 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleManifestContentAssistProcessor.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleManifestContentAssistProcessor.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.text;
 
 import java.util.ArrayList;
@@ -46,499 +47,454 @@
  */
 public class BundleManifestContentAssistProcessor extends AbstractPdeManifestContentAssistProcessor {
 
-	private IJavaProject fJP;
+    private IJavaProject fJP;
 
-	public BundleManifestContentAssistProcessor(PDESourcePage sourcePage) {
-		super(sourcePage);
-	}
+    public BundleManifestContentAssistProcessor(PDESourcePage sourcePage) {
+        super(sourcePage);
+    }
 
-	static {
-		List<String> headers = new ArrayList<String>(Arrays.asList(fHeader));
-		ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.virgo.ide.ui.editors.text.headers");
-		Enumeration<String> values = bundle.getKeys();
-		while (values.hasMoreElements()) {
-			headers.add(values.nextElement());
-		}
-		Collections.sort(headers);
-		fHeader = headers.toArray(new String[headers.size()]);
-	}
+    static {
+        List<String> headers = new ArrayList<String>(Arrays.asList(fHeader));
+        ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.virgo.ide.ui.editors.text.headers");
+        Enumeration<String> values = bundle.getKeys();
+        while (values.hasMoreElements()) {
+            headers.add(values.nextElement());
+        }
+        Collections.sort(headers);
+        fHeader = headers.toArray(new String[headers.size()]);
+    }
 
-	@Override
-	protected ICompletionProposal[] computeHeader(String currentValue, int startOffset, int offset) {
-		ArrayList<BundleTypeCompletionProposal> completions = new ArrayList<BundleTypeCompletionProposal>();
-		IBaseModel model = fSourcePage.getInputContext().getModel();
-		int length = fHeader.length;
-		if (model instanceof IBundleModel && !((IBundleModel) model).isFragmentModel()) {
-			--length;
-		}
-		for (String element : fHeader) {
-			if (element.regionMatches(true, 0, currentValue, 0, currentValue.length()) && fHeaders.get(element) == null) {
-				BundleTypeCompletionProposal proposal = new BundleTypeCompletionProposal(
-						element + ": ", getImage(F_TYPE_HEADER), //$NON-NLS-1$
-						element, startOffset, currentValue.length());
-				proposal.setAdditionalProposalInfo(getJavaDoc(element));
-				completions.add(proposal);
-			}
-		}
-		return completions.toArray(new ICompletionProposal[completions.size()]);
-	}
+    @Override
+    protected ICompletionProposal[] computeHeader(String currentValue, int startOffset, int offset) {
+        ArrayList<BundleTypeCompletionProposal> completions = new ArrayList<BundleTypeCompletionProposal>();
+        IBaseModel model = this.fSourcePage.getInputContext().getModel();
+        if (model instanceof IBundleModel && !((IBundleModel) model).isFragmentModel()) {
+        }
+        for (String element : fHeader) {
+            if (element.regionMatches(true, 0, currentValue, 0, currentValue.length()) && this.fHeaders.get(element) == null) {
+                BundleTypeCompletionProposal proposal = new BundleTypeCompletionProposal(element + ": ", getImage(F_TYPE_HEADER), //$NON-NLS-1$
+                    element, startOffset, currentValue.length());
+                proposal.setAdditionalProposalInfo(getJavaDoc(element));
+                completions.add(proposal);
+            }
+        }
+        return completions.toArray(new ICompletionProposal[completions.size()]);
+    }
 
-	@Override
-	protected final boolean shouldStoreSet(String header) {
-		if (header.equalsIgnoreCase(IHeaderConstants.IMPORT_BUNDLE)
-				|| header.equalsIgnoreCase(IHeaderConstants.IMPORT_LIBRARY)
-				|| header.equalsIgnoreCase(IHeaderConstants.EXPORT_TEMPLATE)
-				|| header.equalsIgnoreCase(IHeaderConstants.IMPORT_TEMPLATE)
-				|| header.equalsIgnoreCase(IHeaderConstants.EXCLUDED_IMPORTS)
-				|| header.equalsIgnoreCase(IHeaderConstants.EXCLUDED_EXPORTS)
-				|| header.equalsIgnoreCase(IHeaderConstants.UNVERSIONED_IMPORTS)) {
-			return true;
-		}
-		return super.shouldStoreSet(header);
-	}
+    @Override
+    protected final boolean shouldStoreSet(String header) {
+        if (header.equalsIgnoreCase(IHeaderConstants.IMPORT_BUNDLE) || header.equalsIgnoreCase(IHeaderConstants.IMPORT_LIBRARY)
+            || header.equalsIgnoreCase(IHeaderConstants.EXPORT_TEMPLATE) || header.equalsIgnoreCase(IHeaderConstants.IMPORT_TEMPLATE)
+            || header.equalsIgnoreCase(IHeaderConstants.EXCLUDED_IMPORTS) || header.equalsIgnoreCase(IHeaderConstants.EXCLUDED_EXPORTS)
+            || header.equalsIgnoreCase(IHeaderConstants.UNVERSIONED_IMPORTS)) {
+            return true;
+        }
+        return super.shouldStoreSet(header);
+    }
 
-	@Override
-	protected ICompletionProposal[] computeValue(IDocument doc, int startOffset, int offset)
-			throws BadLocationException {
-		String value = doc.get(startOffset, offset - startOffset);
-		int lineNum = doc.getLineOfOffset(startOffset) - 1;
-		int index;
-		while ((index = value.indexOf(':')) == -1
-				|| ((value.length() - 1 != index) && (value.charAt(index + 1) == '='))) {
-			int startLine = doc.getLineOffset(lineNum);
-			value = doc.get(startLine, offset - startLine);
-			lineNum--;
-		}
-		int length = value.length();
-		if (value.regionMatches(true, 0, IHeaderConstants.IMPORT_BUNDLE, 0,
-				Math.min(length, IHeaderConstants.IMPORT_BUNDLE.length()))) {
-			return handleImportBundleCompletion(value.substring(IHeaderConstants.IMPORT_BUNDLE.length() + 1), offset);
-		}
-		if (value.regionMatches(true, 0, IHeaderConstants.IMPORT_LIBRARY, 0,
-				Math.min(length, IHeaderConstants.IMPORT_LIBRARY.length()))) {
-			return handleImportLibraryCompletion(value.substring(IHeaderConstants.IMPORT_LIBRARY.length() + 1), offset);
-		}
-		if (value.regionMatches(true, 0, IHeaderConstants.IMPORT_TEMPLATE, 0,
-				Math.min(length, IHeaderConstants.IMPORT_TEMPLATE.length()))) {
-			return handleImportPackageCompletion(value.substring(IHeaderConstants.IMPORT_TEMPLATE.length() + 1), offset);
-		}
-		if (value.regionMatches(true, 0, IHeaderConstants.EXPORT_TEMPLATE, 0,
-				Math.min(length, IHeaderConstants.EXPORT_TEMPLATE.length()))) {
-			return handleExportPackageCompletion(value.substring(IHeaderConstants.EXPORT_TEMPLATE.length() + 1), offset);
-		}
-		if (value.regionMatches(true, 0, IHeaderConstants.EXCLUDED_IMPORTS, 0,
-				Math.min(length, IHeaderConstants.EXCLUDED_IMPORTS.length()))) {
-			return handleImportPackageCompletion(value.substring(IHeaderConstants.EXCLUDED_IMPORTS.length() + 1),
-					offset);
-		}
-		if (value.regionMatches(true, 0, IHeaderConstants.EXCLUDED_EXPORTS, 0,
-				Math.min(length, IHeaderConstants.EXCLUDED_EXPORTS.length()))) {
-			return handleExportPackageCompletion(value.substring(IHeaderConstants.EXCLUDED_EXPORTS.length() + 1),
-					offset);
-		}
-		if (value.regionMatches(true, 0, IHeaderConstants.UNVERSIONED_IMPORTS, 0,
-				Math.min(length, IHeaderConstants.UNVERSIONED_IMPORTS.length()))) {
-			return handleImportPackageCompletion(value.substring(IHeaderConstants.UNVERSIONED_IMPORTS.length() + 1),
-					offset);
-		}
-		return super.computeValue(doc, startOffset, offset);
-	}
+    @Override
+    protected ICompletionProposal[] computeValue(IDocument doc, int startOffset, int offset) throws BadLocationException {
+        String value = doc.get(startOffset, offset - startOffset);
+        int lineNum = doc.getLineOfOffset(startOffset) - 1;
+        int index;
+        while ((index = value.indexOf(':')) == -1 || value.length() - 1 != index && value.charAt(index + 1) == '=') {
+            int startLine = doc.getLineOffset(lineNum);
+            value = doc.get(startLine, offset - startLine);
+            lineNum--;
+        }
+        int length = value.length();
+        if (value.regionMatches(true, 0, IHeaderConstants.IMPORT_BUNDLE, 0, Math.min(length, IHeaderConstants.IMPORT_BUNDLE.length()))) {
+            return handleImportBundleCompletion(value.substring(IHeaderConstants.IMPORT_BUNDLE.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, IHeaderConstants.IMPORT_LIBRARY, 0, Math.min(length, IHeaderConstants.IMPORT_LIBRARY.length()))) {
+            return handleImportLibraryCompletion(value.substring(IHeaderConstants.IMPORT_LIBRARY.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, IHeaderConstants.IMPORT_TEMPLATE, 0, Math.min(length, IHeaderConstants.IMPORT_TEMPLATE.length()))) {
+            return handleImportPackageCompletion(value.substring(IHeaderConstants.IMPORT_TEMPLATE.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, IHeaderConstants.EXPORT_TEMPLATE, 0, Math.min(length, IHeaderConstants.EXPORT_TEMPLATE.length()))) {
+            return handleExportPackageCompletion(value.substring(IHeaderConstants.EXPORT_TEMPLATE.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, IHeaderConstants.EXCLUDED_IMPORTS, 0, Math.min(length, IHeaderConstants.EXCLUDED_IMPORTS.length()))) {
+            return handleImportPackageCompletion(value.substring(IHeaderConstants.EXCLUDED_IMPORTS.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, IHeaderConstants.EXCLUDED_EXPORTS, 0, Math.min(length, IHeaderConstants.EXCLUDED_EXPORTS.length()))) {
+            return handleExportPackageCompletion(value.substring(IHeaderConstants.EXCLUDED_EXPORTS.length() + 1), offset);
+        }
+        if (value.regionMatches(true, 0, IHeaderConstants.UNVERSIONED_IMPORTS, 0, Math.min(length, IHeaderConstants.UNVERSIONED_IMPORTS.length()))) {
+            return handleImportPackageCompletion(value.substring(IHeaderConstants.UNVERSIONED_IMPORTS.length() + 1), offset);
+        }
+        return super.computeValue(doc, startOffset, offset);
+    }
 
-	@Override
-	protected ICompletionProposal[] handleImportPackageCompletion(String currentValue, int offset) {
-		int comma = currentValue.lastIndexOf(',');
-		int semicolon = currentValue.lastIndexOf(';');
-		String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
+    @Override
+    protected ICompletionProposal[] handleImportPackageCompletion(String currentValue, int offset) {
+        int comma = currentValue.lastIndexOf(',');
+        int semicolon = currentValue.lastIndexOf(';');
+        String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
 
-		if (comma > semicolon || comma == semicolon) {
-			HashSet set = (HashSet) fHeaders.get(Constants.IMPORT_PACKAGE);
-			if (set == null) {
-				set = parseHeaderForValues(currentValue, offset);
-			}
+        if (comma > semicolon || comma == semicolon) {
+            HashSet set = (HashSet) this.fHeaders.get(Constants.IMPORT_PACKAGE);
+            if (set == null) {
+                set = parseHeaderForValues(currentValue, offset);
+            }
 
-			value = removeLeadingSpaces(value);
-			int length = value.length();
-			set.remove(value);
-			ArrayList<BundleTypeCompletionProposal> completions = new ArrayList<BundleTypeCompletionProposal>();
+            value = removeLeadingSpaces(value);
+            int length = value.length();
+            set.remove(value);
+            ArrayList<BundleTypeCompletionProposal> completions = new ArrayList<BundleTypeCompletionProposal>();
 
-			Set<PackageExport> packages = RepositoryUtils.getImportPackageProposals(getProject(), value);
-			for (PackageExport proposal : packages) {
-				if (!set.contains(proposal.getName())) {
-					completions.add(new BundleTypeCompletionProposal(proposal.getName(), getImage(F_TYPE_PKG),
-							proposal.getName(), offset - length, length));
-					set.add(proposal.getName());
-				}
-			}
+            Set<PackageExport> packages = RepositoryUtils.getImportPackageProposals(getProject(), value);
+            for (PackageExport proposal : packages) {
+                if (!set.contains(proposal.getName())) {
+                    completions.add(
+                        new BundleTypeCompletionProposal(proposal.getName(), getImage(F_TYPE_PKG), proposal.getName(), offset - length, length));
+                    set.add(proposal.getName());
+                }
+            }
 
-			ICompletionProposal[] proposals = completions.toArray(new ICompletionProposal[completions.size()]);
-			sortCompletions(proposals);
-			return proposals;
-		}
+            ICompletionProposal[] proposals = completions.toArray(new ICompletionProposal[completions.size()]);
+            sortCompletions(proposals);
+            return proposals;
+        }
 
-		int equals = currentValue.lastIndexOf('=');
-		if (equals == -1 || semicolon > equals) {
-			String[] validAtts = new String[] { Constants.VERSION_ATTRIBUTE, Constants.RESOLUTION_DIRECTIVE };
-			Integer[] validTypes = new Integer[] { new Integer(F_TYPE_ATTRIBUTE), new Integer(F_TYPE_DIRECTIVE) };
-			return handleAttrsAndDirectives(value, initializeNewList(validAtts), initializeNewList(validTypes), offset);
-		}
+        int equals = currentValue.lastIndexOf('=');
+        if (equals == -1 || semicolon > equals) {
+            String[] validAtts = new String[] { Constants.VERSION_ATTRIBUTE, Constants.RESOLUTION_DIRECTIVE };
+            Integer[] validTypes = new Integer[] { new Integer(F_TYPE_ATTRIBUTE), new Integer(F_TYPE_DIRECTIVE) };
+            return handleAttrsAndDirectives(value, initializeNewList(validAtts), initializeNewList(validTypes), offset);
+        }
 
-		String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
-		if (Constants.RESOLUTION_DIRECTIVE.regionMatches(true, 0, attributeValue, 0,
-				Constants.RESOLUTION_DIRECTIVE.length())) {
-			return matchValueCompletion(currentValue.substring(equals + 1), new String[] {
-					Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL }, new int[] { F_TYPE_VALUE,
-					F_TYPE_VALUE }, offset, "RESOLUTION_");
-		}
-		if (Constants.VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.VERSION_ATTRIBUTE.length())) {
-			String pluginId = removeLeadingSpaces(currentValue.substring((comma == -1) ? 0 : comma + 1, semicolon));
-			return getPackageVersionCompletions(pluginId, removeLeadingSpaces(currentValue.substring(equals + 1)),
-					offset);
-		}
-		return new ICompletionProposal[0];
-	}
+        String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
+        if (Constants.RESOLUTION_DIRECTIVE.regionMatches(true, 0, attributeValue, 0, Constants.RESOLUTION_DIRECTIVE.length())) {
+            return matchValueCompletion(currentValue.substring(equals + 1),
+                new String[] { Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL }, new int[] { F_TYPE_VALUE, F_TYPE_VALUE }, offset,
+                "RESOLUTION_");
+        }
+        if (Constants.VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.VERSION_ATTRIBUTE.length())) {
+            String pluginId = removeLeadingSpaces(currentValue.substring(comma == -1 ? 0 : comma + 1, semicolon));
+            return getPackageVersionCompletions(pluginId, removeLeadingSpaces(currentValue.substring(equals + 1)), offset);
+        }
+        return new ICompletionProposal[0];
+    }
 
-	@SuppressWarnings("unchecked")
-	@Override
-	protected ICompletionProposal[] handleFragmentHostCompletion(String currentValue, int offset) {
-		int comma = currentValue.lastIndexOf(',');
-		int semicolon = currentValue.lastIndexOf(';');
-		String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
+    @SuppressWarnings("unchecked")
+    @Override
+    protected ICompletionProposal[] handleFragmentHostCompletion(String currentValue, int offset) {
+        int comma = currentValue.lastIndexOf(',');
+        int semicolon = currentValue.lastIndexOf(';');
+        String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
 
-		if (comma > semicolon || comma == semicolon) {
-			Set<String> set = (HashSet<String>) fHeaders.get(Constants.REQUIRE_BUNDLE);
-			if (set == null) {
-				set = parseHeaderForValues(currentValue, offset);
-			}
+        if (comma > semicolon || comma == semicolon) {
+            Set<String> set = (HashSet<String>) this.fHeaders.get(Constants.REQUIRE_BUNDLE);
+            if (set == null) {
+                set = parseHeaderForValues(currentValue, offset);
+            }
 
-			value = removeLeadingSpaces(value);
-			int length = value.length();
-			set.remove(value);
-			ArrayList<BundleTypeCompletionProposal> completions = new ArrayList<BundleTypeCompletionProposal>();
+            value = removeLeadingSpaces(value);
+            int length = value.length();
+            set.remove(value);
+            ArrayList<BundleTypeCompletionProposal> completions = new ArrayList<BundleTypeCompletionProposal>();
 
-			Set<Artefact> bundles = RepositoryUtils.getImportBundleProposals(getProject(), value);
-			for (IArtefact proposal : bundles) {
-				if (!set.contains(proposal.getSymbolicName())) {
-					completions.add(new BundleTypeCompletionProposal(proposal.getSymbolicName(),
-							getImage(F_TYPE_BUNDLE), proposal.getSymbolicName(), offset - length, length));
-					set.add(proposal.getSymbolicName());
-				}
-			}
+            Set<Artefact> bundles = RepositoryUtils.getImportBundleProposals(getProject(), value);
+            for (IArtefact proposal : bundles) {
+                if (!set.contains(proposal.getSymbolicName())) {
+                    completions.add(new BundleTypeCompletionProposal(proposal.getSymbolicName(), getImage(F_TYPE_BUNDLE), proposal.getSymbolicName(),
+                        offset - length, length));
+                    set.add(proposal.getSymbolicName());
+                }
+            }
 
-			ICompletionProposal[] proposals = completions.toArray(new ICompletionProposal[completions.size()]);
-			sortCompletions(proposals);
-			return proposals;
-		}
-		int equals = currentValue.lastIndexOf('=');
-		if (equals == -1 || semicolon > equals) {
-			return matchValueCompletion(removeLeadingSpaces(currentValue.substring(semicolon + 1)),
-					new String[] { Constants.BUNDLE_VERSION_ATTRIBUTE }, new int[] { F_TYPE_ATTRIBUTE }, offset);
-		}
-		String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
-		if (Constants.BUNDLE_VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0,
-				Constants.BUNDLE_VERSION_ATTRIBUTE.length())) {
-			String pluginId = removeLeadingSpaces(currentValue.substring((comma == -1) ? 0 : comma + 1, semicolon));
-			return getSpringBundleVersionCompletions(pluginId, removeLeadingSpaces(currentValue.substring(equals + 1)),
-					offset);
-		}
-		return new ICompletionProposal[0];
-	}
+            ICompletionProposal[] proposals = completions.toArray(new ICompletionProposal[completions.size()]);
+            sortCompletions(proposals);
+            return proposals;
+        }
+        int equals = currentValue.lastIndexOf('=');
+        if (equals == -1 || semicolon > equals) {
+            return matchValueCompletion(removeLeadingSpaces(currentValue.substring(semicolon + 1)),
+                new String[] { Constants.BUNDLE_VERSION_ATTRIBUTE }, new int[] { F_TYPE_ATTRIBUTE }, offset);
+        }
+        String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
+        if (Constants.BUNDLE_VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.BUNDLE_VERSION_ATTRIBUTE.length())) {
+            String pluginId = removeLeadingSpaces(currentValue.substring(comma == -1 ? 0 : comma + 1, semicolon));
+            return getSpringBundleVersionCompletions(pluginId, removeLeadingSpaces(currentValue.substring(equals + 1)), offset);
+        }
+        return new ICompletionProposal[0];
+    }
 
-	private ICompletionProposal[] handleImportLibraryCompletion(String currentValue, int offset) {
-		int comma = currentValue.lastIndexOf(',');
-		int semicolon = currentValue.lastIndexOf(';');
-		String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
+    private ICompletionProposal[] handleImportLibraryCompletion(String currentValue, int offset) {
+        int comma = currentValue.lastIndexOf(',');
+        int semicolon = currentValue.lastIndexOf(';');
+        String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
 
-		if (comma > semicolon || comma == semicolon) {
-			HashSet set = (HashSet) fHeaders.get(IHeaderConstants.IMPORT_LIBRARY);
-			if (set == null) {
-				set = parseHeaderForValues(currentValue, offset);
-			}
+        if (comma > semicolon || comma == semicolon) {
+            HashSet set = (HashSet) this.fHeaders.get(IHeaderConstants.IMPORT_LIBRARY);
+            if (set == null) {
+                set = parseHeaderForValues(currentValue, offset);
+            }
 
-			value = removeLeadingSpaces(value);
-			int length = value.length();
-			set.remove(value);
-			ArrayList<BundleTypeCompletionProposal> completions = new ArrayList<BundleTypeCompletionProposal>();
+            value = removeLeadingSpaces(value);
+            int length = value.length();
+            set.remove(value);
+            ArrayList<BundleTypeCompletionProposal> completions = new ArrayList<BundleTypeCompletionProposal>();
 
-			Set<Artefact> libraries = RepositoryUtils.getImportLibraryProposals(getProject(), value);
-			for (IArtefact proposal : libraries) {
-				if (!set.contains(proposal.getSymbolicName())) {
-					completions.add(new BundleTypeCompletionProposal(proposal.getSymbolicName(), getImage(F_TYPE_LIB),
-							proposal.getSymbolicName(), offset - length, length));
-					set.add(proposal.getSymbolicName());
-				}
-			}
+            Set<Artefact> libraries = RepositoryUtils.getImportLibraryProposals(getProject(), value);
+            for (IArtefact proposal : libraries) {
+                if (!set.contains(proposal.getSymbolicName())) {
+                    completions.add(new BundleTypeCompletionProposal(proposal.getSymbolicName(), getImage(F_TYPE_LIB), proposal.getSymbolicName(),
+                        offset - length, length));
+                    set.add(proposal.getSymbolicName());
+                }
+            }
 
-			ICompletionProposal[] proposals = completions.toArray(new ICompletionProposal[completions.size()]);
-			sortCompletions(proposals);
-			return proposals;
-		}
+            ICompletionProposal[] proposals = completions.toArray(new ICompletionProposal[completions.size()]);
+            sortCompletions(proposals);
+            return proposals;
+        }
 
-		int equals = currentValue.lastIndexOf('=');
-		if (equals == -1 || semicolon > equals) {
-			String[] validAtts = new String[] { Constants.VERSION_ATTRIBUTE, Constants.RESOLUTION_DIRECTIVE,
-					IHeaderConstants.PROMOTES_DIRECTIVE };
-			Integer[] validTypes = new Integer[] { new Integer(F_TYPE_ATTRIBUTE), new Integer(F_TYPE_DIRECTIVE),
-					new Integer(F_TYPE_DIRECTIVE) };
-			return handleAttrsAndDirectives(value, initializeNewList(validAtts), initializeNewList(validTypes), offset);
-		}
+        int equals = currentValue.lastIndexOf('=');
+        if (equals == -1 || semicolon > equals) {
+            String[] validAtts = new String[] { Constants.VERSION_ATTRIBUTE, Constants.RESOLUTION_DIRECTIVE, IHeaderConstants.PROMOTES_DIRECTIVE };
+            Integer[] validTypes = new Integer[] { new Integer(F_TYPE_ATTRIBUTE), new Integer(F_TYPE_DIRECTIVE), new Integer(F_TYPE_DIRECTIVE) };
+            return handleAttrsAndDirectives(value, initializeNewList(validAtts), initializeNewList(validTypes), offset);
+        }
 
-		String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
-		if (Constants.RESOLUTION_DIRECTIVE.regionMatches(true, 0, attributeValue, 0,
-				Constants.RESOLUTION_DIRECTIVE.length())) {
-			return matchValueCompletion(currentValue.substring(equals + 1), new String[] {
-					Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL }, new int[] { F_TYPE_VALUE,
-					F_TYPE_VALUE }, offset, "RESOLUTION_");
-		}
-		if (IHeaderConstants.PROMOTES_DIRECTIVE.regionMatches(true, 0, attributeValue, 0,
-				IHeaderConstants.PROMOTES_DIRECTIVE.length())) {
-			return handleTrueFalseValue(currentValue.substring(equals + 1), offset);
-		}
-		if (Constants.VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.VERSION_ATTRIBUTE.length())) {
-			String pluginId = removeLeadingSpaces(currentValue.substring((comma == -1) ? 0 : comma + 1, semicolon));
-			return getLibraryVersionCompletions(pluginId, removeLeadingSpaces(currentValue.substring(equals + 1)),
-					offset);
-		}
-		return new ICompletionProposal[0];
-	}
+        String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
+        if (Constants.RESOLUTION_DIRECTIVE.regionMatches(true, 0, attributeValue, 0, Constants.RESOLUTION_DIRECTIVE.length())) {
+            return matchValueCompletion(currentValue.substring(equals + 1),
+                new String[] { Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL }, new int[] { F_TYPE_VALUE, F_TYPE_VALUE }, offset,
+                "RESOLUTION_");
+        }
+        if (IHeaderConstants.PROMOTES_DIRECTIVE.regionMatches(true, 0, attributeValue, 0, IHeaderConstants.PROMOTES_DIRECTIVE.length())) {
+            return handleTrueFalseValue(currentValue.substring(equals + 1), offset);
+        }
+        if (Constants.VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.VERSION_ATTRIBUTE.length())) {
+            String pluginId = removeLeadingSpaces(currentValue.substring(comma == -1 ? 0 : comma + 1, semicolon));
+            return getLibraryVersionCompletions(pluginId, removeLeadingSpaces(currentValue.substring(equals + 1)), offset);
+        }
+        return new ICompletionProposal[0];
+    }
 
-	private ICompletionProposal[] handleImportBundleCompletion(String currentValue, int offset) {
-		int comma = currentValue.lastIndexOf(',');
-		int semicolon = currentValue.lastIndexOf(';');
-		String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
+    private ICompletionProposal[] handleImportBundleCompletion(String currentValue, int offset) {
+        int comma = currentValue.lastIndexOf(',');
+        int semicolon = currentValue.lastIndexOf(';');
+        String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
 
-		if (comma > semicolon || comma == semicolon) {
-			HashSet set = (HashSet) fHeaders.get(IHeaderConstants.IMPORT_BUNDLE);
-			if (set == null) {
-				set = parseHeaderForValues(currentValue, offset);
-			}
+        if (comma > semicolon || comma == semicolon) {
+            HashSet set = (HashSet) this.fHeaders.get(IHeaderConstants.IMPORT_BUNDLE);
+            if (set == null) {
+                set = parseHeaderForValues(currentValue, offset);
+            }
 
-			value = removeLeadingSpaces(value);
-			int length = value.length();
-			set.remove(value);
-			ArrayList<BundleTypeCompletionProposal> completions = new ArrayList<BundleTypeCompletionProposal>();
+            value = removeLeadingSpaces(value);
+            int length = value.length();
+            set.remove(value);
+            ArrayList<BundleTypeCompletionProposal> completions = new ArrayList<BundleTypeCompletionProposal>();
 
-			Set<Artefact> bundles = RepositoryUtils.getImportBundleProposals(getProject(), value);
-			for (IArtefact proposal : bundles) {
-				if (!set.contains(proposal.getSymbolicName())) {
-					completions.add(new BundleTypeCompletionProposal(proposal.getSymbolicName(),
-							getImage(F_TYPE_BUNDLE), proposal.getSymbolicName(), offset - length, length));
-					set.add(proposal.getSymbolicName());
-				}
-			}
+            Set<Artefact> bundles = RepositoryUtils.getImportBundleProposals(getProject(), value);
+            for (IArtefact proposal : bundles) {
+                if (!set.contains(proposal.getSymbolicName())) {
+                    completions.add(new BundleTypeCompletionProposal(proposal.getSymbolicName(), getImage(F_TYPE_BUNDLE), proposal.getSymbolicName(),
+                        offset - length, length));
+                    set.add(proposal.getSymbolicName());
+                }
+            }
 
-			ICompletionProposal[] proposals = completions.toArray(new ICompletionProposal[completions.size()]);
-			sortCompletions(proposals);
-			return proposals;
-		}
+            ICompletionProposal[] proposals = completions.toArray(new ICompletionProposal[completions.size()]);
+            sortCompletions(proposals);
+            return proposals;
+        }
 
-		int equals = currentValue.lastIndexOf('=');
-		if (equals == -1 || semicolon > equals) {
-			String[] validAtts = new String[] { Constants.VERSION_ATTRIBUTE, Constants.RESOLUTION_DIRECTIVE };
-			Integer[] validTypes = new Integer[] { new Integer(F_TYPE_ATTRIBUTE), new Integer(F_TYPE_DIRECTIVE) };
-			return handleAttrsAndDirectives(value, initializeNewList(validAtts), initializeNewList(validTypes), offset);
-		}
+        int equals = currentValue.lastIndexOf('=');
+        if (equals == -1 || semicolon > equals) {
+            String[] validAtts = new String[] { Constants.VERSION_ATTRIBUTE, Constants.RESOLUTION_DIRECTIVE };
+            Integer[] validTypes = new Integer[] { new Integer(F_TYPE_ATTRIBUTE), new Integer(F_TYPE_DIRECTIVE) };
+            return handleAttrsAndDirectives(value, initializeNewList(validAtts), initializeNewList(validTypes), offset);
+        }
 
-		String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
-		if (Constants.RESOLUTION_DIRECTIVE.regionMatches(true, 0, attributeValue, 0,
-				Constants.RESOLUTION_DIRECTIVE.length())) {
-			return matchValueCompletion(currentValue.substring(equals + 1), new String[] {
-					Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL }, new int[] { F_TYPE_VALUE,
-					F_TYPE_VALUE }, offset, "RESOLUTION_");
-		}
-		if (Constants.VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.VERSION_ATTRIBUTE.length())) {
-			String pluginId = removeLeadingSpaces(currentValue.substring((comma == -1) ? 0 : comma + 1, semicolon));
-			return getSpringBundleVersionCompletions(pluginId, removeLeadingSpaces(currentValue.substring(equals + 1)),
-					offset);
-		}
-		return new ICompletionProposal[0];
-	}
+        String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
+        if (Constants.RESOLUTION_DIRECTIVE.regionMatches(true, 0, attributeValue, 0, Constants.RESOLUTION_DIRECTIVE.length())) {
+            return matchValueCompletion(currentValue.substring(equals + 1),
+                new String[] { Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL }, new int[] { F_TYPE_VALUE, F_TYPE_VALUE }, offset,
+                "RESOLUTION_");
+        }
+        if (Constants.VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.VERSION_ATTRIBUTE.length())) {
+            String pluginId = removeLeadingSpaces(currentValue.substring(comma == -1 ? 0 : comma + 1, semicolon));
+            return getSpringBundleVersionCompletions(pluginId, removeLeadingSpaces(currentValue.substring(equals + 1)), offset);
+        }
+        return new ICompletionProposal[0];
+    }
 
-	@Override
-	protected ICompletionProposal[] handleRequireBundleCompletion(String currentValue, int offset) {
-		int comma = currentValue.lastIndexOf(',');
-		int semicolon = currentValue.lastIndexOf(';');
-		String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
+    @Override
+    protected ICompletionProposal[] handleRequireBundleCompletion(String currentValue, int offset) {
+        int comma = currentValue.lastIndexOf(',');
+        int semicolon = currentValue.lastIndexOf(';');
+        String value = comma != -1 ? currentValue.substring(comma + 1) : currentValue;
 
-		if (comma > semicolon || comma == semicolon) {
-			HashSet set = (HashSet) fHeaders.get(Constants.REQUIRE_BUNDLE);
-			if (set == null) {
-				set = parseHeaderForValues(currentValue, offset);
-			}
+        if (comma > semicolon || comma == semicolon) {
+            HashSet set = (HashSet) this.fHeaders.get(Constants.REQUIRE_BUNDLE);
+            if (set == null) {
+                set = parseHeaderForValues(currentValue, offset);
+            }
 
-			value = removeLeadingSpaces(value);
-			int length = value.length();
-			set.remove(value);
-			ArrayList<BundleTypeCompletionProposal> completions = new ArrayList<BundleTypeCompletionProposal>();
+            value = removeLeadingSpaces(value);
+            int length = value.length();
+            set.remove(value);
+            ArrayList<BundleTypeCompletionProposal> completions = new ArrayList<BundleTypeCompletionProposal>();
 
-			Set<Artefact> bundles = RepositoryUtils.getImportBundleProposals(getProject(), value);
-			for (IArtefact proposal : bundles) {
-				if (!set.contains(proposal.getSymbolicName())) {
-					completions.add(new BundleTypeCompletionProposal(proposal.getSymbolicName(),
-							getImage(F_TYPE_BUNDLE), proposal.getSymbolicName(), offset - length, length));
-					set.add(proposal.getSymbolicName());
-				}
-			}
+            Set<Artefact> bundles = RepositoryUtils.getImportBundleProposals(getProject(), value);
+            for (IArtefact proposal : bundles) {
+                if (!set.contains(proposal.getSymbolicName())) {
+                    completions.add(new BundleTypeCompletionProposal(proposal.getSymbolicName(), getImage(F_TYPE_BUNDLE), proposal.getSymbolicName(),
+                        offset - length, length));
+                    set.add(proposal.getSymbolicName());
+                }
+            }
 
-			ICompletionProposal[] proposals = completions.toArray(new ICompletionProposal[completions.size()]);
-			sortCompletions(proposals);
-			return proposals;
-		}
-		int equals = currentValue.lastIndexOf('=');
-		if (equals == -1 || semicolon > equals) {
-			String[] validAttrs = new String[] { Constants.BUNDLE_VERSION_ATTRIBUTE, Constants.RESOLUTION_DIRECTIVE,
-					Constants.VISIBILITY_DIRECTIVE };
-			Integer[] validTypes = new Integer[] { new Integer(F_TYPE_ATTRIBUTE), new Integer(F_TYPE_DIRECTIVE),
-					new Integer(F_TYPE_DIRECTIVE) };
-			return handleAttrsAndDirectives(value, initializeNewList(validAttrs), initializeNewList(validTypes), offset);
-		}
+            ICompletionProposal[] proposals = completions.toArray(new ICompletionProposal[completions.size()]);
+            sortCompletions(proposals);
+            return proposals;
+        }
+        int equals = currentValue.lastIndexOf('=');
+        if (equals == -1 || semicolon > equals) {
+            String[] validAttrs = new String[] { Constants.BUNDLE_VERSION_ATTRIBUTE, Constants.RESOLUTION_DIRECTIVE, Constants.VISIBILITY_DIRECTIVE };
+            Integer[] validTypes = new Integer[] { new Integer(F_TYPE_ATTRIBUTE), new Integer(F_TYPE_DIRECTIVE), new Integer(F_TYPE_DIRECTIVE) };
+            return handleAttrsAndDirectives(value, initializeNewList(validAttrs), initializeNewList(validTypes), offset);
+        }
 
-		String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
-		if (Constants.VISIBILITY_DIRECTIVE.regionMatches(true, 0, attributeValue, 0,
-				Constants.VISIBILITY_DIRECTIVE.length())) {
-			return matchValueCompletion(currentValue.substring(equals + 1), new String[] {
-					Constants.VISIBILITY_PRIVATE, Constants.VISIBILITY_REEXPORT }, new int[] { F_TYPE_VALUE,
-					F_TYPE_VALUE }, offset, "VISIBILITY_");
-		}
-		if (Constants.RESOLUTION_DIRECTIVE.regionMatches(true, 0, attributeValue, 0,
-				Constants.RESOLUTION_DIRECTIVE.length())) {
-			return matchValueCompletion(currentValue.substring(equals + 1), new String[] {
-					Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL }, new int[] { F_TYPE_VALUE,
-					F_TYPE_VALUE }, offset, "RESOLUTION_");
-		}
-		if (Constants.BUNDLE_VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0,
-				Constants.RESOLUTION_DIRECTIVE.length())) {
-			String pluginId = removeLeadingSpaces(currentValue.substring((comma == -1) ? 0 : comma + 1, semicolon));
-			return getSpringBundleVersionCompletions(pluginId, removeLeadingSpaces(currentValue.substring(equals + 1)),
-					offset);
-		}
-		return new ICompletionProposal[0];
-	}
+        String attributeValue = removeLeadingSpaces(currentValue.substring(semicolon + 1));
+        if (Constants.VISIBILITY_DIRECTIVE.regionMatches(true, 0, attributeValue, 0, Constants.VISIBILITY_DIRECTIVE.length())) {
+            return matchValueCompletion(currentValue.substring(equals + 1),
+                new String[] { Constants.VISIBILITY_PRIVATE, Constants.VISIBILITY_REEXPORT }, new int[] { F_TYPE_VALUE, F_TYPE_VALUE }, offset,
+                "VISIBILITY_");
+        }
+        if (Constants.RESOLUTION_DIRECTIVE.regionMatches(true, 0, attributeValue, 0, Constants.RESOLUTION_DIRECTIVE.length())) {
+            return matchValueCompletion(currentValue.substring(equals + 1),
+                new String[] { Constants.RESOLUTION_MANDATORY, Constants.RESOLUTION_OPTIONAL }, new int[] { F_TYPE_VALUE, F_TYPE_VALUE }, offset,
+                "RESOLUTION_");
+        }
+        if (Constants.BUNDLE_VERSION_ATTRIBUTE.regionMatches(true, 0, attributeValue, 0, Constants.RESOLUTION_DIRECTIVE.length())) {
+            String pluginId = removeLeadingSpaces(currentValue.substring(comma == -1 ? 0 : comma + 1, semicolon));
+            return getSpringBundleVersionCompletions(pluginId, removeLeadingSpaces(currentValue.substring(equals + 1)), offset);
+        }
+        return new ICompletionProposal[0];
+    }
 
-	private IProject getProject() {
-		if (fJP == null) {
-			IProject project = ((PDEFormEditor) fSourcePage.getEditor()).getCommonProject();
-			fJP = JavaCore.create(project);
-		}
-		return fJP.getProject();
-	}
+    private IProject getProject() {
+        if (this.fJP == null) {
+            IProject project = ((PDEFormEditor) this.fSourcePage.getEditor()).getCommonProject();
+            this.fJP = JavaCore.create(project);
+        }
+        return this.fJP.getProject();
+    }
 
-	private ICompletionProposal[] getSpringBundleVersionCompletions(String bundleId, String existingValue, int offset) {
-		bundleId = getSymbolicName(bundleId);
-		Set<Artefact> bundles = RepositoryUtils.getImportBundleProposals(getProject(), bundleId);
-		if (bundles.size() > 0) {
-			ArrayList<BundleTypeCompletionProposal> proposals = new ArrayList<BundleTypeCompletionProposal>(
-					bundles.size());
-			for (IArtefact element : bundles) {
-				if (element.getSymbolicName().equalsIgnoreCase(bundleId)) {
-					List<String> proposalValues = getVersionProposals(element.getVersion());
-					for (String proposalValue : proposalValues) {
-						if (proposalValue.regionMatches(0, existingValue, 0, existingValue.length())) {
-							proposals.add(new BundleTypeCompletionProposal(
-									proposalValue.substring(existingValue.length()), getImage(F_TYPE_VALUE),
-									proposalValue, offset, 0));
-						}
-					}
-				}
-			}
-			return proposals.toArray(new ICompletionProposal[proposals.size()]);
-		} else if (existingValue.length() == 0) {
-			return new ICompletionProposal[] { new BundleTypeCompletionProposal("\"\"", getImage(F_TYPE_VALUE), "\"\"",
-					offset, 0) };
-		}
-		return new ICompletionProposal[0];
-	}
+    private ICompletionProposal[] getSpringBundleVersionCompletions(String bundleId, String existingValue, int offset) {
+        bundleId = getSymbolicName(bundleId);
+        Set<Artefact> bundles = RepositoryUtils.getImportBundleProposals(getProject(), bundleId);
+        if (bundles.size() > 0) {
+            ArrayList<BundleTypeCompletionProposal> proposals = new ArrayList<BundleTypeCompletionProposal>(bundles.size());
+            for (IArtefact element : bundles) {
+                if (element.getSymbolicName().equalsIgnoreCase(bundleId)) {
+                    List<String> proposalValues = getVersionProposals(element.getVersion());
+                    for (String proposalValue : proposalValues) {
+                        if (proposalValue.regionMatches(0, existingValue, 0, existingValue.length())) {
+                            proposals.add(new BundleTypeCompletionProposal(proposalValue.substring(existingValue.length()), getImage(F_TYPE_VALUE),
+                                proposalValue, offset, 0));
+                        }
+                    }
+                }
+            }
+            return proposals.toArray(new ICompletionProposal[proposals.size()]);
+        } else if (existingValue.length() == 0) {
+            return new ICompletionProposal[] { new BundleTypeCompletionProposal("\"\"", getImage(F_TYPE_VALUE), "\"\"", offset, 0) };
+        }
+        return new ICompletionProposal[0];
+    }
 
-	private ICompletionProposal[] getLibraryVersionCompletions(String libraryId, String existingValue, int offset) {
-		libraryId = getSymbolicName(libraryId);
-		Set<Artefact> libraries = RepositoryUtils.getImportLibraryProposals(getProject(), libraryId);
-		if (libraries.size() > 0) {
-			ArrayList<BundleTypeCompletionProposal> proposals = new ArrayList<BundleTypeCompletionProposal>(
-					libraries.size());
-			for (IArtefact element : libraries) {
-				if (element.getSymbolicName().equalsIgnoreCase(libraryId)) {
-					List<String> proposalValues = getVersionProposals(element.getVersion());
-					for (String proposalValue : proposalValues) {
-						if (proposalValue.regionMatches(0, existingValue, 0, existingValue.length())) {
-							proposals.add(new BundleTypeCompletionProposal(
-									proposalValue.substring(existingValue.length()), getImage(F_TYPE_VALUE),
-									proposalValue, offset, 0));
-						}
-					}
-				}
-			}
-			return proposals.toArray(new ICompletionProposal[proposals.size()]);
-		} else if (existingValue.length() == 0) {
-			return new ICompletionProposal[] { new BundleTypeCompletionProposal("\"\"", getImage(F_TYPE_VALUE), "\"\"",
-					offset, 0) };
-		}
-		return new ICompletionProposal[0];
-	}
+    private ICompletionProposal[] getLibraryVersionCompletions(String libraryId, String existingValue, int offset) {
+        libraryId = getSymbolicName(libraryId);
+        Set<Artefact> libraries = RepositoryUtils.getImportLibraryProposals(getProject(), libraryId);
+        if (libraries.size() > 0) {
+            ArrayList<BundleTypeCompletionProposal> proposals = new ArrayList<BundleTypeCompletionProposal>(libraries.size());
+            for (IArtefact element : libraries) {
+                if (element.getSymbolicName().equalsIgnoreCase(libraryId)) {
+                    List<String> proposalValues = getVersionProposals(element.getVersion());
+                    for (String proposalValue : proposalValues) {
+                        if (proposalValue.regionMatches(0, existingValue, 0, existingValue.length())) {
+                            proposals.add(new BundleTypeCompletionProposal(proposalValue.substring(existingValue.length()), getImage(F_TYPE_VALUE),
+                                proposalValue, offset, 0));
+                        }
+                    }
+                }
+            }
+            return proposals.toArray(new ICompletionProposal[proposals.size()]);
+        } else if (existingValue.length() == 0) {
+            return new ICompletionProposal[] { new BundleTypeCompletionProposal("\"\"", getImage(F_TYPE_VALUE), "\"\"", offset, 0) };
+        }
+        return new ICompletionProposal[0];
+    }
 
-	private ICompletionProposal[] getPackageVersionCompletions(String packageId, String existingValue, int offset) {
-		Set<String> proposedVersions = new HashSet<String>();
-		boolean wildcard = packageId.endsWith(".*");
-		packageId = getSymbolicName(packageId);
-		Set<PackageExport> packages = RepositoryUtils.getImportPackageProposals(getProject(), packageId);
-		if (packages.size() > 0) {
-			ArrayList<BundleTypeCompletionProposal> proposals = new ArrayList<BundleTypeCompletionProposal>(
-					packages.size());
-			for (PackageExport element : packages) {
-				if (wildcard || element.getName().equalsIgnoreCase(packageId)) {
-					List<String> proposalValues = getVersionProposals(element.getVersion());
-					for (String proposalValue : proposalValues) {
-						if (!proposedVersions.contains(proposalValue)
-								&& proposalValue.regionMatches(0, existingValue, 0, existingValue.length())) {
-							proposedVersions.add(proposalValue);
-							proposals.add(new BundleTypeCompletionProposal(
-									proposalValue.substring(existingValue.length()), getImage(F_TYPE_VALUE),
-									proposalValue, offset, 0));
-						}
-					}
-				}
-			}
-			return proposals.toArray(new ICompletionProposal[proposals.size()]);
-		} else if (existingValue.length() == 0) {
-			return new ICompletionProposal[] { new BundleTypeCompletionProposal("\"\"", getImage(F_TYPE_VALUE), "\"\"",
-					offset, 0) };
-		}
-		return new ICompletionProposal[0];
-	}
+    private ICompletionProposal[] getPackageVersionCompletions(String packageId, String existingValue, int offset) {
+        Set<String> proposedVersions = new HashSet<String>();
+        boolean wildcard = packageId.endsWith(".*");
+        packageId = getSymbolicName(packageId);
+        Set<PackageExport> packages = RepositoryUtils.getImportPackageProposals(getProject(), packageId);
+        if (packages.size() > 0) {
+            ArrayList<BundleTypeCompletionProposal> proposals = new ArrayList<BundleTypeCompletionProposal>(packages.size());
+            for (PackageExport element : packages) {
+                if (wildcard || element.getName().equalsIgnoreCase(packageId)) {
+                    List<String> proposalValues = getVersionProposals(element.getVersion());
+                    for (String proposalValue : proposalValues) {
+                        if (!proposedVersions.contains(proposalValue) && proposalValue.regionMatches(0, existingValue, 0, existingValue.length())) {
+                            proposedVersions.add(proposalValue);
+                            proposals.add(new BundleTypeCompletionProposal(proposalValue.substring(existingValue.length()), getImage(F_TYPE_VALUE),
+                                proposalValue, offset, 0));
+                        }
+                    }
+                }
+            }
+            return proposals.toArray(new ICompletionProposal[proposals.size()]);
+        } else if (existingValue.length() == 0) {
+            return new ICompletionProposal[] { new BundleTypeCompletionProposal("\"\"", getImage(F_TYPE_VALUE), "\"\"", offset, 0) };
+        }
+        return new ICompletionProposal[0];
+    }
 
-	private List<String> getVersionProposals(OsgiVersion version) {
-		Set<String> versionStrings = new LinkedHashSet<String>();
-		versionStrings.add(version.toString());
-		List<String> versions = new ArrayList<String>();
-		for (String ver : RepositoryUtils.getVersionProposals(versionStrings)) {
-			versions.add(new StringBuilder().append("\"").append(ver).append("\"").toString());
-		}
-		return versions;
-	}
+    private List<String> getVersionProposals(OsgiVersion version) {
+        Set<String> versionStrings = new LinkedHashSet<String>();
+        versionStrings.add(version.toString());
+        List<String> versions = new ArrayList<String>();
+        for (String ver : RepositoryUtils.getVersionProposals(versionStrings)) {
+            versions.add(new StringBuilder().append("\"").append(ver).append("\"").toString());
+        }
+        return versions;
+    }
 
-	private String getSymbolicName(String string) {
-		if (string.endsWith(".*")) {
-			string = string.substring(0, string.length() - 2);
-		}
-		int ix = string.indexOf(';');
-		if (ix > 0) {
-			return string.substring(0, ix);
-		}
-		return string;
-	}
+    private String getSymbolicName(String string) {
+        if (string.endsWith(".*")) {
+            string = string.substring(0, string.length() - 2);
+        }
+        int ix = string.indexOf(';');
+        if (ix > 0) {
+            return string.substring(0, ix);
+        }
+        return string;
+    }
 
-	@Override
-	public Image getImage(int type) {
-		if (type >= 0 && type < F_TOTAL_TYPES) {
-			if (fImages[type] == null) {
-				switch (type) {
-				case F_TYPE_LIB:
-					return fImages[type] = PDEPluginImages.DESC_JAR_LIB_OBJ.createImage();
-				case F_TYPE_BUNDLE:
-					return fImages[type] = PDEPluginImages.DESC_BUNDLE_OBJ.createImage();
-				}
-			} else {
-				return fImages[type];
-			}
-		}
-		return super.getImage(type);
-	}
+    @Override
+    public Image getImage(int type) {
+        if (type >= 0 && type < F_TOTAL_TYPES) {
+            if (this.fImages[type] == null) {
+                switch (type) {
+                    case F_TYPE_LIB:
+                        return this.fImages[type] = PDEPluginImages.DESC_JAR_LIB_OBJ.createImage();
+                    case F_TYPE_BUNDLE:
+                        return this.fImages[type] = PDEPluginImages.DESC_BUNDLE_OBJ.createImage();
+                }
+            } else {
+                return this.fImages[type];
+            }
+        }
+        return super.getImage(type);
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleTypeCompletionProposal.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleTypeCompletionProposal.java
index 616f7cf..25cac16 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleTypeCompletionProposal.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/BundleTypeCompletionProposal.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.text;
 
 import org.eclipse.core.runtime.Assert;
@@ -34,207 +35,197 @@
  * @author Christian Dupuis
  * @author Steffen Pingel
  */
-public class BundleTypeCompletionProposal implements ICompletionProposal, ICompletionProposalExtension,
-		ICompletionProposalExtension3, ICompletionProposalExtension5 {
+public class BundleTypeCompletionProposal
+    implements ICompletionProposal, ICompletionProposalExtension, ICompletionProposalExtension3, ICompletionProposalExtension5 {
 
-	protected String fReplacementString;
+    protected String fReplacementString;
 
-	protected Image fImage;
+    protected Image fImage;
 
-	protected String fDisplayString;
+    protected String fDisplayString;
 
-	protected int fBeginInsertPoint;
+    protected int fBeginInsertPoint;
 
-	protected int fLength;
+    protected int fLength;
 
-	protected String fAdditionalInfo;
+    protected String fAdditionalInfo;
 
-	private IInformationControlCreator fCreator;
+    private IInformationControlCreator fCreator;
 
-	public BundleTypeCompletionProposal(String replacementString, Image image, String displayString) {
-		this(replacementString, image, displayString, 0, 0);
-	}
+    public BundleTypeCompletionProposal(String replacementString, Image image, String displayString) {
+        this(replacementString, image, displayString, 0, 0);
+    }
 
-	public BundleTypeCompletionProposal(String replacementString, Image image, String displayString, int startOffset,
-			int length) {
-		Assert.isNotNull(replacementString);
+    public BundleTypeCompletionProposal(String replacementString, Image image, String displayString, int startOffset, int length) {
+        Assert.isNotNull(replacementString);
 
-		fReplacementString = replacementString;
-		fImage = image;
-		fDisplayString = displayString;
-		fBeginInsertPoint = startOffset;
-		fLength = length;
-	}
+        this.fReplacementString = replacementString;
+        this.fImage = image;
+        this.fDisplayString = displayString;
+        this.fBeginInsertPoint = startOffset;
+        this.fLength = length;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.jface.text.contentassist.ICompletionProposal#apply(org.eclipse
-	 * .jface.text.IDocument)
-	 */
-	public void apply(IDocument document) {
-		if (fLength == -1) {
-			String current = document.get();
-			fLength = current.length();
-		}
-		try {
-			document.replace(fBeginInsertPoint, fLength, fReplacementString);
-		} catch (BadLocationException e) {
-			// DEBUG
-			// e.printStackTrace();
-		}
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.text.contentassist.ICompletionProposal#apply(org.eclipse .jface.text.IDocument)
+     */
+    public void apply(IDocument document) {
+        if (this.fLength == -1) {
+            String current = document.get();
+            this.fLength = current.length();
+        }
+        try {
+            document.replace(this.fBeginInsertPoint, this.fLength, this.fReplacementString);
+        } catch (BadLocationException e) {
+            // DEBUG
+            // e.printStackTrace();
+        }
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @seeorg.eclipse.jface.text.contentassist.ICompletionProposal#
-	 * getAdditionalProposalInfo()
-	 */
-	public String getAdditionalProposalInfo() {
-		// No additional proposal information
-		return null;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @seeorg.eclipse.jface.text.contentassist.ICompletionProposal# getAdditionalProposalInfo()
+     */
+    public String getAdditionalProposalInfo() {
+        // No additional proposal information
+        return null;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @seeorg.eclipse.jface.text.contentassist.ICompletionProposal#
-	 * getContextInformation()
-	 */
-	public IContextInformation getContextInformation() {
-		// No context information
-		return null;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @seeorg.eclipse.jface.text.contentassist.ICompletionProposal# getContextInformation()
+     */
+    public IContextInformation getContextInformation() {
+        // No context information
+        return null;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString
-	 * ()
-	 */
-	public String getDisplayString() {
-		return fDisplayString;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString ()
+     */
+    public String getDisplayString() {
+        return this.fDisplayString;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
-	 */
-	public Image getImage() {
-		return fImage;
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
+     */
+    public Image getImage() {
+        return this.fImage;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.jface.text.contentassist.ICompletionProposal#getSelection
-	 * (org.eclipse.jface.text.IDocument)
-	 */
-	public Point getSelection(IDocument document) {
-		if (fReplacementString.equals("\"\"")) {
-			return new Point(fBeginInsertPoint + 1, 0);
-		}
-		return new Point(fBeginInsertPoint + fReplacementString.length(), 0);
-	}
+    /*
+     * (non-Javadoc)
+     *
+     * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getSelection (org.eclipse.jface.text.IDocument)
+     */
+    public Point getSelection(IDocument document) {
+        if (this.fReplacementString.equals("\"\"")) {
+            return new Point(this.fBeginInsertPoint + 1, 0);
+        }
+        return new Point(this.fBeginInsertPoint + this.fReplacementString.length(), 0);
+    }
 
-	/**
-	 * @return
-	 */
-	public String getReplacementString() {
-		return fReplacementString;
-	}
+    /**
+     * @return
+     */
+    public String getReplacementString() {
+        return this.fReplacementString;
+    }
 
-	public Object getAdditionalProposalInfo(IProgressMonitor monitor) {
-		return fAdditionalInfo;
-	}
+    public Object getAdditionalProposalInfo(IProgressMonitor monitor) {
+        return this.fAdditionalInfo;
+    }
 
-	public void setAdditionalProposalInfo(String info) {
-		fAdditionalInfo = info;
-	}
+    public void setAdditionalProposalInfo(String info) {
+        this.fAdditionalInfo = info;
+    }
 
-	public IInformationControlCreator getInformationControlCreator() {
-		Shell shell = JavaPlugin.getActiveWorkbenchShell();
-		if (shell == null || !BrowserInformationControl.isAvailable(shell)) {
-			return null;
-		}
+    public IInformationControlCreator getInformationControlCreator() {
+        Shell shell = JavaPlugin.getActiveWorkbenchShell();
+        if (shell == null || !BrowserInformationControl.isAvailable(shell)) {
+            return null;
+        }
 
-		if (fCreator == null) {
-			fCreator = new AbstractReusableInformationControlCreator() {
+        if (this.fCreator == null) {
+            this.fCreator = new AbstractReusableInformationControlCreator() {
 
-				/*
-				 * @seeorg.eclipse.jdt.internal.ui.text.java.hover.
-				 * AbstractReusableInformationControlCreator
-				 * #doCreateInformationControl(org.eclipse.swt.widgets.Shell)
-				 */
-				public IInformationControl doCreateInformationControl(Shell parent) {
-					return new BrowserInformationControl(parent, JFaceResources.DIALOG_FONT,
-							EditorsUI.getTooltipAffordanceString());
-				}
-			};
-		}
-		return fCreator;
-	}
+                /*
+                 * @seeorg.eclipse.jdt.internal.ui.text.java.hover. AbstractReusableInformationControlCreator
+                 * #doCreateInformationControl(org.eclipse.swt.widgets.Shell)
+                 */
+                @Override
+                public IInformationControl doCreateInformationControl(Shell parent) {
+                    return new BrowserInformationControl(parent, JFaceResources.DIALOG_FONT, EditorsUI.getTooltipAffordanceString());
+                }
+            };
+        }
+        return this.fCreator;
+    }
 
-	public int getPrefixCompletionStart(IDocument document, int completionOffset) {
-		return fBeginInsertPoint;
-	}
+    public int getPrefixCompletionStart(IDocument document, int completionOffset) {
+        return this.fBeginInsertPoint;
+    }
 
-	public CharSequence getPrefixCompletionText(IDocument document, int completionOffset) {
-		return fReplacementString;
-	}
+    public CharSequence getPrefixCompletionText(IDocument document, int completionOffset) {
+        return this.fReplacementString;
+    }
 
-	public void apply(IDocument document, char trigger, int offset) {
-		if (fLength == -1) {
-			String current = document.get();
-			fLength = current.length();
-		}
-		try {
-			document.replace(fBeginInsertPoint, fLength, fReplacementString);
-		} catch (BadLocationException e) {
-			// DEBUG
-			// e.printStackTrace();
-		}
-	}
+    public void apply(IDocument document, char trigger, int offset) {
+        if (this.fLength == -1) {
+            String current = document.get();
+            this.fLength = current.length();
+        }
+        try {
+            document.replace(this.fBeginInsertPoint, this.fLength, this.fReplacementString);
+        } catch (BadLocationException e) {
+            // DEBUG
+            // e.printStackTrace();
+        }
+    }
 
-	public int getContextInformationPosition() {
-		return fBeginInsertPoint;
-	}
+    public int getContextInformationPosition() {
+        return this.fBeginInsertPoint;
+    }
 
-	public char[] getTriggerCharacters() {
-		return new char[0];
-	}
+    public char[] getTriggerCharacters() {
+        return new char[0];
+    }
 
-	public boolean isValidFor(IDocument document, int offset) {
-		if (offset < fBeginInsertPoint) {
-			return false;
-		}
-		int newLength = offset - fBeginInsertPoint;
-		int delta = newLength - fLength;
-		fLength = delta + fLength;
+    public boolean isValidFor(IDocument document, int offset) {
+        if (offset < this.fBeginInsertPoint) {
+            return false;
+        }
+        int newLength = offset - this.fBeginInsertPoint;
+        int delta = newLength - this.fLength;
+        this.fLength = delta + this.fLength;
 
-		return startsWith(document, offset, fDisplayString);
-	}
+        return startsWith(document, offset, this.fDisplayString);
+    }
 
-	// code is borrowed from JavaCompletionProposal
-	protected boolean startsWith(IDocument document, int offset, String word) {
-		int wordLength = word == null ? 0 : word.length();
-		if (offset > fBeginInsertPoint + wordLength) {
-			return false;
-		}
+    // code is borrowed from JavaCompletionProposal
+    protected boolean startsWith(IDocument document, int offset, String word) {
+        int wordLength = word == null ? 0 : word.length();
+        if (offset > this.fBeginInsertPoint + wordLength) {
+            return false;
+        }
 
-		try {
-			int length = offset - fBeginInsertPoint;
-			String start = document.get(fBeginInsertPoint, length);
-			// Remove " for comparison
-			return word != null && word.substring(0, start.length()).equalsIgnoreCase(start);
-		} catch (BadLocationException x) {
-		}
+        try {
+            int length = offset - this.fBeginInsertPoint;
+            String start = document.get(this.fBeginInsertPoint, length);
+            // Remove " for comparison
+            return word != null && word.substring(0, start.length()).equalsIgnoreCase(start);
+        } catch (BadLocationException x) {
+        }
 
-		return false;
-	}
+        return false;
+    }
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/ISpringColorConstants.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/ISpringColorConstants.java
index f3bd60e..0f31d97 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/ISpringColorConstants.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/ISpringColorConstants.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.text;
 
 import org.eclipse.swt.graphics.RGB;
@@ -17,8 +18,8 @@
  */
 public interface ISpringColorConstants {
 
-	public RGB HEADER_SPRING = new RGB(0, 112, 60);
+    public RGB HEADER_SPRING = new RGB(0, 112, 60);
 
-	public String P_HEADER_SPRING = "editor.color.header_spring";
+    public String P_HEADER_SPRING = "editor.color.header_spring";
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/JFaceAbstractInformationControl.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/JFaceAbstractInformationControl.java
index b404861..0ac9cd9 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/JFaceAbstractInformationControl.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/JFaceAbstractInformationControl.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.text;
 
 import org.eclipse.core.runtime.Assert;
@@ -64,714 +65,698 @@
  * {@link IInformationControlExtension2}. They should also extend {@link #computeTrim()} if they create a content area
  * with additional trim (e.g. scrollbars) and override {@link #getInformationPresenterControlCreator()}.
  * </p>
- * 
+ *
  * @author Christian Dupuis
  * @since 3.4
  */
-public abstract class JFaceAbstractInformationControl implements IInformationControl, IInformationControlExtension,
-		IInformationControlExtension3, IInformationControlExtension4, JFaceIInformationControlExtension5 {
+public abstract class JFaceAbstractInformationControl implements IInformationControl, IInformationControlExtension, IInformationControlExtension3,
+    IInformationControlExtension4, JFaceIInformationControlExtension5 {
 
-	/** The information control's shell. */
-	private final Shell fShell;
+    /** The information control's shell. */
+    private final Shell fShell;
 
-	/** Composite containing the content created by subclasses. */
-	private final Composite fContentComposite;
+    /** Composite containing the content created by subclasses. */
+    private final Composite fContentComposite;
 
-	/** Whether the information control is resizable. */
-	private final boolean fResizable;
+    /** Whether the information control is resizable. */
+    private final boolean fResizable;
 
-	/**
-	 * Composite containing the status line content or <code>null</code> if none.
-	 */
-	private Composite fStatusComposite;
+    /**
+     * Composite containing the status line content or <code>null</code> if none.
+     */
+    private Composite fStatusComposite;
 
-	/** Separator between content and status line or <code>null</code> if none. */
-	private Label fSeparator;
+    /** Separator between content and status line or <code>null</code> if none. */
+    private Label fSeparator;
 
-	/** Label in the status line or <code>null</code> if none. */
-	private Label fStatusLabel;
+    /** Label in the status line or <code>null</code> if none. */
+    private Label fStatusLabel;
 
-	/** The toolbar manager used by the toolbar or <code>null</code> if none. */
-	private final ToolBarManager fToolBarManager;
+    /** The toolbar manager used by the toolbar or <code>null</code> if none. */
+    private final ToolBarManager fToolBarManager;
 
-	/** Status line toolbar or <code>null</code> if none. */
-	private ToolBar fToolBar;
+    /** Status line toolbar or <code>null</code> if none. */
+    private ToolBar fToolBar;
 
-	/** Listener for shell activation and deactivation. */
-	private Listener fShellListener;
+    /** Listener for shell activation and deactivation. */
+    private Listener fShellListener;
 
-	/** All focus listeners registered to this information control. */
-	private final ListenerList fFocusListeners = new ListenerList(ListenerList.IDENTITY);
+    /** All focus listeners registered to this information control. */
+    private final ListenerList fFocusListeners = new ListenerList(ListenerList.IDENTITY);
 
-	/**
-	 * Size constraints, x is the maxWidth and y is the maxHeight, or <code>null</code> if not set.
-	 */
-	private Point fSizeConstraints;
+    /**
+     * Size constraints, x is the maxWidth and y is the maxHeight, or <code>null</code> if not set.
+     */
+    private Point fSizeConstraints;
 
-	/** The size of the resize handle if already set, -1 otherwise */
-	private int fResizeHandleSize;
+    /** The size of the resize handle if already set, -1 otherwise */
+    private int fResizeHandleSize;
 
-	/**
-	 * Creates an abstract information control with the given shell as parent. The control will not be resizable and
-	 * optionally show a status line with the given status field text.
-	 * <p>
-	 * <em>Important: Subclasses are required to call {@link #create()} at the end of their constructor.</em>
-	 * </p>
-	 * 
-	 * @param parentShell
-	 *            the parent of this control's shell
-	 * @param statusFieldText
-	 *            the text to be used in the status field or <code>null</code> to hide the status field
-	 */
-	public JFaceAbstractInformationControl(Shell parentShell, String statusFieldText) {
-		this(parentShell, SWT.TOOL | SWT.ON_TOP, statusFieldText, null);
-	}
+    /**
+     * Creates an abstract information control with the given shell as parent. The control will not be resizable and
+     * optionally show a status line with the given status field text.
+     * <p>
+     * <em>Important: Subclasses are required to call {@link #create()} at the end of their constructor.</em>
+     * </p>
+     *
+     * @param parentShell the parent of this control's shell
+     * @param statusFieldText the text to be used in the status field or <code>null</code> to hide the status field
+     */
+    public JFaceAbstractInformationControl(Shell parentShell, String statusFieldText) {
+        this(parentShell, SWT.TOOL | SWT.ON_TOP, statusFieldText, null);
+    }
 
-	/**
-	 * Creates an abstract information control with the given shell as parent. The control will be resizable and
-	 * optionally show a tool bar managed by the given tool bar manager.
-	 * <p>
-	 * <em>Important: Subclasses are required to call {@link #create()} at the end of their constructor.</em>
-	 * </p>
-	 * 
-	 * @param parentShell
-	 *            the parent of this control's shell
-	 * @param toolBarManager
-	 *            the manager or <code>null</code> if toolbar is not desired
-	 */
-	public JFaceAbstractInformationControl(Shell parentShell, ToolBarManager toolBarManager) {
-		this(parentShell, SWT.TOOL | SWT.ON_TOP | SWT.RESIZE, null, toolBarManager);
-	}
+    /**
+     * Creates an abstract information control with the given shell as parent. The control will be resizable and
+     * optionally show a tool bar managed by the given tool bar manager.
+     * <p>
+     * <em>Important: Subclasses are required to call {@link #create()} at the end of their constructor.</em>
+     * </p>
+     *
+     * @param parentShell the parent of this control's shell
+     * @param toolBarManager the manager or <code>null</code> if toolbar is not desired
+     */
+    public JFaceAbstractInformationControl(Shell parentShell, ToolBarManager toolBarManager) {
+        this(parentShell, SWT.TOOL | SWT.ON_TOP | SWT.RESIZE, null, toolBarManager);
+    }
 
-	/**
-	 * Creates an abstract information control with the given shell as parent.
-	 * <p>
-	 * <em>Important: Subclasses are required to call {@link #create()} at the end of their constructor.</em>
-	 * </p>
-	 * 
-	 * @param parentShell
-	 *            the parent of this control's shell
-	 * @param isResizable
-	 *            <code>true</code> if the control should be resizable
-	 */
-	public JFaceAbstractInformationControl(Shell parentShell, boolean isResizable) {
-		this(parentShell, SWT.TOOL | SWT.ON_TOP | (isResizable ? SWT.RESIZE : 0), null, null);
-	}
+    /**
+     * Creates an abstract information control with the given shell as parent.
+     * <p>
+     * <em>Important: Subclasses are required to call {@link #create()} at the end of their constructor.</em>
+     * </p>
+     *
+     * @param parentShell the parent of this control's shell
+     * @param isResizable <code>true</code> if the control should be resizable
+     */
+    public JFaceAbstractInformationControl(Shell parentShell, boolean isResizable) {
+        this(parentShell, SWT.TOOL | SWT.ON_TOP | (isResizable ? SWT.RESIZE : 0), null, null);
+    }
 
-	/**
-	 * Creates an abstract information control with the given shell as parent. The given shell style is used for the
-	 * shell (NO_TRIM will be removed to make sure there's a border).
-	 * <p>
-	 * The control will optionally show either a status line or a tool bar. At most one of <code>toolBarManager</code>
-	 * or <code>statusFieldText</code> can be non-null.
-	 * </p>
-	 * <p>
-	 * <strong>Important:</strong>: Subclasses are required to call {@link #create()} at the end of their constructor.
-	 * </p>
-	 * 
-	 * @param parentShell
-	 *            the parent of this control's shell
-	 * @param shellStyle
-	 *            style of this control's shell
-	 * @param statusFieldText
-	 *            the text to be used in the status field or <code>null</code> to hide the status field
-	 * @param toolBarManager
-	 *            the manager or <code>null</code> if toolbar is not desired
-	 * @deprecated clients should use one of the public constructors
-	 */
-	@Deprecated
-	JFaceAbstractInformationControl(Shell parentShell, int shellStyle, final String statusFieldText,
-			final ToolBarManager toolBarManager) {
-		Assert.isTrue(statusFieldText == null || toolBarManager == null);
-		fResizeHandleSize = -1;
-		fToolBarManager = toolBarManager;
+    /**
+     * Creates an abstract information control with the given shell as parent. The given shell style is used for the
+     * shell (NO_TRIM will be removed to make sure there's a border).
+     * <p>
+     * The control will optionally show either a status line or a tool bar. At most one of <code>toolBarManager</code>
+     * or <code>statusFieldText</code> can be non-null.
+     * </p>
+     * <p>
+     * <strong>Important:</strong>: Subclasses are required to call {@link #create()} at the end of their constructor.
+     * </p>
+     *
+     * @param parentShell the parent of this control's shell
+     * @param shellStyle style of this control's shell
+     * @param statusFieldText the text to be used in the status field or <code>null</code> to hide the status field
+     * @param toolBarManager the manager or <code>null</code> if toolbar is not desired
+     * @deprecated clients should use one of the public constructors
+     */
+    @Deprecated
+    JFaceAbstractInformationControl(Shell parentShell, int shellStyle, final String statusFieldText, final ToolBarManager toolBarManager) {
+        Assert.isTrue(statusFieldText == null || toolBarManager == null);
+        this.fResizeHandleSize = -1;
+        this.fToolBarManager = toolBarManager;
 
-		if ((shellStyle & SWT.NO_TRIM) != 0) {
-			shellStyle &= ~(SWT.NO_TRIM | SWT.SHELL_TRIM); // make sure we get
-			// the OS border but
-			// no other trims
-		}
+        if ((shellStyle & SWT.NO_TRIM) != 0) {
+            shellStyle &= ~(SWT.NO_TRIM | SWT.SHELL_TRIM); // make sure we get
+            // the OS border but
+            // no other trims
+        }
 
-		fResizable = (shellStyle & SWT.RESIZE) != 0; // on GTK, Shell removes
-		// SWT.RESIZE if SWT.ON_TOP
-		// is set
-		fShell = new Shell(parentShell, shellStyle);
-		Display display = fShell.getDisplay();
-		Color foreground = display.getSystemColor(SWT.COLOR_INFO_FOREGROUND);
-		Color background = display.getSystemColor(SWT.COLOR_INFO_BACKGROUND);
-		setColor(fShell, foreground, background);
+        this.fResizable = (shellStyle & SWT.RESIZE) != 0; // on GTK, Shell removes
+        // SWT.RESIZE if SWT.ON_TOP
+        // is set
+        this.fShell = new Shell(parentShell, shellStyle);
+        Display display = this.fShell.getDisplay();
+        Color foreground = display.getSystemColor(SWT.COLOR_INFO_FOREGROUND);
+        Color background = display.getSystemColor(SWT.COLOR_INFO_BACKGROUND);
+        setColor(this.fShell, foreground, background);
 
-		GridLayout layout = new GridLayout(1, false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.verticalSpacing = 0;
-		fShell.setLayout(layout);
+        GridLayout layout = new GridLayout(1, false);
+        layout.marginHeight = 0;
+        layout.marginWidth = 0;
+        layout.verticalSpacing = 0;
+        this.fShell.setLayout(layout);
 
-		fContentComposite = new Composite(fShell, SWT.NONE);
-		fContentComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
-		fContentComposite.setLayout(new FillLayout());
-		setColor(fContentComposite, foreground, background);
+        this.fContentComposite = new Composite(this.fShell, SWT.NONE);
+        this.fContentComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+        this.fContentComposite.setLayout(new FillLayout());
+        setColor(this.fContentComposite, foreground, background);
 
-		createStatusComposite(statusFieldText, toolBarManager, foreground, background);
-	}
+        createStatusComposite(statusFieldText, toolBarManager, foreground, background);
+    }
 
-	private void createStatusComposite(final String statusFieldText, final ToolBarManager toolBarManager,
-			Color foreground, Color background) {
-		if (toolBarManager == null && statusFieldText == null) {
-			return;
-		}
+    private void createStatusComposite(final String statusFieldText, final ToolBarManager toolBarManager, Color foreground, Color background) {
+        if (toolBarManager == null && statusFieldText == null) {
+            return;
+        }
 
-		fStatusComposite = new Composite(fShell, SWT.NONE);
-		GridData gridData = new GridData(SWT.FILL, SWT.BOTTOM, true, false);
-		fStatusComposite.setLayoutData(gridData);
-		GridLayout statusLayout = new GridLayout(1, false);
-		statusLayout.marginHeight = 0;
-		statusLayout.marginWidth = 0;
-		statusLayout.verticalSpacing = 1;
-		fStatusComposite.setLayout(statusLayout);
+        this.fStatusComposite = new Composite(this.fShell, SWT.NONE);
+        GridData gridData = new GridData(SWT.FILL, SWT.BOTTOM, true, false);
+        this.fStatusComposite.setLayoutData(gridData);
+        GridLayout statusLayout = new GridLayout(1, false);
+        statusLayout.marginHeight = 0;
+        statusLayout.marginWidth = 0;
+        statusLayout.verticalSpacing = 1;
+        this.fStatusComposite.setLayout(statusLayout);
 
-		fSeparator = new Label(fStatusComposite, SWT.SEPARATOR | SWT.HORIZONTAL);
-		fSeparator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        this.fSeparator = new Label(this.fStatusComposite, SWT.SEPARATOR | SWT.HORIZONTAL);
+        this.fSeparator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
 
-		if (statusFieldText != null) {
-			createStatusLabel(statusFieldText, foreground, background);
-		} else {
-			createToolBar(toolBarManager);
-		}
-	}
+        if (statusFieldText != null) {
+            createStatusLabel(statusFieldText, foreground, background);
+        } else {
+            createToolBar(toolBarManager);
+        }
+    }
 
-	private void createStatusLabel(final String statusFieldText, Color foreground, Color background) {
-		fStatusLabel = new Label(fStatusComposite, SWT.RIGHT);
-		fStatusLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-		fStatusLabel.setText(statusFieldText);
+    private void createStatusLabel(final String statusFieldText, Color foreground, Color background) {
+        this.fStatusLabel = new Label(this.fStatusComposite, SWT.RIGHT);
+        this.fStatusLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
+        this.fStatusLabel.setText(statusFieldText);
 
-		FontData[] fontDatas = JFaceResources.getDialogFont().getFontData();
-		for (FontData element : fontDatas) {
-			element.setHeight(element.getHeight() * 9 / 10);
-		}
-		fStatusLabel.setFont(new Font(fStatusLabel.getDisplay(), fontDatas));
+        FontData[] fontDatas = JFaceResources.getDialogFont().getFontData();
+        for (FontData element : fontDatas) {
+            element.setHeight(element.getHeight() * 9 / 10);
+        }
+        this.fStatusLabel.setFont(new Font(this.fStatusLabel.getDisplay(), fontDatas));
 
-		fStatusLabel.setForeground(fStatusLabel.getDisplay().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
-		fStatusLabel.setBackground(background);
-		setColor(fStatusComposite, foreground, background);
-	}
+        this.fStatusLabel.setForeground(this.fStatusLabel.getDisplay().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
+        this.fStatusLabel.setBackground(background);
+        setColor(this.fStatusComposite, foreground, background);
+    }
 
-	private void createToolBar(ToolBarManager toolBarManager) {
-		final Composite bars = new Composite(fStatusComposite, SWT.NONE);
-		bars.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
+    private void createToolBar(ToolBarManager toolBarManager) {
+        final Composite bars = new Composite(this.fStatusComposite, SWT.NONE);
+        bars.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
 
-		GridLayout layout = new GridLayout(3, false);
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = 0;
-		bars.setLayout(layout);
+        GridLayout layout = new GridLayout(3, false);
+        layout.marginHeight = 0;
+        layout.marginWidth = 0;
+        layout.horizontalSpacing = 0;
+        layout.verticalSpacing = 0;
+        bars.setLayout(layout);
 
-		fToolBar = toolBarManager.createControl(bars);
-		GridData gd = new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false);
-		fToolBar.setLayoutData(gd);
+        this.fToolBar = toolBarManager.createControl(bars);
+        GridData gd = new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false);
+        this.fToolBar.setLayoutData(gd);
 
-		Composite spacer = new Composite(bars, SWT.NONE);
-		gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		gd.widthHint = 0;
-		gd.heightHint = 0;
-		spacer.setLayoutData(gd);
+        Composite spacer = new Composite(bars, SWT.NONE);
+        gd = new GridData(SWT.FILL, SWT.FILL, true, true);
+        gd.widthHint = 0;
+        gd.heightHint = 0;
+        spacer.setLayoutData(gd);
 
-		addMoveSupport(spacer);
-		addResizeSupportIfNecessary(bars);
-	}
+        addMoveSupport(spacer);
+        addResizeSupportIfNecessary(bars);
+    }
 
-	private void addResizeSupportIfNecessary(final Composite bars) {
-		// XXX: workarounds for
-		// - https://bugs.eclipse.org/bugs/show_bug.cgi?id=219139 : API to add
-		// resize grip / grow box in lower right corner of shell
-		// - https://bugs.eclipse.org/bugs/show_bug.cgi?id=23980 : platform
-		// specific shell resize behavior
-		String platform = SWT.getPlatform();
-		final boolean isWin = platform.equals("win32"); //$NON-NLS-1$
-		if (!isWin && !platform.equals("gtk")) {
-			return;
-		}
+    private void addResizeSupportIfNecessary(final Composite bars) {
+        // XXX: workarounds for
+        // - https://bugs.eclipse.org/bugs/show_bug.cgi?id=219139 : API to add
+        // resize grip / grow box in lower right corner of shell
+        // - https://bugs.eclipse.org/bugs/show_bug.cgi?id=23980 : platform
+        // specific shell resize behavior
+        String platform = SWT.getPlatform();
+        final boolean isWin = platform.equals("win32"); //$NON-NLS-1$
+        if (!isWin && !platform.equals("gtk")) {
+            return;
+        }
 
-		final Canvas resizer = new Canvas(bars, SWT.NONE);
+        final Canvas resizer = new Canvas(bars, SWT.NONE);
 
-		int size = getResizeHandleSize(bars);
+        int size = getResizeHandleSize(bars);
 
-		GridData data = new GridData(SWT.END, SWT.END, false, true);
-		data.widthHint = size;
-		data.heightHint = size;
-		resizer.setLayoutData(data);
-		resizer.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				Point s = resizer.getSize();
-				int x = s.x - 2;
-				int y = s.y - 2;
-				int min = Math.min(x, y);
-				if (isWin) {
-					// draw dots
-					e.gc.setBackground(resizer.getDisplay().getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW));
-					int end = min - 1;
-					for (int i = 0; i <= 2; i++) {
-						for (int j = 0; j <= 2 - i; j++) {
-							e.gc.fillRectangle(end - 4 * i, end - 4 * j, 2, 2);
-						}
-					}
-					end--;
-					e.gc.setBackground(resizer.getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW));
-					for (int i = 0; i <= 2; i++) {
-						for (int j = 0; j <= 2 - i; j++) {
-							e.gc.fillRectangle(end - 4 * i, end - 4 * j, 2, 2);
-						}
-					}
+        GridData data = new GridData(SWT.END, SWT.END, false, true);
+        data.widthHint = size;
+        data.heightHint = size;
+        resizer.setLayoutData(data);
+        resizer.addPaintListener(new PaintListener() {
 
-				} else {
-					// draw diagonal lines
-					e.gc.setForeground(resizer.getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW));
-					for (int i = 1; i < min; i += 4) {
-						e.gc.drawLine(i, y, x, i);
-					}
-					e.gc.setForeground(resizer.getDisplay().getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW));
-					for (int i = 2; i < min; i += 4) {
-						e.gc.drawLine(i, y, x, i);
-					}
-				}
-			}
-		});
+            public void paintControl(PaintEvent e) {
+                Point s = resizer.getSize();
+                int x = s.x - 2;
+                int y = s.y - 2;
+                int min = Math.min(x, y);
+                if (isWin) {
+                    // draw dots
+                    e.gc.setBackground(resizer.getDisplay().getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW));
+                    int end = min - 1;
+                    for (int i = 0; i <= 2; i++) {
+                        for (int j = 0; j <= 2 - i; j++) {
+                            e.gc.fillRectangle(end - 4 * i, end - 4 * j, 2, 2);
+                        }
+                    }
+                    end--;
+                    e.gc.setBackground(resizer.getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW));
+                    for (int i = 0; i <= 2; i++) {
+                        for (int j = 0; j <= 2 - i; j++) {
+                            e.gc.fillRectangle(end - 4 * i, end - 4 * j, 2, 2);
+                        }
+                    }
 
-		resizer.setCursor(new Cursor(resizer.getDisplay(), SWT.CURSOR_SIZESE));
-		MouseAdapter resizeSupport = new MouseAdapter() {
-			private MouseMoveListener fResizeListener;
+                } else {
+                    // draw diagonal lines
+                    e.gc.setForeground(resizer.getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW));
+                    for (int i = 1; i < min; i += 4) {
+                        e.gc.drawLine(i, y, x, i);
+                    }
+                    e.gc.setForeground(resizer.getDisplay().getSystemColor(SWT.COLOR_WIDGET_HIGHLIGHT_SHADOW));
+                    for (int i = 2; i < min; i += 4) {
+                        e.gc.drawLine(i, y, x, i);
+                    }
+                }
+            }
+        });
 
-			@Override
-			public void mouseDown(MouseEvent e) {
-				Point shellSize = fShell.getSize();
-				final int shellX = shellSize.x;
-				final int shellY = shellSize.y;
-				Point mouseLoc = resizer.toDisplay(e.x, e.y);
-				final int mouseX = mouseLoc.x;
-				final int mouseY = mouseLoc.y;
-				fResizeListener = new MouseMoveListener() {
-					public void mouseMove(MouseEvent e2) {
-						Point mouseLoc2 = resizer.toDisplay(e2.x, e2.y);
-						int dx = mouseLoc2.x - mouseX;
-						int dy = mouseLoc2.y - mouseY;
-						setSize(shellX + dx, shellY + dy);
-					}
-				};
-				resizer.addMouseMoveListener(fResizeListener);
-			}
+        resizer.setCursor(new Cursor(resizer.getDisplay(), SWT.CURSOR_SIZESE));
+        MouseAdapter resizeSupport = new MouseAdapter() {
 
-			@Override
-			public void mouseUp(MouseEvent e) {
-				resizer.removeMouseMoveListener(fResizeListener);
-				fResizeListener = null;
-			}
-		};
-		resizer.addMouseListener(resizeSupport);
-	}
+            private MouseMoveListener fResizeListener;
 
-	private int getResizeHandleSize(Composite parent) {
-		if (fResizeHandleSize == -1) {
-			Slider sliderV = new Slider(parent, SWT.VERTICAL);
-			Slider sliderH = new Slider(parent, SWT.HORIZONTAL);
-			int width = sliderV.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
-			int height = sliderH.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-			sliderV.dispose();
-			sliderH.dispose();
-			fResizeHandleSize = Math.min(width, height);
-		}
+            @Override
+            public void mouseDown(MouseEvent e) {
+                Point shellSize = JFaceAbstractInformationControl.this.fShell.getSize();
+                final int shellX = shellSize.x;
+                final int shellY = shellSize.y;
+                Point mouseLoc = resizer.toDisplay(e.x, e.y);
+                final int mouseX = mouseLoc.x;
+                final int mouseY = mouseLoc.y;
+                this.fResizeListener = new MouseMoveListener() {
 
-		return fResizeHandleSize;
-	}
+                    public void mouseMove(MouseEvent e2) {
+                        Point mouseLoc2 = resizer.toDisplay(e2.x, e2.y);
+                        int dx = mouseLoc2.x - mouseX;
+                        int dy = mouseLoc2.y - mouseY;
+                        setSize(shellX + dx, shellY + dy);
+                    }
+                };
+                resizer.addMouseMoveListener(this.fResizeListener);
+            }
 
-	/**
-	 * Adds support to move the shell by dragging the given control.
-	 * 
-	 * @param control
-	 *            the control that can be used to move the shell
-	 */
-	private void addMoveSupport(final Control control) {
-		MouseAdapter moveSupport = new MouseAdapter() {
-			private MouseMoveListener fMoveListener;
+            @Override
+            public void mouseUp(MouseEvent e) {
+                resizer.removeMouseMoveListener(this.fResizeListener);
+                this.fResizeListener = null;
+            }
+        };
+        resizer.addMouseListener(resizeSupport);
+    }
 
-			@Override
-			public void mouseDown(MouseEvent e) {
-				Point shellLoc = fShell.getLocation();
-				final int shellX = shellLoc.x;
-				final int shellY = shellLoc.y;
-				Point mouseLoc = control.toDisplay(e.x, e.y);
-				final int mouseX = mouseLoc.x;
-				final int mouseY = mouseLoc.y;
-				fMoveListener = new MouseMoveListener() {
-					public void mouseMove(MouseEvent e2) {
-						Point mouseLoc2 = control.toDisplay(e2.x, e2.y);
-						int dx = mouseLoc2.x - mouseX;
-						int dy = mouseLoc2.y - mouseY;
-						fShell.setLocation(shellX + dx, shellY + dy);
-					}
-				};
-				control.addMouseMoveListener(fMoveListener);
-			}
+    private int getResizeHandleSize(Composite parent) {
+        if (this.fResizeHandleSize == -1) {
+            Slider sliderV = new Slider(parent, SWT.VERTICAL);
+            Slider sliderH = new Slider(parent, SWT.HORIZONTAL);
+            int width = sliderV.computeSize(SWT.DEFAULT, SWT.DEFAULT).x;
+            int height = sliderH.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
+            sliderV.dispose();
+            sliderH.dispose();
+            this.fResizeHandleSize = Math.min(width, height);
+        }
 
-			@Override
-			public void mouseUp(MouseEvent e) {
-				control.removeMouseMoveListener(fMoveListener);
-				fMoveListener = null;
-			}
-		};
-		control.addMouseListener(moveSupport);
-	}
+        return this.fResizeHandleSize;
+    }
 
-	/**
-	 * Utility to set the foreground and the background color of the given control
-	 * 
-	 * @param control
-	 *            the control to modify
-	 * @param foreground
-	 *            the color to use for the foreground
-	 * @param background
-	 *            the color to use for the background
-	 */
-	private static void setColor(Control control, Color foreground, Color background) {
-		control.setForeground(foreground);
-		control.setBackground(background);
-	}
+    /**
+     * Adds support to move the shell by dragging the given control.
+     *
+     * @param control the control that can be used to move the shell
+     */
+    private void addMoveSupport(final Control control) {
+        MouseAdapter moveSupport = new MouseAdapter() {
+
+            private MouseMoveListener fMoveListener;
+
+            @Override
+            public void mouseDown(MouseEvent e) {
+                Point shellLoc = JFaceAbstractInformationControl.this.fShell.getLocation();
+                final int shellX = shellLoc.x;
+                final int shellY = shellLoc.y;
+                Point mouseLoc = control.toDisplay(e.x, e.y);
+                final int mouseX = mouseLoc.x;
+                final int mouseY = mouseLoc.y;
+                this.fMoveListener = new MouseMoveListener() {
+
+                    public void mouseMove(MouseEvent e2) {
+                        Point mouseLoc2 = control.toDisplay(e2.x, e2.y);
+                        int dx = mouseLoc2.x - mouseX;
+                        int dy = mouseLoc2.y - mouseY;
+                        JFaceAbstractInformationControl.this.fShell.setLocation(shellX + dx, shellY + dy);
+                    }
+                };
+                control.addMouseMoveListener(this.fMoveListener);
+            }
+
+            @Override
+            public void mouseUp(MouseEvent e) {
+                control.removeMouseMoveListener(this.fMoveListener);
+                this.fMoveListener = null;
+            }
+        };
+        control.addMouseListener(moveSupport);
+    }
+
+    /**
+     * Utility to set the foreground and the background color of the given control
+     *
+     * @param control the control to modify
+     * @param foreground the color to use for the foreground
+     * @param background the color to use for the background
+     */
+    private static void setColor(Control control, Color foreground, Color background) {
+        control.setForeground(foreground);
+        control.setBackground(background);
+    }
 
-	/**
-	 * The shell of the popup window.
-	 * 
-	 * @return the shell used for the popup window
-	 */
-	protected final Shell getShell() {
-		return fShell;
-	}
+    /**
+     * The shell of the popup window.
+     *
+     * @return the shell used for the popup window
+     */
+    protected final Shell getShell() {
+        return this.fShell;
+    }
 
-	/**
-	 * The toolbar manager used to manage the toolbar, or <code>null</code> if no toolbar is shown.
-	 * 
-	 * @return the tool bar manager or <code>null</code>
-	 */
-	protected final ToolBarManager getToolBarManager() {
-		return fToolBarManager;
-	}
+    /**
+     * The toolbar manager used to manage the toolbar, or <code>null</code> if no toolbar is shown.
+     *
+     * @return the tool bar manager or <code>null</code>
+     */
+    protected final ToolBarManager getToolBarManager() {
+        return this.fToolBarManager;
+    }
 
-	/**
-	 * Creates the content of this information control. Subclasses must call this method at the end of their
-	 * constructor(s).
-	 */
-	protected final void create() {
-		createContent(fContentComposite);
-	}
+    /**
+     * Creates the content of this information control. Subclasses must call this method at the end of their
+     * constructor(s).
+     */
+    protected final void create() {
+        createContent(this.fContentComposite);
+    }
 
-	/**
-	 * Creates the content of the popup window.
-	 * <p>
-	 * Implementors will usually take over {@link Composite#getBackground()} and {@link Composite#getForeground()} from
-	 * <code>parent</code>.
-	 * </p>
-	 * <p>
-	 * Implementors are expected to consider {@link #isResizable()}: If <code>true</code>, they should show scrollbars
-	 * if their content may exceed the size of the information control. If <code>false</code>, they should never show
-	 * scrollbars.
-	 * </p>
-	 * <p>
-	 * The given <code>parent</code> comes with a {@link FillLayout}. Subclasses may set a different layout.
-	 * </p>
-	 * 
-	 * @param parent
-	 *            the container of the content
-	 */
-	protected abstract void createContent(Composite parent);
+    /**
+     * Creates the content of the popup window.
+     * <p>
+     * Implementors will usually take over {@link Composite#getBackground()} and {@link Composite#getForeground()} from
+     * <code>parent</code>.
+     * </p>
+     * <p>
+     * Implementors are expected to consider {@link #isResizable()}: If <code>true</code>, they should show scrollbars
+     * if their content may exceed the size of the information control. If <code>false</code>, they should never show
+     * scrollbars.
+     * </p>
+     * <p>
+     * The given <code>parent</code> comes with a {@link FillLayout}. Subclasses may set a different layout.
+     * </p>
+     *
+     * @param parent the container of the content
+     */
+    protected abstract void createContent(Composite parent);
 
-	/**
-	 * Sets the information to be presented by this information control.
-	 * <p>
-	 * The default implementation does nothing. Subclasses must either override this method or implement
-	 * {@link IInformationControlExtension2}.
-	 * 
-	 * @param information
-	 *            the information to be presented
-	 * @see org.eclipse.jface.text.IInformationControl#setInformation(java.lang.String)
-	 */
-	public void setInformation(String information) {
+    /**
+     * Sets the information to be presented by this information control.
+     * <p>
+     * The default implementation does nothing. Subclasses must either override this method or implement
+     * {@link IInformationControlExtension2}.
+     *
+     * @param information the information to be presented
+     * @see org.eclipse.jface.text.IInformationControl#setInformation(java.lang.String)
+     */
+    public void setInformation(String information) {
 
-	}
+    }
 
-	/**
-	 * Returns whether the information control is resizable.
-	 * 
-	 * @return <code>true</code> if the information control is resizable, <code>false</code> if it is not resizable.
-	 */
-	public boolean isResizable() {
-		return fResizable;
-	}
+    /**
+     * Returns whether the information control is resizable.
+     *
+     * @return <code>true</code> if the information control is resizable, <code>false</code> if it is not resizable.
+     */
+    public boolean isResizable() {
+        return this.fResizable;
+    }
 
-	/*
-	 * @see IInformationControl#setVisible(boolean)
-	 */
-	public void setVisible(boolean visible) {
-		if (fShell.isVisible() == visible) {
-			return;
-		}
+    /*
+     * @see IInformationControl#setVisible(boolean)
+     */
+    public void setVisible(boolean visible) {
+        if (this.fShell.isVisible() == visible) {
+            return;
+        }
 
-		fShell.setVisible(visible);
-	}
+        this.fShell.setVisible(visible);
+    }
 
-	/*
-	 * @see IInformationControl#dispose()
-	 */
-	public void dispose() {
-		if (fShell != null && !fShell.isDisposed()) {
-			fShell.dispose();
-		}
-	}
+    /*
+     * @see IInformationControl#dispose()
+     */
+    public void dispose() {
+        if (this.fShell != null && !this.fShell.isDisposed()) {
+            this.fShell.dispose();
+        }
+    }
 
-	/*
-	 * @see IInformationControl#setSize(int, int)
-	 */
-	public void setSize(int width, int height) {
-		fShell.setSize(width, height);
-	}
+    /*
+     * @see IInformationControl#setSize(int, int)
+     */
+    public void setSize(int width, int height) {
+        this.fShell.setSize(width, height);
+    }
 
-	/*
-	 * @see IInformationControl#setLocation(Point)
-	 */
-	public void setLocation(Point location) {
-		fShell.setLocation(location);
-	}
+    /*
+     * @see IInformationControl#setLocation(Point)
+     */
+    public void setLocation(Point location) {
+        this.fShell.setLocation(location);
+    }
 
-	/*
-	 * @see IInformationControl#setSizeConstraints(int, int)
-	 */
-	public void setSizeConstraints(int maxWidth, int maxHeight) {
-		fSizeConstraints = new Point(maxWidth, maxHeight);
-	}
+    /*
+     * @see IInformationControl#setSizeConstraints(int, int)
+     */
+    public void setSizeConstraints(int maxWidth, int maxHeight) {
+        this.fSizeConstraints = new Point(maxWidth, maxHeight);
+    }
 
-	/**
-	 * Returns the size constraints.
-	 * 
-	 * @return the size constraints or <code>null</code> if not set
-	 * @see #setSizeConstraints(int, int)
-	 */
-	protected final Point getSizeConstraints() {
-		return fSizeConstraints != null ? Geometry.copy(fSizeConstraints) : null;
-	}
+    /**
+     * Returns the size constraints.
+     *
+     * @return the size constraints or <code>null</code> if not set
+     * @see #setSizeConstraints(int, int)
+     */
+    protected final Point getSizeConstraints() {
+        return this.fSizeConstraints != null ? Geometry.copy(this.fSizeConstraints) : null;
+    }
 
-	/*
-	 * @see IInformationControl#computeSizeHint()
-	 */
-	public Point computeSizeHint() {
-		// XXX: Verify whether this is a good default implementation. If yes,
-		// document it.
-		Point constrains = getSizeConstraints();
-		if (constrains == null) {
-			return fShell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
-		}
+    /*
+     * @see IInformationControl#computeSizeHint()
+     */
+    public Point computeSizeHint() {
+        // XXX: Verify whether this is a good default implementation. If yes,
+        // document it.
+        Point constrains = getSizeConstraints();
+        if (constrains == null) {
+            return this.fShell.computeSize(SWT.DEFAULT, SWT.DEFAULT, true);
+        }
 
-		return fShell.computeSize(constrains.x, constrains.y, true);
-	}
+        return this.fShell.computeSize(constrains.x, constrains.y, true);
+    }
 
-	/**
-	 * Computes the trim (status text and tool bar are considered as trim). Subclasses can extend this method to add
-	 * additional trim (e.g. scroll bars for resizable information controls).
-	 * 
-	 * @see org.eclipse.jface.text.IInformationControlExtension3#computeTrim()
-	 */
-	public Rectangle computeTrim() {
-		Rectangle trim = fShell.computeTrim(0, 0, 0, 0);
+    /**
+     * Computes the trim (status text and tool bar are considered as trim). Subclasses can extend this method to add
+     * additional trim (e.g. scroll bars for resizable information controls).
+     *
+     * @see org.eclipse.jface.text.IInformationControlExtension3#computeTrim()
+     */
+    public Rectangle computeTrim() {
+        Rectangle trim = this.fShell.computeTrim(0, 0, 0, 0);
 
-		if (fStatusComposite != null) {
-			trim.height += fStatusComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
-		}
+        if (this.fStatusComposite != null) {
+            trim.height += this.fStatusComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
+        }
 
-		return trim;
-	}
+        return trim;
+    }
 
-	/*
-	 * @see org.eclipse.jface.text.IInformationControlExtension3#getBounds()
-	 */
-	public Rectangle getBounds() {
-		return fShell.getBounds();
-	}
+    /*
+     * @see org.eclipse.jface.text.IInformationControlExtension3#getBounds()
+     */
+    public Rectangle getBounds() {
+        return this.fShell.getBounds();
+    }
 
-	/**
-	 * {@inheritDoc}
-	 * <p>
-	 * The default implementation always returns <code>false</code>.
-	 * </p>
-	 * 
-	 * @see org.eclipse.jface.text.IInformationControlExtension3#restoresLocation()
-	 */
-	public boolean restoresLocation() {
-		return false;
-	}
+    /**
+     * {@inheritDoc}
+     * <p>
+     * The default implementation always returns <code>false</code>.
+     * </p>
+     *
+     * @see org.eclipse.jface.text.IInformationControlExtension3#restoresLocation()
+     */
+    public boolean restoresLocation() {
+        return false;
+    }
 
-	/**
-	 * {@inheritDoc}
-	 * <p>
-	 * The default implementation always returns <code>false</code>.
-	 * </p>
-	 * 
-	 * @see org.eclipse.jface.text.IInformationControlExtension3#restoresSize()
-	 */
-	public boolean restoresSize() {
-		return false;
-	}
+    /**
+     * {@inheritDoc}
+     * <p>
+     * The default implementation always returns <code>false</code>.
+     * </p>
+     *
+     * @see org.eclipse.jface.text.IInformationControlExtension3#restoresSize()
+     */
+    public boolean restoresSize() {
+        return false;
+    }
 
-	/*
-	 * @see IInformationControl#addDisposeListener(DisposeListener)
-	 */
-	public void addDisposeListener(DisposeListener listener) {
-		fShell.addDisposeListener(listener);
-	}
+    /*
+     * @see IInformationControl#addDisposeListener(DisposeListener)
+     */
+    public void addDisposeListener(DisposeListener listener) {
+        this.fShell.addDisposeListener(listener);
+    }
 
-	/*
-	 * @see IInformationControl#removeDisposeListener(DisposeListener)
-	 */
-	public void removeDisposeListener(DisposeListener listener) {
-		fShell.removeDisposeListener(listener);
-	}
+    /*
+     * @see IInformationControl#removeDisposeListener(DisposeListener)
+     */
+    public void removeDisposeListener(DisposeListener listener) {
+        this.fShell.removeDisposeListener(listener);
+    }
 
-	/*
-	 * @see IInformationControl#setForegroundColor(Color)
-	 */
-	public void setForegroundColor(Color foreground) {
-		fContentComposite.setForeground(foreground);
-	}
+    /*
+     * @see IInformationControl#setForegroundColor(Color)
+     */
+    public void setForegroundColor(Color foreground) {
+        this.fContentComposite.setForeground(foreground);
+    }
 
-	/*
-	 * @see IInformationControl#setBackgroundColor(Color)
-	 */
-	public void setBackgroundColor(Color background) {
-		fContentComposite.setBackground(background);
-	}
+    /*
+     * @see IInformationControl#setBackgroundColor(Color)
+     */
+    public void setBackgroundColor(Color background) {
+        this.fContentComposite.setBackground(background);
+    }
 
-	/**
-	 * {@inheritDoc} This method is not intended to be overridden by subclasses.
-	 */
-	public boolean isFocusControl() {
-		return fShell.getDisplay().getActiveShell() == fShell;
-	}
+    /**
+     * {@inheritDoc} This method is not intended to be overridden by subclasses.
+     */
+    public boolean isFocusControl() {
+        return this.fShell.getDisplay().getActiveShell() == this.fShell;
+    }
 
-	/**
-	 * This default implementation sets the focus on the popup shell. Subclasses can override or extend.
-	 * 
-	 * @see IInformationControl#setFocus()
-	 */
-	public void setFocus() {
-		boolean focusTaken = fShell.setFocus();
-		if (!focusTaken) {
-			fShell.forceFocus();
-		}
-	}
+    /**
+     * This default implementation sets the focus on the popup shell. Subclasses can override or extend.
+     *
+     * @see IInformationControl#setFocus()
+     */
+    public void setFocus() {
+        boolean focusTaken = this.fShell.setFocus();
+        if (!focusTaken) {
+            this.fShell.forceFocus();
+        }
+    }
 
-	/**
-	 * {@inheritDoc} This method is not intended to be overridden by subclasses.
-	 */
-	public void addFocusListener(final FocusListener listener) {
-		if (fFocusListeners.isEmpty()) {
-			fShellListener = new Listener() {
+    /**
+     * {@inheritDoc} This method is not intended to be overridden by subclasses.
+     */
+    public void addFocusListener(final FocusListener listener) {
+        if (this.fFocusListeners.isEmpty()) {
+            this.fShellListener = new Listener() {
 
-				public void handleEvent(Event event) {
-					Object[] listeners = fFocusListeners.getListeners();
-					for (Object element : listeners) {
-						FocusListener focusListener = (FocusListener) element;
-						if (event.type == SWT.Activate) {
-							focusListener.focusGained(new FocusEvent(event));
-						} else {
-							focusListener.focusLost(new FocusEvent(event));
-						}
-					}
-				}
-			};
-			fShell.addListener(SWT.Deactivate, fShellListener);
-			fShell.addListener(SWT.Activate, fShellListener);
-		}
-		fFocusListeners.add(listener);
-	}
+                public void handleEvent(Event event) {
+                    Object[] listeners = JFaceAbstractInformationControl.this.fFocusListeners.getListeners();
+                    for (Object element : listeners) {
+                        FocusListener focusListener = (FocusListener) element;
+                        if (event.type == SWT.Activate) {
+                            focusListener.focusGained(new FocusEvent(event));
+                        } else {
+                            focusListener.focusLost(new FocusEvent(event));
+                        }
+                    }
+                }
+            };
+            this.fShell.addListener(SWT.Deactivate, this.fShellListener);
+            this.fShell.addListener(SWT.Activate, this.fShellListener);
+        }
+        this.fFocusListeners.add(listener);
+    }
 
-	/**
-	 * {@inheritDoc} This method is not intended to be overridden by subclasses.
-	 */
-	public void removeFocusListener(FocusListener listener) {
-		fFocusListeners.remove(listener);
-		if (fFocusListeners.isEmpty()) {
-			fShell.removeListener(SWT.Activate, fShellListener);
-			fShell.removeListener(SWT.Deactivate, fShellListener);
-			fShellListener = null;
-		}
-	}
+    /**
+     * {@inheritDoc} This method is not intended to be overridden by subclasses.
+     */
+    public void removeFocusListener(FocusListener listener) {
+        this.fFocusListeners.remove(listener);
+        if (this.fFocusListeners.isEmpty()) {
+            this.fShell.removeListener(SWT.Activate, this.fShellListener);
+            this.fShell.removeListener(SWT.Deactivate, this.fShellListener);
+            this.fShellListener = null;
+        }
+    }
 
-	/**
-	 * Sets the text of the status field.
-	 * <p>
-	 * The default implementation currently only updates the status field when the popup shell is not visible. The
-	 * status field can currently only be shown if the information control has been created with a non-null status field
-	 * text.
-	 * </p>
-	 * 
-	 * @param statusFieldText
-	 *            the text to be used in the optional status field or <code>null</code> if the status field should be
-	 *            hidden
-	 * @see org.eclipse.jface.text.IInformationControlExtension4#setStatusText(java.lang.String)
-	 */
-	public void setStatusText(String statusFieldText) {
-		if (fStatusLabel != null && !getShell().isVisible()) {
-			if (statusFieldText == null) {
-				fStatusComposite.setVisible(false);
-			} else {
-				fStatusLabel.setText(statusFieldText);
-				fStatusComposite.setVisible(true);
-			}
-		}
-	}
+    /**
+     * Sets the text of the status field.
+     * <p>
+     * The default implementation currently only updates the status field when the popup shell is not visible. The
+     * status field can currently only be shown if the information control has been created with a non-null status field
+     * text.
+     * </p>
+     *
+     * @param statusFieldText the text to be used in the optional status field or <code>null</code> if the status field
+     *        should be hidden
+     * @see org.eclipse.jface.text.IInformationControlExtension4#setStatusText(java.lang.String)
+     */
+    public void setStatusText(String statusFieldText) {
+        if (this.fStatusLabel != null && !getShell().isVisible()) {
+            if (statusFieldText == null) {
+                this.fStatusComposite.setVisible(false);
+            } else {
+                this.fStatusLabel.setText(statusFieldText);
+                this.fStatusComposite.setVisible(true);
+            }
+        }
+    }
 
-	/*
-	 * @see
-	 * org.eclipse.jface.text.IInformationControlExtension5#containsControl(
-	 * org.eclipse.swt.widgets.Control)
-	 */
-	public boolean containsControl(Control control) {
-		do {
-			if (control == fShell) {
-				return true;
-			}
-			if (control instanceof Shell) {
-				return false;
-			}
-			control = control.getParent();
-		} while (control != null);
-		return false;
-	}
+    /*
+     * @see org.eclipse.jface.text.IInformationControlExtension5#containsControl( org.eclipse.swt.widgets.Control)
+     */
+    public boolean containsControl(Control control) {
+        do {
+            if (control == this.fShell) {
+                return true;
+            }
+            if (control instanceof Shell) {
+                return false;
+            }
+            control = control.getParent();
+        } while (control != null);
+        return false;
+    }
 
-	/*
-	 * @see org.eclipse.jface.text.IInformationControlExtension5#isVisible()
-	 */
-	public boolean isVisible() {
-		return fShell != null && !fShell.isDisposed() && fShell.isVisible();
-	}
+    /*
+     * @see org.eclipse.jface.text.IInformationControlExtension5#isVisible()
+     */
+    public boolean isVisible() {
+        return this.fShell != null && !this.fShell.isDisposed() && this.fShell.isVisible();
+    }
 
-	/**
-	 * {@inheritDoc} This default implementation returns <code>null</code>. Subclasses may override.
-	 */
-	public IInformationControlCreator getInformationPresenterControlCreator() {
-		return null;
-	}
+    /**
+     * {@inheritDoc} This default implementation returns <code>null</code>. Subclasses may override.
+     */
+    public IInformationControlCreator getInformationPresenterControlCreator() {
+        return null;
+    }
 
-	/**
-	 * Computes the size constraints based on the {@link JFaceResources#getDialogFont() dialog font}. Subclasses can
-	 * override or extend.
-	 * 
-	 * @see org.eclipse.jface.text.IInformationControlExtension5#computeSizeConstraints(int, int)
-	 */
-	public Point computeSizeConstraints(int widthInChars, int heightInChars) {
-		GC gc = new GC(fContentComposite);
-		gc.setFont(JFaceResources.getDialogFont());
-		int width = gc.getFontMetrics().getAverageCharWidth();
-		int height = gc.getFontMetrics().getHeight();
-		gc.dispose();
+    /**
+     * Computes the size constraints based on the {@link JFaceResources#getDialogFont() dialog font}. Subclasses can
+     * override or extend.
+     *
+     * @see org.eclipse.jface.text.IInformationControlExtension5#computeSizeConstraints(int, int)
+     */
+    public Point computeSizeConstraints(int widthInChars, int heightInChars) {
+        GC gc = new GC(this.fContentComposite);
+        gc.setFont(JFaceResources.getDialogFont());
+        int width = gc.getFontMetrics().getAverageCharWidth();
+        int height = gc.getFontMetrics().getHeight();
+        gc.dispose();
 
-		return new Point(widthInChars * width, heightInChars * height);
-	}
+        return new Point(widthInChars * width, heightInChars * height);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/JFaceDefaultInformationControl.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/JFaceDefaultInformationControl.java
index ee91790..e39f8bd 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/JFaceDefaultInformationControl.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/JFaceDefaultInformationControl.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.text;
 
 import org.eclipse.jface.action.ToolBarManager;
@@ -37,433 +38,392 @@
  * <p>
  * Displays textual information in a {@link org.eclipse.swt.custom.StyledText}widget. Before displaying, the information
  * set to this information control is processed by an <code>IInformationPresenter</code>.
- * 
+ *
  * @author Christian Dupuis
  * @since 2.0
  */
 public class JFaceDefaultInformationControl extends JFaceAbstractInformationControl implements DisposeListener {
 
-	/**
-	 * An information presenter determines the style presentation of information displayed in the default information
-	 * control. The interface can be implemented by clients.
-	 * 
-	 * @since 3.2
-	 */
-	public interface IInformationPresenterExtension {
+    /**
+     * An information presenter determines the style presentation of information displayed in the default information
+     * control. The interface can be implemented by clients.
+     *
+     * @since 3.2
+     */
+    public interface IInformationPresenterExtension {
 
-		/**
-		 * Updates the given presentation of the given information and thereby may manipulate the information to be
-		 * displayed. The manipulation could be the extraction of textual encoded style information etc. Returns the
-		 * manipulated information.
-		 * <p>
-		 * Replaces
-		 * {@link DefaultInformationControl.IInformationPresenter#updatePresentation(Display, String, TextPresentation, int, int)}
-		 * Implementations should use the font of the given <code>drawable</code> to calculate the size of the text to
-		 * be presented.
-		 * </p>
-		 * 
-		 * @param drawable
-		 *            the drawable of the information control
-		 * @param hoverInfo
-		 *            the information to be presented
-		 * @param presentation
-		 *            the presentation to be updated
-		 * @param maxWidth
-		 *            the maximal width in pixels
-		 * @param maxHeight
-		 *            the maximal height in pixels
-		 * @return the manipulated information
-		 */
-		String updatePresentation(Drawable drawable, String hoverInfo, TextPresentation presentation, int maxWidth,
-				int maxHeight);
-	}
+        /**
+         * Updates the given presentation of the given information and thereby may manipulate the information to be
+         * displayed. The manipulation could be the extraction of textual encoded style information etc. Returns the
+         * manipulated information.
+         * <p>
+         * Replaces
+         * {@link DefaultInformationControl.IInformationPresenter#updatePresentation(Display, String, TextPresentation, int, int)}
+         * Implementations should use the font of the given <code>drawable</code> to calculate the size of the text to
+         * be presented.
+         * </p>
+         *
+         * @param drawable the drawable of the information control
+         * @param hoverInfo the information to be presented
+         * @param presentation the presentation to be updated
+         * @param maxWidth the maximal width in pixels
+         * @param maxHeight the maximal height in pixels
+         * @return the manipulated information
+         */
+        String updatePresentation(Drawable drawable, String hoverInfo, TextPresentation presentation, int maxWidth, int maxHeight);
+    }
 
-	/**
-	 * Inner border thickness in pixels.
-	 * 
-	 * @since 3.1
-	 */
-	private static final int INNER_BORDER = 1;
+    /**
+     * Inner border thickness in pixels.
+     *
+     * @since 3.1
+     */
+    private static final int INNER_BORDER = 1;
 
-	/** The control's text widget */
-	private StyledText fText;
+    /** The control's text widget */
+    private StyledText fText;
 
-	/** The information presenter, or <code>null</code> if none. */
-	private final IInformationPresenter fPresenter;
+    /** The information presenter, or <code>null</code> if none. */
+    private final IInformationPresenter fPresenter;
 
-	/** A cached text presentation */
-	private final TextPresentation fPresentation = new TextPresentation();
+    /** A cached text presentation */
+    private final TextPresentation fPresentation = new TextPresentation();
 
-	/**
-	 * Additional styles to use for the text control.
-	 * 
-	 * @since 3.4, previously called <code>fTextStyle</code>
-	 */
-	private final int fAdditionalTextStyles;
+    /**
+     * Additional styles to use for the text control.
+     *
+     * @since 3.4, previously called <code>fTextStyle</code>
+     */
+    private final int fAdditionalTextStyles;
 
-	/**
-	 * Creates a default information control with the given shell as parent. An information presenter that can handle
-	 * simple HTML is used to process the information to be displayed.
-	 * 
-	 * @param parent
-	 *            the parent shell
-	 * @param isResizeable
-	 *            <code>true</code> if the control should be resizable
-	 * @since 3.4
-	 */
-	public JFaceDefaultInformationControl(Shell parent, boolean isResizeable) {
-		super(parent, isResizeable);
-		fAdditionalTextStyles = isResizeable ? SWT.V_SCROLL | SWT.H_SCROLL : SWT.NONE;
-		fPresenter = new HTMLTextPresenter(!isResizeable);
-		create();
-	}
+    /**
+     * Creates a default information control with the given shell as parent. An information presenter that can handle
+     * simple HTML is used to process the information to be displayed.
+     *
+     * @param parent the parent shell
+     * @param isResizeable <code>true</code> if the control should be resizable
+     * @since 3.4
+     */
+    public JFaceDefaultInformationControl(Shell parent, boolean isResizeable) {
+        super(parent, isResizeable);
+        this.fAdditionalTextStyles = isResizeable ? SWT.V_SCROLL | SWT.H_SCROLL : SWT.NONE;
+        this.fPresenter = new HTMLTextPresenter(!isResizeable);
+        create();
+    }
 
-	/**
-	 * Creates a default information control with the given shell as parent. An information presenter that can handle
-	 * simple HTML is used to process the information to be displayed.
-	 * 
-	 * @param parent
-	 *            the parent shell
-	 * @param statusFieldText
-	 *            the text to be used in the status field or <code>null</code> to hide the status field
-	 * @since 3.4
-	 */
-	public JFaceDefaultInformationControl(Shell parent, String statusFieldText) {
-		this(parent, statusFieldText, new HTMLTextPresenter(true));
-	}
+    /**
+     * Creates a default information control with the given shell as parent. An information presenter that can handle
+     * simple HTML is used to process the information to be displayed.
+     *
+     * @param parent the parent shell
+     * @param statusFieldText the text to be used in the status field or <code>null</code> to hide the status field
+     * @since 3.4
+     */
+    public JFaceDefaultInformationControl(Shell parent, String statusFieldText) {
+        this(parent, statusFieldText, new HTMLTextPresenter(true));
+    }
 
-	/**
-	 * Creates a default information control with the given shell as parent. The given information presenter is used to
-	 * process the information to be displayed.
-	 * 
-	 * @param parent
-	 *            the parent shell
-	 * @param statusFieldText
-	 *            the text to be used in the status field or <code>null</code> to hide the status field
-	 * @param presenter
-	 *            the presenter to be used, or <code>null</code> if no presenter should be used
-	 * @since 3.4
-	 */
-	public JFaceDefaultInformationControl(Shell parent, String statusFieldText, IInformationPresenter presenter) {
-		super(parent, statusFieldText);
-		fAdditionalTextStyles = SWT.NONE;
-		fPresenter = presenter;
-		create();
-	}
+    /**
+     * Creates a default information control with the given shell as parent. The given information presenter is used to
+     * process the information to be displayed.
+     *
+     * @param parent the parent shell
+     * @param statusFieldText the text to be used in the status field or <code>null</code> to hide the status field
+     * @param presenter the presenter to be used, or <code>null</code> if no presenter should be used
+     * @since 3.4
+     */
+    public JFaceDefaultInformationControl(Shell parent, String statusFieldText, IInformationPresenter presenter) {
+        super(parent, statusFieldText);
+        this.fAdditionalTextStyles = SWT.NONE;
+        this.fPresenter = presenter;
+        create();
+    }
 
-	/**
-	 * Creates a resizable default information control with the given shell as parent. An information presenter that can
-	 * handle simple HTML is used to process the information to be displayed.
-	 * 
-	 * @param parent
-	 *            the parent shell
-	 * @param toolBarManager
-	 *            the manager or <code>null</code> if toolbar is not desired
-	 * @since 3.4
-	 */
-	public JFaceDefaultInformationControl(Shell parent, ToolBarManager toolBarManager) {
-		this(parent, toolBarManager, new HTMLTextPresenter(false));
-	}
+    /**
+     * Creates a resizable default information control with the given shell as parent. An information presenter that can
+     * handle simple HTML is used to process the information to be displayed.
+     *
+     * @param parent the parent shell
+     * @param toolBarManager the manager or <code>null</code> if toolbar is not desired
+     * @since 3.4
+     */
+    public JFaceDefaultInformationControl(Shell parent, ToolBarManager toolBarManager) {
+        this(parent, toolBarManager, new HTMLTextPresenter(false));
+    }
 
-	/**
-	 * Creates a resizable default information control with the given shell as parent. The given information presenter
-	 * is used to process the information to be displayed.
-	 * 
-	 * @param parent
-	 *            the parent shell
-	 * @param toolBarManager
-	 *            the manager or <code>null</code> if toolbar is not desired
-	 * @param presenter
-	 *            the presenter to be used, or <code>null</code> if no presenter should be used
-	 * @since 3.4
-	 */
-	public JFaceDefaultInformationControl(Shell parent, ToolBarManager toolBarManager, IInformationPresenter presenter) {
-		super(parent, toolBarManager);
-		fAdditionalTextStyles = SWT.V_SCROLL | SWT.H_SCROLL;
-		fPresenter = presenter;
-		create();
-	}
+    /**
+     * Creates a resizable default information control with the given shell as parent. The given information presenter
+     * is used to process the information to be displayed.
+     *
+     * @param parent the parent shell
+     * @param toolBarManager the manager or <code>null</code> if toolbar is not desired
+     * @param presenter the presenter to be used, or <code>null</code> if no presenter should be used
+     * @since 3.4
+     */
+    public JFaceDefaultInformationControl(Shell parent, ToolBarManager toolBarManager, IInformationPresenter presenter) {
+        super(parent, toolBarManager);
+        this.fAdditionalTextStyles = SWT.V_SCROLL | SWT.H_SCROLL;
+        this.fPresenter = presenter;
+        create();
+    }
 
-	/**
-	 * Creates a default information control with the given shell as parent. No information presenter is used to process
-	 * the information to be displayed.
-	 * 
-	 * @param parent
-	 *            the parent shell
-	 */
-	public JFaceDefaultInformationControl(Shell parent) {
-		this(parent, (String) null, null);
-	}
+    /**
+     * Creates a default information control with the given shell as parent. No information presenter is used to process
+     * the information to be displayed.
+     *
+     * @param parent the parent shell
+     */
+    public JFaceDefaultInformationControl(Shell parent) {
+        this(parent, (String) null, null);
+    }
 
-	/**
-	 * Creates a default information control with the given shell as parent. The given information presenter is used to
-	 * process the information to be displayed.
-	 * 
-	 * @param parent
-	 *            the parent shell
-	 * @param presenter
-	 *            the presenter to be used
-	 */
-	public JFaceDefaultInformationControl(Shell parent, IInformationPresenter presenter) {
-		this(parent, (String) null, presenter);
-	}
+    /**
+     * Creates a default information control with the given shell as parent. The given information presenter is used to
+     * process the information to be displayed.
+     *
+     * @param parent the parent shell
+     * @param presenter the presenter to be used
+     */
+    public JFaceDefaultInformationControl(Shell parent, IInformationPresenter presenter) {
+        this(parent, (String) null, presenter);
+    }
 
-	/**
-	 * Creates a default information control with the given shell as parent. The given information presenter is used to
-	 * process the information to be displayed. The given styles are applied to the created styled text widget.
-	 * 
-	 * @param parent
-	 *            the parent shell
-	 * @param shellStyle
-	 *            the additional styles for the shell
-	 * @param style
-	 *            the additional styles for the styled text widget
-	 * @param presenter
-	 *            the presenter to be used
-	 * @deprecated As of 3.4, replaced by simpler constructors
-	 */
-	@Deprecated
-	public JFaceDefaultInformationControl(Shell parent, int shellStyle, int style, IInformationPresenter presenter) {
-		this(parent, shellStyle, style, presenter, null);
-	}
+    /**
+     * Creates a default information control with the given shell as parent. The given information presenter is used to
+     * process the information to be displayed. The given styles are applied to the created styled text widget.
+     *
+     * @param parent the parent shell
+     * @param shellStyle the additional styles for the shell
+     * @param style the additional styles for the styled text widget
+     * @param presenter the presenter to be used
+     * @deprecated As of 3.4, replaced by simpler constructors
+     */
+    @Deprecated
+    public JFaceDefaultInformationControl(Shell parent, int shellStyle, int style, IInformationPresenter presenter) {
+        this(parent, shellStyle, style, presenter, null);
+    }
 
-	/**
-	 * Creates a default information control with the given shell as parent. The given information presenter is used to
-	 * process the information to be displayed. The given styles are applied to the created styled text widget.
-	 * 
-	 * @param parentShell
-	 *            the parent shell
-	 * @param shellStyle
-	 *            the additional styles for the shell
-	 * @param style
-	 *            the additional styles for the styled text widget
-	 * @param presenter
-	 *            the presenter to be used
-	 * @param statusFieldText
-	 *            the text to be used in the status field or <code>null</code> to hide the status field
-	 * @since 3.0
-	 * @deprecated As of 3.4, replaced by simpler constructors
-	 */
-	@Deprecated
-	public JFaceDefaultInformationControl(Shell parentShell, int shellStyle, final int style,
-			IInformationPresenter presenter, String statusFieldText) {
-		super(parentShell, SWT.NO_FOCUS | SWT.ON_TOP | shellStyle, statusFieldText, null);
-		fAdditionalTextStyles = style;
-		fPresenter = presenter;
-		create();
-	}
+    /**
+     * Creates a default information control with the given shell as parent. The given information presenter is used to
+     * process the information to be displayed. The given styles are applied to the created styled text widget.
+     *
+     * @param parentShell the parent shell
+     * @param shellStyle the additional styles for the shell
+     * @param style the additional styles for the styled text widget
+     * @param presenter the presenter to be used
+     * @param statusFieldText the text to be used in the status field or <code>null</code> to hide the status field
+     * @since 3.0
+     * @deprecated As of 3.4, replaced by simpler constructors
+     */
+    @Deprecated
+    public JFaceDefaultInformationControl(Shell parentShell, int shellStyle, final int style, IInformationPresenter presenter,
+        String statusFieldText) {
+        super(parentShell, SWT.NO_FOCUS | SWT.ON_TOP | shellStyle, statusFieldText, null);
+        this.fAdditionalTextStyles = style;
+        this.fPresenter = presenter;
+        create();
+    }
 
-	/**
-	 * Creates a default information control with the given shell as parent. The given information presenter is used to
-	 * process the information to be displayed.
-	 * 
-	 * @param parent
-	 *            the parent shell
-	 * @param textStyles
-	 *            the additional styles for the styled text widget
-	 * @param presenter
-	 *            the presenter to be used
-	 * @deprecated As of 3.4, replaced by
-	 *             {@link #DefaultInformationControl(Shell, DefaultInformationControl.IInformationPresenter)}
-	 */
-	@Deprecated
-	public JFaceDefaultInformationControl(Shell parent, int textStyles, IInformationPresenter presenter) {
-		this(parent, textStyles, presenter, null);
-	}
+    /**
+     * Creates a default information control with the given shell as parent. The given information presenter is used to
+     * process the information to be displayed.
+     *
+     * @param parent the parent shell
+     * @param textStyles the additional styles for the styled text widget
+     * @param presenter the presenter to be used
+     * @deprecated As of 3.4, replaced by
+     *             {@link #DefaultInformationControl(Shell, DefaultInformationControl.IInformationPresenter)}
+     */
+    @Deprecated
+    public JFaceDefaultInformationControl(Shell parent, int textStyles, IInformationPresenter presenter) {
+        this(parent, textStyles, presenter, null);
+    }
 
-	/**
-	 * Creates a default information control with the given shell as parent. The given information presenter is used to
-	 * process the information to be displayed.
-	 * 
-	 * @param parent
-	 *            the parent shell
-	 * @param textStyles
-	 *            the additional styles for the styled text widget
-	 * @param presenter
-	 *            the presenter to be used
-	 * @param statusFieldText
-	 *            the text to be used in the status field or <code>null</code> to hide the status field
-	 * @since 3.0
-	 * @deprecated As of 3.4, replaced by
-	 *             {@link #DefaultInformationControl(Shell, String, DefaultInformationControl.IInformationPresenter)}
-	 */
-	@Deprecated
-	public JFaceDefaultInformationControl(Shell parent, int textStyles, IInformationPresenter presenter,
-			String statusFieldText) {
-		super(parent, statusFieldText);
-		fAdditionalTextStyles = textStyles;
-		fPresenter = presenter;
-		create();
-	}
+    /**
+     * Creates a default information control with the given shell as parent. The given information presenter is used to
+     * process the information to be displayed.
+     *
+     * @param parent the parent shell
+     * @param textStyles the additional styles for the styled text widget
+     * @param presenter the presenter to be used
+     * @param statusFieldText the text to be used in the status field or <code>null</code> to hide the status field
+     * @since 3.0
+     * @deprecated As of 3.4, replaced by
+     *             {@link #DefaultInformationControl(Shell, String, DefaultInformationControl.IInformationPresenter)}
+     */
+    @Deprecated
+    public JFaceDefaultInformationControl(Shell parent, int textStyles, IInformationPresenter presenter, String statusFieldText) {
+        super(parent, statusFieldText);
+        this.fAdditionalTextStyles = textStyles;
+        this.fPresenter = presenter;
+        create();
+    }
 
-	/*
-	 * @see
-	 * org.eclipse.jface.text.AbstractInformationControl#createContent(org.eclipse
-	 * .swt.widgets.Composite)
-	 */
-	@Override
-	protected void createContent(Composite parent) {
-		fText = new StyledText(parent, SWT.MULTI | SWT.READ_ONLY | fAdditionalTextStyles);
-		fText.setForeground(parent.getForeground());
-		fText.setBackground(parent.getBackground());
-		fText.setFont(JFaceResources.getDialogFont());
-		FillLayout layout = (FillLayout) parent.getLayout();
-		if (fText.getWordWrap()) {
-			// indent does not work for wrapping StyledText, see
-			// https://bugs.eclipse.org/bugs/show_bug.cgi?id=56342 and
-			// https://bugs.eclipse.org/bugs/show_bug.cgi?id=115432
-			layout.marginHeight = INNER_BORDER;
-			layout.marginWidth = INNER_BORDER;
-		} else {
-			fText.setIndent(INNER_BORDER);
-		}
-	}
+    /*
+     * @see org.eclipse.jface.text.AbstractInformationControl#createContent(org.eclipse .swt.widgets.Composite)
+     */
+    @Override
+    protected void createContent(Composite parent) {
+        this.fText = new StyledText(parent, SWT.MULTI | SWT.READ_ONLY | this.fAdditionalTextStyles);
+        this.fText.setForeground(parent.getForeground());
+        this.fText.setBackground(parent.getBackground());
+        this.fText.setFont(JFaceResources.getDialogFont());
+        FillLayout layout = (FillLayout) parent.getLayout();
+        if (this.fText.getWordWrap()) {
+            // indent does not work for wrapping StyledText, see
+            // https://bugs.eclipse.org/bugs/show_bug.cgi?id=56342 and
+            // https://bugs.eclipse.org/bugs/show_bug.cgi?id=115432
+            layout.marginHeight = INNER_BORDER;
+            layout.marginWidth = INNER_BORDER;
+        } else {
+            this.fText.setIndent(INNER_BORDER);
+        }
+    }
 
-	/*
-	 * @see IInformationControl#setInformation(String)
-	 */
-	@Override
-	public void setInformation(String content) {
-		if (fPresenter == null) {
-			fText.setText(content);
-		} else {
-			fPresentation.clear();
+    /*
+     * @see IInformationControl#setInformation(String)
+     */
+    @Override
+    public void setInformation(String content) {
+        if (this.fPresenter == null) {
+            this.fText.setText(content);
+        } else {
+            this.fPresentation.clear();
 
-			int maxWidth = -1;
-			int maxHeight = -1;
-			Point constraints = getSizeConstraints();
-			if (constraints != null) {
-				maxWidth = constraints.x;
-				maxHeight = constraints.y;
-				if (fText.getWordWrap()) {
-					maxWidth -= INNER_BORDER * 2;
-					maxHeight -= INNER_BORDER * 2;
-				} else {
-					maxWidth -= INNER_BORDER; // indent
-				}
-				Rectangle trim = computeTrim();
-				maxWidth -= trim.width;
-				maxHeight -= trim.height;
-				maxWidth -= fText.getCaret().getSize().x; // StyledText adds a
-				// border at the end
-				// of the line for
-				// the caret.
-			}
-			if (isResizable()) {
-				maxHeight = Integer.MAX_VALUE;
-			}
+            int maxWidth = -1;
+            int maxHeight = -1;
+            Point constraints = getSizeConstraints();
+            if (constraints != null) {
+                maxWidth = constraints.x;
+                maxHeight = constraints.y;
+                if (this.fText.getWordWrap()) {
+                    maxWidth -= INNER_BORDER * 2;
+                    maxHeight -= INNER_BORDER * 2;
+                } else {
+                    maxWidth -= INNER_BORDER; // indent
+                }
+                Rectangle trim = computeTrim();
+                maxWidth -= trim.width;
+                maxHeight -= trim.height;
+                maxWidth -= this.fText.getCaret().getSize().x; // StyledText adds a
+                // border at the end
+                // of the line for
+                // the caret.
+            }
+            if (isResizable()) {
+                maxHeight = Integer.MAX_VALUE;
+            }
 
-			if (fPresenter instanceof IInformationPresenterExtension) {
-				content = ((IInformationPresenterExtension) fPresenter).updatePresentation(fText, content,
-						fPresentation, maxWidth, maxHeight);
-			} else {
-				content = fPresenter.updatePresentation(getShell().getDisplay(), content, fPresentation, maxWidth,
-						maxHeight);
-			}
+            if (this.fPresenter instanceof IInformationPresenterExtension) {
+                content = ((IInformationPresenterExtension) this.fPresenter).updatePresentation(this.fText, content, this.fPresentation, maxWidth,
+                    maxHeight);
+            } else {
+                content = this.fPresenter.updatePresentation(getShell().getDisplay(), content, this.fPresentation, maxWidth, maxHeight);
+            }
 
-			if (content != null) {
-				fText.setText(content);
-				TextPresentation.applyTextPresentation(fPresentation, fText);
-			} else {
-				fText.setText(""); //$NON-NLS-1$
-			}
-		}
-	}
+            if (content != null) {
+                this.fText.setText(content);
+                TextPresentation.applyTextPresentation(this.fPresentation, this.fText);
+            } else {
+                this.fText.setText(""); //$NON-NLS-1$
+            }
+        }
+    }
 
-	/*
-	 * @see IInformationControl#setVisible(boolean)
-	 */
-	@Override
-	public void setVisible(boolean visible) {
-		if (visible) {
-			if (fText.getWordWrap()) {
-				Point currentSize = getShell().getSize();
-				getShell().pack(true);
-				Point newSize = getShell().getSize();
-				if (newSize.x > currentSize.x || newSize.y > currentSize.y) {
-					setSize(currentSize.x, currentSize.y); // restore previous
-					// size
-				}
-			}
-		}
+    /*
+     * @see IInformationControl#setVisible(boolean)
+     */
+    @Override
+    public void setVisible(boolean visible) {
+        if (visible) {
+            if (this.fText.getWordWrap()) {
+                Point currentSize = getShell().getSize();
+                getShell().pack(true);
+                Point newSize = getShell().getSize();
+                if (newSize.x > currentSize.x || newSize.y > currentSize.y) {
+                    setSize(currentSize.x, currentSize.y); // restore previous
+                    // size
+                }
+            }
+        }
 
-		super.setVisible(visible);
-	}
+        super.setVisible(visible);
+    }
 
-	/*
-	 * @see IInformationControl#computeSizeHint()
-	 */
-	@Override
-	public Point computeSizeHint() {
-		// see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=117602
-		int widthHint = SWT.DEFAULT;
-		Point constraints = getSizeConstraints();
-		if (constraints != null && fText.getWordWrap()) {
-			widthHint = constraints.x;
-		}
+    /*
+     * @see IInformationControl#computeSizeHint()
+     */
+    @Override
+    public Point computeSizeHint() {
+        // see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=117602
+        int widthHint = SWT.DEFAULT;
+        Point constraints = getSizeConstraints();
+        if (constraints != null && this.fText.getWordWrap()) {
+            widthHint = constraints.x;
+        }
 
-		return getShell().computeSize(widthHint, SWT.DEFAULT, true);
-	}
+        return getShell().computeSize(widthHint, SWT.DEFAULT, true);
+    }
 
-	/*
-	 * @see org.eclipse.jface.text.AbstractInformationControl#computeTrim()
-	 */
-	@Override
-	public Rectangle computeTrim() {
-		return Geometry.add(super.computeTrim(), fText.computeTrim(0, 0, 0, 0));
-	}
+    /*
+     * @see org.eclipse.jface.text.AbstractInformationControl#computeTrim()
+     */
+    @Override
+    public Rectangle computeTrim() {
+        return Geometry.add(super.computeTrim(), this.fText.computeTrim(0, 0, 0, 0));
+    }
 
-	/*
-	 * @see IInformationControl#setForegroundColor(Color)
-	 */
-	@Override
-	public void setForegroundColor(Color foreground) {
-		super.setForegroundColor(foreground);
-		fText.setForeground(foreground);
-	}
+    /*
+     * @see IInformationControl#setForegroundColor(Color)
+     */
+    @Override
+    public void setForegroundColor(Color foreground) {
+        super.setForegroundColor(foreground);
+        this.fText.setForeground(foreground);
+    }
 
-	/*
-	 * @see IInformationControl#setBackgroundColor(Color)
-	 */
-	@Override
-	public void setBackgroundColor(Color background) {
-		super.setBackgroundColor(background);
-		fText.setBackground(background);
-	}
+    /*
+     * @see IInformationControl#setBackgroundColor(Color)
+     */
+    @Override
+    public void setBackgroundColor(Color background) {
+        super.setBackgroundColor(background);
+        this.fText.setBackground(background);
+    }
 
-	/*
-	 * @see IInformationControlExtension#hasContents()
-	 */
-	public boolean hasContents() {
-		return fText.getCharCount() > 0;
-	}
+    /*
+     * @see IInformationControlExtension#hasContents()
+     */
+    public boolean hasContents() {
+        return this.fText.getCharCount() > 0;
+    }
 
-	/**
-	 * @see org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent)
-	 * @since 3.0
-	 * @deprecated As of 3.2, no longer used and called
-	 */
-	@Deprecated
-	public void widgetDisposed(DisposeEvent event) {
-	}
+    /**
+     * @see org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent)
+     * @since 3.0
+     * @deprecated As of 3.2, no longer used and called
+     */
+    @Deprecated
+    public void widgetDisposed(DisposeEvent event) {
+    }
 
-	/*
-	 * @seeorg.eclipse.jface.text.IInformationControlExtension5#
-	 * getInformationPresenterControlCreator()
-	 * 
-	 * @since 3.4
-	 */
-	@Override
-	public IInformationControlCreator getInformationPresenterControlCreator() {
-		return new IInformationControlCreator() {
-			/*
-			 * @seeorg.eclipse.jface.text.IInformationControlCreator#
-			 * createInformationControl(org.eclipse.swt.widgets.Shell)
-			 */
-			public IInformationControl createInformationControl(Shell parent) {
-				return new JFaceDefaultInformationControl(parent, (ToolBarManager) null, fPresenter);
-			}
-		};
-	}
+    /*
+     * @seeorg.eclipse.jface.text.IInformationControlExtension5# getInformationPresenterControlCreator()
+     *
+     * @since 3.4
+     */
+    @Override
+    public IInformationControlCreator getInformationPresenterControlCreator() {
+        return new IInformationControlCreator() {
+
+            /*
+             * @seeorg.eclipse.jface.text.IInformationControlCreator#
+             * createInformationControl(org.eclipse.swt.widgets.Shell)
+             */
+            public IInformationControl createInformationControl(Shell parent) {
+                return new JFaceDefaultInformationControl(parent, (ToolBarManager) null, JFaceDefaultInformationControl.this.fPresenter);
+            }
+        };
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/JFaceIInformationControlExtension5.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/JFaceIInformationControlExtension5.java
index 4736385..ce3dcaf 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/JFaceIInformationControlExtension5.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/text/JFaceIInformationControlExtension5.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.editors.text;
 
 import org.eclipse.jface.resource.JFaceResources;
@@ -30,75 +31,72 @@
  * <p>
  * <b>Important:</b> Enriching this information control only works properly if
  * {@link IInformationControl#isFocusControl()} is implemented like this ( <code>fShell</code> is the control's shell):
- * 
+ *
  * <pre>
  * return fShell.getDisplay().getActiveShell() == fShell
  * </pre>
- * 
+ *
  * Likewise, {@link IInformationControl#addFocusListener(org.eclipse.swt.events.FocusListener)}should install listeners
  * for {@link SWT#Activate} and {@link SWT#Deactivate}on the shell and forward events to the focus listeners. Clients
  * are encouraged to subclass {@link AbstractInformationControl}, which does this for free.
  * </p>
- * 
+ *
  * @author Christian Dupuis
  * @see org.eclipse.jface.text.IInformationControl
  * @since 3.4
  */
 public interface JFaceIInformationControlExtension5 {
 
-	/**
-	 * Tests whether the given control is this information control or a child of this information control.
-	 * 
-	 * @param control
-	 *            the control to test
-	 * @return <code>true</code> iff the given control is this information control or a child of this information
-	 *         control
-	 */
-	public boolean containsControl(Control control);
+    /**
+     * Tests whether the given control is this information control or a child of this information control.
+     *
+     * @param control the control to test
+     * @return <code>true</code> iff the given control is this information control or a child of this information
+     *         control
+     */
+    public boolean containsControl(Control control);
 
-	/**
-	 * @return <code>true</code> iff the information control is currently visible
-	 */
-	public abstract boolean isVisible();
+    /**
+     * @return <code>true</code> iff the information control is currently visible
+     */
+    public abstract boolean isVisible();
 
-	/**
-	 * Computes the width- and height constraints of the information control in pixels, based on the given width and
-	 * height in characters. Implementors should use the main font of the information control to do the
-	 * characters-to-pixels conversion. This is typically the {@link JFaceResources#getDialogFont() dialog font}.
-	 * 
-	 * @param widthInChars
-	 *            the width constraint in number of characters
-	 * @param heightInChars
-	 *            the height constraint in number of characters
-	 * @return a point with width and height in pixels, or <code>null</code> to use the subject control's font to
-	 *         calculate the size
-	 */
-	public Point computeSizeConstraints(int widthInChars, int heightInChars);
+    /**
+     * Computes the width- and height constraints of the information control in pixels, based on the given width and
+     * height in characters. Implementors should use the main font of the information control to do the
+     * characters-to-pixels conversion. This is typically the {@link JFaceResources#getDialogFont() dialog font}.
+     *
+     * @param widthInChars the width constraint in number of characters
+     * @param heightInChars the height constraint in number of characters
+     * @return a point with width and height in pixels, or <code>null</code> to use the subject control's font to
+     *         calculate the size
+     */
+    public Point computeSizeConstraints(int widthInChars, int heightInChars);
 
-	/**
-	 * Returns the rich information control creator for this information control.
-	 * <p>
-	 * The returned information control creator is used to create an enriched version of this information control, e.g.
-	 * when the mouse is moved into this control and it needs to be enriched} or when it needs to be made sticky for
-	 * other reasons.
-	 * </p>
-	 * <p>
-	 * The returned information control creator must create information controls that implement
-	 * {@link IInformationControlExtension3} and {@link IInformationControlExtension2}, and whose
-	 * {@link IInformationControlExtension2#setInput(Object)} accepts all inputs that are also supported by this
-	 * information control.
-	 * </p>
-	 * <p>
-	 * Note that automatic enriching of this information control works only if it also implements
-	 * {@link IInformationControlExtension3}.
-	 * </p>
-	 * <p>
-	 * This method may be called frequently, so implementors should ensure it returns quickly, e.g. by caching the
-	 * returned creator.
-	 * </p>
-	 * 
-	 * @return the information presenter control creator or <code>null</code> to disable enriching
-	 */
-	IInformationControlCreator getInformationPresenterControlCreator();
+    /**
+     * Returns the rich information control creator for this information control.
+     * <p>
+     * The returned information control creator is used to create an enriched version of this information control, e.g.
+     * when the mouse is moved into this control and it needs to be enriched} or when it needs to be made sticky for
+     * other reasons.
+     * </p>
+     * <p>
+     * The returned information control creator must create information controls that implement
+     * {@link IInformationControlExtension3} and {@link IInformationControlExtension2}, and whose
+     * {@link IInformationControlExtension2#setInput(Object)} accepts all inputs that are also supported by this
+     * information control.
+     * </p>
+     * <p>
+     * Note that automatic enriching of this information control works only if it also implements
+     * {@link IInformationControlExtension3}.
+     * </p>
+     * <p>
+     * This method may be called frequently, so implementors should ensure it returns quickly, e.g. by caching the
+     * returned creator.
+     * </p>
+     *
+     * @return the information presenter control creator or <code>null</code> to disable enriching
+     */
+    IInformationControlCreator getInformationPresenterControlCreator();
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ConvertToBundleProject.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ConvertToBundleProject.java
index b4ca6b4..0d04fd7 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ConvertToBundleProject.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ConvertToBundleProject.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.internal.actions;
 
 import java.util.ArrayList;
@@ -33,83 +34,85 @@
 
 /**
  * Menu action to add or remove the SpringSource AP bundle project nature/facet from a given project.
- * 
+ *
  * @author Christian Dupuis
  * @since 1.0.0
  */
 public class ConvertToBundleProject implements IObjectActionDelegate {
 
-	private final List<IProject> selected = new ArrayList<IProject>();
+    private final List<IProject> selected = new ArrayList<IProject>();
 
-	public void run(IAction action) {
-		Iterator<IProject> iter = selected.iterator();
-		while (iter.hasNext()) {
-			IProject project = iter.next();
-			if (FacetUtils.isBundleProject(project)) {
-				removeFacetsFromProject(project);
-			} else {
-				addFacetsToProject(project);
-			}
-		}
-	}
+    public void run(IAction action) {
+        Iterator<IProject> iter = this.selected.iterator();
+        while (iter.hasNext()) {
+            IProject project = iter.next();
+            if (FacetUtils.isBundleProject(project)) {
+                removeFacetsFromProject(project);
+            } else {
+                addFacetsToProject(project);
+            }
+        }
+    }
 
-	public void selectionChanged(IAction action, ISelection selection) {
-		selected.clear();
-		if (selection instanceof IStructuredSelection) {
-			boolean enabled = true;
-			Iterator<?> iter = ((IStructuredSelection) selection).iterator();
-			while (iter.hasNext()) {
-				Object obj = iter.next();
-				if (obj instanceof IJavaProject) {
-					obj = ((IJavaProject) obj).getProject();
-				}
-				if (obj instanceof IProject) {
-					IProject project = (IProject) obj;
-					if (!project.isOpen()) {
-						enabled = false;
-						break;
-					} else {
-						selected.add(project);
-					}
-				} else {
-					enabled = false;
-					break;
-				}
-			}
-			action.setEnabled(enabled);
-		}
-	}
+    public void selectionChanged(IAction action, ISelection selection) {
+        this.selected.clear();
+        if (selection instanceof IStructuredSelection) {
+            boolean enabled = true;
+            Iterator<?> iter = ((IStructuredSelection) selection).iterator();
+            while (iter.hasNext()) {
+                Object obj = iter.next();
+                if (obj instanceof IJavaProject) {
+                    obj = ((IJavaProject) obj).getProject();
+                }
+                if (obj instanceof IProject) {
+                    IProject project = (IProject) obj;
+                    if (!project.isOpen()) {
+                        enabled = false;
+                        break;
+                    } else {
+                        this.selected.add(project);
+                    }
+                } else {
+                    enabled = false;
+                    break;
+                }
+            }
+            action.setEnabled(enabled);
+        }
+    }
 
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
+    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+    }
 
-	private void addFacetsToProject(final IProject project) {
-		IWorkspaceRunnable oper = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				IFacetedProject fProject = ProjectFacetsManager.create(project, true, monitor);
-				fProject.installProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.BUNDLE_FACET_ID)
-						.getDefaultVersion(), null, monitor);
-			}
-		};
+    private void addFacetsToProject(final IProject project) {
+        IWorkspaceRunnable oper = new IWorkspaceRunnable() {
 
-		try {
-			ResourcesPlugin.getWorkspace().run(oper, new NullProgressMonitor());
-		} catch (CoreException e) {
-		}
-	}
+            public void run(IProgressMonitor monitor) throws CoreException {
+                IFacetedProject fProject = ProjectFacetsManager.create(project, true, monitor);
+                fProject.installProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.BUNDLE_FACET_ID).getDefaultVersion(), null,
+                    monitor);
+            }
+        };
 
-	private void removeFacetsFromProject(final IProject project) {
-		IWorkspaceRunnable oper = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				IFacetedProject fProject = ProjectFacetsManager.create(project, true, monitor);
-				fProject.uninstallProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.BUNDLE_FACET_ID)
-						.getDefaultVersion(), null, monitor);
-			}
-		};
+        try {
+            ResourcesPlugin.getWorkspace().run(oper, new NullProgressMonitor());
+        } catch (CoreException e) {
+        }
+    }
 
-		try {
-			ResourcesPlugin.getWorkspace().run(oper, new NullProgressMonitor());
-		} catch (CoreException e) {
-		}
-	}
+    private void removeFacetsFromProject(final IProject project) {
+        IWorkspaceRunnable oper = new IWorkspaceRunnable() {
+
+            public void run(IProgressMonitor monitor) throws CoreException {
+                IFacetedProject fProject = ProjectFacetsManager.create(project, true, monitor);
+                fProject.uninstallProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.BUNDLE_FACET_ID).getDefaultVersion(), null,
+                    monitor);
+            }
+        };
+
+        try {
+            ResourcesPlugin.getWorkspace().run(oper, new NullProgressMonitor());
+        } catch (CoreException e) {
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ConvertToPlanProject.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ConvertToPlanProject.java
index 92a6234..56d848b 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ConvertToPlanProject.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ConvertToPlanProject.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.internal.actions;
 
 import java.util.ArrayList;
@@ -33,83 +34,84 @@
 
 /**
  * Menu action to add or remove the SpringSource Plan bundle project nature/facet from a given project.
- * 
+ *
  * @author Christian Dupuis
  * @since 2.3.1
  */
 public class ConvertToPlanProject implements IObjectActionDelegate {
 
-	private final List<IProject> selected = new ArrayList<IProject>();
+    private final List<IProject> selected = new ArrayList<IProject>();
 
-	public void run(IAction action) {
-		Iterator<IProject> iter = selected.iterator();
-		while (iter.hasNext()) {
-			IProject project = iter.next();
-			if (FacetUtils.isPlanProject(project)) {
-				removeFacetsFromProject(project);
-			} else {
-				addFacetsToProject(project);
-			}
-		}
-	}
+    public void run(IAction action) {
+        Iterator<IProject> iter = this.selected.iterator();
+        while (iter.hasNext()) {
+            IProject project = iter.next();
+            if (FacetUtils.isPlanProject(project)) {
+                removeFacetsFromProject(project);
+            } else {
+                addFacetsToProject(project);
+            }
+        }
+    }
 
-	public void selectionChanged(IAction action, ISelection selection) {
-		selected.clear();
-		if (selection instanceof IStructuredSelection) {
-			boolean enabled = true;
-			Iterator<?> iter = ((IStructuredSelection) selection).iterator();
-			while (iter.hasNext()) {
-				Object obj = iter.next();
-				if (obj instanceof IJavaProject) {
-					obj = ((IJavaProject) obj).getProject();
-				}
-				if (obj instanceof IProject) {
-					IProject project = (IProject) obj;
-					if (!project.isOpen()) {
-						enabled = false;
-						break;
-					} else {
-						selected.add(project);
-					}
-				} else {
-					enabled = false;
-					break;
-				}
-			}
-			action.setEnabled(enabled);
-		}
-	}
+    public void selectionChanged(IAction action, ISelection selection) {
+        this.selected.clear();
+        if (selection instanceof IStructuredSelection) {
+            boolean enabled = true;
+            Iterator<?> iter = ((IStructuredSelection) selection).iterator();
+            while (iter.hasNext()) {
+                Object obj = iter.next();
+                if (obj instanceof IJavaProject) {
+                    obj = ((IJavaProject) obj).getProject();
+                }
+                if (obj instanceof IProject) {
+                    IProject project = (IProject) obj;
+                    if (!project.isOpen()) {
+                        enabled = false;
+                        break;
+                    } else {
+                        this.selected.add(project);
+                    }
+                } else {
+                    enabled = false;
+                    break;
+                }
+            }
+            action.setEnabled(enabled);
+        }
+    }
 
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
+    public void setActivePart(IAction action, IWorkbenchPart targetPart) {
+    }
 
-	private void addFacetsToProject(final IProject project) {
-		IWorkspaceRunnable oper = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				IFacetedProject fProject = ProjectFacetsManager.create(project, true, monitor);
-				fProject.installProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.PLAN_FACET_ID)
-						.getDefaultVersion(), null, monitor);
-			}
-		};
+    private void addFacetsToProject(final IProject project) {
+        IWorkspaceRunnable oper = new IWorkspaceRunnable() {
 
-		try {
-			ResourcesPlugin.getWorkspace().run(oper, new NullProgressMonitor());
-		} catch (CoreException e) {
-		}
-	}
+            public void run(IProgressMonitor monitor) throws CoreException {
+                IFacetedProject fProject = ProjectFacetsManager.create(project, true, monitor);
+                fProject.installProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.PLAN_FACET_ID).getDefaultVersion(), null, monitor);
+            }
+        };
 
-	private void removeFacetsFromProject(final IProject project) {
-		IWorkspaceRunnable oper = new IWorkspaceRunnable() {
-			public void run(IProgressMonitor monitor) throws CoreException {
-				IFacetedProject fProject = ProjectFacetsManager.create(project, true, monitor);
-				fProject.uninstallProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.PLAN_FACET_ID)
-						.getDefaultVersion(), null, monitor);
-			}
-		};
+        try {
+            ResourcesPlugin.getWorkspace().run(oper, new NullProgressMonitor());
+        } catch (CoreException e) {
+        }
+    }
 
-		try {
-			ResourcesPlugin.getWorkspace().run(oper, new NullProgressMonitor());
-		} catch (CoreException e) {
-		}
-	}
+    private void removeFacetsFromProject(final IProject project) {
+        IWorkspaceRunnable oper = new IWorkspaceRunnable() {
+
+            public void run(IProgressMonitor monitor) throws CoreException {
+                IFacetedProject fProject = ProjectFacetsManager.create(project, true, monitor);
+                fProject.uninstallProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.PLAN_FACET_ID).getDefaultVersion(), null,
+                    monitor);
+            }
+        };
+
+        try {
+            ResourcesPlugin.getWorkspace().run(oper, new NullProgressMonitor());
+        } catch (CoreException e) {
+        }
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ManifestFormatAction.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ManifestFormatAction.java
index 1b84973..9d17de1 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ManifestFormatAction.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ManifestFormatAction.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.internal.actions;
 
 import java.lang.reflect.InvocationTargetException;
@@ -22,21 +23,20 @@
  */
 public class ManifestFormatAction extends FormatAction {
 
-	@Override
-	public void run() {
-		if (fTextEditor == null || fTextEditor.getEditorInput() == null) {
-			return;
-		}
+    @Override
+    public void run() {
+        if (this.fTextEditor == null || this.fTextEditor.getEditorInput() == null) {
+            return;
+        }
 
-		try {
-			PlatformUI.getWorkbench()
-					.getProgressService()
-					.busyCursorWhile(new ManifestFormatOperation(new Object[] { fTextEditor.getEditorInput() }));
-		} catch (InvocationTargetException e) {
-			PDEPlugin.log(e);
-		} catch (InterruptedException e) {
-			PDEPlugin.log(e);
-		}
-	}
+        try {
+            PlatformUI.getWorkbench().getProgressService().busyCursorWhile(
+                new ManifestFormatOperation(new Object[] { this.fTextEditor.getEditorInput() }));
+        } catch (InvocationTargetException e) {
+            PDEPlugin.log(e);
+        } catch (InterruptedException e) {
+            PDEPlugin.log(e);
+        }
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ManifestFormatOperation.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ManifestFormatOperation.java
index 52bcbe3..d6a3ece 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ManifestFormatOperation.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/internal/actions/ManifestFormatOperation.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.internal.actions;
 
 import java.lang.reflect.InvocationTargetException;
@@ -38,64 +39,64 @@
  */
 public class ManifestFormatOperation implements IRunnableWithProgress {
 
-	private final Object[] fObjects;
+    private final Object[] fObjects;
 
-	public ManifestFormatOperation(Object[] objects) {
-		fObjects = objects;
-	}
+    public ManifestFormatOperation(Object[] objects) {
+        this.fObjects = objects;
+    }
 
-	public void run(IProgressMonitor mon) throws InvocationTargetException, InterruptedException {
-		mon.beginTask(PDEUIMessages.FormatManifestOperation_task, fObjects.length);
-		for (int i = 0; !mon.isCanceled() && i < fObjects.length; i++) {
-			Object obj = fObjects[i];
-			if (obj instanceof IFileEditorInput) {
-				obj = ((IFileEditorInput) obj).getFile();
-			}
-			if (obj instanceof IFile) {
-				mon.subTask(NLS.bind(PDEUIMessages.FormatManifestOperation_subtask, ((IFile) obj).getFullPath()
-						.toString()));
-				format((IFile) obj, mon);
-			}
-			mon.worked(1);
-		}
-	}
+    public void run(IProgressMonitor mon) throws InvocationTargetException, InterruptedException {
+        mon.beginTask(PDEUIMessages.FormatManifestOperation_task, this.fObjects.length);
+        for (int i = 0; !mon.isCanceled() && i < this.fObjects.length; i++) {
+            Object obj = this.fObjects[i];
+            if (obj instanceof IFileEditorInput) {
+                obj = ((IFileEditorInput) obj).getFile();
+            }
+            if (obj instanceof IFile) {
+                mon.subTask(NLS.bind(PDEUIMessages.FormatManifestOperation_subtask, ((IFile) obj).getFullPath().toString()));
+                format((IFile) obj, mon);
+            }
+            mon.worked(1);
+        }
+    }
 
-	public static void format(IFile file, IProgressMonitor mon) {
-		BundleModelUtility.modifyModel(new BundleModelModification(file) {
-			@Override
-			protected void modifyModel(IBaseModel model, IProgressMonitor monitor) throws CoreException {
-				if (model instanceof IBundlePluginModelBase) {
-					IBundleModel bundleModel = ((IBundlePluginModelBase) model).getBundleModel();
-					if (bundleModel.getBundle() instanceof Bundle) {
-						formatBundle((Bundle) bundleModel.getBundle());
-					}
-				} else if (model instanceof IPluginModelBase) {
-					IPluginBase pluginModel = ((IPluginModelBase) model).getPluginBase();
-					if (pluginModel instanceof PluginBaseNode) {
-						formatXML((PluginBaseNode) pluginModel);
-					}
-				}
-			}
+    public static void format(IFile file, IProgressMonitor mon) {
+        BundleModelUtility.modifyModel(new BundleModelModification(file) {
 
-			@Override
-			public boolean saveOpenEditor() {
-				return false;
-			}
-		}, mon);
-	}
+            @Override
+            protected void modifyModel(IBaseModel model, IProgressMonitor monitor) throws CoreException {
+                if (model instanceof IBundlePluginModelBase) {
+                    IBundleModel bundleModel = ((IBundlePluginModelBase) model).getBundleModel();
+                    if (bundleModel.getBundle() instanceof Bundle) {
+                        formatBundle((Bundle) bundleModel.getBundle());
+                    }
+                } else if (model instanceof IPluginModelBase) {
+                    IPluginBase pluginModel = ((IPluginModelBase) model).getPluginBase();
+                    if (pluginModel instanceof PluginBaseNode) {
+                        formatXML((PluginBaseNode) pluginModel);
+                    }
+                }
+            }
 
-	private static void formatBundle(Bundle bundle) {
-		Iterator headers = bundle.getHeaders().values().iterator();
-		while (headers.hasNext()) {
-			((IManifestHeader) headers.next()).update(true);
-		}
-		BundleModel model = (BundleModel) bundle.getModel();
-		model.adjustOffsets(model.getDocument());
-	}
+            @Override
+            public boolean saveOpenEditor() {
+                return false;
+            }
+        }, mon);
+    }
 
-	private static void formatXML(PluginBaseNode node) {
-		// TODO Auto-generated method stub
+    private static void formatBundle(Bundle bundle) {
+        Iterator headers = bundle.getHeaders().values().iterator();
+        while (headers.hasNext()) {
+            ((IManifestHeader) headers.next()).update(true);
+        }
+        BundleModel model = (BundleModel) bundle.getModel();
+        model.adjustOffsets(model.getDocument());
+    }
 
-	}
+    private static void formatXML(PluginBaseNode node) {
+        // TODO Auto-generated method stub
+
+    }
 
 }
\ No newline at end of file
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/AbstractPropertiesPage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/AbstractPropertiesPage.java
index 6d608e2..e5045a9 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/AbstractPropertiesPage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/AbstractPropertiesPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
 import java.util.Map;
@@ -23,37 +24,36 @@
  */
 public abstract class AbstractPropertiesPage extends WizardPage {
 
-	public AbstractPropertiesPage(String name) {
-		super(name);
-		setTitle("Bundle Properties");
-		setDescription("Set the additional properties of the bundle. "
-				+ "You can modify the properties at any time in the MANIFEST.MF file.");
-	}
+    public AbstractPropertiesPage(String name) {
+        super(name);
+        setTitle("Bundle Properties");
+        setDescription("Set the additional properties of the bundle. " + "You can modify the properties at any time in the MANIFEST.MF file.");
+    }
 
-	public void createControl(Composite parent) {
-		Composite container = new Composite(parent, SWT.NONE);
-		container.setLayout(new GridLayout());
+    public void createControl(Composite parent) {
+        Composite container = new Composite(parent, SWT.NONE);
+        container.setLayout(new GridLayout());
 
-		createPropertiesGroup(container);
-		setControl(container);
-	}
+        createPropertiesGroup(container);
+        setControl(container);
+    }
 
-	protected abstract void createPropertiesGroup(Composite container);
+    protected abstract void createPropertiesGroup(Composite container);
 
-	public abstract String getModuleType();
+    public abstract String getModuleType();
 
-	public abstract Map<String, String> getProperties();
+    public abstract Map<String, String> getProperties();
 
-	@Override
-	public IWizardPage getNextPage() {
-		NewBundleProjectWizard wizard = (NewBundleProjectWizard) getWizard();
-		return wizard.getFinalPage();
-	}
+    @Override
+    public IWizardPage getNextPage() {
+        NewBundleProjectWizard wizard = (NewBundleProjectWizard) getWizard();
+        return wizard.getFinalPage();
+    }
 
-	@Override
-	public IWizardPage getPreviousPage() {
-		NewBundleProjectWizard wizard = (NewBundleProjectWizard) getWizard();
-		return wizard.getInformationPage();
-	}
+    @Override
+    public IWizardPage getPreviousPage() {
+        NewBundleProjectWizard wizard = (NewBundleProjectWizard) getWizard();
+        return wizard.getInformationPage();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleInformationPage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleInformationPage.java
index 51f4c4b..e30a9dd 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleInformationPage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleInformationPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
 import org.eclipse.jface.dialogs.IDialogSettings;
@@ -34,141 +35,140 @@
  */
 public class NewBundleInformationPage extends RuntimeConfigurationPage {
 
-	private Button moduleType;
+    private Button moduleType;
 
-	private Button enableClasspathContainer;
+    private Button enableClasspathContainer;
 
-	private final IDataModel model;
+    private final IDataModel model;
 
-	private final SelectionListener moduleTypeListener = new SelectionListener() {
+    private final SelectionListener moduleTypeListener = new SelectionListener() {
 
-		public void widgetSelected(SelectionEvent e) {
-			NewBundleProjectWizard wizard = (NewBundleProjectWizard) getWizard();
-			AbstractPropertiesPage page;
-			if (!moduleType.getSelection()) {
-				page = (AbstractPropertiesPage) wizard.getPage(NullPropertiesPage.ID_PAGE);
-				if (page != null) {
-					wizard.setPropertiesPage(page);
-				} else {
-					wizard.setPropertiesPage(new NullPropertiesPage());
-				}
-			} else {
-				page = (AbstractPropertiesPage) wizard.getPage(WebModulePropertiesPage.ID_PAGE);
-				if (page != null) {
-					wizard.setPropertiesPage(page);
-				} else {
-					wizard.setPropertiesPage(new WebModulePropertiesPage());
-				}
-			}
-			validatePage();
-		}
+        public void widgetSelected(SelectionEvent e) {
+            NewBundleProjectWizard wizard = (NewBundleProjectWizard) getWizard();
+            AbstractPropertiesPage page;
+            if (!NewBundleInformationPage.this.moduleType.getSelection()) {
+                page = (AbstractPropertiesPage) wizard.getPage(NullPropertiesPage.ID_PAGE);
+                if (page != null) {
+                    wizard.setPropertiesPage(page);
+                } else {
+                    wizard.setPropertiesPage(new NullPropertiesPage());
+                }
+            } else {
+                page = (AbstractPropertiesPage) wizard.getPage(WebModulePropertiesPage.ID_PAGE);
+                if (page != null) {
+                    wizard.setPropertiesPage(page);
+                } else {
+                    wizard.setPropertiesPage(new WebModulePropertiesPage());
+                }
+            }
+            validatePage();
+        }
 
-		public void widgetDefaultSelected(SelectionEvent e) {
-		}
+        public void widgetDefaultSelected(SelectionEvent e) {
+        }
 
-	};
+    };
 
-	protected NewBundleInformationPage(String pageName, IProjectProvider provider, AbstractFieldData data,
-			IDataModel model) {
-		super(pageName, provider, data, model);
-		this.model = model;
-	}
+    protected NewBundleInformationPage(String pageName, IProjectProvider provider, AbstractFieldData data, IDataModel model) {
+        super(pageName, provider, data, model);
+        this.model = model;
+    }
 
-	@Override
-	protected void createAdditionalPropertiesGroup(Composite container) {
-		Group propertiesGroup = new Group(container, SWT.NONE);
-		propertiesGroup.setLayout(new GridLayout(3, false));
-		propertiesGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		propertiesGroup.setText("Additional Properties");
+    @Override
+    protected void createAdditionalPropertiesGroup(Composite container) {
+        Group propertiesGroup = new Group(container, SWT.NONE);
+        propertiesGroup.setLayout(new GridLayout(3, false));
+        propertiesGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        propertiesGroup.setText("Additional Properties");
 
-		moduleType = new Button(propertiesGroup, SWT.CHECK);
-		moduleType.setText("Web Application Bundle");
-		moduleType.setSelection(false);
-		moduleType.addSelectionListener(moduleTypeListener);
+        this.moduleType = new Button(propertiesGroup, SWT.CHECK);
+        this.moduleType.setText("Web Application Bundle");
+        this.moduleType.setSelection(false);
+        this.moduleType.addSelectionListener(this.moduleTypeListener);
 
-		Group classpathGroup = new Group(container, SWT.NONE);
-		classpathGroup.setLayout(new GridLayout(1, false));
-		classpathGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		classpathGroup.setText("Classpath Management");
+        Group classpathGroup = new Group(container, SWT.NONE);
+        classpathGroup.setLayout(new GridLayout(1, false));
+        classpathGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        classpathGroup.setText("Classpath Management");
 
-		enableClasspathContainer = new Button(classpathGroup, SWT.CHECK);
-		enableClasspathContainer.setText("Enable Bundle Classpath Container");
-		enableClasspathContainer.setSelection(true);
-	}
+        this.enableClasspathContainer = new Button(classpathGroup, SWT.CHECK);
+        this.enableClasspathContainer.setText("Enable Bundle Classpath Container");
+        this.enableClasspathContainer.setSelection(true);
+    }
 
-	@Override
-	protected String getContentPageDescription() {
-		return ProjectContentPageStrings.Bundle_ContentPage_desc;
-	}
+    @Override
+    protected String getContentPageDescription() {
+        return ProjectContentPageStrings.Bundle_ContentPage_desc;
+    }
 
-	@Override
-	protected String getContentPageGroupLabel() {
-		return ProjectContentPageStrings.Bundle_ContentPage_pGroup;
-	}
+    @Override
+    protected String getContentPageGroupLabel() {
+        return ProjectContentPageStrings.Bundle_ContentPage_pGroup;
+    }
 
-	@Override
-	protected String getContentPageIdLabel() {
-		return ProjectContentPageStrings.Bundle_ContentPage_pid;
-	}
+    @Override
+    protected String getContentPageIdLabel() {
+        return ProjectContentPageStrings.Bundle_ContentPage_pid;
+    }
 
-	@Override
-	protected String getContentPageNameLabel() {
-		return ProjectContentPageStrings.Bundle_ContentPage_pname;
-	}
+    @Override
+    protected String getContentPageNameLabel() {
+        return ProjectContentPageStrings.Bundle_ContentPage_pname;
+    }
 
-	@Override
-	protected String getContentPagePluginLabel() {
-		return ProjectContentPageStrings.Bundle_ContentPage_plugin;
-	}
+    @Override
+    protected String getContentPagePluginLabel() {
+        return ProjectContentPageStrings.Bundle_ContentPage_plugin;
+    }
 
-	@Override
-	protected String getContentPageProviderLabel() {
-		return ProjectContentPageStrings.Bundle_ContentPage_pprovider;
-	}
+    @Override
+    protected String getContentPageProviderLabel() {
+        return ProjectContentPageStrings.Bundle_ContentPage_pprovider;
+    }
 
-	@Override
-	protected String getContentPageTitle() {
-		return ProjectContentPageStrings.Bundle_ContentPage_title;
-	}
+    @Override
+    protected String getContentPageTitle() {
+        return ProjectContentPageStrings.Bundle_ContentPage_title;
+    }
 
-	@Override
-	protected String getContentPageVersionLabel() {
-		return ProjectContentPageStrings.Bundle_ContentPage_pversion;
-	}
+    @Override
+    protected String getContentPageVersionLabel() {
+        return ProjectContentPageStrings.Bundle_ContentPage_pversion;
+    }
 
-	@Override
-	protected IDialogSettings getDialogSettings() {
-		return ServerIdeUiPlugin.getDefault().getDialogSettings();
-	}
+    @Override
+    protected IDialogSettings getDialogSettings() {
+        return ServerIdeUiPlugin.getDefault().getDialogSettings();
+    }
 
-	@Override
-	protected String getModuleTypeID() {
-		return FacetCorePlugin.BUNDLE_FACET_ID;
-	}
+    @Override
+    protected String getModuleTypeID() {
+        return FacetCorePlugin.BUNDLE_FACET_ID;
+    }
 
-	@Override
-	protected void validatePage() {
-		super.validatePage();
-		if (isPageComplete()) {
-			// validate the additional properties
-		}
-	}
+    @Override
+    protected void validatePage() {
+        super.validatePage();
+        if (isPageComplete()) {
+            // validate the additional properties
+        }
+    }
 
-	@Override
-	public IWizardPage getNextPage() {
-		NewBundleProjectWizard wizard = (NewBundleProjectWizard) getWizard();
-		if (wizard.getPropertiesPage() instanceof NullPropertiesPage) {
-			return wizard.getFinalPage();
-		} else {
-			return wizard.getPropertiesPage();
-		}
-	}
+    @Override
+    public IWizardPage getNextPage() {
+        NewBundleProjectWizard wizard = (NewBundleProjectWizard) getWizard();
+        if (wizard.getPropertiesPage() instanceof NullPropertiesPage) {
+            return wizard.getFinalPage();
+        } else {
+            return wizard.getPropertiesPage();
+        }
+    }
 
-	@Override
-	public void performPageFinish() {
-		super.performPageFinish();
-		model.setBooleanProperty(BundleFacetInstallDataModelProvider.ENABLE_SERVER_CLASSPATH_CONTAINER,
-				enableClasspathContainer.getSelection());
-		model.setBooleanProperty(BundleFacetInstallDataModelProvider.ENABLE_WEB_BUNDLE, moduleType.getSelection());
-	}
+    @Override
+    public void performPageFinish() {
+        super.performPageFinish();
+        this.model.setBooleanProperty(BundleFacetInstallDataModelProvider.ENABLE_SERVER_CLASSPATH_CONTAINER,
+            this.enableClasspathContainer.getSelection());
+        this.model.setBooleanProperty(BundleFacetInstallDataModelProvider.ENABLE_WEB_BUNDLE, this.moduleType.getSelection());
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectCreationPage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectCreationPage.java
index 818b2cf..7e8d7a1 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectCreationPage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectCreationPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
 import org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageOne;
@@ -20,23 +21,23 @@
  */
 public class NewBundleProjectCreationPage extends NewJavaProjectWizardPageTwo {
 
-	public NewBundleProjectCreationPage(NewJavaProjectWizardPageOne mainPage) {
-		super(mainPage);
-	}
+    public NewBundleProjectCreationPage(NewJavaProjectWizardPageOne mainPage) {
+        super(mainPage);
+    }
 
-	@Override
-	public IWizardPage getPreviousPage() {
-		NewBundleProjectWizard wizard = (NewBundleProjectWizard) getWizard();
-		if (wizard.getPropertiesPage() instanceof NullPropertiesPage) {
-			return wizard.getInformationPage();
-		} else {
-			return wizard.getPropertiesPage();
-		}
-	}
+    @Override
+    public IWizardPage getPreviousPage() {
+        NewBundleProjectWizard wizard = (NewBundleProjectWizard) getWizard();
+        if (wizard.getPropertiesPage() instanceof NullPropertiesPage) {
+            return wizard.getInformationPage();
+        } else {
+            return wizard.getPropertiesPage();
+        }
+    }
 
-	@Override
-	public IWizardPage getNextPage() {
-		return null;
-	}
+    @Override
+    public IWizardPage getNextPage() {
+        return null;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectSettingsPage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectSettingsPage.java
index 79891d8..42f04c4 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectSettingsPage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectSettingsPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
 import org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageOne;
@@ -18,14 +19,14 @@
  */
 public class NewBundleProjectSettingsPage extends NewJavaProjectWizardPageOne {
 
-	private static String NEW_PROJECT_SETTINGS_TITLE = "Create a Bundle project";
+    private static String NEW_PROJECT_SETTINGS_TITLE = "Create a Bundle project";
 
-	private static String NEW_PROJECT_SETTINGS_DESCRIPTION = "Create a Bundle project in the workspace or in an external location.";
+    private static String NEW_PROJECT_SETTINGS_DESCRIPTION = "Create a Bundle project in the workspace or in an external location.";
 
-	public NewBundleProjectSettingsPage() {
-		super();
-		setTitle(NEW_PROJECT_SETTINGS_TITLE);
-		setDescription(NEW_PROJECT_SETTINGS_DESCRIPTION);
-	}
+    public NewBundleProjectSettingsPage() {
+        super();
+        setTitle(NEW_PROJECT_SETTINGS_TITLE);
+        setDescription(NEW_PROJECT_SETTINGS_DESCRIPTION);
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectWizard.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectWizard.java
index 2abc6ce..5626389 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectWizard.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewBundleProjectWizard.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
 import java.lang.reflect.InvocationTargetException;
@@ -69,258 +70,249 @@
  */
 public class NewBundleProjectWizard extends NewElementWizard implements INewWizard {
 
-	private NewJavaProjectWizardPageOne projectPage;
+    private NewJavaProjectWizardPageOne projectPage;
 
-	private NewBundleInformationPage bundlePage;
+    private NewBundleInformationPage bundlePage;
 
-	private AbstractPropertiesPage propertiesPage;
+    private AbstractPropertiesPage propertiesPage;
 
-	private NewJavaProjectWizardPageTwo finalPage;
+    private NewJavaProjectWizardPageTwo finalPage;
 
-	private IProjectProvider projectProvider;
+    private IProjectProvider projectProvider;
 
-	private final AbstractFieldData bundleData;
+    private final AbstractFieldData bundleData;
 
-	private final IDataModel model;
+    private final IDataModel model;
 
-	private final String title = "New Bundle Project";
+    private final String title = "New Bundle Project";
 
-	private Map<String, String> properties;
+    private Map<String, String> properties;
 
-	private String platformModule;
+    private String platformModule;
 
-	public NewBundleProjectWizard() {
-		super();
-		setWindowTitle(title);
-		setDefaultPageImageDescriptor(ServerIdeUiPlugin.getImageDescriptor("full/wizban/wizban-bundle.png"));
-		setNeedsProgressMonitor(true);
-		bundleData = new PluginFieldData();
-		model = DataModelFactory.createDataModel(new BundleFacetInstallDataModelProvider());
-	}
+    public NewBundleProjectWizard() {
+        super();
+        setWindowTitle(this.title);
+        setDefaultPageImageDescriptor(ServerIdeUiPlugin.getImageDescriptor("full/wizban/wizban-bundle.png"));
+        setNeedsProgressMonitor(true);
+        this.bundleData = new PluginFieldData();
+        this.model = DataModelFactory.createDataModel(new BundleFacetInstallDataModelProvider());
+    }
 
-	private void addFacetsToProject(final IJavaProject project) {
-		WorkspaceModifyOperation oper = new WorkspaceModifyOperation() {
-			@Override
-			protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException,
-					InterruptedException {
+    private void addFacetsToProject(final IJavaProject project) {
+        WorkspaceModifyOperation oper = new WorkspaceModifyOperation() {
 
-				IFacetedProject fProject = ProjectFacetsManager.create(project.getProject(), true, monitor);
+            @Override
+            protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
 
-				// WST 3.0 only
+                IFacetedProject fProject = ProjectFacetsManager.create(project.getProject(), true, monitor);
 
-				if (model.getBooleanProperty(BundleFacetInstallDataModelProvider.ENABLE_WEB_BUNDLE)) {
-					fProject.installProjectFacet(ProjectFacetsManager.getProjectFacet("jst.java").getDefaultVersion(),
-							null, monitor);
-					fProject.installProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.WEB_FACET_ID)
-							.getVersion("2.5"), null, monitor);
+                // WST 3.0 only
 
-					// wanna uninstall JavaScript facet, but it doesn't seem to
-					// be there yet
-					// fProject.uninstallProjectFacet(ProjectFacetsManager
-					// .getProjectFacet(FacetCorePlugin.WEB_JS_FACET_ID).getDefaultVersion(),
-					// null, monitor);
+                if (NewBundleProjectWizard.this.model.getBooleanProperty(BundleFacetInstallDataModelProvider.ENABLE_WEB_BUNDLE)) {
+                    fProject.installProjectFacet(ProjectFacetsManager.getProjectFacet("jst.java").getDefaultVersion(), null, monitor);
+                    fProject.installProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.WEB_FACET_ID).getVersion("2.5"), null, monitor);
 
-					removeFromClasspath(project, "org.eclipse.jst.j2ee.internal.web.container", monitor);
-					removeFromClasspath(project, "org.eclipse.jst.j2ee.internal.module.container", monitor);
-				}
+                    // wanna uninstall JavaScript facet, but it doesn't seem to
+                    // be there yet
+                    // fProject.uninstallProjectFacet(ProjectFacetsManager
+                    // .getProjectFacet(FacetCorePlugin.WEB_JS_FACET_ID).getDefaultVersion(),
+                    // null, monitor);
 
-				fProject.installProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.BUNDLE_FACET_ID)
-						.getDefaultVersion(), null, monitor);
-				IRuntime runtime = (IRuntime) model.getProperty(IFacetProjectCreationDataModelProperties.FACET_RUNTIME);
-				if (runtime != null
-						&& runtime.supports(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.BUNDLE_FACET_ID)
-								.getDefaultVersion())) {
-					fProject.setTargetedRuntimes(Collections.singleton(runtime), monitor);
-				}
-				if (model.getBooleanProperty(BundleFacetInstallDataModelProvider.ENABLE_SERVER_CLASSPATH_CONTAINER)) {
-					addToClasspath(project, JavaCore.newContainerEntry(FacetCorePlugin.CLASSPATH_CONTAINER_PATH),
-							monitor);
-				}
-			}
-		};
+                    removeFromClasspath(project, "org.eclipse.jst.j2ee.internal.web.container", monitor);
+                    removeFromClasspath(project, "org.eclipse.jst.j2ee.internal.module.container", monitor);
+                }
 
-		try {
-			getContainer().run(true, true, oper);
-		} catch (InvocationTargetException e) {
-			StatusManager.getManager().handle(
-					new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Failure opening project facets.", e));
-		} catch (InterruptedException e) {
-			StatusManager.getManager().handle(
-					new Status(IStatus.WARNING, ServerIdeUiPlugin.PLUGIN_ID,
-							"Interruption while opening project facets.", e));
-		}
-	}
+                fProject.installProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.BUNDLE_FACET_ID).getDefaultVersion(), null,
+                    monitor);
+                IRuntime runtime = (IRuntime) NewBundleProjectWizard.this.model.getProperty(IFacetProjectCreationDataModelProperties.FACET_RUNTIME);
+                if (runtime != null && runtime.supports(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.BUNDLE_FACET_ID).getDefaultVersion())) {
+                    fProject.setTargetedRuntimes(Collections.singleton(runtime), monitor);
+                }
+                if (NewBundleProjectWizard.this.model.getBooleanProperty(BundleFacetInstallDataModelProvider.ENABLE_SERVER_CLASSPATH_CONTAINER)) {
+                    addToClasspath(project, JavaCore.newContainerEntry(FacetCorePlugin.CLASSPATH_CONTAINER_PATH), monitor);
+                }
+            }
+        };
 
-	protected void removeFromClasspath(IJavaProject javaProject, String entryPath, IProgressMonitor monitor)
-			throws CoreException {
-		List<IClasspathEntry> rawClasspath = new ArrayList<IClasspathEntry>();
-		rawClasspath.addAll(Arrays.asList(javaProject.getRawClasspath()));
+        try {
+            getContainer().run(true, true, oper);
+        } catch (InvocationTargetException e) {
+            StatusManager.getManager().handle(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Failure opening project facets.", e));
+        } catch (InterruptedException e) {
+            StatusManager.getManager().handle(
+                new Status(IStatus.WARNING, ServerIdeUiPlugin.PLUGIN_ID, "Interruption while opening project facets.", e));
+        }
+    }
 
-		Iterator<IClasspathEntry> iter = rawClasspath.iterator();
-		while (iter.hasNext()) {
-			IClasspathEntry entry = iter.next();
-			if (entry.getPath() != null && entry.getPath().toString() != null
-					&& entry.getPath().toString().equals(entryPath)) {
-				iter.remove();
-			}
-		}
+    protected void removeFromClasspath(IJavaProject javaProject, String entryPath, IProgressMonitor monitor) throws CoreException {
+        List<IClasspathEntry> rawClasspath = new ArrayList<IClasspathEntry>();
+        rawClasspath.addAll(Arrays.asList(javaProject.getRawClasspath()));
 
-		javaProject.setRawClasspath(rawClasspath.toArray(new IClasspathEntry[0]), monitor);
-	}
+        Iterator<IClasspathEntry> iter = rawClasspath.iterator();
+        while (iter.hasNext()) {
+            IClasspathEntry entry = iter.next();
+            if (entry.getPath() != null && entry.getPath().toString() != null && entry.getPath().toString().equals(entryPath)) {
+                iter.remove();
+            }
+        }
 
-	protected void addToClasspath(IJavaProject javaProject, IClasspathEntry entry, IProgressMonitor monitor)
-			throws CoreException {
-		IClasspathEntry[] current = javaProject.getRawClasspath();
-		IClasspathEntry[] updated = new IClasspathEntry[current.length + 1];
-		System.arraycopy(current, 0, updated, 0, current.length);
-		updated[current.length] = entry;
-		javaProject.setRawClasspath(updated, monitor);
-	}
+        javaProject.setRawClasspath(rawClasspath.toArray(new IClasspathEntry[0]), monitor);
+    }
 
-	@Override
-	public void addPages() {
-		projectPage = new NewBundleProjectSettingsPage();
-		addPage(projectPage);
+    protected void addToClasspath(IJavaProject javaProject, IClasspathEntry entry, IProgressMonitor monitor) throws CoreException {
+        IClasspathEntry[] current = javaProject.getRawClasspath();
+        IClasspathEntry[] updated = new IClasspathEntry[current.length + 1];
+        System.arraycopy(current, 0, updated, 0, current.length);
+        updated[current.length] = entry;
+        javaProject.setRawClasspath(updated, monitor);
+    }
 
-		projectProvider = new IProjectProvider() {
+    @Override
+    public void addPages() {
+        this.projectPage = new NewBundleProjectSettingsPage();
+        addPage(this.projectPage);
 
-			public IPath getLocationPath() {
-				return getProject().getLocation();
-			}
+        this.projectProvider = new IProjectProvider() {
 
-			public IProject getProject() {
-				return ResourcesPlugin.getWorkspace().getRoot().getProject(getProjectName());
-			}
+            public IPath getLocationPath() {
+                return getProject().getLocation();
+            }
 
-			public String getProjectName() {
-				return projectPage.getProjectName();
-			}
+            public IProject getProject() {
+                return ResourcesPlugin.getWorkspace().getRoot().getProject(getProjectName());
+            }
 
-		};
+            public String getProjectName() {
+                return NewBundleProjectWizard.this.projectPage.getProjectName();
+            }
 
-		bundlePage = new NewBundleInformationPage(title, projectProvider, bundleData, model);
-		addPage(bundlePage);
+        };
 
-		setPropertiesPage(new NullPropertiesPage());
+        this.bundlePage = new NewBundleInformationPage(this.title, this.projectProvider, this.bundleData, this.model);
+        addPage(this.bundlePage);
 
-		finalPage = new NewBundleProjectCreationPage(projectPage);
-		addPage(finalPage);
-	}
+        setPropertiesPage(new NullPropertiesPage());
 
-	@Override
-	public boolean canFinish() {
-		IWizardPage page = getContainer().getCurrentPage();
-		return super.canFinish() && page != projectPage;
-	}
+        this.finalPage = new NewBundleProjectCreationPage(this.projectPage);
+        addPage(this.finalPage);
+    }
 
-	@Override
-	protected void finishPage(IProgressMonitor monitor) throws InterruptedException, CoreException {
-		finalPage.performFinish(monitor);
-	}
+    @Override
+    public boolean canFinish() {
+        IWizardPage page = getContainer().getCurrentPage();
+        return super.canFinish() && page != this.projectPage;
+    }
 
-	private IWorkbenchPart getActivePart() {
-		IWorkbenchWindow activeWindow = getWorkbench().getActiveWorkbenchWindow();
-		if (activeWindow != null) {
-			IWorkbenchPage activePage = activeWindow.getActivePage();
-			if (activePage != null) {
-				return activePage.getActivePart();
-			}
-		}
-		return null;
-	}
+    @Override
+    protected void finishPage(IProgressMonitor monitor) throws InterruptedException, CoreException {
+        this.finalPage.performFinish(monitor);
+    }
 
-	@Override
-	public IJavaElement getCreatedElement() {
-		return finalPage.getJavaProject();
-	}
+    private IWorkbenchPart getActivePart() {
+        IWorkbenchWindow activeWindow = getWorkbench().getActiveWorkbenchWindow();
+        if (activeWindow != null) {
+            IWorkbenchPage activePage = activeWindow.getActivePage();
+            if (activePage != null) {
+                return activePage.getActivePart();
+            }
+        }
+        return null;
+    }
 
-	@Override
-	public boolean performCancel() {
-		finalPage.performCancel();
-		return super.performCancel();
-	}
+    @Override
+    public IJavaElement getCreatedElement() {
+        return this.finalPage.getJavaProject();
+    }
 
-	@Override
-	public boolean performFinish() {
-		boolean res = super.performFinish();
-		if (res) {
-			bundlePage.performPageFinish();
-			properties = propertiesPage.getProperties();
-			platformModule = propertiesPage.getModuleType();
+    @Override
+    public boolean performCancel() {
+        this.finalPage.performCancel();
+        return super.performCancel();
+    }
 
-			final IJavaElement element = getCreatedElement();
-			IJavaProject project = element.getJavaProject();
-			addFacetsToProject(project);
-			writeBundleData(project, platformModule, properties);
+    @Override
+    public boolean performFinish() {
+        boolean res = super.performFinish();
+        if (res) {
+            this.bundlePage.performPageFinish();
+            this.properties = this.propertiesPage.getProperties();
+            this.platformModule = this.propertiesPage.getModuleType();
 
-			IWorkingSet[] workingSets = projectPage.getWorkingSets();
-			if (workingSets.length > 0) {
-				getWorkbench().getWorkingSetManager().addToWorkingSets(element, workingSets);
-			}
-			selectAndReveal(project.getProject());
+            final IJavaElement element = getCreatedElement();
+            IJavaProject project = element.getJavaProject();
+            addFacetsToProject(project);
+            writeBundleData(project, this.platformModule, this.properties);
 
-			Display.getDefault().asyncExec(new Runnable() {
-				public void run() {
-					IWorkbenchPart activePart = getActivePart();
-					if (activePart instanceof PackageExplorerPart) {
-						((PackageExplorerPart) activePart).tryToReveal(element);
-					}
-				}
-			});
+            IWorkingSet[] workingSets = this.projectPage.getWorkingSets();
+            if (workingSets.length > 0) {
+                getWorkbench().getWorkingSetManager().addToWorkingSets(element, workingSets);
+            }
+            selectAndReveal(project.getProject());
 
-			IFile manifestFile = (IFile) project.getProject().findMember("src/META-INF/MANIFEST.MF");
-			if (manifestFile != null) {
-				IWorkbenchWindow workbenchWindow = getWorkbench().getActiveWorkbenchWindow();
-				IWorkbenchPage page = workbenchWindow.getActivePage();
-				try {
-					page.openEditor(new FileEditorInput(manifestFile), BundleManifestEditor.ID_EDITOR);
-				} catch (PartInitException e) {
-					MessageDialog.openError(workbenchWindow.getShell(), "Error opening editor", e.getMessage());
-				}
-			}
-		}
+            Display.getDefault().asyncExec(new Runnable() {
 
-		return res;
-	}
+                public void run() {
+                    IWorkbenchPart activePart = getActivePart();
+                    if (activePart instanceof PackageExplorerPart) {
+                        ((PackageExplorerPart) activePart).tryToReveal(element);
+                    }
+                }
+            });
 
-	private void writeBundleData(final IJavaProject project, final String platformModule,
-			final Map<String, String> properties) {
-		WorkspaceModifyOperation oper = new WorkspaceModifyOperation() {
-			@Override
-			protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException,
-					InterruptedException {
-				BundleManifestUtils.createNewBundleManifest(project, bundleData.getId(), bundleData.getVersion(),
-						bundleData.getProvider(), bundleData.getName(), platformModule, properties);
-				project.getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
-			}
-		};
+            IFile manifestFile = (IFile) project.getProject().findMember("src/META-INF/MANIFEST.MF");
+            if (manifestFile != null) {
+                IWorkbenchWindow workbenchWindow = getWorkbench().getActiveWorkbenchWindow();
+                IWorkbenchPage page = workbenchWindow.getActivePage();
+                try {
+                    page.openEditor(new FileEditorInput(manifestFile), BundleManifestEditor.ID_EDITOR);
+                } catch (PartInitException e) {
+                    MessageDialog.openError(workbenchWindow.getShell(), "Error opening editor", e.getMessage());
+                }
+            }
+        }
 
-		try {
-			getContainer().run(true, true, oper);
-		} catch (InvocationTargetException e) {
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-	}
+        return res;
+    }
 
-	protected void setPropertiesPage(AbstractPropertiesPage page) {
-		propertiesPage = page;
-		if (getPage(page.getName()) == null) {
-			addPage(page);
-		}
-	}
+    private void writeBundleData(final IJavaProject project, final String platformModule, final Map<String, String> properties) {
+        WorkspaceModifyOperation oper = new WorkspaceModifyOperation() {
 
-	protected AbstractPropertiesPage getPropertiesPage() {
-		return propertiesPage;
-	}
+            @Override
+            protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
+                BundleManifestUtils.createNewBundleManifest(project, NewBundleProjectWizard.this.bundleData.getId(),
+                    NewBundleProjectWizard.this.bundleData.getVersion(), NewBundleProjectWizard.this.bundleData.getProvider(),
+                    NewBundleProjectWizard.this.bundleData.getName(), platformModule, properties);
+                project.getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
+            }
+        };
 
-	protected NewBundleInformationPage getInformationPage() {
-		return bundlePage;
-	}
+        try {
+            getContainer().run(true, true, oper);
+        } catch (InvocationTargetException e) {
+            e.printStackTrace();
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+    }
 
-	protected NewJavaProjectWizardPageTwo getFinalPage() {
-		return finalPage;
-	}
+    protected void setPropertiesPage(AbstractPropertiesPage page) {
+        this.propertiesPage = page;
+        if (getPage(page.getName()) == null) {
+            addPage(page);
+        }
+    }
+
+    protected AbstractPropertiesPage getPropertiesPage() {
+        return this.propertiesPage;
+    }
+
+    protected NewBundleInformationPage getInformationPage() {
+        return this.bundlePage;
+    }
+
+    protected NewJavaProjectWizardPageTwo getFinalPage() {
+        return this.finalPage;
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParInformationPage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParInformationPage.java
index f2f86dc..087d977 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParInformationPage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParInformationPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
 import org.eclipse.jface.dialogs.IDialogSettings;
@@ -24,63 +25,63 @@
  */
 public class NewParInformationPage extends RuntimeConfigurationPage {
 
-	protected NewParInformationPage(String pageName, IProjectProvider provider, AbstractFieldData data, IDataModel model) {
-		super(pageName, provider, data, model);
-	}
+    protected NewParInformationPage(String pageName, IProjectProvider provider, AbstractFieldData data, IDataModel model) {
+        super(pageName, provider, data, model);
+    }
 
-	@Override
-	protected void createAdditionalPropertiesGroup(Composite container) {
-		// TODO Auto-generated method stub
+    @Override
+    protected void createAdditionalPropertiesGroup(Composite container) {
+        // TODO Auto-generated method stub
 
-	}
+    }
 
-	@Override
-	protected String getContentPageDescription() {
-		return ProjectContentPageStrings.Par_ContentPage_desc;
-	}
+    @Override
+    protected String getContentPageDescription() {
+        return ProjectContentPageStrings.Par_ContentPage_desc;
+    }
 
-	@Override
-	protected String getContentPageGroupLabel() {
-		return ProjectContentPageStrings.Par_ContentPage_pGroup;
-	}
+    @Override
+    protected String getContentPageGroupLabel() {
+        return ProjectContentPageStrings.Par_ContentPage_pGroup;
+    }
 
-	@Override
-	protected String getContentPageIdLabel() {
-		return ProjectContentPageStrings.Par_ContentPage_pid;
-	}
+    @Override
+    protected String getContentPageIdLabel() {
+        return ProjectContentPageStrings.Par_ContentPage_pid;
+    }
 
-	@Override
-	protected String getContentPageNameLabel() {
-		return ProjectContentPageStrings.Par_ContentPage_pname;
-	}
+    @Override
+    protected String getContentPageNameLabel() {
+        return ProjectContentPageStrings.Par_ContentPage_pname;
+    }
 
-	@Override
-	protected String getContentPagePluginLabel() {
-		return ProjectContentPageStrings.Par_ContentPage_plugin;
-	}
+    @Override
+    protected String getContentPagePluginLabel() {
+        return ProjectContentPageStrings.Par_ContentPage_plugin;
+    }
 
-	@Override
-	protected String getContentPageProviderLabel() {
-		return ProjectContentPageStrings.Par_ContentPage_pprovider;
-	}
+    @Override
+    protected String getContentPageProviderLabel() {
+        return ProjectContentPageStrings.Par_ContentPage_pprovider;
+    }
 
-	@Override
-	protected String getContentPageTitle() {
-		return ProjectContentPageStrings.Par_ContentPage_title;
-	}
+    @Override
+    protected String getContentPageTitle() {
+        return ProjectContentPageStrings.Par_ContentPage_title;
+    }
 
-	@Override
-	protected String getContentPageVersionLabel() {
-		return ProjectContentPageStrings.Par_ContentPage_pversion;
-	}
+    @Override
+    protected String getContentPageVersionLabel() {
+        return ProjectContentPageStrings.Par_ContentPage_pversion;
+    }
 
-	@Override
-	protected IDialogSettings getDialogSettings() {
-		return ServerIdeUiPlugin.getDefault().getDialogSettings();
-	}
+    @Override
+    protected IDialogSettings getDialogSettings() {
+        return ServerIdeUiPlugin.getDefault().getDialogSettings();
+    }
 
-	@Override
-	protected String getModuleTypeID() {
-		return FacetCorePlugin.PAR_FACET_ID;
-	}
+    @Override
+    protected String getModuleTypeID() {
+        return FacetCorePlugin.PAR_FACET_ID;
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectReferencePage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectReferencePage.java
index cc31c75..432ea57 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectReferencePage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectReferencePage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
 import org.eclipse.core.resources.IWorkspace;
@@ -21,27 +22,28 @@
  */
 public class NewParProjectReferencePage extends WizardNewProjectReferencePage {
 
-	private static String NEW_PROJECT_REFERENCE_TITLE = "Bundle References";
+    private static String NEW_PROJECT_REFERENCE_TITLE = "Bundle References";
 
-	private static String NEW_PROJECT_REFERENCE_DESCRIPTION = "Add bundles to PAR project.";
+    private static String NEW_PROJECT_REFERENCE_DESCRIPTION = "Add bundles to PAR project.";
 
-	public NewParProjectReferencePage(String pageName) {
-		super(pageName);
-		setTitle(NEW_PROJECT_REFERENCE_TITLE);
-		setDescription(NEW_PROJECT_REFERENCE_DESCRIPTION);
-	}
+    public NewParProjectReferencePage(String pageName) {
+        super(pageName);
+        setTitle(NEW_PROJECT_REFERENCE_TITLE);
+        setDescription(NEW_PROJECT_REFERENCE_DESCRIPTION);
+    }
 
-	@Override
-	protected IStructuredContentProvider getContentProvider() {
-		return new WorkbenchContentProvider() {
-			@Override
-			public Object[] getChildren(Object element) {
-				if (!(element instanceof IWorkspace)) {
-					return new Object[0];
-				}
+    @Override
+    protected IStructuredContentProvider getContentProvider() {
+        return new WorkbenchContentProvider() {
 
-				return FacetUtils.getBundleProjects();
-			}
-		};
-	}
+            @Override
+            public Object[] getChildren(Object element) {
+                if (!(element instanceof IWorkspace)) {
+                    return new Object[0];
+                }
+
+                return FacetUtils.getBundleProjects();
+            }
+        };
+    }
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectSettingsPage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectSettingsPage.java
index dcc5252..8c9ffc2 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectSettingsPage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectSettingsPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
 import org.eclipse.jface.dialogs.Dialog;
@@ -21,25 +22,24 @@
  */
 public class NewParProjectSettingsPage extends WizardNewProjectCreationPage {
 
-	private static String NEW_PROJECT_SETTINGS_TITLE = "Create a PAR project";
+    private static String NEW_PROJECT_SETTINGS_TITLE = "Create a PAR project";
 
-	private static String NEW_PROJECT_SETTINGS_DESCRIPTION = "Enter a name and location for the PAR project.";
+    private static String NEW_PROJECT_SETTINGS_DESCRIPTION = "Enter a name and location for the PAR project.";
 
-	private final IStructuredSelection selection;
+    private final IStructuredSelection selection;
 
-	public NewParProjectSettingsPage(String pageName, IStructuredSelection selection) {
-		super(pageName);
-		this.selection = selection;
-		setTitle(NEW_PROJECT_SETTINGS_TITLE);
-		setDescription(NEW_PROJECT_SETTINGS_DESCRIPTION);
-	}
+    public NewParProjectSettingsPage(String pageName, IStructuredSelection selection) {
+        super(pageName);
+        this.selection = selection;
+        setTitle(NEW_PROJECT_SETTINGS_TITLE);
+        setDescription(NEW_PROJECT_SETTINGS_DESCRIPTION);
+    }
 
-	@Override
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		createWorkingSetGroup((Composite) getControl(), selection,
-				new String[] { "org.eclipse.jdt.ui.JavaWorkingSetPage" });
-		Dialog.applyDialogFont(getControl());
-	}
+    @Override
+    public void createControl(Composite parent) {
+        super.createControl(parent);
+        createWorkingSetGroup((Composite) getControl(), this.selection, new String[] { "org.eclipse.jdt.ui.JavaWorkingSetPage" });
+        Dialog.applyDialogFont(getControl());
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectWizard.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectWizard.java
index 21c1f2e..0c09d4f 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectWizard.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NewParProjectWizard.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
 import java.lang.reflect.InvocationTargetException;
@@ -71,234 +72,233 @@
  */
 public class NewParProjectWizard extends AbstractNewParProjectWizard implements INewWizard {
 
-	private static final String PAR_FILE_NAME = ".settings/org.eclipse.virgo.ide.runtime.core.par.xml";
+    private static final String PAR_FILE_NAME = ".settings/org.eclipse.virgo.ide.runtime.core.par.xml";
 
-	private static final String ENCODING_UTF8 = "UTF-8";
+    private static final String ENCODING_UTF8 = "UTF-8";
 
-	private WizardNewProjectCreationPage mainPage;
+    private WizardNewProjectCreationPage mainPage;
 
-	private NewParInformationPage bundlePage;
+    private NewParInformationPage bundlePage;
 
-	private WizardNewProjectReferencePage referencePage;
+    private WizardNewProjectReferencePage referencePage;
 
-	private IProjectProvider projectProvider;
+    private IProjectProvider projectProvider;
 
-	private final AbstractFieldData bundleData;
+    private final AbstractFieldData bundleData;
 
-	private final IDataModel model;
+    private final IDataModel model;
 
-	private final String title = "New PAR Project";
+    private final String title = "New PAR Project";
 
-	protected ParPackage parPackage = ParPackage.eINSTANCE;
+    protected ParPackage parPackage = ParPackage.eINSTANCE;
 
-	protected ParFactory parFactory = parPackage.getParFactory();
+    protected ParFactory parFactory = this.parPackage.getParFactory();
 
-	public NewParProjectWizard() {
-		super();
-		setWindowTitle(title);
-		setNeedsProgressMonitor(true);
-		bundleData = new PluginFieldData();
-		model = DataModelFactory.createDataModel(new JavaProjectFacetCreationDataModelProvider());
-	}
+    public NewParProjectWizard() {
+        super();
+        setWindowTitle(this.title);
+        setNeedsProgressMonitor(true);
+        this.bundleData = new PluginFieldData();
+        this.model = DataModelFactory.createDataModel(new JavaProjectFacetCreationDataModelProvider());
+    }
 
-	private void addFacetsToProject(final IProject project) {
-		WorkspaceModifyOperation oper = new WorkspaceModifyOperation() {
-			@Override
-			protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException,
-					InterruptedException {
-				IFacetedProject fProject = ProjectFacetsManager.create(project.getProject(), true, monitor);
+    private void addFacetsToProject(final IProject project) {
+        WorkspaceModifyOperation oper = new WorkspaceModifyOperation() {
 
-				// WST 3.0 only
-				// fProject.createWorkingCopy().addProjectFacet(
-				// ProjectFacetsManager.getProjectFacet("jst.java").
-				// getLatestVersion());
-				// fProject.createWorkingCopy().addProjectFacet(
-				// ProjectFacetsManager.getProjectFacet(FacetCorePlugin.
-				// BUNDLE_FACET_ID).getLatestVersion());
+            @Override
+            protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
+                IFacetedProject fProject = ProjectFacetsManager.create(project.getProject(), true, monitor);
 
-				fProject.installProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.PAR_FACET_ID)
-						.getDefaultVersion(), null, monitor);
-				IRuntime runtime = (IRuntime) model.getProperty(IFacetProjectCreationDataModelProperties.FACET_RUNTIME);
-				if (runtime != null
-						&& runtime.supports(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.PAR_FACET_ID))) {
-					fProject.setTargetedRuntimes(Collections.singleton(runtime), monitor);
-				}
-			}
-		};
+                // WST 3.0 only
+                // fProject.createWorkingCopy().addProjectFacet(
+                // ProjectFacetsManager.getProjectFacet("jst.java").
+                // getLatestVersion());
+                // fProject.createWorkingCopy().addProjectFacet(
+                // ProjectFacetsManager.getProjectFacet(FacetCorePlugin.
+                // BUNDLE_FACET_ID).getLatestVersion());
 
-		try {
-			getContainer().run(true, true, oper);
-		} catch (InvocationTargetException e) {
-			StatusManager.getManager()
-					.handle(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID,
-							"Exception while adding project facets.", e));
-		} catch (InterruptedException e) {
-			StatusManager.getManager().handle(
-					new Status(IStatus.WARNING, ServerIdeUiPlugin.PLUGIN_ID,
-							"Interruption while adding project facets.", e));
-		}
-	}
+                fProject.installProjectFacet(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.PAR_FACET_ID).getDefaultVersion(), null, monitor);
+                IRuntime runtime = (IRuntime) NewParProjectWizard.this.model.getProperty(IFacetProjectCreationDataModelProperties.FACET_RUNTIME);
+                if (runtime != null && runtime.supports(ProjectFacetsManager.getProjectFacet(FacetCorePlugin.PAR_FACET_ID))) {
+                    fProject.setTargetedRuntimes(Collections.singleton(runtime), monitor);
+                }
+            }
+        };
 
-	@Override
-	public void addPages() {
-		mainPage = new NewParProjectSettingsPage("basicNewProjectPage", getSelection());
-		setMainPage(mainPage);
-		addPage(mainPage);
+        try {
+            getContainer().run(true, true, oper);
+        } catch (InvocationTargetException e) {
+            StatusManager.getManager().handle(new Status(IStatus.ERROR, ServerIdeUiPlugin.PLUGIN_ID, "Exception while adding project facets.", e));
+        } catch (InterruptedException e) {
+            StatusManager.getManager().handle(
+                new Status(IStatus.WARNING, ServerIdeUiPlugin.PLUGIN_ID, "Interruption while adding project facets.", e));
+        }
+    }
 
-		projectProvider = new IProjectProvider() {
-			public IPath getLocationPath() {
-				return getProject().getLocation();
-			}
+    @Override
+    public void addPages() {
+        this.mainPage = new NewParProjectSettingsPage("basicNewProjectPage", getSelection());
+        setMainPage(this.mainPage);
+        addPage(this.mainPage);
 
-			public IProject getProject() {
-				return mainPage.getProjectHandle();
-			}
+        this.projectProvider = new IProjectProvider() {
 
-			public String getProjectName() {
-				return mainPage.getProjectName();
-			}
-		};
+            public IPath getLocationPath() {
+                return getProject().getLocation();
+            }
 
-		bundlePage = new NewParInformationPage(title, projectProvider, bundleData, model);
-		addPage(bundlePage);
+            public IProject getProject() {
+                return NewParProjectWizard.this.mainPage.getProjectHandle();
+            }
 
-		// only add page if there are already projects in the workspace
-		if (ResourcesPlugin.getWorkspace().getRoot().getProjects().length > 0) {
-			referencePage = new NewParProjectReferencePage("basicReferenceProjectPage");
-			addPage(referencePage);
-		}
-	}
+            public String getProjectName() {
+                return NewParProjectWizard.this.mainPage.getProjectName();
+            }
+        };
 
-	private IFile associateProjectsToPar(IProject[] references, final IFile parFile) {
-		// Add the initial model object to the contents.
-		//
-		final Par par = parFactory.createPar();
-		for (IProject workspaceProject : references) {
-			Bundle bundle = parFactory.createBundle();
-			bundle.setSymbolicName(ParUtils.getSymbolicName(workspaceProject));
-			par.getBundle().add(bundle);
-		}
+        this.bundlePage = new NewParInformationPage(this.title, this.projectProvider, this.bundleData, this.model);
+        addPage(this.bundlePage);
 
-		try {
-			WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
-				@Override
-				protected void execute(IProgressMonitor progressMonitor) {
-					try {
-						// Create a resource set
-						//
-						ResourceSet resourceSet = new ResourceSetImpl();
+        // only add page if there are already projects in the workspace
+        if (ResourcesPlugin.getWorkspace().getRoot().getProjects().length > 0) {
+            this.referencePage = new NewParProjectReferencePage("basicReferenceProjectPage");
+            addPage(this.referencePage);
+        }
+    }
 
-						// Get the URI of the model file.
-						//
-						org.eclipse.emf.common.util.URI fileURI = org.eclipse.emf.common.util.URI.createPlatformResourceURI(
-								parFile.getFullPath().toString(), true);
+    private IFile associateProjectsToPar(IProject[] references, final IFile parFile) {
+        // Add the initial model object to the contents.
+        //
+        final Par par = this.parFactory.createPar();
+        for (IProject workspaceProject : references) {
+            Bundle bundle = this.parFactory.createBundle();
+            bundle.setSymbolicName(ParUtils.getSymbolicName(workspaceProject));
+            par.getBundle().add(bundle);
+        }
 
-						// Create a resource for this file.
-						//
-						Resource resource = resourceSet.createResource(fileURI);
-						resource.getContents().add(par);
+        try {
+            WorkspaceModifyOperation operation = new WorkspaceModifyOperation() {
 
-						// Save the contents of the resource to the file
-						// system.
-						//
-						Map<Object, Object> options = new HashMap<Object, Object>();
-						options.put(XMLResource.OPTION_ENCODING, ENCODING_UTF8);
-						resource.save(options);
-					} catch (Exception exception) {
-						ServerIdeUiPlugin.getDefault().log(exception);
-					} finally {
-						progressMonitor.done();
-					}
-				}
-			};
-			getContainer().run(false, false, operation);
-			return parFile;
-		} catch (Exception exception) {
-			ServerIdeUiPlugin.getDefault().log(exception);
-			return null;
-		}
-	}
+                @Override
+                protected void execute(IProgressMonitor progressMonitor) {
+                    try {
+                        // Create a resource set
+                        //
+                        ResourceSet resourceSet = new ResourceSetImpl();
 
-	@Override
-	public boolean canFinish() {
-		IWizardPage page = getContainer().getCurrentPage();
-		return super.canFinish() && page != getMainPage();
-	}
+                        // Get the URI of the model file.
+                        //
+                        org.eclipse.emf.common.util.URI fileURI = org.eclipse.emf.common.util.URI.createPlatformResourceURI(
+                            parFile.getFullPath().toString(), true);
 
-	@Override
-	public boolean performFinish() {
-		createNewProject();
-		if (getNewProject() == null) {
-			return false;
-		}
+                        // Create a resource for this file.
+                        //
+                        Resource resource = resourceSet.createResource(fileURI);
+                        resource.getContents().add(par);
 
-		bundlePage.performPageFinish();
-		addFacetsToProject(getNewProject());
-		writeBundleData(getNewProject());
+                        // Save the contents of the resource to the file
+                        // system.
+                        //
+                        Map<Object, Object> options = new HashMap<Object, Object>();
+                        options.put(XMLResource.OPTION_ENCODING, ENCODING_UTF8);
+                        resource.save(options);
+                    } catch (Exception exception) {
+                        ServerIdeUiPlugin.getDefault().log(exception);
+                    } finally {
+                        progressMonitor.done();
+                    }
+                }
+            };
+            getContainer().run(false, false, operation);
+            return parFile;
+        } catch (Exception exception) {
+            ServerIdeUiPlugin.getDefault().log(exception);
+            return null;
+        }
+    }
 
-		if (referencePage != null) {
-			IProject[] references = referencePage.getReferencedProjects();
-			associateProjectsToPar(references, getNewProject().getFile(PAR_FILE_NAME));
-		}
+    @Override
+    public boolean canFinish() {
+        IWizardPage page = getContainer().getCurrentPage();
+        return super.canFinish() && page != getMainPage();
+    }
 
-		IWorkingSet[] workingSets = mainPage.getSelectedWorkingSets();
-		if (workingSets.length > 0) {
-			getWorkbench().getWorkingSetManager().addToWorkingSets(getNewProject(), workingSets);
-		}
+    @Override
+    public boolean performFinish() {
+        createNewProject();
+        if (getNewProject() == null) {
+            return false;
+        }
 
-		IFile manifestFile = (IFile) getNewProject().findMember("META-INF/MANIFEST.MF");
-		if (manifestFile != null) {
-			// Select the new file resource in the current view.
-			//
-			IWorkbenchWindow workbenchWindow = getWorkbench().getActiveWorkbenchWindow();
-			IWorkbenchPage page = workbenchWindow.getActivePage();
-			final IWorkbenchPart activePart = page.getActivePart();
-			if (activePart instanceof ISetSelectionTarget) {
-				final ISelection targetSelection = new StructuredSelection(manifestFile);
-				getShell().getDisplay().asyncExec(new Runnable() {
-					public void run() {
-						((ISetSelectionTarget) activePart).selectReveal(targetSelection);
-					}
-				});
-			}
+        this.bundlePage.performPageFinish();
+        addFacetsToProject(getNewProject());
+        writeBundleData(getNewProject());
 
-			// Open an editor on the new file.
-			//
-			try {
-				page.openEditor(new FileEditorInput(manifestFile), ParManifestEditor.ID_EDITOR);
-			} catch (PartInitException exception) {
-				MessageDialog.openError(workbenchWindow.getShell(), "Error opening editor", exception.getMessage());
-			}
-			return true;
-		}
-		return false;
-	}
+        if (this.referencePage != null) {
+            IProject[] references = this.referencePage.getReferencedProjects();
+            associateProjectsToPar(references, getNewProject().getFile(PAR_FILE_NAME));
+        }
 
-	private void writeBundleData(final IProject project) {
-		WorkspaceModifyOperation oper = new WorkspaceModifyOperation() {
-			@Override
-			protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException,
-					InterruptedException {
-				BundleManifestUtils.createNewParManifest(project, bundleData.getId(), bundleData.getVersion(),
-						bundleData.getName(), bundleData.getProvider());
-				project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
-			}
-		};
+        IWorkingSet[] workingSets = this.mainPage.getSelectedWorkingSets();
+        if (workingSets.length > 0) {
+            getWorkbench().getWorkingSetManager().addToWorkingSets(getNewProject(), workingSets);
+        }
 
-		try {
-			getContainer().run(true, true, oper);
-		} catch (InvocationTargetException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (InterruptedException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
+        IFile manifestFile = (IFile) getNewProject().findMember("META-INF/MANIFEST.MF");
+        if (manifestFile != null) {
+            // Select the new file resource in the current view.
+            //
+            IWorkbenchWindow workbenchWindow = getWorkbench().getActiveWorkbenchWindow();
+            IWorkbenchPage page = workbenchWindow.getActivePage();
+            final IWorkbenchPart activePart = page.getActivePart();
+            if (activePart instanceof ISetSelectionTarget) {
+                final ISelection targetSelection = new StructuredSelection(manifestFile);
+                getShell().getDisplay().asyncExec(new Runnable() {
 
-	@Override
-	protected void initializeDefaultPageImageDescriptor() {
-		setDefaultPageImageDescriptor(ServerIdeUiPlugin.getImageDescriptor("full/wizban/wizban-par.png"));
-	}
+                    public void run() {
+                        ((ISetSelectionTarget) activePart).selectReveal(targetSelection);
+                    }
+                });
+            }
+
+            // Open an editor on the new file.
+            //
+            try {
+                page.openEditor(new FileEditorInput(manifestFile), ParManifestEditor.ID_EDITOR);
+            } catch (PartInitException exception) {
+                MessageDialog.openError(workbenchWindow.getShell(), "Error opening editor", exception.getMessage());
+            }
+            return true;
+        }
+        return false;
+    }
+
+    private void writeBundleData(final IProject project) {
+        WorkspaceModifyOperation oper = new WorkspaceModifyOperation() {
+
+            @Override
+            protected void execute(IProgressMonitor monitor) throws CoreException, InvocationTargetException, InterruptedException {
+                BundleManifestUtils.createNewParManifest(project, NewParProjectWizard.this.bundleData.getId(),
+                    NewParProjectWizard.this.bundleData.getVersion(), NewParProjectWizard.this.bundleData.getName(),
+                    NewParProjectWizard.this.bundleData.getProvider());
+                project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
+            }
+        };
+
+        try {
+            getContainer().run(true, true, oper);
+        } catch (InvocationTargetException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        } catch (InterruptedException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    protected void initializeDefaultPageImageDescriptor() {
+        setDefaultPageImageDescriptor(ServerIdeUiPlugin.getImageDescriptor("full/wizban/wizban-par.png"));
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NullPropertiesPage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NullPropertiesPage.java
index 26d5806..de71d2b 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NullPropertiesPage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/NullPropertiesPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
 import java.util.HashMap;
@@ -20,25 +21,25 @@
  */
 public class NullPropertiesPage extends AbstractPropertiesPage {
 
-	protected static String ID_PAGE = "null.properties";
+    protected static String ID_PAGE = "null.properties";
 
-	public NullPropertiesPage() {
-		super(ID_PAGE);
-	}
+    public NullPropertiesPage() {
+        super(ID_PAGE);
+    }
 
-	@Override
-	protected void createPropertiesGroup(Composite container) {
-		// ignore
-	}
+    @Override
+    protected void createPropertiesGroup(Composite container) {
+        // ignore
+    }
 
-	@Override
-	public String getModuleType() {
-		return "";
-	}
+    @Override
+    public String getModuleType() {
+        return "";
+    }
 
-	@Override
-	public Map<String, String> getProperties() {
-		return new HashMap<String, String>();
-	}
+    @Override
+    public Map<String, String> getProperties() {
+        return new HashMap<String, String>();
+    }
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/ProjectContentPageStrings.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/ProjectContentPageStrings.java
index a7bf093..0e55744 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/ProjectContentPageStrings.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/ProjectContentPageStrings.java
@@ -8,46 +8,47 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
 /**
  * Strings used by classes that extend ProjectContentPage
- * 
+ *
  * @author Christian Dupuis
  */
 public class ProjectContentPageStrings {
 
-	// PDEUIMessages (modified)
-	public static String Bundle_ContentPage_title = "Bundle Content";
+    // PDEUIMessages (modified)
+    public static String Bundle_ContentPage_title = "Bundle Content";
 
-	public static String Par_ContentPage_title = "PAR Content";
+    public static String Par_ContentPage_title = "PAR Content";
 
-	public static String Bundle_ContentPage_desc = "Enter the data required to generate the bundle.";
+    public static String Bundle_ContentPage_desc = "Enter the data required to generate the bundle.";
 
-	public static String Par_ContentPage_desc = "Enter the data required to generate the PAR.";
+    public static String Par_ContentPage_desc = "Enter the data required to generate the PAR.";
 
-	public static String Bundle_ContentPage_pGroup = "Bundle Properties";
+    public static String Bundle_ContentPage_pGroup = "Bundle Properties";
 
-	public static String Par_ContentPage_pGroup = "PAR Properties";
+    public static String Par_ContentPage_pGroup = "PAR Properties";
 
-	public static String Bundle_ContentPage_pid = "Bundle Symbolic Name";
+    public static String Bundle_ContentPage_pid = "Bundle Symbolic Name";
 
-	public static String Par_ContentPage_pid = "Application Symbolic Name";
+    public static String Par_ContentPage_pid = "Application Symbolic Name";
 
-	public static String Bundle_ContentPage_pversion = "Bundle Version";
+    public static String Bundle_ContentPage_pversion = "Bundle Version";
 
-	public static String Par_ContentPage_pversion = "Application Version";
+    public static String Par_ContentPage_pversion = "Application Version";
 
-	public static String Bundle_ContentPage_pname = "Bundle Name";
+    public static String Bundle_ContentPage_pname = "Bundle Name";
 
-	public static String Par_ContentPage_pname = "Application Name";
+    public static String Par_ContentPage_pname = "Application Name";
 
-	public static String Bundle_ContentPage_pprovider = "Bundle Description";
+    public static String Bundle_ContentPage_pprovider = "Bundle Description";
 
-	public static String Par_ContentPage_pprovider = "Application Description";
+    public static String Par_ContentPage_pprovider = "Application Description";
 
-	public static String Bundle_ContentPage_plugin = "{0} Bundle";
+    public static String Bundle_ContentPage_plugin = "{0} Bundle";
 
-	public static String Par_ContentPage_plugin = "{0} PAR";
+    public static String Par_ContentPage_plugin = "{0} PAR";
 
 }
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/WebModulePropertiesPage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/WebModulePropertiesPage.java
index 50eadcc..ea59bca 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/WebModulePropertiesPage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/wizards/WebModulePropertiesPage.java
@@ -8,6 +8,7 @@
  * Contributors:
  *     SpringSource, a division of VMware, Inc. - initial API and implementation
  *******************************************************************************/
+
 package org.eclipse.virgo.ide.ui.wizards;
 
 import java.util.HashMap;
@@ -28,44 +29,40 @@
  */
 public class WebModulePropertiesPage extends AbstractPropertiesPage {
 
-	protected static String ID_PAGE = "web.properties";
+    protected static String ID_PAGE = "web.properties";
 
-	private Label contextPathLabel;
+    private Label contextPathLabel;
 
-	private Text contextPathText;
+    private Text contextPathText;
 
-	public WebModulePropertiesPage() {
-		super(ID_PAGE);
-	}
+    public WebModulePropertiesPage() {
+        super(ID_PAGE);
+    }
 
-	@Override
-	protected void createPropertiesGroup(Composite container) {
-		Group propertiesGroup = new Group(container, SWT.NONE);
-		propertiesGroup.setLayout(new GridLayout(3, false));
-		propertiesGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		propertiesGroup.setText("Web Module Properties");
+    @Override
+    protected void createPropertiesGroup(Composite container) {
+        Group propertiesGroup = new Group(container, SWT.NONE);
+        propertiesGroup.setLayout(new GridLayout(3, false));
+        propertiesGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+        propertiesGroup.setText("Web Module Properties");
 
-		contextPathLabel = new Label(propertiesGroup, SWT.NONE);
-		contextPathLabel.setText("Web-ContextPath");
+        this.contextPathLabel = new Label(propertiesGroup, SWT.NONE);
+        this.contextPathLabel.setText("Web-ContextPath");
 
-		contextPathText = new Text(propertiesGroup, SWT.BORDER | SWT.SINGLE);
-		GridDataFactory.fillDefaults()
-				.align(SWT.FILL, SWT.CENTER)
-				.grab(true, false)
-				.span(2, 1)
-				.applyTo(contextPathText);
-	}
+        this.contextPathText = new Text(propertiesGroup, SWT.BORDER | SWT.SINGLE);
+        GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(2, 1).applyTo(this.contextPathText);
+    }
 
-	@Override
-	public Map<String, String> getProperties() {
-		Map<String, String> properties = new HashMap<String, String>();
-		properties.put(contextPathLabel.getText(), contextPathText.getText());
-		return properties;
-	}
+    @Override
+    public Map<String, String> getProperties() {
+        Map<String, String> properties = new HashMap<String, String>();
+        properties.put(this.contextPathLabel.getText(), this.contextPathText.getText());
+        return properties;
+    }
 
-	@Override
-	public String getModuleType() {
-		return "Web";
-	}
+    @Override
+    public String getModuleType() {
+        return "Web";
+    }
 
 }