Avoid real work (here initializiing/setting classpath containers) during static initializers.
I saw deadlocks with involvment of the following stack-fragment:
        at org.eclipse.jdt.core.JavaCore.setClasspathVariable(JavaCore.java:4923)
        at org.eclipse.objectteams.otdt.core.ext.OTVariableInitializer.initialize(OTVariableInitializer.java:62)
        at org.eclipse.jdt.core.JavaCore.getClasspathVariable(JavaCore.java:2858)
        at org.eclipse.jdt.internal.core.JavaModelManager.getResolvedVariablePath(JavaModelManager.java:2411)
        at org.eclipse.jdt.core.JavaCore.getResolvedVariablePath(JavaCore.java:3400)
        at org.eclipse.objectteams.otdt.core.ext.OTDTPlugin.getResolvedVariablePath(OTDTPlugin.java:166)
        at org.eclipse.objectteams.otdt.core.ext.OTREContainer.<clinit>(OTREContainer.java:73)
        at org.eclipse.objectteams.otdt.core.ext.OTDTPlugin.start(OTDTPlugin.java:120)
(initializing BCEL_PATH early is OK, we need the BundleContext and don't perform further computations)
diff --git a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/ext/OTREContainer.java b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/ext/OTREContainer.java
index 8a9c98c..c880ded 100644
--- a/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/ext/OTREContainer.java
+++ b/plugins/org.eclipse.objectteams.otdt/src/org/eclipse/objectteams/otdt/core/ext/OTREContainer.java
@@ -50,9 +50,8 @@
 	public static final String OTRE_CONTAINER_NAME     = "OTRE"; //$NON-NLS-1$
     
     // these are served from the current plugin:
-    public static final IPath  OTRE_MIN_JAR_PATH;
-    public static final IPath  OTRE_AGENT_JAR_PATH;
-
+    private static IPath  OTRE_MIN_JAR_PATH;
+    private static IPath  OTRE_AGENT_JAR_PATH;
     
     public static IPath  BCEL_PATH; // will be initialized in {@link findBCEL(BundleContext)}
 
@@ -68,12 +67,6 @@
     private static final String BCEL_BUNDLE_NAME = "org.apache.bcel"; //$NON-NLS-1$
     private static final String BCEL_VERSION_RANGE = "[5.2.0,5.3.0)"; //$NON-NLS-1$
 
-
-    static {
-        OTRE_MIN_JAR_PATH   = OTDTPlugin.getResolvedVariablePath(OTDTPlugin.OTDT_INSTALLDIR, "lib/"+OTRE_MIN_JAR_FILENAME); //$NON-NLS-1$
-        OTRE_AGENT_JAR_PATH = OTDTPlugin.getResolvedVariablePath(OTDTPlugin.OTDT_INSTALLDIR, "lib/"+OTRE_AGENT_JAR_FILENAME); //$NON-NLS-1$    	
-    }
-    
     private IClasspathEntry[] _cpEntries;
 
     public IClasspathEntry[] getClasspathEntries()
@@ -103,6 +96,18 @@
         return OTRE_CONTAINER_PATH;
     }
 
+    public static IPath getOtreMinJarPath () {
+    	if (OTRE_MIN_JAR_PATH == null)
+            OTRE_MIN_JAR_PATH   = OTDTPlugin.getResolvedVariablePath(OTDTPlugin.OTDT_INSTALLDIR, "lib/"+OTRE_MIN_JAR_FILENAME); //$NON-NLS-1$
+    	return OTRE_MIN_JAR_PATH;
+    }
+    
+    public static IPath getOtreAgentJarPath() {
+    	if (OTRE_AGENT_JAR_PATH == null)
+            OTRE_AGENT_JAR_PATH = OTDTPlugin.getResolvedVariablePath(OTDTPlugin.OTDT_INSTALLDIR, "lib/"+OTRE_AGENT_JAR_FILENAME); //$NON-NLS-1$
+    	return OTRE_AGENT_JAR_PATH;
+    }
+    
 	/**
 	 * Adds the ObjectTeams classes to the given JavaProject's classpath,
 	 * and ensures the Java compliance is >= 1.5