@@ -0,0 +1,627 @@
+package com.azabani.java.rover;%0A%0Aimport com.azabani.java.rover.fake.Comm;%0Aimport java.util.List;%0Aimport java.util.LinkedList;%0A%0Apublic class ConcreteComm extends Comm implements ObservableDevice %7B%0A%09private List%3CDeviceObserver%3E observers;%0A%09public ConcreteComm() %7B%0A%09%09observers = new LinkedList%3CDeviceObserver%3E();%0A%09%7D%0A%09protected void receive(String message) %7B%0A%09%09notifyObservers(message);%0A%09%7D%0A%09public void addObserver(DeviceObserver o) %7B%0A%09%09observers.add(o);%0A%09%7D%0A%09public void deleteObserver(DeviceObserver o) %7B%0A%09%09observers.remove(o);%0A%09%7D%0A%09public void notifyObservers(Object x) %7B%0A%09%09for (DeviceObserver o : observers)%0A%09%09%09o.update(x);%0A%09%7D%0A%7D%0A

implement ConcreteComm (untested)