private void writeCollection(final StateWriter writer, final ObjectAssociation association, final ObjectAdapter collection, final KeyCreator keyCreator) {
final CollectionFacet collectionFacet = collection.getSpecification().getFacet(CollectionFacet.class);
if (association.getSpecification().isAggregated()) {
final List<StateWriter> elements = new ArrayList<StateWriter>();
for (final ObjectAdapter element : collectionFacet.iterable(collection)) {
final StateWriter elementWriter = writer.createElementWriter();
elementWriter.writeId(((AggregatedOid) element.getOid()).getId());
writeFields(elementWriter, element.getSpecification().getFullIdentifier(), element);
elements.add(elementWriter);
}