private void exportFeatureProperty( FeaturePropertyType pt, FeatureReference ref, GmlXlinkOptions resolveState, QName propName ) throws XMLStreamException, UnknownCRSException, TransformationException { boolean includeNextLevelInOutput = includeNextLevelInOutput( resolveState ); if ( includeNextLevelInOutput ) { if ( pt.getAllowedRepresentation() == REMOTE ) { exportFeaturePropertyByReference( propName, ref, true, resolveState ); } else { if ( referenceExportStrategy.isObjectExported( ref.getId() ) ) { exportAlreadyExportedFeaturePropertyByReference( ref, propName ); } else { exportFeaturePropertyByValue( propName, ref, resolveState ); } } } else { exportFeaturePropertyByReference( propName, ref, false, resolveState ); } }