if (JDOHelper.getPersistenceManager(detachedPerson) != null)
throw new IllegalArgumentException("detachedPerson is not detached!");
List<DataField> dataFieldsToFilter = new LinkedList<DataField>();
IStruct struct = (IStruct) pm.getObjectById(detachedPerson.getStructLocalObjectID());
detachedPerson.inflate(struct);
for (DataField dataField : detachedPerson.getDataFields()) {
StructBlockID structBlockID = StructBlockID.create(dataField.getStructBlockOrganisationID(), dataField.getStructBlockID());