Hey guys, I got through all the steps and everything verified, but I have a bug somewhere that stops it from working properly. I don't want to ask someone to go through all my code (there's way too much for that), but I'd appreciate it if someone could perhaps send me their completed code so I could compare. I can send mine if you want proof that I actually completed it on my own first. This is the error stack trace I'm getting. It looks like it ultimately boils down to my ObjectOutputStream. I attached my send() and receive() methods below too.
public void send(Message message) throws IOException {
        synchronized (out) {

    public Message receive() throws IOException, ClassNotFoundException {
        Message message;
        synchronized (in) {
            MessageType messageType = (MessageType) this.in.readObject();
            String messageData = (String) this.in.readObject();
            message = new Message(messageType, messageData);
        return message;
I wrote both methods a few ways originally. At first I just wrote the object, so I tried writing the individual fields (as above), but that didn't solve it. I've tried checking it against the working code that others have posted in the other help sections, but I haven't managed to figure it out yet. Any thoughts?