Several tries later and with the help of John Zhao from Abode, it turned out that the java classes need to be implemented as Serializable.
package com.grendel.java.data;
import java.io.Serializable
public class Person inplements Serializable
{
public int personId;
public Contact contact;
public Person () { super();}
}
package com.grendel.java.data;
import java.io.Serializable;
public class Contact inplements Serializable
{
public int contactId;
public String contact;
public Contact () { super();}
}
If you instantiate the Person class in the PersonAssembler or on the client the Contact child class will be serialized and deserialized during synchronization.