Make Protocol.java an abstract class