Como implementar editores GWT para subclasses de um tipo?

Digamos que eu tenha uma hierarquia de objetos como esta:

Conta> Site> Fornecimento

Uma conta é uma empresa real, um site é um prédio que eles têm e um suprimento é umElecSupply ouGasSupply. A oferta nunca é instanciada e pode ser uma aula abstrata em teoria.

Estou usando o Objectify para persistência e tenho uma página que exibe a lista de Suprimentos para cada site, independentemente de serem ou não umaElecSupply ouGasSupply.

Agora estou implementando oEstrutura do Editor do GWT e se depararam com um problema com essa entidade polimórfica. Como faço para implementar um editor e um conjunto de subeditores para um objeto como este?

@Entity
public class Supply implements Serializable
{
    @Id
    protected Long id;
    @Embedded
    protected List<BillingPeriod> billingPeriods = new ArrayList<BillingPeriod>();

    public Supply()
    {

    }
// ...
}

As subclasses: (o ElecSupply possui 5 campos exclusivos e o GasSupply tem apenas um)

@Subclass
public class ElecSupply extends Supply implements Serializable
{
    private String profile;
    private String mtc;
    private String llf;
    private String area;
    private String core;

    public ElecSupply()
    {

    }
}
@Subclass
public class GasSupply extends Supply implements Serializable
{
    private String mpr;

    public GasSupply()
    {

    }
// ...
}

Então eu gostaria de saber se alguém tem alguma experiência com esse tipo de estrutura? Eu tentei fazer editores separados paraElecSupply&nbsp;eGasSupplye mostre ou oculte-os como parte da página de edição.

A outra maneira que eu estava pensando em fazer isso seria ter um único editor (para o Supply), e então carregar diferentes sub-editores dependendo do tipo de objeto que estamos editando.

Qualquer barracão de luz será recebido com gratidão.