else if ( fieldBridge instanceof TwoWayFieldBridge ) {
sourceFilterCollector.add( new JsonPrimitive( absoluteName ) );
PrimitiveProjection defaultFieldProjection = new PrimitiveProjection( rootTypeMetadata, absoluteName, type );
Collection<BridgeDefinedField> bridgeDefinedFields = fieldMetadata.getBridgeDefinedFields().values();
List<PrimitiveProjection> bridgeDefinedFieldsProjections = CollectionHelper.newArrayList( bridgeDefinedFields.size() );
for ( BridgeDefinedField bridgeDefinedField : bridgeDefinedFields ) {
PrimitiveProjection primitiveProjection = createProjection( sourceFilterCollector, rootTypeMetadata, bridgeDefinedField );
bridgeDefinedFieldsProjections.add( primitiveProjection );
}
return new TwoWayFieldBridgeProjection(
absoluteName, (TwoWayFieldBridge) fieldBridge, defaultFieldProjection, bridgeDefinedFieldsProjections
);
}