diff --git a/src/test/java/org/openflow/util/ProducerConsumerTest.java b/src/test/java/org/openflow/util/ProducerConsumerTest.java
deleted file mode 100644
index ec8ab27e17742a6235d74a00f3a3d7bf1f6c88cb..0000000000000000000000000000000000000000
--- a/src/test/java/org/openflow/util/ProducerConsumerTest.java
+++ /dev/null
@@ -1,405 +0,0 @@
-package org.openflow.util;
-
-import java.io.PrintStream;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-public class ProducerConsumerTest {
-
-	protected static interface _IConsumer {}
-	
-	protected static interface _IFace1 {
-		void method1 (Object anArg);
-	}
-
-	protected static interface _IFace2 {
-		void method2 (Object anArg);
-	}
-
-	protected static interface _IFace3 {}
-	
-	protected static Class<?> [] _iface1List  = {_IFace1.class};
-	protected static Class<?> [] _iface12List = {_IFace1.class, _IFace2.class};
-	protected static Class<?> [] _iface23List = {_IFace2.class, _IFace3.class};
-	
-	protected abstract static class _BaseConsumer implements _IConsumer
-	{
-		Class<?> [] ifaceList;
-		
-		_BaseConsumer (Class<?> [] ifaceList)
-		{
-			this.ifaceList = ifaceList;
-		}
-
-		int registeredCount ()
-		{
-			Set<Class<?>> supportedIfaces = ProducerConsumer.getSingleton ().registerConsumer (this);
-			int			  count			  = 0;
-			
-			for (Class<?> iface: ifaceList)
-				if (supportedIfaces.contains (iface))
-					count++;
-			
-			return count;				
-		}
-
-		boolean registerConsumer ()
-		{
-			return registeredCount () == ifaceList.length;
-		}
-
-	}
-
-	protected abstract static class _BaseProducer implements IProducer
-	{
-		Class<?> []				   ifaceList;
-		Map<Class<?>, Set<Object>> ifaceMap = new Hashtable<Class<?>, Set<Object>> ();
-
-		protected _BaseProducer (Class<?> [] ifaceList)
-		{
-			this.ifaceList = ifaceList;
-		}
-
-		protected int registerProducer ()
-		{
-			int count = 0;
-
-			for (Class<?> iface: ifaceList) {
-				if (iface.isInterface ()) {
-					if (ProducerConsumer.getSingleton ().registerProducer (this, iface))
-						count++;
-				}
-			}
-			
-			return count;
-		}
-
-		protected int deregisterProducer ()
-		{
-			int count = 0;
-
-			for (Class<?> iface: ifaceList) {
-				if (iface.isInterface ()) {
-					if (ProducerConsumer.getSingleton ().deregisterProducer (this, iface))
-						count ++;
-				}
-			}
-			
-			return count;
-		}
-		
-		protected int consumerCount ()
-		{
-			int count = 0;
-		
-			for (Class<?> iface: ifaceList) {
-				Set<Object> aSet = ifaceMap.get (iface);
-				
-				if (aSet != null)
-					count += aSet.size ();
-			}
-
-			return count;
-		}
-		
-		protected abstract int runCount ();
-
-		@Override
-		public void registerConsumer (Class<?> iface, Object anObj)
-		{
-			Set<Object> consumers = ifaceMap.get (iface);
-			
-			if (consumers == null) {
-				consumers = new HashSet<Object> ();
-				ifaceMap.put (iface, consumers);
-			}
-
-			consumers.add (anObj);
-		}
-
-		@Override
-		public void deregisterConsumer (Class<?> iface, Object anObj)
-		{
-			Set<Object> consumers = ifaceMap.get (iface);
-			
-			if (consumers != null)
-				consumers.remove (anObj);
-		}
-		
-	}
-	
-	protected static class _Consumer1 extends _BaseConsumer implements _IFace1 {
-
-		protected _Consumer1 ()
-		{
-			this (_iface1List);
-		}
-
-		protected _Consumer1 (Class<?>[] ifaceList)
-		{
-			super (ifaceList);
-		}
-
-		@Override
-		public void method1 (Object anArg) {}
-		
-	}
-
-	protected static class _Consumer12 extends _Consumer1 implements _IFace1, _IFace2 {
-
-		protected _Consumer12 ()
-		{
-			super (_iface12List);
-		}
-
-		@Override
-		public void method2 (Object anArg) {}
-
-	}
-
-	protected static class _Producer1 extends _BaseProducer {
-
-		protected _Producer1 ()
-		{
-			super (_iface1List);
-		}
-
-		@Override
-		protected int runCount ()
-		{
-			int count = 0;
-
-			for (Class<?> iface: ifaceList) {
-				Set<Object> aSet = ifaceMap.get (iface);
-				
-				if (aSet != null) {
-					if (iface == _IFace1.class) {
-						for (Object anObj: aSet) {
-							((_IFace1) anObj).method1 (anObj);
-							count++;
-						}
-					}
-				}
-			}
-
-			return count;
-		}
-		
-	}
-	
-	protected static class _Producer12 extends _BaseProducer {
-
-		protected _Producer12 ()
-		{
-			super (_iface12List);
-		}
-
-		@Override
-		protected int runCount ()
-		{
-			int count = 0;
-
-			for (Class<?> iface: ifaceList) {
-				Set<Object> aSet = ifaceMap.get (iface);
-				
-				if (aSet != null) {
-					if		(iface == _IFace1.class) {
-						for (Object anObj: aSet) {
-							((_IFace1) anObj).method1 (anObj);
-							count++;
-						}
-					}
-					else if (iface == _IFace2.class) {
-						for (Object anObj: aSet) {
-							((_IFace2) anObj).method2 (anObj);
-							count++;
-						}
-					}
-				}
-			}
-
-			return count;
-		}
-		
-	}
-	
-	protected static class _Producer23 extends _BaseProducer {
-
-		protected _Producer23 ()
-		{
-			super (_iface23List);
-		}
-
-		@Override
-		protected int runCount ()
-		{
-			int count = 0;
-
-			for (Class<?> iface: ifaceList) {
-				Set<Object> aSet = ifaceMap.get (iface);
-				
-				if (aSet != null) {
-					if		(iface == _IFace2.class) {
-						for (Object anObj: aSet) {
-							((_IFace2) anObj).method2 (anObj);
-							count++;
-						}
-					}
-					else if (iface == _IFace3.class) {
-						for (Object anObj: aSet) {
-							_IFace3 iface3 = (_IFace3) anObj;
-							
-							if (iface3 != null)
-								count++;
-						}
-					}
-				}
-			}
-
-			return count;
-		}
-		
-	}
-	
-	protected List<_BaseProducer> producers = new ArrayList<_BaseProducer> ();
-	protected List<_BaseConsumer> consumers = new ArrayList<_BaseConsumer> ();
-
-	protected static final String _REG_P_STR_   = "Registering producers";
-	protected static final String _REG_C_STR_   = "Registering consumers";
-	protected static final String _C_CNT_STR_   = "Consumer count";
-	protected static final String _P_CNT_STR_   = "Producer run count";
-	protected static final String _DREG_C_STR_  = "Deregistering consumers";
-	protected static final String _P_C_CNT_STR_ = "Producer client count";
-	protected static final String _DREG_P_STR_  = "Deregistering producers";
-	protected static final String _DREG_P2_STR_ = "Deregistering producers (again)";
-
-	protected static int _MSG_FILL_LENGTH_;
-	
-	static {
-		String [] msgList = {_REG_P_STR_, _REG_C_STR_, _C_CNT_STR_, _P_CNT_STR_, _DREG_C_STR_,
-							 _P_C_CNT_STR_, _DREG_P_STR_, _DREG_P2_STR_};
-		int		  maxLen  = 0;
-		
-		for (String str: msgList)
-			if (str.length () > maxLen)
-				maxLen = str.length ();
-		
-		_MSG_FILL_LENGTH_ = maxLen + 3;
-	}
-	
-	protected static void evalTest (String msg, Object expected, Object have)
-	{
-		boolean	     success = (expected.equals (have));
-		@SuppressWarnings("resource")
-		PrintStream  pStream = success ? System.out : System.err;
-		@SuppressWarnings("resource")
-		PrintStream  oStream = success ? System.err : System.out;
-		StringBuffer strBuff = new StringBuffer (msg);
-		
-		oStream.flush ();
-		
-		for (int i = 0; i < _MSG_FILL_LENGTH_ - msg.length (); i++)
-			strBuff.append (".");
-		
-		strBuff.append (success ? "PASSED" : "FAILED");
-
-		if (!success)
-			strBuff.append ("; expected " + expected + ", have " + have);
-
-		pStream.println (strBuff.toString ());
-		pStream.flush ();		
-	}
-
-	protected int registerProducers ()
-	{
-		_BaseProducer [] producerList = {new _Producer1 (), new _Producer12 (), new _Producer23 ()};
-		int				 count		  = 0;
-		
-		for (_BaseProducer producer: producerList) {
-			count += producer.registerProducer ();
-			producers.add (producer);
-		}
-
-		return count;
-	}
-
-	protected int deregisterProducers ()
-	{
-		int count = 0;
-
-		for (_BaseProducer producer: producers)
-			count += producer.deregisterProducer ();
-
-		return count;
-	}
-	
-	protected int consumerCount ()
-	{
-		int count = 0;
-		
-		for (_BaseProducer producer: producers)
-			count += producer.consumerCount ();
-		
-		return count;	
-	}
-
-	protected boolean registerConsumers ()
-	{
-		_BaseConsumer [] consumerList = {new _Consumer1 (), new _Consumer12 ()};
-		boolean			 cRegistered  = true;
-		
-		for (_BaseConsumer consumer: consumerList) {
-			consumers.add (consumer);
-			cRegistered &= consumer.registerConsumer ();
-		}
-		
-		return cRegistered;		
-	}
-
-	protected int deregisterConsumers ()
-	{
-		int count = 0;
-
-		for (_BaseConsumer consumer: consumers)
-			count += ProducerConsumer.getSingleton ().deregisterConsumer (consumer);
-		
-		return count;
-	}
-
-	protected int runCount ()
-	{
-		int count = 0;
-		
-		for (_BaseProducer producer: producers)
-			count += producer.runCount ();
-		
-		return count;	
-	}
-
-	protected void run ()
-	{
-		evalTest (_REG_P_STR_,   5,	   registerProducers ());
-		evalTest (_REG_C_STR_,   true, registerConsumers ());
-		evalTest (_C_CNT_STR_,   6,    consumerCount ());
-		evalTest (_P_CNT_STR_,	 6,	   runCount ());
-		evalTest (_DREG_C_STR_,  3,	   deregisterConsumers ());
-		evalTest (_P_C_CNT_STR_, 0,	   consumerCount ());
-		evalTest (_DREG_P_STR_,	 5,	   deregisterProducers ());
-		evalTest (_DREG_P2_STR_, 0,	   deregisterProducers ());
-	}
-
-	/**
-	 * @param args
-	 */
-	public static void main (String[] args)
-	{
-		ProducerConsumerTest test = new ProducerConsumerTest ();
-		
-		test.run ();
-	}
-
-}