private void setUpFields( final NakedObject adapter, final ObjectData adapterData, final KnownObjectsRequest knownObjects) { final Data[] fieldContent = adapterData.getFieldContent(); if (fieldContent != null && fieldContent.length > 0) { final NakedObjectAssociation[] fields = fieldOrderCache.getFields(adapter.getSpecification()); if (fields.length != fieldContent.length) { throw new NakedObjectsRemoteException("Data received for different number of fields; expected " + fields.length + ", but was " + fieldContent.length); } for (int i = 0; i < fields.length; i++) { final NakedObjectAssociation field = fields[i]; final Data fieldData = fieldContent[i]; if (fieldData == null || !field.isNotDerived()) { LOG.debug("no data for field " + field.getId()); continue; } if (field.isOneToManyAssociation()) { setUpCollectionField(adapter, adapterData, field, (CollectionData) fieldData, knownObjects); } else if (field.getSpecification().isEncodeable()) { setUpEncodedField(adapter, (OneToOneAssociation) field, fieldData); } else { setUpReferenceField(adapter, (OneToOneAssociation) field, fieldData, knownObjects); } } } }
PersistorUtil.start(adapter, adapter.getResolveState().serializeFrom()); for (int i = 0; i < fields.length; i++) { if (!fields[i].isNotDerived()) { continue;