Implementing network protocols in Java - A framework for rapid prototyping