# [JGIT PATCH] FindBugs: Superclass uses subclass during initialization

1 messages from 2009-05-18 to 2009-05-18. Participants: Sohn, Matthias.
Thread: https://gitlist.dev/t/19401

## Sohn, Matthias, 2009-05-18 13:11

Subject: [JGIT PATCH] FindBugs: Superclass uses subclass during initialization
Message-ID: <366BBB1215D0AB4B8A153AF047A287800319BD13@dewdfe18.wdf.sap.corp>
URL: https://gitlist.dev/e/366BBB1215D0AB4B8A153AF047A287800319BD13%40dewdfe18.wdf.sap.corp

```
From: Matthias Sohn <matthias.sohn@sap.com>

FindBugs reported the following problem with high priority:
/usr/src/egit/org.spearce.jgit/src/org/spearce/jgit/merge/MergeStrategy.java:58
Initialization of org.spearce.jgit.merge.MergeStrategy accesses class
org.spearce.jgit.merge.StrategySimpleTwoWayInCore, which isn't
initialized yet.

To fix this problem move instantiation from StrategySimpleTwoWayInCore
up to the abstract superclass MergeStrategy.

Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
---
 .../src/org/spearce/jgit/merge/MergeStrategy.java  |    2 +-
 .../jgit/merge/StrategySimpleTwoWayInCore.java     |    2 --
 2 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/org.spearce.jgit/src/org/spearce/jgit/merge/MergeStrategy.java b/org.spearce.jgit/src/org/spearce/jgit/merge/MergeStrategy.java
index 5439e5c..f5ced72 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/merge/MergeStrategy.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/merge/MergeStrategy.java
@@ -55,7 +55,7 @@
 	public static final MergeStrategy THEIRS = new StrategyOneSided("theirs", 1);
 
 	/** Simple strategy to merge paths, without simultaneous edits. */
-	public static final ThreeWayMergeStrategy SIMPLE_TWO_WAY_IN_CORE = StrategySimpleTwoWayInCore.INSTANCE;
+	public static final ThreeWayMergeStrategy SIMPLE_TWO_WAY_IN_CORE = new StrategySimpleTwoWayInCore();
 
 	private static final HashMap<String, MergeStrategy> STRATEGIES = new HashMap<String, MergeStrategy>();
 
diff --git a/org.spearce.jgit/src/org/spearce/jgit/merge/StrategySimpleTwoWayInCore.java b/org.spearce.jgit/src/org/spearce/jgit/merge/StrategySimpleTwoWayInCore.java
index 5d4447c..626fe06 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/merge/StrategySimpleTwoWayInCore.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/merge/StrategySimpleTwoWayInCore.java
@@ -61,8 +61,6 @@
  * file contents.
  */
 public class StrategySimpleTwoWayInCore extends ThreeWayMergeStrategy {
-	static final ThreeWayMergeStrategy INSTANCE = new StrategySimpleTwoWayInCore();
-
 	/** Create a new instance of the strategy. */
 	protected StrategySimpleTwoWayInCore() {
 		//
-- 
1.6.3.1.30.g55524


```
