serializeComponentType(componentMetadata, componentMessage);
Serializer serializer = typeSerializationLibrary.getSerializerFor(componentMetadata);
for (ReplicatedFieldMetadata field : componentMetadata.getFields()) {
if (check.shouldSerializeField(field, component)) {
PersistedData result = serializer.serialize(field, component, serializationContext);
if (!result.isNull()) {
EntityData.Value itemValue = ((ProtobufPersistedData) result).getValue();
if (usingFieldIds) {
componentMessage.addField(EntityData.NameValue.newBuilder().setNameIndex(field.getId()).setValue(itemValue));
} else {