Problema aplicação cliente-servidor e cast de classes Java

boa tarde!

Tenho uma aplicação em Java dividido da seguinte forma: -Cliente: é baixado pelo usuário. Basicamente, interface gráfica. -Modelo: também é baixado pelo cliente. Possui as classes comuns ao Cliente e ao Servidor. Entre outras, as classes Barra e Estrutura com um monte de gets e sets. -Servidor: onde é realizado os cálculos/lógica do negócio. É executado remotamente em um servidor (via SOAP) e, portanto, não é baixado. Para processamento, as classes ModeloBarra e ModeloEstrutura estendem as classes Barra e Estrutura.

Durante a utilização, no cliente, a classe Estrutura é serializada com o XStream (para xml) e enviado ao servidor para processamento e posterior retorno. No servidor, deveria ser realizado um cast de Barra (enviado pelo cliente) para ModeloBarra (que possui a lógica do negócio), mas esse cast não é possível:

java.lang.ClassCastException: xyz.porticum.modelo.Barra cannot be cast to xyz.porticum.ws.modelo.ModeloBarra

Até então, tenho utilizado a desserealização de Barra para ModeloBarra, via XStream. Tem funcionado, porém, é uma grande gambiarra. Estou implementando novas funcionalidades e estou tendo dificuldades com essa solução.

De que outra forma poderia realizar esse “cast”? Há algum Design Pattern para problemas desse tipo? Cliente e servidor em que as classes do servidor estendem das classes do cliente.

Desde já, muito obrigado!