Index: trunk/src/org/openstreetmap/josm/plugins/Plugin.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/Plugin.java	(revision 3069)
+++ trunk/src/org/openstreetmap/josm/plugins/Plugin.java	(revision 3070)
@@ -46,13 +46,4 @@
     private PluginInformation info = null;
 
-    /**
-     * The no-arg constructor is deprecated.
-     * 
-     * @deprecated use {@see Plugin(PluginInformation)} instead
-     */
-    @Deprecated
-    public Plugin() {
-
-    }
     /**
      * Creates the plugin
Index: trunk/src/org/openstreetmap/josm/plugins/PluginInformation.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginInformation.java	(revision 3069)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginInformation.java	(revision 3070)
@@ -10,5 +10,4 @@
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -193,28 +192,6 @@
     public PluginProxy load(Class<?> klass) throws PluginException{
         try {
-            try {
-                Constructor<?> c = klass.getConstructor(PluginInformation.class);
-                Object plugin = c.newInstance(this);
-                return new PluginProxy(plugin, this);
-            } catch(NoSuchMethodException e) {
-                // do nothing - try again with the noarg constructor for legacy support
-            } catch(InstantiationException e) {
-                // do nothing - try again with the noarg constructor for legacy support
-            }
-            // FIXME: This is legacy support. It is necessary because of a former ugly hack in the
-            // plugin bootstrap procedure. Plugins should be migrated to the new required
-            // constructor with PluginInformation as argument, new plugins should only use this
-            // constructor. The following is legacy support and should be removed by Q2/2010.
-            // Note that this is not fool proof because it isn't
-            // completely equivalent with the former hack: plugins derived from the Plugin
-            // class can't access their local "info" object any more from within the noarg-
-            // constructor. It is only set *after* constructor invocation.
-            //
-            Constructor<?> c = klass.getConstructor();
-            Object plugin = c.newInstance();
-            if (plugin instanceof Plugin) {
-                Method m = klass.getMethod("setPluginInformation", PluginInformation.class);
-                m.invoke(plugin, this);
-            }
+            Constructor<?> c = klass.getConstructor(PluginInformation.class);
+            Object plugin = c.newInstance(this);
             return new PluginProxy(plugin, this);
         } catch(NoSuchMethodException e) {
