ObjectInputStream readObject (): ClassNotFoundException

Em ambas as classes, cliente e servidor, tenho exatamente uma mesma classe interna chamada Data. Este objeto de dados está sendo enviado do servidor usando:

ObjectOutputStream output= new ObjectOutputStream(socket.getOutputStream());
output.writeObject(d);

(onde d é um objeto de dados)

Esse objeto é recebido no lado do cliente e convertido em um objeto Data:

ObjectInputStream input = new ObjectInputStream(socket.getInputStream());
Object receiveObject = input.readObject();
if (receiveObject instanceof Data){
    Data receiveData = (Data) receiveObject;
    // some code here... 
}

Estou recebendo umjava.lang.ClassNotFoundException: TCPServer$Data nesta linhaObject receiveObject = input.readObject();

Meu palpite é que ele está tentando olhar para a classe Data no lado do servidor e não consegue encontrá-lo, mas não tenho certeza ... Como faço para corrigir isso?

questionAnswers(2)

yourAnswerToTheQuestion