You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2023/08/25 13:46:30 UTC

[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1: reorder of import statements.

This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch geoapi-3.1
in repository https://gitbox.apache.org/repos/asf/sis.git

commit efcd672a679326d57c4ce234dc4065255ed3e0fc
Merge: 11f3507408 c349928302
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Fri Aug 25 15:37:50 2023 +0200

    Merge branch 'geoapi-4.0' into geoapi-3.1: reorder of import statements.

 .../org/apache/sis/buildtools/book/Assembler.java  |  1 -
 .../org/apache/sis/buildtools/doclet/Taglet.java   |  2 +-
 .../sis/buildtools/gradle/ModularPublishing.java   |  2 +-
 .../apache/sis/buildtools/gradle/ModularTest.java  |  2 +-
 .../apache/sis/cloud/aws/s3/ClientFileSystem.java  |  2 +-
 .../org/apache/sis/cloud/aws/s3/FileService.java   | 10 +++---
 .../org/apache/sis/cloud/aws/s3/PathIterator.java  |  2 +-
 .../apache/sis/console/FormattedOutputCommand.java |  4 +--
 .../org/apache/sis/console/IdentifierCommand.java  |  8 ++---
 .../org/apache/sis/console/MimeTypeCommand.java    |  4 +--
 .../apache/sis/console/ResourcesDownloader.java    |  1 -
 .../org/apache/sis/console/TransformCommand.java   | 12 ++++----
 .../apache/sis/console/MetadataCommandTest.java    |  4 ++-
 .../org/apache/sis/coverage/BandedCoverage.java    |  4 ++-
 .../org/apache/sis/coverage/CoverageCombiner.java  |  2 +-
 .../org/apache/sis/coverage/RegionOfInterest.java  |  2 +-
 .../org/apache/sis/coverage/SampleDimension.java   |  6 ++--
 .../org/apache/sis/coverage/SampleRangeFormat.java |  6 ++--
 .../coverage/SubspaceNotSpecifiedException.java    |  1 +
 .../sis/coverage/grid/BufferedGridCoverage.java    |  2 +-
 .../sis/coverage/grid/ConvertedGridCoverage.java   |  2 +-
 .../coverage/grid/CoordinateOperationFinder.java   |  6 ++--
 .../apache/sis/coverage/grid/DefaultEvaluator.java | 10 +++---
 .../sis/coverage/grid/DerivedGridCoverage.java     |  4 +--
 .../apache/sis/coverage/grid/DimensionReducer.java |  2 +-
 .../sis/coverage/grid/DimensionalityReduction.java |  6 ++--
 .../apache/sis/coverage/grid/EvaluatorWrapper.java |  2 +-
 .../coverage/grid/FractionalGridCoordinates.java   |  8 +++--
 .../sis/coverage/grid/GridCoordinatesView.java     |  4 ++-
 .../org/apache/sis/coverage/grid/GridCoverage.java |  8 ++---
 .../apache/sis/coverage/grid/GridCoverage2D.java   |  8 ++---
 .../apache/sis/coverage/grid/GridDerivation.java   | 10 +++---
 .../org/apache/sis/coverage/grid/GridExtent.java   | 12 ++++----
 .../apache/sis/coverage/grid/GridExtentCRS.java    |  6 ++--
 .../org/apache/sis/coverage/grid/GridGeometry.java | 20 ++++++------
 .../apache/sis/coverage/grid/ImageRenderer.java    |  2 +-
 .../apache/sis/coverage/grid/PixelTranslation.java |  2 +-
 .../sis/coverage/grid/ResampledGridCoverage.java   | 10 +++---
 .../apache/sis/coverage/grid/SliceGeometry.java    |  4 +--
 .../sis/coverage/grid/TranslatedGridCoverage.java  |  2 +-
 .../sis/coverage/grid/j2d/ColorModelBuilder.java   |  4 +--
 .../sis/coverage/grid/j2d/ColorModelFactory.java   |  6 ++--
 .../sis/coverage/grid/j2d/ImageUtilities.java      |  2 +-
 .../sis/coverage/grid/j2d/SampleModelFactory.java  |  4 +--
 .../sis/coverage/grid/j2d/ScaledColorSpace.java    |  2 +-
 .../sis/coverage/grid/j2d/TileOpExecutor.java      |  2 +-
 .../sis/coverage/internal/CommonDomainFinder.java  |  4 +--
 .../sis/coverage/internal/MultiSourceArgument.java |  4 +--
 .../sis/coverage/internal/RangeArgument.java       |  4 +--
 .../apache/sis/feature/AbstractAssociation.java    |  2 +-
 .../org/apache/sis/feature/AbstractAttribute.java  |  2 +-
 .../org/apache/sis/feature/AbstractFeature.java    |  4 +--
 .../apache/sis/feature/AbstractIdentifiedType.java |  6 ++--
 .../org/apache/sis/feature/AbstractOperation.java  |  2 +-
 .../org/apache/sis/feature/AssociationView.java    |  2 +-
 .../main/org/apache/sis/feature/AttributeView.java |  2 +-
 .../org/apache/sis/feature/CharacteristicMap.java  |  2 +-
 .../apache/sis/feature/CharacteristicTypeMap.java  |  2 +-
 .../org/apache/sis/feature/CommonParentFinder.java |  2 +-
 .../apache/sis/feature/DefaultAssociationRole.java |  2 +-
 .../apache/sis/feature/DefaultAttributeType.java   |  2 +-
 .../org/apache/sis/feature/DefaultFeatureType.java |  2 +-
 .../main/org/apache/sis/feature/DenseFeature.java  |  4 +--
 .../org/apache/sis/feature/EnvelopeOperation.java  |  8 ++---
 .../apache/sis/feature/ExpressionOperation.java    |  4 +--
 .../main/org/apache/sis/feature/FeatureFormat.java |  2 +-
 .../org/apache/sis/feature/FeatureOperations.java  |  2 +-
 .../main/org/apache/sis/feature/Features.java      |  4 +--
 .../main/org/apache/sis/feature/Field.java         |  4 +--
 .../main/org/apache/sis/feature/FieldType.java     |  2 +-
 .../sis/feature/GroupAsPolylineOperation.java      |  4 +--
 .../sis/feature/InvalidFeatureException.java       |  2 +-
 .../main/org/apache/sis/feature/LinkOperation.java |  2 +-
 .../apache/sis/feature/MultiValuedAssociation.java |  4 +--
 .../apache/sis/feature/MultiValuedAttribute.java   |  4 +--
 .../org/apache/sis/feature/NamedFeatureType.java   | 10 +++---
 .../org/apache/sis/feature/OperationResult.java    |  2 +-
 .../main/org/apache/sis/feature/PropertyView.java  |  6 ++--
 .../apache/sis/feature/SingletonAssociation.java   |  2 +-
 .../org/apache/sis/feature/SingletonAttribute.java |  2 +-
 .../main/org/apache/sis/feature/SparseFeature.java |  6 ++--
 .../apache/sis/feature/StringJoinOperation.java    | 14 ++++-----
 .../main/org/apache/sis/feature/Validator.java     |  6 ++--
 .../feature/builder/AssociationRoleBuilder.java    |  2 +-
 .../sis/feature/builder/AttributeTypeBuilder.java  | 10 +++---
 .../feature/builder/CharacteristicTypeBuilder.java |  2 +-
 .../sis/feature/builder/FeatureTypeBuilder.java    |  8 ++---
 .../sis/feature/builder/OperationWrapper.java      |  2 +-
 .../sis/feature/builder/PropertyTypeBuilder.java   |  2 +-
 .../apache/sis/feature/builder/TypeBuilder.java    |  8 ++---
 .../sis/feature/internal/AttributeConvention.java  |  4 +--
 .../sis/feature/internal/FeatureExpression.java    | 12 +++++---
 .../sis/feature/internal/FeatureUtilities.java     |  2 +-
 .../sis/feature/internal/MovingFeatures.java       |  2 +-
 .../org/apache/sis/filter/ArithmeticFunction.java  |  2 +-
 .../org/apache/sis/filter/AssociationValue.java    |  2 +-
 .../main/org/apache/sis/filter/BinaryFunction.java |  4 +--
 .../apache/sis/filter/BinaryGeometryFilter.java    |  2 +-
 .../org/apache/sis/filter/BinarySpatialFilter.java |  4 +--
 .../main/org/apache/sis/filter/Capabilities.java   |  3 +-
 .../org/apache/sis/filter/ComparisonFilter.java    |  2 +-
 .../org/apache/sis/filter/ConvertFunction.java     |  2 +-
 .../apache/sis/filter/DefaultFilterFactory.java    | 12 ++++----
 .../org/apache/sis/filter/DefaultSortProperty.java |  2 +-
 .../main/org/apache/sis/filter/DistanceFilter.java |  2 +-
 .../org/apache/sis/filter/IdentifierFilter.java    |  2 +-
 .../main/org/apache/sis/filter/LeafExpression.java |  6 ++--
 .../main/org/apache/sis/filter/LikeFilter.java     |  2 +-
 .../main/org/apache/sis/filter/LogicalFilter.java  |  2 +-
 .../main/org/apache/sis/filter/Optimization.java   |  2 +-
 .../main/org/apache/sis/filter/PropertyValue.java  |  2 +-
 .../main/org/apache/sis/filter/TemporalFilter.java |  2 +-
 .../main/org/apache/sis/filter/UnaryFunction.java  |  2 +-
 .../apache/sis/filter/internal/CopyVisitor.java    |  3 +-
 .../apache/sis/filter/internal/EditVisitor.java    |  1 +
 .../sis/filter/internal/FunctionRegister.java      |  2 ++
 .../sis/filter/internal/GeometryConverter.java     |  6 ++--
 .../main/org/apache/sis/filter/internal/Node.java  |  4 +--
 .../sis/filter/internal/SortByComparator.java      |  2 +-
 .../org/apache/sis/filter/internal/Visitor.java    |  4 +--
 .../sis/filter/sqlmm/FunctionDescription.java      |  7 ++---
 .../apache/sis/filter/sqlmm/FunctionWithSRID.java  |  4 +--
 .../sis/filter/sqlmm/GeometryConstructor.java      |  4 +--
 .../apache/sis/filter/sqlmm/GeometryParser.java    |  4 +--
 .../org/apache/sis/filter/sqlmm/OneGeometry.java   |  2 +-
 .../main/org/apache/sis/filter/sqlmm/Registry.java |  2 +-
 .../main/org/apache/sis/filter/sqlmm/SQLMM.java    |  6 ++--
 .../org/apache/sis/filter/sqlmm/ST_FromBinary.java |  2 +-
 .../org/apache/sis/filter/sqlmm/ST_FromText.java   |  2 +-
 .../main/org/apache/sis/filter/sqlmm/ST_Point.java |  2 +-
 .../org/apache/sis/filter/sqlmm/ST_Transform.java  |  2 +-
 .../apache/sis/filter/sqlmm/SpatialFunction.java   |  6 ++--
 .../org/apache/sis/filter/sqlmm/TwoGeometries.java |  2 +-
 .../apache/sis/geometry/wrapper/GeometryType.java  |  2 +-
 .../sis/geometry/wrapper/GeometryWrapper.java      | 14 ++++-----
 .../geometry/wrapper/SpatialOperationContext.java  | 10 +++---
 .../apache/sis/geometry/wrapper/esri/Wrapper.java  |  2 +-
 .../apache/sis/geometry/wrapper/j2d/Factory.java   |  2 +-
 .../sis/geometry/wrapper/j2d/PointWrapper.java     |  2 +-
 .../apache/sis/geometry/wrapper/j2d/Polyline.java  |  2 +-
 .../apache/sis/geometry/wrapper/j2d/Wrapper.java   |  2 +-
 .../apache/sis/geometry/wrapper/jts/Factory.java   |  4 +--
 .../geometry/wrapper/jts/GeometryTransform.java    |  2 +-
 .../org/apache/sis/geometry/wrapper/jts/JTS.java   |  4 +--
 .../apache/sis/geometry/wrapper/jts/Wrapper.java   | 10 +++---
 .../main/org/apache/sis/image/BandedIterator.java  |  2 ++
 .../apache/sis/image/BandedSampleConverter.java    |  4 +--
 .../main/org/apache/sis/image/ComputedImage.java   |  4 +--
 .../main/org/apache/sis/image/ImageProcessor.java  | 16 +++++-----
 .../main/org/apache/sis/image/MaskedImage.java     |  2 +-
 .../org/apache/sis/image/MultiSourceImage.java     |  2 +-
 .../org/apache/sis/image/MultiSourceLayout.java    |  2 +-
 .../main/org/apache/sis/image/PixelIterator.java   | 10 +++---
 .../main/org/apache/sis/image/PlanarImage.java     |  4 +--
 .../main/org/apache/sis/image/PrefetchedImage.java |  2 +-
 .../main/org/apache/sis/image/RecoloredImage.java  |  2 +-
 .../main/org/apache/sis/image/ResampledImage.java  |  2 +-
 .../main/org/apache/sis/image/Visualization.java   |  4 +--
 .../apache/sis/image/WritablePixelIterator.java    |  4 ++-
 .../apache/sis/image/processing/TiledProcess.java  |  2 +-
 .../sis/image/processing/isoline/Isolines.java     |  4 ++-
 .../main/org/apache/sis/index/tree/PointTree.java  |  2 +-
 .../coverage/grid/DimensionalityReductionTest.java |  4 ++-
 .../sis/coverage/grid/GridCoverage2DTest.java      |  4 ++-
 .../sis/coverage/grid/GridDerivationTest.java      | 10 +++---
 .../apache/sis/coverage/grid/GridExtentTest.java   |  9 ++++--
 .../apache/sis/coverage/grid/GridGeometryTest.java |  6 ++--
 .../sis/coverage/grid/PixelTranslationTest.java    |  2 ++
 .../coverage/grid/ResampledGridCoverageTest.java   |  6 ++--
 .../sis/coverage/grid/j2d/ImageUtilitiesTest.java  |  2 +-
 .../apache/sis/feature/AbstractFeatureTest.java    |  2 +-
 .../test/org/apache/sis/feature/Assertions.java    |  4 ++-
 .../apache/sis/feature/CharacteristicMapTest.java  |  2 +-
 .../sis/feature/CharacteristicTypeMapTest.java     |  5 +--
 .../org/apache/sis/feature/CustomAttribute.java    |  2 +-
 .../sis/feature/DefaultAssociationRoleTest.java    |  4 +--
 .../apache/sis/feature/DefaultFeatureTypeTest.java |  2 +-
 .../apache/sis/feature/EnvelopeOperationTest.java  |  4 +--
 .../org/apache/sis/feature/FeatureFormatTest.java  |  2 +-
 .../apache/sis/feature/FeatureMemoryBenchmark.java |  4 ++-
 .../apache/sis/feature/FeatureOperationsTest.java  |  4 +--
 .../org/apache/sis/feature/FeatureTestCase.java    |  2 +-
 .../test/org/apache/sis/feature/FeaturesTest.java  |  2 +-
 .../sis/feature/GroupAsPolylineOperationTest.java  |  4 +--
 .../test/org/apache/sis/feature/NoOperation.java   |  2 +-
 .../sis/feature/StringJoinOperationTest.java       |  2 +-
 .../builder/AssociationRoleBuilderTest.java        |  2 +-
 .../feature/builder/AttributeTypeBuilderTest.java  |  2 +-
 .../builder/CharacteristicTypeBuilderTest.java     |  2 +-
 .../feature/builder/FeatureTypeBuilderTest.java    |  4 +--
 .../feature/internal/AttributeConventionTest.java  |  2 +-
 .../apache/sis/filter/ArithmeticFunctionTest.java  |  2 +-
 .../sis/filter/BinarySpatialFilterTestCase.java    |  2 +-
 .../org/apache/sis/filter/CapabilitiesTest.java    |  2 +-
 .../apache/sis/filter/ComparisonFilterTest.java    |  4 +--
 .../apache/sis/filter/IdentifierFilterTest.java    |  2 +-
 .../org/apache/sis/filter/LeafExpressionTest.java  |  2 +-
 .../test/org/apache/sis/filter/LikeFilterTest.java |  2 +-
 .../org/apache/sis/filter/LogicalFilterTest.java   |  2 +-
 .../test/org/apache/sis/filter/PeriodLiteral.java  |  4 ++-
 .../org/apache/sis/filter/TemporalFilterTest.java  |  2 +-
 .../sis/filter/internal/CopyVisitorTest.java       |  2 +-
 .../sis/filter/internal/FilterFactoryMock.java     |  3 +-
 .../apache/sis/filter/internal/FunctionMock.java   |  3 +-
 .../sis/filter/internal/FunctionNamesTest.java     |  3 +-
 .../sis/filter/internal/ValueReferenceMock.java    |  3 +-
 .../apache/sis/filter/sqlmm/RegistryTestCase.java  |  4 +--
 .../org/apache/sis/filter/sqlmm/SQLMMTest.java     |  6 ++--
 .../org/apache/sis/image/BandedIteratorTest.java   |  4 ++-
 .../org/apache/sis/image/ImageProcessorTest.java   |  2 +-
 .../org/apache/sis/image/LinearIteratorTest.java   |  4 ++-
 .../org/apache/sis/image/PixelIteratorTest.java    |  4 ++-
 .../test/org/apache/sis/image/TiledImageMock.java  |  2 +-
 .../apache/sis/test/feature/FeatureComparator.java |  4 +--
 .../org/apache/sis/metadata/InformationMap.java    |  2 +-
 .../org/apache/sis/metadata/MetadataStandard.java  |  2 +-
 .../org/apache/sis/metadata/MetadataVisitor.java   |  2 +-
 .../sis/metadata/MetadataVisitorException.java     |  2 +-
 .../org/apache/sis/metadata/PropertyAccessor.java  | 10 +++---
 .../apache/sis/metadata/PropertyComparator.java    |  1 -
 .../apache/sis/metadata/PropertyInformation.java   | 10 +++---
 .../main/org/apache/sis/metadata/Pruner.java       |  4 ++-
 .../sis/metadata/StandardImplementation.java       |  5 +--
 .../main/org/apache/sis/metadata/StateChanger.java |  2 +-
 .../main/org/apache/sis/metadata/TreeNode.java     |  4 +--
 .../org/apache/sis/metadata/TreeTableView.java     |  2 +-
 .../apache/sis/metadata/internal/Identifiers.java  |  8 ++---
 .../org/apache/sis/metadata/internal/Merger.java   |  2 +-
 .../sis/metadata/internal/MetadataTypes.java       |  2 +-
 .../sis/metadata/internal/NameToIdentifier.java    |  6 ++--
 .../sis/metadata/internal/ServicesForUtility.java  |  8 +++--
 .../sis/metadata/internal/TemporalUtilities.java   |  8 +++--
 .../metadata/internal/TransformationAccuracy.java  |  2 +-
 .../iso/DefaultApplicationSchemaInformation.java   |  4 ++-
 .../iso/DefaultExtendedElementInformation.java     | 12 +++++---
 .../apache/sis/metadata/iso/DefaultMetadata.java   | 14 ++++++---
 .../iso/DefaultMetadataExtensionInformation.java   |  2 +-
 .../sis/metadata/iso/DefaultMetadataScope.java     |  4 ++-
 .../iso/DefaultPortrayalCatalogueReference.java    |  2 +-
 .../sis/metadata/iso/MetadataScopeAdapter.java     |  4 ++-
 .../sis/metadata/iso/OnlineResourceAdapter.java    |  1 +
 .../apache/sis/metadata/iso/URIStringAdapter.java  |  1 +
 .../metadata/iso/acquisition/DefaultPlatform.java  |  4 ++-
 .../iso/acquisition/DefaultRequirement.java        |  4 ++-
 .../sis/metadata/iso/acquisition/package-info.java |  2 +-
 .../sis/metadata/iso/citation/AbstractParty.java   | 10 +++---
 .../sis/metadata/iso/citation/DefaultCitation.java | 10 +++---
 .../metadata/iso/citation/DefaultCitationDate.java |  2 +-
 .../sis/metadata/iso/citation/DefaultContact.java  |  4 ++-
 .../metadata/iso/citation/DefaultIndividual.java   |  4 ++-
 .../metadata/iso/citation/DefaultOrganisation.java |  4 ++-
 .../iso/citation/DefaultResponsibility.java        |  2 +-
 .../iso/citation/DefaultResponsibleParty.java      | 10 +++---
 .../metadata/iso/citation/DefaultTelephone.java    |  4 ++-
 .../metadata/iso/citation/LegacyTelephones.java    |  4 ++-
 .../sis/metadata/iso/citation/package-info.java    |  2 +-
 .../iso/constraint/DefaultConstraints.java         |  8 +++--
 .../iso/constraint/DefaultReleasability.java       |  6 ++--
 .../sis/metadata/iso/constraint/package-info.java  |  2 +-
 .../iso/content/DefaultAttributeGroup.java         |  4 ++-
 .../sis/metadata/iso/content/DefaultBand.java      |  4 ++-
 .../iso/content/DefaultCoverageDescription.java    |  4 ++-
 .../DefaultFeatureCatalogueDescription.java        |  6 ++--
 .../iso/content/DefaultFeatureTypeInfo.java        |  4 ++-
 .../iso/content/DefaultRangeDimension.java         |  6 ++--
 .../content/DefaultRangeElementDescription.java    |  2 +-
 .../iso/content/DefaultSampleDimension.java        |  4 ++-
 .../sis/metadata/iso/content/package-info.java     |  2 +-
 .../metadata/iso/distribution/DefaultDataFile.java |  4 ++-
 .../DefaultDigitalTransferOptions.java             |  4 +--
 .../iso/distribution/DefaultDistribution.java      |  2 +-
 .../iso/distribution/DefaultDistributor.java       |  4 ++-
 .../metadata/iso/distribution/DefaultFormat.java   |  2 +-
 .../metadata/iso/distribution/DefaultMedium.java   | 16 ++++++----
 .../metadata/iso/distribution/package-info.java    |  2 +-
 .../sis/metadata/iso/extent/DefaultExtent.java     |  4 +--
 .../iso/extent/DefaultGeographicBoundingBox.java   |  2 +-
 .../metadata/iso/extent/DefaultTemporalExtent.java |  6 ++--
 .../metadata/iso/extent/DefaultVerticalExtent.java |  8 +++--
 .../apache/sis/metadata/iso/extent/Extents.java    | 14 ++++-----
 .../sis/metadata/iso/extent/package-info.java      |  1 -
 .../iso/identification/AbstractIdentification.java | 14 ++++++---
 .../DefaultAggregateInformation.java               |  4 ++-
 .../identification/DefaultAssociatedResource.java  |  4 ++-
 .../iso/identification/DefaultBrowseGraphic.java   |  4 +--
 .../iso/identification/DefaultCoupledResource.java | 10 +++---
 .../identification/DefaultDataIdentification.java  |  8 +++--
 .../iso/identification/DefaultKeywordClass.java    |  6 ++--
 .../iso/identification/DefaultKeywords.java        |  4 ++-
 .../DefaultOperationChainMetadata.java             |  8 +++--
 .../identification/DefaultOperationMetadata.java   |  8 +++--
 .../DefaultRepresentativeFraction.java             | 10 +++---
 .../DefaultServiceIdentification.java              |  8 +++--
 .../metadata/iso/identification/DefaultUsage.java  |  6 ++--
 .../metadata/iso/identification/OperationName.java |  4 ++-
 .../metadata/iso/identification/package-info.java  |  2 +-
 .../metadata/iso/legacy/LegacyPropertyAdapter.java |  4 +--
 .../sis/metadata/iso/lineage/DefaultLineage.java   |  4 ++-
 .../metadata/iso/lineage/DefaultProcessStep.java   | 10 ++++--
 .../iso/lineage/DefaultProcessStepReport.java      |  2 +-
 .../sis/metadata/iso/lineage/DefaultSource.java    |  6 ++--
 .../sis/metadata/iso/lineage/package-info.java     |  1 -
 .../iso/maintenance/AttributeTypeAdapter.java      |  1 +
 .../maintenance/DefaultMaintenanceInformation.java |  8 +++--
 .../sis/metadata/iso/maintenance/DefaultScope.java |  4 ++-
 .../iso/maintenance/DefaultScopeDescription.java   |  4 +--
 .../iso/maintenance/FeatureTypeAdapter.java        |  1 +
 .../iso/maintenance/LegacyFeatureType.java         |  1 +
 .../sis/metadata/iso/maintenance/package-info.java |  3 +-
 .../org/apache/sis/metadata/iso/package-info.java  |  2 +-
 .../iso/quality/AbstractDataEvaluation.java        |  2 ++
 .../sis/metadata/iso/quality/AbstractElement.java  | 10 +++---
 .../metadata/iso/quality/AbstractMetaquality.java  |  2 ++
 .../sis/metadata/iso/quality/AbstractResult.java   |  4 +--
 .../iso/quality/AbstractTemporalQuality.java       |  4 ++-
 .../iso/quality/AbstractThematicAccuracy.java      |  4 ++-
 .../iso/quality/DefaultAggregationDerivation.java  |  2 ++
 .../metadata/iso/quality/DefaultBasicMeasure.java  |  4 ++-
 .../metadata/iso/quality/DefaultConfidence.java    |  2 ++
 .../metadata/iso/quality/DefaultDataQuality.java   |  6 ++--
 .../iso/quality/DefaultDescriptiveResult.java      |  4 ++-
 .../iso/quality/DefaultEvaluationMethod.java       | 10 +++---
 .../DefaultEvaluationReportInformation.java        |  2 ++
 .../iso/quality/DefaultFullInspection.java         |  2 ++
 .../metadata/iso/quality/DefaultHomogeneity.java   |  2 ++
 .../iso/quality/DefaultIndirectEvaluation.java     |  4 ++-
 .../iso/quality/DefaultMeasureDescription.java     |  4 ++-
 .../iso/quality/DefaultMeasureReference.java       |  5 +--
 ...DefaultNonQuantitativeAttributeCorrectness.java |  2 ++
 .../iso/quality/DefaultQualityMeasure.java         |  4 ++-
 .../iso/quality/DefaultRepresentativity.java       |  2 ++
 .../iso/quality/DefaultSampleBasedInspection.java  |  2 ++
 .../sis/metadata/iso/quality/DefaultScope.java     |  6 ++--
 .../iso/quality/DefaultSourceReference.java        |  4 ++-
 .../sis/metadata/iso/quality/package-info.java     |  2 +-
 .../iso/spatial/AbstractSpatialRepresentation.java |  4 ++-
 .../sis/metadata/iso/spatial/DefaultDimension.java |  2 +-
 .../sis/metadata/iso/spatial/package-info.java     |  2 +-
 .../sis/metadata/simple/CitationConstant.java      | 10 ++++--
 .../sis/metadata/simple/SimpleAttributeType.java   |  6 ++--
 .../apache/sis/metadata/simple/SimpleDuration.java |  2 ++
 .../apache/sis/metadata/simple/SimpleFormat.java   |  4 ++-
 .../metadata/simple/SimpleIdentifiedObject.java    |  6 ++--
 .../sis/metadata/simple/SimpleIdentifier.java      |  6 ++--
 .../apache/sis/metadata/simple/SimpleMetadata.java | 12 +++++---
 .../org/apache/sis/metadata/sql/Dispatcher.java    |  8 +++--
 .../apache/sis/metadata/sql/MetadataFallback.java  |  8 +++--
 .../apache/sis/metadata/sql/MetadataSource.java    | 16 +++++-----
 .../apache/sis/metadata/sql/MetadataWriter.java    |  4 +--
 .../apache/sis/metadata/sql/util/Initializer.java  |  2 +-
 .../org/apache/sis/util/iso/DefaultLocalName.java  |  2 +-
 .../org/apache/sis/util/iso/DefaultNameSpace.java  |  4 +--
 .../apache/sis/util/iso/DefaultRecordSchema.java   |  4 ++-
 .../org/apache/sis/util/iso/DefaultRecordType.java |  6 ++--
 .../org/apache/sis/util/iso/RecordDefinition.java  |  4 ++-
 .../main/org/apache/sis/util/iso/TypeNames.java    |  2 +-
 .../main/org/apache/sis/util/iso/Types.java        |  6 ++--
 .../main/org/apache/sis/util/iso/package-info.java |  2 +-
 .../main/org/apache/sis/xml/LegacyCodes.java       |  4 ++-
 .../main/org/apache/sis/xml/MarshallerPool.java    |  4 +--
 .../main/org/apache/sis/xml/NilReason.java         |  2 +-
 .../main/org/apache/sis/xml/Pooled.java            |  2 +-
 .../main/org/apache/sis/xml/ReferenceResolver.java |  4 +--
 .../org/apache/sis/xml/TransformingNamespaces.java |  2 +-
 .../main/org/apache/sis/xml/ValueConverter.java    |  2 +-
 .../main/org/apache/sis/xml/bind/Context.java      | 10 +++---
 .../sis/xml/bind/ModifiableIdentifierMap.java      |  2 +-
 .../apache/sis/xml/bind/SpecializedIdentifier.java |  2 +-
 .../org/apache/sis/xml/bind/TypeRegistration.java  |  4 +--
 .../org/apache/sis/xml/bind/cat/CodeListUID.java   |  6 ++--
 .../org/apache/sis/xml/bind/cat/EnumAdapter.java   |  4 +--
 .../sis/xml/bind/gco/GO_CharacterString.java       |  4 ++-
 .../apache/sis/xml/bind/gco/ObjectReference.java   |  2 +-
 .../org/apache/sis/xml/bind/gco/PropertyType.java  |  2 +-
 .../org/apache/sis/xml/bind/gcx/package-info.java  |  2 +-
 .../org/apache/sis/xml/bind/gmi/package-info.java  |  2 +-
 .../main/org/apache/sis/xml/bind/gml/Measure.java  |  2 +-
 .../apache/sis/xml/bind/gml/SC_VerticalCRS.java    |  4 +--
 .../org/apache/sis/xml/bind/gml/TM_Primitive.java  |  6 ++--
 .../org/apache/sis/xml/bind/gml/TimeInstant.java   |  4 ++-
 .../org/apache/sis/xml/bind/gml/TimePeriod.java    |  4 ++-
 .../apache/sis/xml/bind/gml/TimePeriodBound.java   |  2 ++
 .../org/apache/sis/xml/bind/gts/TM_Duration.java   |  6 ++--
 .../apache/sis/xml/bind/gts/TM_PeriodDuration.java |  6 ++--
 .../org/apache/sis/xml/bind/gts/package-info.java  |  2 +-
 .../apache/sis/xml/bind/lan/LocaleAndCharset.java  |  4 +--
 .../org/apache/sis/xml/bind/lan/PT_FreeText.java   |  1 -
 .../org/apache/sis/xml/bind/lan/PT_Locale.java     |  2 +-
 .../org/apache/sis/xml/bind/metadata/CI_Party.java |  4 ++-
 .../sis/xml/bind/metadata/CI_Responsibility.java   |  6 ++--
 .../sis/xml/bind/metadata/CI_ResponsibleParty.java |  2 +-
 .../sis/xml/bind/metadata/DQM_BasicMeasure.java    |  4 ++-
 .../sis/xml/bind/metadata/DQM_Description.java     |  4 ++-
 .../apache/sis/xml/bind/metadata/DQM_Measure.java  |  4 ++-
 .../sis/xml/bind/metadata/DQM_SourceReference.java |  4 ++-
 .../sis/xml/bind/metadata/DQ_EvaluationMethod.java |  4 ++-
 .../sis/xml/bind/metadata/DQ_MeasureReference.java |  4 ++-
 .../DQ_StandaloneQualityReportInformation.java     |  4 ++-
 .../xml/bind/metadata/MD_AssociatedResource.java   |  1 +
 .../sis/xml/bind/metadata/MD_AttributeGroup.java   |  4 ++-
 .../sis/xml/bind/metadata/MD_FeatureTypeInfo.java  |  3 +-
 .../sis/xml/bind/metadata/MD_KeywordClass.java     |  4 ++-
 .../sis/xml/bind/metadata/MD_MetadataScope.java    |  4 ++-
 .../sis/xml/bind/metadata/MD_Releasability.java    |  2 ++
 .../org/apache/sis/xml/bind/metadata/MD_Scope.java |  8 +++--
 .../sis/xml/bind/metadata/SV_CoupledResource.java  |  4 ++-
 .../bind/metadata/SV_OperationChainMetadata.java   |  4 ++-
 .../xml/bind/metadata/SV_OperationMetadata.java    |  4 ++-
 .../xml/bind/metadata/code/CI_DateTypeCode.java    |  2 +-
 .../bind/metadata/code/CI_OnLineFunctionCode.java  |  2 +-
 .../metadata/code/CI_PresentationFormCode.java     |  2 +-
 .../sis/xml/bind/metadata/code/CI_RoleCode.java    |  2 +-
 .../bind/metadata/code/CI_TelephoneTypeCode.java   |  8 +++--
 .../apache/sis/xml/bind/metadata/code/DCPList.java |  8 +++--
 .../xml/bind/metadata/code/DQM_ValueStructure.java |  3 +-
 .../metadata/code/DQ_EvaluationMethodTypeCode.java |  2 +-
 .../bind/metadata/code/DS_AssociationTypeCode.java |  2 +-
 .../bind/metadata/code/DS_InitiativeTypeCode.java  |  2 +-
 .../bind/metadata/code/MD_CellGeometryCode.java    |  2 +-
 .../bind/metadata/code/MD_ClassificationCode.java  |  2 +-
 .../metadata/code/MD_CoverageContentTypeCode.java  |  2 +-
 .../xml/bind/metadata/code/MD_DatatypeCode.java    |  2 +-
 .../metadata/code/MD_DimensionNameTypeCode.java    |  2 +-
 .../metadata/code/MD_GeometricObjectTypeCode.java  |  2 +-
 .../metadata/code/MD_ImagingConditionCode.java     |  2 +-
 .../xml/bind/metadata/code/MD_KeywordTypeCode.java |  2 +-
 .../metadata/code/MD_MaintenanceFrequencyCode.java |  2 +-
 .../bind/metadata/code/MD_MediumFormatCode.java    |  2 +-
 .../xml/bind/metadata/code/MD_MediumNameCode.java  |  4 ++-
 .../xml/bind/metadata/code/MD_ObligationCode.java  |  2 +-
 .../metadata/code/MD_PixelOrientationCode.java     |  4 ++-
 .../xml/bind/metadata/code/MD_ProgressCode.java    |  2 +-
 .../xml/bind/metadata/code/MD_RestrictionCode.java |  2 +-
 .../sis/xml/bind/metadata/code/MD_ScopeCode.java   |  2 +-
 .../code/MD_SpatialRepresentationTypeCode.java     |  2 +-
 .../bind/metadata/code/MD_TopicCategoryCode.java   |  4 ++-
 .../bind/metadata/code/MD_TopologyLevelCode.java   |  2 +-
 .../xml/bind/metadata/code/MI_BandDefinition.java  |  2 +-
 .../sis/xml/bind/metadata/code/MI_ContextCode.java |  2 +-
 .../bind/metadata/code/MI_GeometryTypeCode.java    |  2 +-
 .../bind/metadata/code/MI_ObjectiveTypeCode.java   |  2 +-
 .../bind/metadata/code/MI_OperationTypeCode.java   |  2 +-
 .../code/MI_PolarisationOrientationCode.java       |  6 ++--
 .../xml/bind/metadata/code/MI_PriorityCode.java    |  2 +-
 .../xml/bind/metadata/code/MI_SequenceCode.java    |  2 +-
 .../metadata/code/MI_TransferFunctionTypeCode.java |  2 +-
 .../sis/xml/bind/metadata/code/MI_TriggerCode.java |  2 +-
 .../xml/bind/metadata/code/SV_CouplingType.java    |  8 +++--
 .../bind/metadata/code/SV_ParameterDirection.java  |  3 +-
 .../sis/xml/bind/metadata/replace/Parameter.java   |  1 +
 .../bind/metadata/replace/QualityParameter.java    |  8 +++--
 .../xml/bind/metadata/replace/RS_Identifier.java   |  6 ++--
 .../metadata/replace/ReferenceSystemMetadata.java  |  6 ++--
 .../bind/metadata/replace/ServiceParameter.java    | 10 +++---
 .../xml/bind/metadata/replace/package-info.java    |  6 ++--
 .../test/org/apache/sis/metadata/Assertions.java   |  6 ++--
 .../test/org/apache/sis/metadata/HashCodeTest.java | 10 ++++--
 .../apache/sis/metadata/MetadataStandardTest.java  |  6 ++--
 .../apache/sis/metadata/PropertyAccessorTest.java  | 16 +++++-----
 .../sis/metadata/PropertyConsistencyCheck.java     |  6 ++--
 .../sis/metadata/PropertyInformationTest.java      |  6 ++--
 .../test/org/apache/sis/metadata/TreeNodeTest.java | 10 ++++--
 .../apache/sis/metadata/TreeTableFormatTest.java   |  8 +++--
 .../test/org/apache/sis/metadata/TypeMapTest.java  |  4 ++-
 .../test/org/apache/sis/metadata/ValueMapTest.java |  4 ++-
 .../apache/sis/metadata/internal/MergerTest.java   |  4 ++-
 .../sis/metadata/internal/NameMeaningTest.java     |  2 +-
 .../apache/sis/metadata/iso/AllMetadataTest.java   |  6 ++--
 .../sis/metadata/iso/CustomMetadataTest.java       |  2 +-
 .../sis/metadata/iso/DefaultIdentifierTest.java    |  2 +-
 .../sis/metadata/iso/DefaultMetadataTest.java      |  6 ++--
 .../metadata/iso/citation/DefaultCitationTest.java | 16 ++++++----
 .../metadata/iso/citation/DefaultContactTest.java  |  4 ++-
 .../metadata/iso/citation/HardCodedCitations.java  |  3 +-
 .../sis/metadata/iso/content/DefaultBandTest.java  |  4 ++-
 .../sis/metadata/iso/extent/ExtentsTest.java       |  2 +-
 .../identification/DefaultBrowseGraphicTest.java   |  2 +-
 .../identification/DefaultCoupledResourceTest.java |  8 +++--
 .../DefaultRepresentativeFractionTest.java         |  2 +-
 .../iso/identification/DefaultResolutionTest.java  |  2 +-
 .../DefaultServiceIdentificationTest.java          | 14 +++++----
 .../iso/quality/DefaultQuantitativeResultTest.java |  2 +-
 .../sis/metadata/iso/quality/ScopeCodeTest.java    |  4 ++-
 .../sis/metadata/sql/IdentifierGeneratorTest.java  |  4 +--
 .../sis/metadata/sql/MetadataFallbackVerifier.java |  8 +++--
 .../sis/metadata/sql/MetadataSourceTest.java       |  8 +++--
 .../sis/metadata/sql/MetadataWriterTest.java       | 14 ++++-----
 .../sis/metadata/xml/SchemaComplianceTest.java     |  3 +-
 .../apache/sis/test/mock/IdentifiedObjectMock.java |  4 ++-
 .../org/apache/sis/test/mock/MetadataMock.java     | 10 +++---
 .../org/apache/sis/test/mock/package-info.java     |  2 +-
 .../sis/test/xml/AnnotationConsistencyCheck.java   |  8 +++--
 .../org/apache/sis/test/xml/PackageVerifier.java   |  3 +-
 .../org/apache/sis/test/xml/SchemaCompliance.java  |  1 +
 .../test/org/apache/sis/test/xml/TestCase.java     |  8 ++---
 .../sis/util/iso/DefaultRecordSchemaTest.java      |  2 --
 .../org/apache/sis/util/iso/DefaultRecordTest.java |  2 --
 .../apache/sis/util/iso/DefaultRecordTypeTest.java |  2 --
 .../apache/sis/util/iso/NameMarshallingTest.java   |  4 +--
 .../test/org/apache/sis/util/iso/TypesTest.java    |  4 ++-
 .../sis/xml/CharSequenceSubstitutionTest.java      |  4 ++-
 .../test/org/apache/sis/xml/NamespacesTest.java    |  1 -
 .../test/org/apache/sis/xml/NilReasonTest.java     |  4 ++-
 .../org/apache/sis/xml/RenameListGenerator.java    |  1 +
 .../sis/xml/bind/ModifiableIdentifierMapTest.java  |  2 +-
 .../sis/xml/bind/cat/CodeListMarshallingTest.java  |  6 ++--
 .../apache/sis/xml/bind/gml/TimePeriodTest.java    |  1 +
 .../sis/xml/bind/lan/FreeTextMarshallingTest.java  |  2 +-
 .../apache/sis/xml/bind/lan/LanguageCodeTest.java  |  6 ++--
 .../metadata/replace/QualityParameterTest.java     | 10 +++---
 .../metadata/replace/ServiceParameterTest.java     |  6 ++--
 .../main/org/apache/sis/openoffice/CalcAddins.java |  2 --
 .../sis/openoffice/ReferencingFunctions.java       |  4 +--
 .../org/apache/sis/openoffice/Registration.java    |  1 -
 .../org/apache/sis/map/ExceptionPresentation.java  |  1 +
 .../main/org/apache/sis/map/ListChangeEvent.java   |  1 +
 .../main/org/apache/sis/map/NotifiedList.java      |  2 ++
 .../main/org/apache/sis/map/Presentation.java      |  1 +
 .../org/apache/sis/map/PropertyNameCollector.java  |  1 +
 .../org/apache/sis/map/ResourceSymbolizer.java     |  1 +
 .../main/org/apache/sis/map/SEPortrayer.java       | 15 ++++-----
 .../main/org/apache/sis/map/SEPresentation.java    |  3 +-
 .../main/org/apache/sis/map/SymbologyVisitor.java  |  3 +-
 .../org/apache/sis/map/coverage/RenderingData.java | 10 +++---
 .../main/org/apache/sis/portrayal/Canvas.java      |  8 +++--
 .../org/apache/sis/portrayal/CanvasContext.java    |  2 +-
 .../main/org/apache/sis/portrayal/MapItem.java     |  1 +
 .../main/org/apache/sis/portrayal/MapLayer.java    |  1 +
 .../main/org/apache/sis/portrayal/MapLayers.java   |  1 +
 .../apache/sis/portrayal/TransformChangeEvent.java |  2 +-
 .../org/apache/sis/style/se1/AbstractStyle.java    |  2 +-
 .../main/org/apache/sis/style/se1/AnchorPoint.java |  2 +-
 .../apache/sis/style/se1/ContrastEnhancement.java  |  2 +-
 .../org/apache/sis/style/se1/Displacement.java     |  2 +-
 .../apache/sis/style/se1/ExpressionAdapter.java    |  2 +-
 .../org/apache/sis/style/se1/FeatureTypeStyle.java |  2 +-
 .../main/org/apache/sis/style/se1/Fill.java        |  2 +-
 .../main/org/apache/sis/style/se1/Font.java        |  2 +-
 .../main/org/apache/sis/style/se1/Graphic.java     |  2 +-
 .../org/apache/sis/style/se1/GraphicStroke.java    |  2 +-
 .../main/org/apache/sis/style/se1/Halo.java        |  2 +-
 .../org/apache/sis/style/se1/LinePlacement.java    |  2 +-
 .../org/apache/sis/style/se1/LineSymbolizer.java   |  2 +-
 .../main/org/apache/sis/style/se1/Mark.java        |  2 +-
 .../org/apache/sis/style/se1/PointPlacement.java   |  2 +-
 .../apache/sis/style/se1/PolygonSymbolizer.java    |  2 +-
 .../org/apache/sis/style/se1/RasterSymbolizer.java |  2 +-
 .../main/org/apache/sis/style/se1/Rule.java        |  4 +--
 .../org/apache/sis/style/se1/SelectedChannel.java  |  2 +-
 .../org/apache/sis/style/se1/ShadedRelief.java     |  2 +-
 .../main/org/apache/sis/style/se1/Stroke.java      |  2 +-
 .../org/apache/sis/style/se1/StyleElement.java     |  2 +-
 .../org/apache/sis/style/se1/StyleFactory.java     |  2 +-
 .../main/org/apache/sis/style/se1/Symbolizer.java  |  2 +-
 .../org/apache/sis/style/se1/TextSymbolizer.java   |  2 +-
 .../main/org/apache/sis/style/se1/Translucent.java |  1 +
 .../org/apache/sis/style/se1/package-info.java     |  2 +-
 .../test/org/apache/sis/map/SEPortrayerTest.java   | 20 ++++++------
 .../MultiResolutionCoverageLoaderTest.java         |  2 +-
 .../org/apache/sis/portrayal/MapLayersTest.java    |  4 +++
 .../apache/sis/style/se1/ChannelSelectionTest.java |  1 +
 .../sis/style/se1/ContrastEnhancementTest.java     |  1 +
 .../apache/sis/style/se1/ExternalGraphicTest.java  |  1 +
 .../apache/sis/style/se1/FeatureTypeStyleTest.java |  1 +
 .../test/org/apache/sis/style/se1/FontTest.java    |  1 +
 .../test/org/apache/sis/style/se1/GraphicTest.java |  1 +
 .../test/org/apache/sis/style/se1/HaloTest.java    |  3 +-
 .../apache/sis/style/se1/LineSymbolizerTest.java   |  3 +-
 .../test/org/apache/sis/style/se1/MarkTest.java    |  1 +
 .../apache/sis/style/se1/PointPlacementTest.java   |  3 +-
 .../apache/sis/style/se1/PointSymbolizerTest.java  |  3 +-
 .../sis/style/se1/PolygonSymbolizerTest.java       |  3 +-
 .../apache/sis/style/se1/RasterSymbolizerTest.java |  1 +
 .../test/org/apache/sis/style/se1/RuleTest.java    |  2 +-
 .../apache/sis/style/se1/SelectedChannelTest.java  |  1 +
 .../org/apache/sis/style/se1/ShadedReliefTest.java |  1 +
 .../test/org/apache/sis/style/se1/StrokeTest.java  |  1 +
 .../org/apache/sis/style/se1/StyleTestCase.java    |  2 +-
 .../org/apache/sis/style/se1/SymbolizerTest.java   |  3 +-
 .../org/apache/sis/style/se1/SymbologyTest.java    |  1 +
 .../apache/sis/style/se1/TextSymbolizerTest.java   |  3 +-
 .../sis/xml/bind/fra/DirectReferenceSystem.java    |  4 ++-
 .../sis/xml/bind/fra/IndirectReferenceSystem.java  |  4 ++-
 .../sis/profile/france/FrenchProfileTest.java      |  4 ++-
 .../xml/bind/fra/DirectReferenceSystemTest.java    |  6 ++--
 .../apache/sis/profile/japan/netcdf/GCOM_C.java    |  2 +-
 .../referencing/gazetteer/AbstractLocation.java    |  2 +-
 .../gazetteer/AbstractLocationType.java            |  8 ++---
 .../referencing/gazetteer/FinalLocationType.java   |  4 +--
 .../gazetteer/GeohashReferenceSystem.java          |  6 ++--
 .../sis/referencing/gazetteer/LocationFormat.java  |  8 ++---
 .../gazetteer/MilitaryGridReferenceSystem.java     | 22 ++++++-------
 .../gazetteer/ModifiableLocationType.java          |  4 +--
 .../gazetteer/ReferencingByIdentifiers.java        | 10 +++---
 .../sis/referencing/gazetteer/SimpleLocation.java  |  4 ++-
 .../gazetteer/GeohashReferenceSystemTest.java      |  4 +--
 .../referencing/gazetteer/LocationTypeTest.java    |  2 +-
 .../sis/referencing/gazetteer/LocationViewer.java  |  6 ++--
 .../gazetteer/MilitaryGridReferenceSystemTest.java |  4 +--
 .../sis/geometry/AbstractDirectPosition.java       |  1 +
 .../org/apache/sis/geometry/AbstractEnvelope.java  |  1 +
 .../org/apache/sis/geometry/ArrayEnvelope.java     |  1 +
 .../org/apache/sis/geometry/CoordinateFormat.java  | 13 ++++----
 .../org/apache/sis/geometry/DirectPosition1D.java  |  1 +
 .../org/apache/sis/geometry/DirectPosition2D.java  |  2 +-
 .../main/org/apache/sis/geometry/Envelope2D.java   |  9 +++---
 .../org/apache/sis/geometry/EnvelopeReducer.java   |  2 +-
 .../main/org/apache/sis/geometry/Envelopes.java    |  1 +
 .../apache/sis/geometry/GeneralDirectPosition.java |  1 +
 .../org/apache/sis/geometry/GeneralEnvelope.java   |  1 +
 .../org/apache/sis/geometry/ImmutableEnvelope.java |  1 +
 .../main/org/apache/sis/geometry/Shapes2D.java     |  2 +-
 .../main/org/apache/sis/geometry/SubEnvelope.java  |  1 +
 .../apache/sis/geometry/WraparoundAdjustment.java  |  5 ++-
 .../main/org/apache/sis/io/wkt/AbstractParser.java |  2 +-
 .../main/org/apache/sis/io/wkt/Formatter.java      | 22 ++++++-------
 .../apache/sis/io/wkt/GeodeticObjectParser.java    | 25 ++++++---------
 .../org/apache/sis/io/wkt/MathTransformParser.java |  2 +-
 .../sis/io/wkt/UnparsableObjectException.java      |  2 +-
 .../main/org/apache/sis/io/wkt/WKTDictionary.java  | 18 ++++++-----
 .../main/org/apache/sis/io/wkt/WKTFormat.java      |  6 ++--
 .../sis/parameter/AbstractParameterDescriptor.java |  9 ++++--
 .../parameter/DefaultParameterDescriptorGroup.java | 10 +++---
 .../sis/parameter/DefaultParameterValue.java       | 10 +++---
 .../sis/parameter/DefaultParameterValueGroup.java  |  4 +--
 .../apache/sis/parameter/FilteredParameters.java   |  2 +-
 .../sis/parameter/MapProjectionDescriptor.java     |  2 +-
 .../sis/parameter/MapProjectionParameters.java     |  2 +-
 .../org/apache/sis/parameter/ParameterFormat.java  | 14 +++++----
 .../main/org/apache/sis/parameter/Parameters.java  |  4 +--
 .../org/apache/sis/parameter/TensorParameters.java |  4 +--
 .../org/apache/sis/parameter/TensorValues.java     |  8 ++---
 .../main/org/apache/sis/parameter/Verifier.java    |  2 +-
 .../org/apache/sis/parameter/package-info.java     |  2 +-
 .../sis/referencing/AbstractIdentifiedObject.java  | 14 ++++-----
 .../sis/referencing/AbstractReferenceSystem.java   |  4 ++-
 .../apache/sis/referencing/AuthorityFactories.java |  2 +-
 .../main/org/apache/sis/referencing/Builder.java   |  4 +--
 .../main/org/apache/sis/referencing/CRS.java       | 18 +++++------
 .../main/org/apache/sis/referencing/CommonCRS.java |  8 ++---
 .../sis/referencing/EPSGFactoryFallback.java       |  4 +--
 .../referencing/EllipsoidalHeightSeparator.java    |  5 +--
 .../apache/sis/referencing/GeodeticCalculator.java | 10 +++---
 .../apache/sis/referencing/IdentifiedObjects.java  |  2 --
 .../sis/referencing/ImmutableIdentifier.java       |  4 ++-
 .../org/apache/sis/referencing/NameIterator.java   |  4 ++-
 .../apache/sis/referencing/NamedIdentifier.java    |  8 +++--
 .../org/apache/sis/referencing/Properties.java     |  8 +++--
 .../sis/referencing/StandardDefinitions.java       |  6 ++--
 .../apache/sis/referencing/crs/AbstractCRS.java    |  8 +++--
 .../sis/referencing/crs/AbstractDerivedCRS.java    |  2 +-
 .../sis/referencing/crs/DefaultCompoundCRS.java    | 16 +++++-----
 .../sis/referencing/crs/DefaultDerivedCRS.java     |  6 ++--
 .../sis/referencing/crs/DefaultEngineeringCRS.java |  2 +-
 .../sis/referencing/crs/DefaultGeocentricCRS.java  |  2 +-
 .../sis/referencing/crs/DefaultGeodeticCRS.java    |  6 ++--
 .../sis/referencing/crs/DefaultGeographicCRS.java  |  6 ++--
 .../sis/referencing/crs/DefaultImageCRS.java       |  4 +--
 .../sis/referencing/crs/DefaultParametricCRS.java  |  2 +-
 .../sis/referencing/crs/DefaultProjectedCRS.java   |  1 +
 .../sis/referencing/crs/DefaultTemporalCRS.java    |  4 +--
 .../sis/referencing/crs/DefaultVerticalCRS.java    |  2 +-
 .../org/apache/sis/referencing/cs/AbstractCS.java  |  6 ++--
 .../sis/referencing/cs/CoordinateSystems.java      |  2 +-
 .../sis/referencing/cs/DefaultCompoundCS.java      |  2 +-
 .../cs/DefaultCoordinateSystemAxis.java            |  7 +++--
 .../sis/referencing/cs/DefaultParametricCS.java    |  2 +-
 .../sis/referencing/cs/DirectionAlongMeridian.java |  2 +-
 .../org/apache/sis/referencing/cs/Normalizer.java  |  7 +++--
 .../sis/referencing/datum/AbstractDatum.java       |  6 ++--
 .../sis/referencing/datum/BursaWolfParameters.java |  2 +-
 .../sis/referencing/datum/DatumShiftGrid.java      |  2 +-
 .../sis/referencing/datum/DefaultEllipsoid.java    | 14 +++++----
 .../referencing/datum/DefaultEngineeringDatum.java |  4 ++-
 .../referencing/datum/DefaultGeodeticDatum.java    | 12 +++++---
 .../sis/referencing/datum/DefaultImageDatum.java   |  4 ++-
 .../referencing/datum/DefaultParametricDatum.java  |  2 +-
 .../referencing/datum/DefaultPrimeMeridian.java    |  8 +++--
 .../referencing/datum/DefaultTemporalDatum.java    |  4 ++-
 .../referencing/datum/DefaultVerticalDatum.java    |  4 ++-
 .../referencing/factory/AuthorityFactoryProxy.java |  4 +--
 .../factory/CommonAuthorityFactory.java            |  6 ++--
 .../factory/ConcurrentAuthorityFactory.java        |  6 ++--
 .../factory/GeodeticAuthorityFactory.java          |  8 ++---
 .../referencing/factory/GeodeticObjectFactory.java | 10 +++---
 .../factory/IdentifiedObjectFinder.java            |  6 ++--
 .../referencing/factory/IdentifiedObjectSet.java   |  6 ++--
 .../factory/MultiAuthoritiesFactory.java           | 12 ++++----
 .../referencing/factory/sql/EPSGCodeFinder.java    |  6 ++--
 .../referencing/factory/sql/EPSGDataAccess.java    | 36 +++++++++++-----------
 .../sis/referencing/factory/sql/EPSGFactory.java   | 10 +++---
 .../sis/referencing/factory/sql/EPSGInstaller.java |  6 ++--
 .../factory/sql/InstallationScriptProvider.java    |  2 +-
 .../referencing/internal/EPSGFactoryProxyCRS.java  |  4 ++-
 .../referencing/internal/EPSGFactoryProxyCS.java   |  4 ++-
 .../internal/EPSGFactoryProxyDatum.java            |  4 ++-
 .../referencing/internal/PositionTransformer.java  |  2 +-
 .../apache/sis/referencing/internal/RTreeNode.java |  4 ++-
 .../referencing/internal/ServicesForMetadata.java  | 10 +++---
 .../referencing/internal/VerticalDatumTypes.java   |  6 ++--
 .../operation/AbstractCoordinateOperation.java     | 10 +++---
 .../operation/AbstractSingleOperation.java         |  6 ++--
 .../apache/sis/referencing/operation/CRSPair.java  |  6 ++--
 .../operation/CoordinateOperationContext.java      |  2 +-
 .../operation/CoordinateOperationFinder.java       | 16 +++++-----
 .../operation/CoordinateOperationRegistry.java     |  7 ++---
 .../operation/DefaultConcatenatedOperation.java    |  4 ++-
 .../referencing/operation/DefaultConversion.java   |  2 +-
 .../DefaultCoordinateOperationFactory.java         | 18 +++++------
 .../operation/DefaultOperationMethod.java          | 10 +++---
 .../operation/DefaultPassThroughOperation.java     |  6 ++--
 .../operation/InverseOperationMethod.java          |  4 +--
 .../operation/builder/LinearTransformBuilder.java  | 12 ++++----
 .../operation/builder/LocalizationGridBuilder.java |  2 +-
 .../sis/referencing/operation/matrix/Matrices.java |  6 ++--
 .../referencing/operation/matrix/MatrixSIS.java    |  4 +--
 .../operation/projection/AlbersEqualArea.java      |  2 +-
 .../operation/projection/CassiniSoldner.java       |  2 +-
 .../operation/projection/CylindricalEqualArea.java |  2 +-
 .../operation/projection/Initializer.java          |  2 +-
 .../projection/LambertAzimuthalEqualArea.java      |  2 +-
 .../projection/LambertConicConformal.java          |  2 +-
 .../operation/projection/LongitudeWraparound.java  |  2 +-
 .../referencing/operation/projection/Mercator.java |  2 +-
 .../operation/projection/NormalizedProjection.java |  4 ++-
 .../operation/projection/PolarStereographic.java   |  2 +-
 .../operation/projection/SatelliteTracking.java    |  2 +-
 .../operation/projection/TransverseMercator.java   |  4 +--
 .../operation/provider/AbstractProvider.java       |  6 ++--
 .../referencing/operation/provider/EPSGName.java   |  2 +-
 .../provider/FranceGeocentricInterpolation.java    |  2 +-
 .../operation/provider/GeocentricAffine.java       |  2 +-
 .../GeocentricAffineBetweenGeographic.java         |  2 +-
 .../provider/GeographicToTopocentric.java          |  2 +-
 .../operation/provider/MapProjection.java          | 10 +++---
 .../referencing/operation/provider/Molodensky.java |  2 +-
 .../operation/provider/ObliqueMercator.java        |  1 -
 .../operation/provider/ObliqueMercatorCenter.java  |  2 +-
 .../operation/provider/TransverseMercator.java     |  2 +-
 .../transform/AbstractLinearTransform.java         |  2 +-
 .../operation/transform/ConcatenatedTransform.java |  2 +-
 .../operation/transform/ContextualParameters.java  |  6 ++--
 .../transform/CoordinateSystemTransform.java       |  2 +-
 .../operation/transform/DatumShiftTransform.java   |  4 +--
 .../transform/DefaultMathTransformFactory.java     | 14 ++++-----
 .../transform/EllipsoidToCentricTransform.java     |  8 ++---
 .../transform/ExponentialTransform1D.java          |  2 +-
 .../transform/InterpolatedGeocentricTransform.java |  2 +-
 .../transform/InterpolatedMolodenskyTransform.java |  4 +--
 .../operation/transform/InterpolatedTransform.java |  2 +-
 .../operation/transform/LinearInterpolator1D.java  |  2 +-
 .../operation/transform/LinearTransform1D.java     |  6 ++--
 .../transform/LogarithmicTransform1D.java          |  4 +--
 .../operation/transform/MathTransforms.java        |  2 +-
 .../operation/transform/MolodenskyFormula.java     |  4 +--
 .../operation/transform/PassThroughTransform.java  |  6 ++--
 .../operation/transform/PoleRotation.java          |  6 ++--
 .../operation/transform/PowerTransform1D.java      |  2 +-
 .../operation/transform/ProjectiveTransform.java   |  6 ++--
 .../operation/transform/TransferFunction.java      |  2 +-
 .../operation/transform/TransformSeparator.java    |  4 +--
 .../operation/transform/WraparoundTransform.java   |  4 +--
 .../org/apache/sis/referencing/package-info.java   |  1 -
 .../sis/referencing/util/AxisDirections.java       |  4 ++-
 .../sis/referencing/util/CoordinateOperations.java |  4 +--
 .../sis/referencing/util/DefinitionVerifier.java   |  4 +--
 .../util/EllipsoidalHeightCombiner.java            |  2 +-
 .../referencing/util/GeodeticObjectBuilder.java    |  6 ++--
 .../sis/referencing/util/NilReferencingObject.java |  4 ++-
 .../util/PositionalAccuracyConstant.java           |  2 +-
 .../util/ReferencingFactoryContainer.java          |  6 ++--
 .../sis/referencing/util/ReferencingUtilities.java |  2 +-
 .../apache/sis/referencing/util/WKTUtilities.java  |  4 ++-
 .../sis/referencing/util/j2d/AffineMatrix.java     |  2 +-
 .../org/apache/sis/referencing/util/j2d/Tile.java  |  4 +--
 .../referencing/CC_GeneralOperationParameter.java  | 12 +++++---
 .../xml/bind/referencing/CC_OperationMethod.java   |  6 ++--
 .../xml/bind/referencing/CD_ParametricDatum.java   |  4 ++-
 .../sis/xml/bind/referencing/CS_ParametricCS.java  |  4 ++-
 .../org/apache/sis/xml/bind/referencing/Code.java  |  6 ++--
 .../sis/xml/bind/referencing/SC_SingleCRS.java     |  2 +-
 .../apache/sis/geometry/CoordinateFormatTest.java  |  2 +-
 .../org/apache/sis/geometry/EnvelopesTest.java     |  2 +-
 .../org/apache/sis/io/wkt/ComparisonWithEPSG.java  |  6 ++--
 .../test/org/apache/sis/io/wkt/FormatterTest.java  |  4 +--
 .../apache/sis/io/wkt/MathTransformParserTest.java |  2 ++
 .../org/apache/sis/io/wkt/TransliteratorTest.java  |  4 +--
 .../org/apache/sis/io/wkt/WKTDictionaryTest.java   | 11 ++++---
 .../test/org/apache/sis/io/wkt/WKTParserTest.java  |  1 +
 .../DefaultParameterDescriptorGroupTest.java       |  4 ++-
 .../parameter/DefaultParameterDescriptorTest.java  |  2 +-
 .../org/apache/sis/parameter/ParametersTest.java   |  8 +++--
 .../apache/sis/parameter/TensorParametersTest.java |  4 ++-
 .../referencing/AbstractIdentifiedObjectTest.java  |  6 ++--
 .../referencing/AbstractReferenceSystemTest.java   |  2 +-
 .../sis/referencing/AuthorityFactoriesTest.java    |  2 --
 .../org/apache/sis/referencing/BuilderTest.java    |  2 +-
 .../test/org/apache/sis/referencing/CRSTest.java   |  4 +--
 .../org/apache/sis/referencing/CommonCRSTest.java  |  6 ++--
 .../sis/referencing/EPSGFactoryFallbackTest.java   |  2 --
 .../sis/referencing/GeodeticCalculatorTest.java    | 11 ++++---
 .../sis/referencing/IdentifiedObjectsTest.java     |  2 +-
 .../sis/referencing/ImmutableIdentifierTest.java   |  2 ++
 .../sis/referencing/NamedIdentifierTest.java       |  4 ++-
 .../sis/referencing/StandardDefinitionsTest.java   |  4 +--
 .../referencing/crs/DefaultCompoundCRSTest.java    |  4 ++-
 .../sis/referencing/crs/DefaultDerivedCRSTest.java |  8 +++--
 .../referencing/crs/DefaultEngineeringCRSTest.java |  4 ++-
 .../referencing/crs/DefaultGeodeticCRSTest.java    |  2 +-
 .../referencing/crs/DefaultGeographicCRSTest.java  |  6 ++--
 .../sis/referencing/crs/DefaultImageCRSTest.java   |  6 ++--
 .../referencing/crs/DefaultProjectedCRSTest.java   | 10 +++---
 .../apache/sis/referencing/crs/HardCodedCRS.java   |  2 +-
 .../sis/referencing/cs/CoordinateSystemsTest.java  |  4 ++-
 .../sis/referencing/cs/DefaultCartesianCSTest.java |  2 +-
 .../referencing/cs/DefaultCylindricalCSTest.java   |  2 ++
 .../referencing/cs/DefaultEllipsoidalCSTest.java   |  2 +-
 .../sis/referencing/cs/DefaultPolarCSTest.java     |  2 ++
 .../sis/referencing/cs/DefaultSphericalCSTest.java |  2 ++
 .../referencing/datum/BursaWolfParametersTest.java |  4 ++-
 .../referencing/datum/DefaultEllipsoidTest.java    |  2 +-
 .../datum/DefaultGeodeticDatumTest.java            |  6 ++--
 .../datum/DefaultPrimeMeridianTest.java            |  2 +-
 .../datum/DefaultTemporalDatumTest.java            |  4 ++-
 .../datum/DefaultVerticalDatumTest.java            |  4 +--
 .../referencing/datum/TimeDependentBWPTest.java    |  4 ++-
 .../factory/AuthorityFactoryProxyTest.java         |  7 ++---
 .../factory/CommonAuthorityFactoryTest.java        | 10 +++---
 .../factory/GeodeticObjectFactoryTest.java         |  5 ++-
 .../factory/IdentifiedObjectFinderTest.java        |  2 --
 .../referencing/factory/sql/EPSGFactoryTest.java   |  8 ++---
 .../referencing/factory/sql/EPSGInstallerTest.java |  8 ++---
 .../referencing/geoapi/AuthorityFactoryTest.java   |  1 +
 .../geoapi/ParameterizedTransformTest.java         |  1 +
 .../internal/VerticalDatumTypesTest.java           |  2 +-
 .../operation/CoordinateOperationFinderTest.java   | 15 ++++-----
 .../operation/CoordinateOperationRegistryTest.java | 10 +++---
 .../DefaultConcatenatedOperationTest.java          |  5 +--
 .../operation/DefaultConversionTest.java           |  8 +++--
 .../DefaultCoordinateOperationFactoryTest.java     |  6 ++--
 .../operation/DefaultPassThroughOperationTest.java |  4 ++-
 .../operation/DefaultTransformationTest.java       |  2 +-
 .../operation/HardCodedConversions.java            |  2 +-
 .../operation/SingleOperationMarshallingTest.java  |  8 +++--
 .../builder/LinearTransformBuilderTest.java        |  6 ++--
 .../operation/builder/LinearizerTest.java          |  2 +-
 .../operation/builder/ResidualGridTest.java        |  2 ++
 .../referencing/operation/matrix/MatricesTest.java |  6 ++--
 .../referencing/operation/matrix/Matrix4Test.java  |  4 ++-
 .../operation/matrix/MatrixTestCase.java           |  4 ++-
 .../operation/matrix/NonSquareMatrixTest.java      |  2 ++
 .../operation/projection/AlbersEqualAreaTest.java  |  5 +--
 .../projection/AuthalicConversionTest.java         |  2 +-
 .../projection/CylindricalEqualAreaTest.java       |  4 ++-
 .../operation/projection/EquirectangularTest.java  |  2 +-
 .../projection/LambertConicConformalTest.java      |  4 ++-
 .../projection/MapProjectionTestCase.java          |  6 ++--
 .../operation/projection/MercatorTest.java         |  6 ++--
 .../operation/projection/MeridianArcTest.java      |  2 +-
 .../sis/referencing/operation/projection/NoOp.java |  2 +-
 .../projection/NormalizedProjectionTest.java       |  4 ++-
 .../operation/projection/ObliqueMercatorTest.java  | 10 +++---
 .../projection/ObliqueStereographicTest.java       |  4 ++-
 .../operation/projection/OrthographicTest.java     |  4 ++-
 .../projection/TransverseMercatorTest.java         |  2 ++
 .../FranceGeocentricInterpolationTest.java         |  2 +-
 .../provider/GeocentricTranslationTest.java        | 10 +++---
 .../operation/provider/Geographic3Dto2DTest.java   |  2 ++
 .../operation/provider/GeographicOffsetsTest.java  |  2 --
 .../operation/provider/LongitudeRotationTest.java  |  4 ++-
 .../operation/provider/MapProjectionTest.java      |  4 ++-
 .../referencing/operation/provider/NADCONTest.java |  2 ++
 .../referencing/operation/provider/NTv2Test.java   |  4 ++-
 .../provider/ParameterNameTableGenerator.java      |  3 +-
 .../provider/PositionVector7ParamTest.java         |  2 +-
 .../transform/AbridgedMolodenskyTransformTest.java |  4 ++-
 .../transform/AbstractMathTransformTest.java       |  3 +-
 .../operation/transform/CartesianToPolarTest.java  |  6 ++--
 .../transform/CartesianToSphericalTest.java        |  6 ++--
 .../transform/ConcatenatedTransformTest.java       |  4 ++-
 .../transform/ContextualParametersTest.java        |  2 ++
 .../operation/transform/CoordinateDomain.java      |  1 -
 .../operation/transform/CoordinateDomainTest.java  |  2 --
 .../transform/CoordinateSystemTransformTest.java   |  6 ++--
 .../operation/transform/CopyTransformTest.java     |  2 --
 .../transform/DefaultMathTransformFactoryTest.java |  8 ++---
 .../transform/EllipsoidToCentricTransformTest.java |  7 +++--
 .../transform/ExponentialTransform1DTest.java      |  7 +++--
 .../InterpolatedGeocentricTransformTest.java       |  5 +--
 .../InterpolatedMolodenskyTransformTest.java       |  4 +--
 .../transform/InterpolatedTransformTest.java       |  4 +--
 .../operation/transform/IterationStrategyTest.java |  3 +-
 .../transform/LinearInterpolator1DTest.java        |  4 ++-
 .../operation/transform/LinearTransformTest.java   |  3 +-
 .../transform/LogarithmicTransform1DTest.java      |  5 +--
 .../transform/MathTransformFactoryBase.java        |  2 --
 .../operation/transform/MathTransformTestCase.java | 13 ++++----
 .../operation/transform/MathTransformsTest.java    |  2 ++
 .../transform/MolodenskyTransformTest.java         | 31 ++++++++++---------
 .../transform/PassThroughTransformTest.java        |  5 ++-
 .../operation/transform/PolarToCartesianTest.java  |  5 +--
 .../transform/ProjectiveTransformTest.java         |  6 ++--
 .../operation/transform/ScaleTransformTest.java    |  5 +--
 .../transform/SphericalToCartesianTest.java        |  5 +--
 .../operation/transform/TransferFunctionTest.java  |  2 ++
 .../transform/TransformResultComparator.java       |  2 ++
 .../transform/TransformSeparatorTest.java          |  2 ++
 .../transform/TranslationTransformTest.java        |  5 +--
 .../transform/WraparoundTransformTest.java         |  2 ++
 .../report/CoordinateOperationMethods.java         | 16 +++++-----
 .../report/CoordinateReferenceSystems.java         | 14 ++++-----
 .../sis/referencing/report/HTMLGenerator.java      |  2 +-
 .../util/EllipsoidalHeightCombinerTest.java        |  4 ++-
 .../util/GeodeticObjectBuilderTest.java            |  2 ++
 .../referencing/util/ReferencingUtilitiesTest.java |  2 +-
 .../sis/test/integration/ConsistencyTest.java      | 12 ++++----
 .../test/integration/CoordinateOperationTest.java  |  2 +-
 .../apache/sis/test/integration/MetadataTest.java  | 18 +++++------
 .../sis/test/integration/MetadataVerticalTest.java | 13 ++++----
 .../CC_GeneralOperationParameterTest.java          |  2 +-
 .../CC_OperationParameterGroupTest.java            |  2 +-
 .../apache/sis/xml/bind/referencing/CodeTest.java  |  4 ++-
 .../org/apache/sis/storage/landsat/BandGroup.java  |  4 +--
 .../apache/sis/storage/landsat/MetadataReader.java |  4 +--
 .../sis/storage/landsat/MetadataReaderTest.java    |  9 ++++--
 .../org/apache/sis/storage/geotiff/CRSBuilder.java | 14 ++++-----
 .../sis/storage/geotiff/CompressedSubset.java      |  2 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |  8 ++---
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |  2 +-
 .../sis/storage/geotiff/GridGeometryBuilder.java   |  2 +-
 .../sis/storage/geotiff/ImageFileDirectory.java    | 14 ++++-----
 .../sis/storage/geotiff/ImageMetadataBuilder.java  |  4 +--
 .../sis/storage/geotiff/MultiResolutionImage.java  |  2 +-
 .../main/org/apache/sis/storage/geotiff/Type.java  |  2 +-
 .../geotiff/inflater/CompressionChannel.java       |  2 +-
 .../sis/storage/geotiff/inflater/Inflater.java     |  4 +--
 .../sis/storage/geotiff/XMLMetadataTest.java       |  2 +-
 .../apache/sis/storage/netcdf/AttributeNames.java  |  1 +
 .../apache/sis/storage/netcdf/MetadataReader.java  | 14 ++++-----
 .../org/apache/sis/storage/netcdf/NetcdfStore.java |  8 ++---
 .../sis/storage/netcdf/NetcdfStoreProvider.java    | 22 ++++++-------
 .../org/apache/sis/storage/netcdf/base/Axis.java   |  6 ++--
 .../apache/sis/storage/netcdf/base/CRSBuilder.java | 12 +++++---
 .../apache/sis/storage/netcdf/base/Convention.java |  4 +--
 .../apache/sis/storage/netcdf/base/Decoder.java    |  4 ++-
 .../sis/storage/netcdf/base/DiscreteSampling.java  |  2 +-
 .../apache/sis/storage/netcdf/base/FeatureSet.java |  6 ++--
 .../sis/storage/netcdf/base/GridMapping.java       | 12 +++++---
 .../org/apache/sis/storage/netcdf/base/HYCOM.java  |  2 +-
 .../apache/sis/storage/netcdf/base/Linearizer.java |  6 ++--
 .../sis/storage/netcdf/base/RasterResource.java    | 27 ++++++++--------
 .../sis/storage/netcdf/classic/ChannelDecoder.java |  8 ++---
 .../sis/storage/netcdf/classic/GridInfo.java       |  6 ++--
 .../sis/storage/netcdf/classic/VariableInfo.java   | 14 ++++-----
 .../sis/storage/netcdf/ucar/DecoderWrapper.java    |  6 ++--
 .../sis/storage/netcdf/ucar/DimensionWrapper.java  |  2 +-
 .../sis/storage/netcdf/ucar/FeaturesWrapper.java   |  4 +--
 .../sis/storage/netcdf/ucar/GridWrapper.java       |  4 +--
 .../sis/storage/netcdf/ucar/VariableWrapper.java   |  6 ++--
 .../sis/storage/netcdf/MetadataReaderTest.java     | 10 +++---
 .../storage/netcdf/NetcdfStoreProviderTest.java    | 12 +++++---
 .../apache/sis/storage/netcdf/NetcdfStoreTest.java |  4 ++-
 .../sis/storage/netcdf/base/DecoderTest.java       |  4 ++-
 .../sis/storage/netcdf/base/FeatureSetTest.java    |  4 +--
 .../apache/sis/storage/netcdf/base/GridTest.java   |  4 ++-
 .../apache/sis/storage/netcdf/base/TestCase.java   | 10 +++---
 .../sis/storage/netcdf/base/VariableTest.java      |  4 ++-
 .../storage/netcdf/classic/ChannelDecoderTest.java |  4 ++-
 .../sis/storage/netcdf/classic/FeatureSetTest.java |  3 +-
 .../sis/storage/netcdf/classic/GridInfoTest.java   |  4 +--
 .../storage/netcdf/classic/VariableInfoTest.java   |  4 ++-
 .../main/org/apache/sis/storage/sql/SQLStore.java  |  6 ++--
 .../apache/sis/storage/sql/SQLStoreProvider.java   |  8 ++---
 .../org/apache/sis/storage/sql/feature/Column.java |  2 +-
 .../apache/sis/storage/sql/feature/Database.java   | 14 ++++-----
 .../sis/storage/sql/feature/FeatureAdapter.java    |  4 +--
 .../sis/storage/sql/feature/FeatureAnalyzer.java   |  4 +--
 .../sis/storage/sql/feature/FeatureIterator.java   |  2 +-
 .../sis/storage/sql/feature/FeatureStream.java     |  6 ++--
 .../sis/storage/sql/feature/InfoStatements.java    | 14 +++++----
 .../apache/sis/storage/sql/feature/Relation.java   |  2 +-
 .../sis/storage/sql/feature/SchemaModifier.java    |  2 +-
 .../sis/storage/sql/feature/SelectionClause.java   |  2 +-
 .../storage/sql/feature/SelectionClauseWriter.java |  4 +--
 .../org/apache/sis/storage/sql/feature/Table.java  |  4 +--
 .../sis/storage/sql/feature/TableReference.java    |  4 +--
 .../storage/sql/postgis/ExtendedClauseWriter.java  |  2 +-
 .../sis/storage/sql/postgis/RasterReader.java      |  2 +-
 .../org/apache/sis/storage/sql/SQLStoreTest.java   |  4 +--
 .../storage/sql/feature/GeometryGetterTest.java    |  4 +--
 .../sql/feature/SelectionClauseWriterTest.java     |  4 +--
 .../sis/storage/sql/postgis/PostgresTest.java      | 12 +++-----
 .../apache/sis/storage/sql/postgis/TestRaster.java |  2 +-
 .../main/org/apache/sis/storage/gpx/Copyright.java |  6 ++--
 .../main/org/apache/sis/storage/gpx/Metadata.java  | 10 +++---
 .../main/org/apache/sis/storage/gpx/Person.java    | 18 ++++++-----
 .../main/org/apache/sis/storage/gpx/Reader.java    |  6 ++--
 .../main/org/apache/sis/storage/gpx/Store.java     |  4 +--
 .../main/org/apache/sis/storage/gpx/Types.java     |  4 +--
 .../main/org/apache/sis/storage/gpx/Updater.java   |  4 ++-
 .../org/apache/sis/storage/gpx/WritableStore.java  |  2 +-
 .../main/org/apache/sis/storage/gpx/Writer.java    |  4 +--
 .../sis/storage/xml/stream/RewriteOnUpdate.java    |  6 ++--
 .../sis/storage/xml/stream/StaxDataStore.java      | 14 ++++-----
 .../sis/storage/xml/stream/StaxStreamReader.java   |  4 +--
 .../sis/storage/xml/stream/StaxStreamWriter.java   |  2 +-
 .../org/apache/sis/storage/gpx/ReaderTest.java     |  6 ++--
 .../test/org/apache/sis/storage/gpx/TypesTest.java |  2 +-
 .../org/apache/sis/storage/gpx/UpdaterTest.java    |  6 ++--
 .../org/apache/sis/storage/gpx/WriterTest.java     |  4 +--
 .../org/apache/sis/io/stream/ChannelFactory.java   |  4 +--
 .../apache/sis/io/stream/FileCacheByteChannel.java |  2 +-
 .../apache/sis/io/stream/MemoryDataTransfer.java   |  2 +-
 .../org/apache/sis/storage/AbstractFeatureSet.java |  2 +-
 .../org/apache/sis/storage/AbstractResource.java   |  2 +-
 .../main/org/apache/sis/storage/Aggregate.java     |  1 +
 .../org/apache/sis/storage/CoverageSubset.java     |  2 +-
 .../org/apache/sis/storage/DataStoreException.java |  2 +-
 .../org/apache/sis/storage/DataStoreProvider.java  |  2 +-
 .../main/org/apache/sis/storage/FeatureQuery.java  |  6 ++--
 .../main/org/apache/sis/storage/FeatureSet.java    |  2 +-
 .../main/org/apache/sis/storage/FeatureSubset.java |  2 +-
 .../main/org/apache/sis/storage/Query.java         |  2 +-
 .../apache/sis/storage/RasterLoadingStrategy.java  |  4 ++-
 .../org/apache/sis/storage/StorageConnector.java   |  8 ++---
 .../org/apache/sis/storage/WritableFeatureSet.java |  2 +-
 .../storage/aggregate/AggregatedFeatureSet.java    |  4 +--
 .../aggregate/BandAggregateGridResource.java       |  8 ++---
 .../storage/aggregate/ConcatenatedFeatureSet.java  |  8 ++---
 .../aggregate/ConcatenatedGridCoverage.java        |  4 +--
 .../aggregate/ConcatenatedGridResource.java        |  2 +-
 .../sis/storage/aggregate/CoverageAggregator.java  |  2 +-
 .../sis/storage/aggregate/GroupByTransform.java    |  4 +--
 .../sis/storage/aggregate/JoinFeatureSet.java      |  4 +--
 .../sis/storage/aggregate/MergeStrategy.java       |  2 +-
 .../org/apache/sis/storage/base/Capability.java    |  2 +-
 .../sis/storage/base/FeatureCatalogBuilder.java    |  2 +-
 .../apache/sis/storage/base/MemoryFeatureSet.java  |  2 +-
 .../apache/sis/storage/base/MetadataBuilder.java   | 20 ++++++------
 .../org/apache/sis/storage/base/PRJDataStore.java  |  4 +--
 .../apache/sis/storage/base/ResourceLineage.java   |  4 ++-
 .../apache/sis/storage/base/StoreUtilities.java    |  6 ++--
 .../apache/sis/storage/base/TiledGridCoverage.java |  4 ++-
 .../apache/sis/storage/base/TiledGridResource.java |  6 ++--
 .../apache/sis/storage/csv/FeatureIterator.java    |  2 +-
 .../sis/storage/csv/MovingFeatureBuilder.java      |  2 +-
 .../sis/storage/csv/MovingFeatureIterator.java     |  2 +-
 .../main/org/apache/sis/storage/csv/Store.java     | 24 +++++++--------
 .../apache/sis/storage/esri/CharactersView.java    |  2 +-
 .../org/apache/sis/storage/esri/RasterStore.java   |  4 +--
 .../apache/sis/storage/esri/RawRasterStore.java    | 12 ++++----
 .../sis/storage/esri/RawRasterStoreProvider.java   |  2 +-
 .../org/apache/sis/storage/esri/WritableStore.java |  4 +--
 .../apache/sis/storage/event/StoreListeners.java   |  6 ++--
 .../apache/sis/storage/folder/WritableStore.java   |  4 +--
 .../sis/storage/image/WorldFileResource.java       |  2 +-
 .../apache/sis/storage/image/WorldFileStore.java   |  6 ++--
 .../sis/storage/image/WorldFileStoreProvider.java  |  6 ++--
 .../storage/image/WritableSingleImageStore.java    |  2 +-
 .../apache/sis/storage/image/WritableStore.java    |  2 +-
 .../storage/internal/WritableResourceSupport.java  |  6 ++--
 .../main/org/apache/sis/storage/wkt/Store.java     |  2 +-
 .../apache/sis/io/stream/ChannelDataTestCase.java  |  1 -
 .../org/apache/sis/io/stream/IOUtilitiesTest.java  |  4 +--
 .../org/apache/sis/storage/FeatureNamingTest.java  |  2 +-
 .../org/apache/sis/storage/FeatureQueryTest.java   |  2 +-
 .../org/apache/sis/storage/ProbeResultTest.java    |  1 -
 .../apache/sis/storage/StorageConnectorTest.java   |  4 +--
 .../aggregate/BandAggregateGridResourceTest.java   |  2 +-
 .../aggregate/ConcatenatedFeatureSetTest.java      |  4 +--
 .../sis/storage/aggregate/JoinFeatureSetTest.java  |  4 +--
 .../sis/storage/aggregate/OpaqueGridResource.java  |  2 +-
 .../sis/storage/base/MemoryGridResourceTest.java   |  2 +-
 .../sis/storage/base/MetadataBuilderTest.java      |  8 ++---
 .../test/org/apache/sis/storage/csv/StoreTest.java |  2 +-
 .../sis/storage/esri/AsciiGridStoreTest.java       |  4 ++-
 .../sis/storage/image/WorldFileStoreTest.java      |  4 ++-
 .../test/org/apache/sis/storage/wkt/StoreTest.java |  2 ++
 .../test/org/apache/sis/storage/xml/StoreTest.java |  4 ++-
 .../sis/test/storage/CoverageReadConsistency.java  |  2 +-
 .../sis/converter/CharSequenceConverter.java       |  2 +-
 .../apache/sis/converter/FallbackConverter.java    |  2 +-
 .../org/apache/sis/converter/NumberConverter.java  |  2 +-
 .../apache/sis/converter/SurjectiveConverter.java  |  2 +-
 .../main/org/apache/sis/io/CompoundFormat.java     |  1 -
 .../org/apache/sis/io/IdentifiedObjectFormat.java  |  4 ++-
 .../org/apache/sis/math/ConcatenatedVector.java    |  2 +-
 .../main/org/apache/sis/math/Line.java             |  2 +-
 .../main/org/apache/sis/math/Plane.java            |  2 +-
 .../main/org/apache/sis/math/StatisticsFormat.java |  2 +-
 .../main/org/apache/sis/measure/AbstractUnit.java  |  1 -
 .../main/org/apache/sis/measure/Angle.java         |  2 +-
 .../org/apache/sis/measure/ConventionalUnit.java   |  2 +-
 .../org/apache/sis/measure/QuantityFormat.java     |  2 +-
 .../main/org/apache/sis/measure/Range.java         |  6 ++--
 .../main/org/apache/sis/measure/RangeFormat.java   |  4 +--
 .../apache/sis/measure/SexagesimalConverter.java   |  2 +-
 .../main/org/apache/sis/measure/UnitDimension.java |  2 +-
 .../main/org/apache/sis/measure/UnitFormat.java    | 14 ++++-----
 .../main/org/apache/sis/measure/UnitServices.java  |  5 ++-
 .../main/org/apache/sis/measure/Units.java         |  3 +-
 .../sis/pending/temporal/DefaultInstant.java       |  2 ++
 .../apache/sis/pending/temporal/DefaultPeriod.java |  2 ++
 .../pending/temporal/DefaultPeriodDuration.java    |  4 ++-
 .../pending/temporal/DefaultTemporalFactory.java   |  4 ++-
 .../org/apache/sis/pending/temporal/Primitive.java |  3 ++
 .../main/org/apache/sis/system/Supervisor.java     |  1 -
 .../main/org/apache/sis/util/ArgumentChecks.java   |  2 +-
 .../apache/sis/util/collection/CodeListSet.java    |  4 +--
 .../apache/sis/util/collection/TableColumn.java    |  2 +-
 .../org/apache/sis/util/collection/WeakEntry.java  |  1 -
 .../main/org/apache/sis/util/internal/Bag.java     |  1 -
 .../org/apache/sis/util/internal/CodeLists.java    |  4 +--
 .../sis/util/internal/LocalizedParseException.java |  2 +-
 .../apache/sis/util/internal/MetadataServices.java |  8 ++---
 .../apache/sis/util/internal/PropertyFormat.java   |  6 ++--
 .../sis/util/internal/StandardDateFormat.java      |  1 -
 .../main/org/apache/sis/util/logging/Logging.java  |  1 -
 .../apache/sis/util/logging/MonolineFormatter.java |  8 ++---
 .../sis/util/resources/IndexedResourceBundle.java  |  3 +-
 .../apache/sis/converter/ArrayConverterTest.java   |  2 +-
 .../org/apache/sis/measure/NumberRangeTest.java    |  5 +--
 .../org/apache/sis/measure/SystemUnitTest.java     |  2 +-
 .../test/org/apache/sis/measure/UnitsTest.java     |  2 +-
 .../test/org/apache/sis/test/LoggingWatcher.java   |  6 ++--
 .../test/org/apache/sis/test/TestRunner.java       |  2 --
 .../test/org/apache/sis/test/TestUtilities.java    |  2 +-
 .../test/org/apache/sis/util/ClassesTest.java      |  1 +
 .../test/org/apache/sis/util/UtilitiesTest.java    |  2 +-
 .../org/apache/sis/util/collection/CacheTest.java  |  3 +-
 .../sis/util/collection/IntegerListTest.java       |  2 +-
 .../util/internal/LocalizedParseExceptionTest.java |  2 +-
 .../sis/util/logging/MonolineFormatterTest.java    |  2 +-
 .../main/org/apache/sis/cql/CQL.java               |  5 +--
 .../org/apache/sis/cql/FilterToCQLVisitor.java     |  5 +--
 .../main/org/apache/sis/cql/Query.java             |  2 ++
 .../main/org/apache/sis/cql/internal/AntlrCQL.java |  1 +
 .../test/org/apache/sis/cql/CQLTestCase.java       |  1 +
 .../org/apache/sis/cql/ExpressionReadingTest.java  |  3 +-
 .../org/apache/sis/cql/ExpressionWritingTest.java  |  1 +
 .../test/org/apache/sis/cql/FilterReadingTest.java |  7 +----
 .../test/org/apache/sis/cql/FilterWritingTest.java |  4 +--
 .../test/org/apache/sis/cql/QueryReadingTest.java  |  4 +++
 .../test/org/apache/sis/cql/QueryWritingTest.java  |  4 +++
 .../sis/storage/shapefile/InputFeatureStream.java  |  6 ++--
 .../shapefile/InvalidDbaseFileFormatException.java |  1 +
 .../shapefile/InvalidShapefileFormatException.java |  1 +
 .../apache/sis/storage/shapefile/ShapeFile.java    |  2 +-
 ...nvalidRecordNumberForDirectAccessException.java |  4 +--
 .../shapefile/internal/ShapefileByteReader.java    |  7 +++--
 .../shapefile/internal/ShapefileDescriptor.java    |  2 +-
 .../shapefile/jdbc/AbstractDbase3ByteReader.java   |  9 +++---
 .../sis/storage/shapefile/jdbc/AbstractJDBC.java   |  1 -
 .../storage/shapefile/jdbc/CommonByteReader.java   |  2 +-
 .../sis/storage/shapefile/jdbc/DBFDriver.java      |  1 -
 .../shapefile/jdbc/DBase3FieldDescriptor.java      |  7 ++---
 .../storage/shapefile/jdbc/Dbase3ByteReader.java   | 10 +++---
 .../storage/shapefile/jdbc/MappedByteReader.java   | 29 ++++++++---------
 .../jdbc/SQLConnectionClosedException.java         |  1 +
 .../jdbc/connection/AbstractConnection.java        |  1 -
 .../shapefile/jdbc/connection/DBFConnection.java   |  3 +-
 .../connection/SQLClosingIOFailureException.java   |  1 +
 .../jdbc/metadata/AbstractDatabaseMetaData.java    |  2 +-
 .../jdbc/metadata/DBFDatabaseMetaData.java         |  2 +-
 .../jdbc/metadata/DBFResultSetMataData.java        |  2 +-
 .../jdbc/resultset/AbstractResultSet.java          |  1 -
 .../jdbc/resultset/BuiltInMemoryResultSet.java     |  1 -
 ...DBFBuiltInMemoryResultSetForColumnsListing.java |  2 +-
 .../DBFBuiltInMemoryResultSetForTablesListing.java |  2 +-
 ...uiltInMemoryResultSetForTablesTypesListing.java |  2 +-
 .../jdbc/resultset/DBFRecordBasedResultSet.java    | 14 ++++-----
 .../shapefile/jdbc/resultset/DBFResultSet.java     |  2 +-
 .../resultset/SQLIllegalColumnIndexException.java  |  1 +
 .../jdbc/resultset/SQLNoResultException.java       |  1 +
 .../jdbc/resultset/SQLNoSuchFieldException.java    |  1 +
 .../jdbc/resultset/SQLNotDateException.java        |  1 +
 .../jdbc/resultset/SQLNotNumericException.java     |  1 +
 .../storage/shapefile/jdbc/sql/ClauseResolver.java |  2 +-
 .../jdbc/sql/ConditionalClauseResolver.java        |  1 +
 .../storage/shapefile/jdbc/sql/CrudeSQLParser.java |  2 +-
 .../jdbc/sql/SQLIllegalParameterException.java     |  1 +
 .../jdbc/sql/SQLInvalidStatementException.java     |  1 +
 .../sql/SQLUnsupportedParsingFeatureException.java |  1 +
 .../jdbc/statement/AbstractStatement.java          |  1 -
 .../shapefile/jdbc/statement/DBFStatement.java     |  1 -
 .../sis/storage/shapefile/ShapeFileTest.java       |  3 +-
 .../jdbc/AbstractTestBaseForInternalJDBC.java      |  2 +-
 .../storage/shapefile/jdbc/DBFConnectionTest.java  |  1 -
 .../storage/shapefile/jdbc/DBFResultSetTest.java   |  1 -
 .../storage/shapefile/jdbc/DBFStatementTest.java   |  1 -
 .../shapefile/jdbc/sql/WhereClauseTest.java        |  2 +-
 .../main/org/apache/sis/gui/AboutDialog.java       |  2 +-
 .../main/org/apache/sis/gui/DataViewer.java        |  6 ++--
 .../apache/sis/gui/controls/FormatApplicator.java  |  2 +-
 .../apache/sis/gui/coverage/CoverageCanvas.java    |  6 ++--
 .../apache/sis/gui/coverage/CoverageControls.java  | 10 +++---
 .../apache/sis/gui/coverage/CoverageExplorer.java  |  2 +-
 .../apache/sis/gui/coverage/CoverageStyling.java   |  2 +-
 .../org/apache/sis/gui/coverage/GridControls.java  |  2 +-
 .../apache/sis/gui/coverage/GridSliceSelector.java |  2 +-
 .../main/org/apache/sis/gui/coverage/GridView.java |  2 +-
 .../apache/sis/gui/coverage/IsolineRenderer.java   |  2 +-
 .../org/apache/sis/gui/dataset/ExpandableList.java |  2 ++
 .../apache/sis/gui/dataset/ExpandedFeature.java    |  2 +-
 .../org/apache/sis/gui/dataset/FeatureList.java    |  6 ++--
 .../org/apache/sis/gui/dataset/FeatureLoader.java  |  6 ++--
 .../org/apache/sis/gui/dataset/FeatureTable.java   | 13 +++++---
 .../main/org/apache/sis/gui/dataset/LogViewer.java |  2 +-
 .../org/apache/sis/gui/dataset/PathAction.java     |  4 +--
 .../org/apache/sis/gui/dataset/ResourceCell.java   |  2 +-
 .../org/apache/sis/gui/dataset/ResourceTree.java   |  4 +--
 .../org/apache/sis/gui/dataset/WindowHandler.java  |  4 +--
 .../apache/sis/gui/internal/BackgroundThreads.java |  2 +-
 .../apache/sis/gui/internal/DataStoreOpener.java   |  6 ++--
 .../org/apache/sis/gui/internal/LogHandler.java    |  2 +-
 .../main/org/apache/sis/gui/internal/Styles.java   |  2 +-
 .../main/org/apache/sis/gui/map/MapCanvas.java     |  6 ++--
 .../main/org/apache/sis/gui/map/StatusBar.java     | 14 ++++-----
 .../org/apache/sis/gui/map/ValuesFormatter.java    |  6 ++--
 .../org/apache/sis/gui/map/ValuesFromCoverage.java |  2 +-
 .../apache/sis/gui/metadata/MetadataSummary.java   |  8 +++--
 .../sis/gui/metadata/StandardMetadataTree.java     |  2 +-
 .../apache/sis/gui/referencing/AuthorityCodes.java |  4 +--
 .../org/apache/sis/gui/referencing/CRSChooser.java |  4 +--
 .../org/apache/sis/gui/referencing/CodeFilter.java |  2 +-
 .../org/apache/sis/gui/referencing/MenuSync.java   |  2 +-
 .../gui/referencing/PositionableProjection.java    |  8 ++---
 .../org/apache/sis/gui/referencing/WKTPane.java    |  2 +-
 .../apache/sis/gui/coverage/CoverageCanvasApp.java |  2 +-
 .../org/apache/sis/gui/coverage/GridViewApp.java   |  2 +-
 1230 files changed, 2994 insertions(+), 2339 deletions(-)

diff --cc endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/NamedFeatureType.java
index b5a24e78e4,8ede425805..03e8b004f1
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/NamedFeatureType.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/NamedFeatureType.java
@@@ -19,15 -19,17 +19,17 @@@ package org.apache.sis.feature
  import java.util.Collection;
  import java.util.Collections;
  import java.io.Serializable;
+ import org.opengis.util.GenericName;
+ import org.apache.sis.util.internal.Strings;
+ 
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import java.util.Set;
++import org.opengis.util.InternationalString;
  import org.opengis.feature.Feature;
  import org.opengis.feature.FeatureType;
  import org.opengis.feature.PropertyType;
  import org.opengis.feature.PropertyNotFoundException;
  import org.opengis.feature.FeatureInstantiationException;
- import org.opengis.util.GenericName;
--import org.opengis.util.InternationalString;
- import org.apache.sis.util.internal.Strings;
  import org.apache.sis.feature.internal.Resources;
  
  
diff --cc endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/Validator.java
index 05e15b87a4,6297cf6f70..b27b17f702
--- a/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/Validator.java
+++ b/endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/Validator.java
@@@ -31,8 -31,7 +31,10 @@@ import org.apache.sis.metadata.iso.qual
  import org.apache.sis.referencing.NamedIdentifier;
  import org.apache.sis.util.resources.Errors;
  
- // Branch-dependent imports
++// Specific to the main and geoapi-3.1 branches:
++import org.apache.sis.metadata.iso.quality.DefaultScope;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
  import org.opengis.feature.Property;
  import org.opengis.feature.PropertyType;
  import org.opengis.feature.Attribute;
diff --cc endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java
index c260903ec3,981f08649d..eeb2deb843
--- a/endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java
+++ b/endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/PeriodLiteral.java
@@@ -30,7 -30,9 +30,9 @@@ import org.opengis.temporal.RelativePos
  import org.opengis.temporal.TemporalPosition;
  import org.opengis.temporal.TemporalPrimitive;
  import org.opengis.temporal.TemporalGeometricPrimitive;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
++// Specific to the geoapi-3.1 branch:
 +import org.opengis.referencing.ReferenceIdentifier;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/PropertyInformation.java
index 113a08cec0,f25dfcbfcb..a28bc00575
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/PropertyInformation.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/PropertyInformation.java
@@@ -35,6 -33,10 +33,10 @@@ import org.apache.sis.util.iso.Types
  import org.apache.sis.util.collection.CheckedContainer;
  import org.apache.sis.util.logging.Logging;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.annotation.Obligation;
 -import org.opengis.metadata.citation.Responsibility;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.Obligation;
++import org.opengis.metadata.citation.ResponsibleParty;
+ 
  
  /**
   * Description of a metadata property inferred from Java reflection.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/NameToIdentifier.java
index 949a195c49,74fe045c80..af1aa61376
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/NameToIdentifier.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/NameToIdentifier.java
@@@ -33,6 -32,6 +32,9 @@@ import org.apache.sis.util.iso.DefaultN
  import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
  import static org.apache.sis.util.Characters.Filter.LETTERS_AND_DIGITS;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
++
  
  /**
   * Does the unobvious mapping between {@link Identifier} properties and {@link GenericName} ones.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.java
index 371b7fc7a3,7dcf937256..dee758170a
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultApplicationSchemaInformation.java
@@@ -26,6 -25,10 +25,9 @@@ import org.opengis.metadata.citation.Ci
  import org.opengis.metadata.citation.OnlineResource;
  import org.apache.sis.xml.Namespaces;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.apache.sis.xml.bind.gco.CharSequenceAdapter;
 -import org.apache.sis.xml.bind.metadata.CI_OnlineResource;
++// Specific to the main and geoapi-3.1 branches:
++import java.net.URI;
+ 
  
  /**
   * Information about the application schema used to build the dataset.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
index 4edabb0e92,143cdbb637..79299f6589
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultExtendedElementInformation.java
@@@ -41,6 -37,14 +37,14 @@@ import org.apache.sis.util.internal.Col
  
  import static org.apache.sis.metadata.internal.ImplementationHelper.ensurePositive;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.Obligation;
++import org.opengis.metadata.citation.ResponsibleParty;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import java.util.AbstractSet;
+ import java.util.Iterator;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.annotation.Obligation;
 -import org.opengis.metadata.citation.Responsibility;
 -
  
  /**
   * New metadata element, not found in ISO 19115, which is required to describe geographic data.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultMetadata.java
index df322ba70a,f8284f41ba..a80caf3d7d
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultMetadata.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/DefaultMetadata.java
@@@ -84,7 -83,12 +83,12 @@@ import org.apache.sis.util.collection.C
  import org.apache.sis.converter.SurjectiveConverter;
  import org.apache.sis.math.FunctionProperty;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.metadata.MetadataScope;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
 -
  
  /**
   * Root entity which defines metadata about a resource or resources.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/OnlineResourceAdapter.java
index a9c64877e3,0000000000..6d22873021
mode 100644,000000..100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/OnlineResourceAdapter.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/OnlineResourceAdapter.java
@@@ -1,66 -1,0 +1,67 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.sis.metadata.iso;
 +
++// Specific to the main and geoapi-3.1 branches:
 +import java.net.URI;
 +import java.net.URISyntaxException;
 +import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 +import org.opengis.metadata.citation.OnlineResource;
 +import org.apache.sis.xml.bind.metadata.CI_OnlineResource;
 +import org.apache.sis.metadata.iso.citation.DefaultOnlineResource;
 +
 +
 +/**
 + * Converts an URI to a {@code <cit:OnlineResource>} element for ISO 19115-3:2016 compliance.
 + * We need this additional adapter because some property type changed from {@code URI} to
 + * {@code OnlineResource} in the upgrade from ISO 19115:2003 to ISO 19115-1:2014.
 + *
 + * @author  Martin Desruisseaux (Geomatys)
 + * @version 1.0
 + * @since   1.0
 + */
 +final class OnlineResourceAdapter extends XmlAdapter<CI_OnlineResource, URI> {
 +    /**
 +     * The adapter performing the actual work.
 +     */
 +    private static final CI_OnlineResource ADAPTER = new CI_OnlineResource.Since2014();
 +
 +    /**
 +     * Wraps the given URI in a {@code <cit:OnlineResource>} element.
 +     */
 +    @Override
 +    public CI_OnlineResource marshal(final URI value) {
 +        if (value != null) {
 +            return ADAPTER.marshal(new DefaultOnlineResource(value));
 +        }
 +        return null;
 +    }
 +
 +    /**
 +     * Returns a URI from the given {@code <cit:OnlineResource>} element.
 +     */
 +    @Override
 +    public URI unmarshal(final CI_OnlineResource value) throws URISyntaxException {
 +        if (value != null) {
 +            final OnlineResource res = ADAPTER.unmarshal(value);
 +            if (res != null) {
 +                return res.getLinkage();
 +            }
 +        }
 +        return null;
 +    }
 +}
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/URIStringAdapter.java
index f5c5ec3960,0000000000..e2a08268af
mode 100644,000000..100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/URIStringAdapter.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/URIStringAdapter.java
@@@ -1,67 -1,0 +1,68 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.sis.metadata.iso;
 +
++// Specific to the main and geoapi-3.1 branches:
 +import java.net.URI;
 +import java.net.URISyntaxException;
 +import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 +import org.apache.sis.xml.bind.Context;
 +import org.apache.sis.xml.bind.gco.CharSequenceAdapter;
 +import org.apache.sis.xml.bind.gco.GO_CharacterString;
 +
 +
 +/**
 + * Converts an URI to a {@code <gco:CharacterSequence>} element for ISO 19115-3:2016 compliance.
 + * We need this additional adapter because some property type changed from {@code URI}
 + * to {@code CharacterSequence} in the upgrade from ISO 19115:2003 to ISO 19115-1:2014.
 + *
 + * @author  Martin Desruisseaux (Geomatys)
 + * @version 1.0
 + * @since   1.0
 + */
 +final class URIStringAdapter extends XmlAdapter<GO_CharacterString, URI> {
 +    /**
 +     * The adapter performing the actual work.
 +     */
 +    private static final CharSequenceAdapter ADAPTER = new CharSequenceAdapter.Since2014();
 +
 +    /**
 +     * Wraps the given URI in a {@code <cit:OnlineResource>} element.
 +     */
 +    @Override
 +    public GO_CharacterString marshal(final URI value) {
 +        if (value != null) {
 +            return ADAPTER.marshal(value.toString());
 +        }
 +        return null;
 +    }
 +
 +    /**
 +     * Returns a URI from the given {@code <cit:OnlineResource>} element.
 +     */
 +    @Override
 +    public URI unmarshal(final GO_CharacterString value) throws URISyntaxException {
 +        if (value != null) {
 +            final CharSequence uri = ADAPTER.unmarshal(value);
 +            if (uri != null) {
 +                final Context context = Context.current();
 +                return Context.converter(context).toURI(context, uri.toString());
 +            }
 +        }
 +        return null;
 +    }
 +}
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/DefaultPlatform.java
index 5989ab364f,0dacd87f81..ab02dcb472
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/DefaultPlatform.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/DefaultPlatform.java
@@@ -27,7 -27,9 +27,9 @@@ import org.opengis.metadata.citation.Ci
  import org.opengis.util.InternationalString;
  import org.apache.sis.metadata.iso.ISOMetadata;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
+ 
  
  /**
   * Designation of the platform used to acquire the dataset.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java
index 340c28d223,cd9cb58e65..b106929e23
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/acquisition/DefaultRequirement.java
@@@ -33,6 -32,9 +32,9 @@@ import org.apache.sis.metadata.iso.ISOM
  import static org.apache.sis.metadata.internal.ImplementationHelper.toDate;
  import static org.apache.sis.metadata.internal.ImplementationHelper.toMilliseconds;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
+ 
  
  /**
   * Requirement to be satisfied by the planned data acquisition.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/citation/DefaultCitation.java
index cc272e16a3,110ea4bf83..c5e21b729a
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/citation/DefaultCitation.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/citation/DefaultCitation.java
@@@ -43,6 -42,9 +42,9 @@@ import static org.apache.sis.util.colle
  import static org.apache.sis.metadata.internal.ImplementationHelper.toDate;
  import static org.apache.sis.metadata.internal.ImplementationHelper.toMilliseconds;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
+ 
  
  /**
   * Standardized resource reference.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/constraint/DefaultConstraints.java
index 2da2b4266e,6f2ad67c62..633477ebdc
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/constraint/DefaultConstraints.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/constraint/DefaultConstraints.java
@@@ -24,13 -24,10 +24,10 @@@ import jakarta.xml.bind.annotation.XmlR
  import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  import org.opengis.util.InternationalString;
  import org.opengis.metadata.citation.Citation;
- import org.opengis.metadata.citation.Responsibility;
- import org.opengis.metadata.constraint.Releasability;
 +import org.opengis.metadata.identification.BrowseGraphic;
  import org.opengis.metadata.constraint.Constraints;
  import org.opengis.metadata.constraint.LegalConstraints;
  import org.opengis.metadata.constraint.SecurityConstraints;
- import org.opengis.metadata.maintenance.Scope;
 -import org.opengis.metadata.identification.BrowseGraphic;
  import org.apache.sis.xml.bind.FilterByVersion;
  import org.apache.sis.xml.bind.metadata.MD_Releasability;
  import org.apache.sis.xml.bind.metadata.MD_Scope;
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/constraint/DefaultReleasability.java
index c4a3e7c404,f4bce295ee..0575585a7c
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/constraint/DefaultReleasability.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/constraint/DefaultReleasability.java
@@@ -24,8 -24,10 +24,10 @@@ import org.opengis.util.InternationalSt
  import org.opengis.metadata.constraint.Restriction;
  import org.apache.sis.metadata.iso.ISOMetadata;
  
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import org.opengis.metadata.citation.Responsibility;
+ import org.opengis.metadata.constraint.Releasability;
++import org.opengis.metadata.citation.Responsibility;
+ 
  
  /**
   * Information about resource release constraints.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/content/DefaultBand.java
index d0a593255a,8d613642e0..9baf5a241f
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/content/DefaultBand.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/content/DefaultBand.java
@@@ -33,6 -32,9 +32,9 @@@ import org.apache.sis.xml.bind.gco.Unit
  
  import static org.apache.sis.metadata.internal.ImplementationHelper.ensurePositive;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.content.PolarisationOrientation;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.content.PolarizationOrientation;
+ 
  
  /**
   * Range of wavelengths in the electromagnetic spectrum.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/distribution/DefaultDataFile.java
index 0a8c5389c4,42fff56299..43e6b6200d
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/distribution/DefaultDataFile.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/distribution/DefaultDataFile.java
@@@ -22,7 -22,7 +22,6 @@@ import jakarta.xml.bind.annotation.XmlT
  import jakarta.xml.bind.annotation.XmlElement;
  import jakarta.xml.bind.annotation.XmlRootElement;
  import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
- import org.opengis.util.LocalName;
 -import org.opengis.util.InternationalString;
  import org.opengis.metadata.distribution.Format;
  import org.opengis.metadata.distribution.DataFile;
  import org.apache.sis.xml.Namespaces;
@@@ -30,8 -30,10 +29,11 @@@ import org.apache.sis.metadata.iso.ISOM
  import org.apache.sis.xml.bind.FilterByVersion;
  import org.apache.sis.xml.util.LegacyNamespaces;
  import org.apache.sis.xml.bind.gcx.MimeFileTypeAdapter;
 +import org.opengis.util.InternationalString;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.util.GenericName;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.util.LocalName;
+ 
  
  /**
   * Description of a transfer data file.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/distribution/DefaultDistributor.java
index 5beea6e854,fc172f5b09..20be1b2777
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/distribution/DefaultDistributor.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/distribution/DefaultDistributor.java
@@@ -27,6 -26,9 +26,9 @@@ import org.opengis.metadata.distributio
  import org.opengis.metadata.distribution.DigitalTransferOptions;
  import org.apache.sis.metadata.iso.ISOMetadata;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
+ 
  
  /**
   * Information about the distributor.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/distribution/DefaultMedium.java
index 086b79613b,08ce6784d0..660925d705
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/distribution/DefaultMedium.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/distribution/DefaultMedium.java
@@@ -31,20 -29,24 +29,26 @@@ import org.opengis.metadata.distributio
  import org.opengis.metadata.distribution.MediumFormat;
  import org.apache.sis.measure.ValueRange;
  import org.apache.sis.metadata.iso.ISOMetadata;
- import org.apache.sis.metadata.iso.citation.DefaultCitation;
- import org.apache.sis.xml.bind.gco.GO_Real;
  import org.apache.sis.xml.bind.FilterByVersion;
+ import org.apache.sis.xml.bind.gco.GO_Real;
  import org.apache.sis.xml.bind.metadata.CI_Citation;
  import org.apache.sis.xml.bind.metadata.MD_Identifier;
 -import org.apache.sis.metadata.iso.legacy.LegacyPropertyAdapter;
  import org.apache.sis.metadata.internal.Dependencies;
 +import org.apache.sis.metadata.iso.legacy.LegacyPropertyAdapter;
  import org.apache.sis.xml.util.LegacyNamespaces;
  import org.apache.sis.util.internal.CollectionsExt;
- import org.apache.sis.util.internal.CodeLists;
  
  import static org.apache.sis.metadata.internal.ImplementationHelper.ensurePositive;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.distribution.MediumName;
++import org.apache.sis.util.internal.CodeLists;
++import org.apache.sis.metadata.iso.citation.DefaultCitation;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import java.util.AbstractSet;
+ import java.util.Iterator;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.apache.sis.metadata.iso.legacy.MediumName;
 -
  
  /**
   * Information about the media on which the resource can be distributed.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/AbstractIdentification.java
index 447ea77e69,2359597d08..990afaa14a
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/AbstractIdentification.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/AbstractIdentification.java
@@@ -41,16 -39,22 +39,22 @@@ import org.opengis.metadata.identificat
  import org.opengis.metadata.identification.ServiceIdentification;
  import org.opengis.metadata.maintenance.MaintenanceInformation;
  import org.opengis.metadata.spatial.SpatialRepresentationType;
- import org.opengis.temporal.Duration;
  import org.opengis.util.InternationalString;
  import org.apache.sis.metadata.internal.Dependencies;
+ import org.apache.sis.metadata.iso.ISOMetadata;
  import org.apache.sis.metadata.iso.legacy.LegacyPropertyAdapter;
- import org.apache.sis.xml.bind.metadata.MD_Identifier;
  import org.apache.sis.xml.bind.FilterByVersion;
+ import org.apache.sis.xml.bind.metadata.MD_Identifier;
  import org.apache.sis.xml.util.LegacyNamespaces;
- import org.apache.sis.metadata.iso.ISOMetadata;
  import org.apache.sis.util.iso.Types;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.metadata.identification.AssociatedResource;
+ import org.opengis.temporal.Duration;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
 -
  
  /**
   * Basic information required to uniquely identify a resource or resources.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
index d462942792,63c515b884..bc585a9b51
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
@@@ -36,7 -35,6 +35,10 @@@ import org.apache.sis.xml.bind.lan.PT_L
  import org.apache.sis.xml.util.LegacyNamespaces;
  import org.apache.sis.metadata.internal.Dependencies;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.identification.CharacterSet;
++import java.util.stream.Collectors;
++
  
  /**
   * Information required to identify a dataset.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/DefaultUsage.java
index 2cb4071fe3,d1559c7f3f..86e006bb93
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/DefaultUsage.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/DefaultUsage.java
@@@ -33,6 -32,9 +32,9 @@@ import org.apache.sis.util.iso.Types
  import static org.apache.sis.metadata.internal.ImplementationHelper.toDate;
  import static org.apache.sis.metadata.internal.ImplementationHelper.toMilliseconds;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
+ 
  
  /**
   * Brief description of ways in which the resource(s) is/are currently or has been used.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/lineage/DefaultLineage.java
index 903250724d,3c4cf2c521..d0bae2cdf4
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/lineage/DefaultLineage.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/lineage/DefaultLineage.java
@@@ -23,7 -23,7 +23,6 @@@ import jakarta.xml.bind.annotation.XmlR
  import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  import org.opengis.util.InternationalString;
  import org.opengis.metadata.citation.Citation;
- import org.opengis.metadata.maintenance.Scope;
 -import org.opengis.metadata.maintenance.ScopeCode;
  import org.opengis.metadata.lineage.Source;
  import org.opengis.metadata.lineage.Lineage;
  import org.opengis.metadata.lineage.ProcessStep;
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java
index d90119cd9c,fd9f84624e..b9ed53dbae
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/lineage/DefaultProcessStep.java
@@@ -41,6 -39,12 +39,12 @@@ import org.apache.sis.xml.bind.gml.TM_P
  import org.apache.sis.xml.bind.metadata.MD_Scope;
  import org.apache.sis.metadata.internal.TemporalUtilities;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.metadata.maintenance.Scope;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
 -
  
  /**
   * Information about an event or transformation in the life of a resource.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/AttributeTypeAdapter.java
index b4a00cfa6a,0000000000..ac6c10c5ed
mode 100644,000000..100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/AttributeTypeAdapter.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/AttributeTypeAdapter.java
@@@ -1,51 -1,0 +1,52 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.sis.metadata.iso.maintenance;
 +
++// Specific to the main and geoapi-3.1 branches:
 +import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 +import org.opengis.feature.type.AttributeType;
 +import org.apache.sis.xml.bind.gco.GO_CharacterString;
 +
 +
 +/**
 + * For (un)marshalling deprecated {@link AttributeType} as a character string,
 + * as expected by ISO 19115-3:2016. This is a temporary bridge to be removed
 + * after the GeoAPI interfaces has been upgraded to ISO 19115-1:2014 model.
 + *
 + * @author  Martin Desruisseaux (Geomatys)
 + * @version 1.0
 + * @since   1.0
 + */
 +final class AttributeTypeAdapter extends XmlAdapter<GO_CharacterString, AttributeType> {
 +    /**
 +     * Wrap the given value from {@link DefaultScopeDescription} to the elements
 +     * defined by ISO 19115-3:2016 schema.
 +     */
 +    @Override
 +    public AttributeType unmarshal(GO_CharacterString value) {
 +        return new LegacyFeatureType(LegacyFeatureType.ADAPTER.unmarshal(value));
 +    }
 +
 +    /**
 +     * Unwrap the elements defined by ISO 19115-3:2016 schema to the value used by
 +     * {@link DefaultScopeDescription}.
 +     */
 +    @Override
 +    public GO_CharacterString marshal(AttributeType value) {
 +        return LegacyFeatureType.ADAPTER.marshal(LegacyFeatureType.wrap(value));
 +    }
 +}
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
index f92840766a,fa43a0dc27..646422aa2c
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/DefaultMaintenanceInformation.java
@@@ -43,6 -41,12 +41,12 @@@ import org.apache.sis.util.internal.Col
  
  import static org.apache.sis.metadata.internal.ImplementationHelper.valueIfDefined;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.metadata.maintenance.Scope;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
 -
  
  /**
   * Information about the scope and frequency of updating.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java
index 16c3f27489,5ee4446027..2c43f40dc1
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescription.java
@@@ -33,10 -34,8 +34,9 @@@ import org.apache.sis.util.resources.Me
  
  import static org.apache.sis.util.collection.Containers.isNullOrEmpty;
  
- // Branch-dependent imports
 -// Specific to the geoapi-4.0 branch:
 -import org.apache.sis.util.iso.Types;
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.feature.type.AttributeType;
 +import org.opengis.feature.type.FeatureType;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/FeatureTypeAdapter.java
index 2aaf55c1ac,0000000000..b36dd985e7
mode 100644,000000..100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/FeatureTypeAdapter.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/FeatureTypeAdapter.java
@@@ -1,51 -1,0 +1,52 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.sis.metadata.iso.maintenance;
 +
++// Specific to the main and geoapi-3.1 branches:
 +import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 +import org.opengis.feature.type.FeatureType;
 +import org.apache.sis.xml.bind.gco.GO_CharacterString;
 +
 +
 +/**
 + * For (un)marshalling deprecated {@link FeatureType} as a character string,
 + * as expected by ISO 19115-3:2016. This is a temporary bridge to be removed
 + * after the GeoAPI interfaces has been upgraded to ISO 19115-1:2014 model.
 + *
 + * @author  Martin Desruisseaux (Geomatys)
 + * @version 1.0
 + * @since   1.0
 + */
 +final class FeatureTypeAdapter extends XmlAdapter<GO_CharacterString, FeatureType> {
 +    /**
 +     * Wrap the given value from {@link DefaultScopeDescription} to the elements
 +     * defined by ISO 19115-3:2016 schema.
 +     */
 +    @Override
 +    public FeatureType unmarshal(GO_CharacterString value) {
 +        return new LegacyFeatureType(LegacyFeatureType.ADAPTER.unmarshal(value));
 +    }
 +
 +    /**
 +     * Unwrap the elements defined by ISO 19115-3:2016 schema to the value used by
 +     * {@link DefaultScopeDescription}.
 +     */
 +    @Override
 +    public GO_CharacterString marshal(FeatureType value) {
 +        return LegacyFeatureType.ADAPTER.marshal(LegacyFeatureType.wrap(value));
 +    }
 +}
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.java
index 1735a1aa68,0000000000..e9cab4e109
mode 100644,000000..100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/LegacyFeatureType.java
@@@ -1,97 -1,0 +1,98 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.sis.metadata.iso.maintenance;
 +
++// Specific to the main and geoapi-3.1 branches:
 +import java.util.Set;
 +import java.util.LinkedHashSet;
 +import org.opengis.feature.type.FeatureType;
 +import org.opengis.feature.type.AttributeType;
 +import org.apache.sis.xml.bind.gco.CharSequenceAdapter;
 +import org.apache.sis.util.ArgumentChecks;
 +
 +
 +/**
 + * Bridges between deprecated {@link FeatureType} / {@link AttributeType} and {@link CharSequence}.
 + * {@code FeatureType} and {@code AttributeType} were used in ISO 19115:2003, but have been replaced
 + * by {@link CharSequence} in ISO 19115:2014. The corresponding GeoAPI 3.0 interfaces are empty since
 + * they were placeholder for future work. We use this {@code LegacyFeatureType} as a temporary bridge,
 + * to be removed with GeoAPI 4.0.
 + *
 + * @author  Martin Desruisseaux (Geomatys)
 + * @version 1.0
 + * @since   1.0
 + *
 + * @deprecated To be removed after migration to GeoAPI 4.0.
 + */
 +@Deprecated
 +public final class LegacyFeatureType implements FeatureType, AttributeType, CharSequence {
 +    /**
 +     * The adapter doing most of the actual work of converting {@code FeatureType} or {@code AttributeType}
 +     * to {@code <gco:CharacterSequence>} elements.
 +     */
 +    static final CharSequenceAdapter ADAPTER = new CharSequenceAdapter();
 +
 +    /**
 +     * The value to wrap as a {@code FeatureType} or {@code AttributeType}.
 +     */
 +    private final CharSequence value;
 +
 +    /**
 +     * Creates a new type for the given value, which must be non-null.
 +     *
 +     * @param  value  the text to wrap in a legacy feature type.
 +     */
 +    public LegacyFeatureType(final CharSequence value) {
 +        ArgumentChecks.ensureNonNull("value", value);
 +        this.value = value;
 +    }
 +
 +    /**
 +     * Wraps the given {@code FeatureType} or {@code AttributeType} as a {@code CharSequence}.
 +     */
 +    static CharSequence wrap(final Object value) {
 +        return (value == null || value instanceof CharSequence)
 +                ? (CharSequence) value : new LegacyFeatureType(value.toString());
 +    }
 +
 +    /**
 +     * Returns a list with all content of the given collection wrapped as {@link LegacyFeatureType}.
 +     */
 +    static Set<LegacyFeatureType> wrapAll(final Iterable<? extends CharSequence> values) {
 +        if (values == null) {
 +            return null;
 +        }
 +        final Set<LegacyFeatureType> wrapped = new LinkedHashSet<>();
 +        for (final CharSequence value : values) {
 +            wrapped.add((value == null || value instanceof LegacyFeatureType)
 +                        ? (LegacyFeatureType) value : new LegacyFeatureType(value));
 +        }
 +        return wrapped;
 +    }
 +
 +    /**
 +     * Delegates to the value given at construction time.
 +     */
 +    @Override public int          length()                        {return value.length();}
 +    @Override public char         charAt(int index)               {return value.charAt(index);}
 +    @Override public CharSequence subSequence(int start, int end) {return value.subSequence(start, end);}
 +    @Override public String       toString()                      {return value.toString();}
 +    @Override public int          hashCode()                      {return value.hashCode() ^ 439703003;}
 +    @Override public boolean      equals(final Object obj) {
 +        return (obj instanceof LegacyFeatureType) && value.equals(((LegacyFeatureType) obj).value);
 +    }
 +}
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java
index 4ea8ed0949,ddf98148f4..15d63d2be2
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/quality/DefaultDataQuality.java
@@@ -28,9 -27,13 +27,12 @@@ import org.opengis.metadata.maintenance
  import org.apache.sis.xml.bind.FilterByVersion;
  import org.apache.sis.xml.util.LegacyNamespaces;
  
- // Branch-dependent imports
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.metadata.quality.Scope;
 +
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.metadata.quality.StandaloneQualityReportInformation;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.maintenance.Scope;
 -import org.apache.sis.metadata.iso.maintenance.DefaultScope;
 -
  
  /**
   * Quality information for the data specified by a data quality scope.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/CitationConstant.java
index e49c30b222,9a2feadbb9..5089f8118e
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/CitationConstant.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/CitationConstant.java
@@@ -37,6 -34,13 +34,13 @@@ import org.apache.sis.system.Loggers
  import org.apache.sis.util.internal.Strings;
  import org.apache.sis.util.logging.Logging;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.metadata.citation.OnlineResource;
+ import org.opengis.metadata.identification.BrowseGraphic;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
 -
  
  /**
   * Base class for the {@code public static final Citation} constants defined in some SIS classes.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java
index 2da13c9f3b,7552b72860..971108be26
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java
@@@ -31,6 -30,6 +30,9 @@@ import org.apache.sis.util.internal.Con
  
  import static org.apache.sis.util.collection.Containers.isNullOrEmpty;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
++
  
  /**
   * A trivial implementation of {@link IdentifiedObject} containing only a primary name.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifier.java
index 2121b7321d,de846c3a2f..4bf4339dba
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifier.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifier.java
@@@ -24,7 -23,10 +23,10 @@@ import org.opengis.metadata.citation.Ci
  import org.apache.sis.util.CharSequences;
  import org.apache.sis.util.Classes;
  import org.apache.sis.util.Deprecable;
+ import org.apache.sis.util.internal.Constants;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleMetadata.java
index 34b3ce50d2,3cb46f248d..b150bb462c
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleMetadata.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleMetadata.java
@@@ -33,6 -29,14 +29,14 @@@ import org.opengis.metadata.maintenance
  import org.opengis.metadata.spatial.SpatialRepresentationType;
  import org.opengis.util.InternationalString;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import java.nio.charset.Charset;
+ import java.util.Map;
+ import org.opengis.metadata.MetadataScope;
 -
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
++import java.nio.charset.Charset;
+ 
  
  /**
   * An empty implementation of ISO 19115 metadata for dataset (not for services).
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/Dispatcher.java
index d2b45b1dd8,df694cf131..ff1bc0c516
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/Dispatcher.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/Dispatcher.java
@@@ -31,12 -32,7 +32,13 @@@ import org.apache.sis.metadata.KeyNameP
  import org.apache.sis.metadata.ValueExistencePolicy;
  import org.apache.sis.system.Semaphores;
  import org.apache.sis.metadata.internal.Dependencies;
- import org.apache.sis.util.internal.Numerics;
  
- // Branch-dependent imports
- import org.opengis.metadata.citation.Responsibility;
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.metadata.citation.ResponsibleParty;
 +
++// Specific to the geoapi-3.1 branch:
++import org.opengis.metadata.citation.Responsibility;
++
  
  /**
   * The handler for metadata proxy that implement (indirectly) metadata interfaces like
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataFallback.java
index fa37f24312,f970fd3e9d..b93bbb4bf6
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataFallback.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/MetadataFallback.java
@@@ -30,9 -29,12 +29,12 @@@ import org.apache.sis.xml.NilReason
  
  import static java.util.Collections.singleton;
  
- // Branch-dependent import
++// Specific to the main and geoapi-3.1 branches:
 +import org.apache.sis.metadata.iso.citation.DefaultResponsibleParty;
 +
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.util.ControlledVocabulary;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.apache.sis.metadata.iso.citation.DefaultResponsibility;
 -
  
  /**
   * A fallback providing hard-coded values of metadata entities.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Scope.java
index 0c3f741ea9,cf83d42ec1..acb6c84dc7
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Scope.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Scope.java
@@@ -21,7 -20,9 +20,12 @@@ import jakarta.xml.bind.annotation.XmlE
  import org.apache.sis.metadata.iso.maintenance.DefaultScope;
  import org.apache.sis.xml.bind.gco.PropertyType;
  
++// Specific to the main and geoapi-3.1 branches:
++import java.net.URISyntaxException;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.metadata.maintenance.Scope;
+ 
  
  /**
   * JAXB adapter in order to map implementing class with the GeoAPI interface.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/CI_TelephoneTypeCode.java
index 9b2059475a,51573e82fe..670796e3e7
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/CI_TelephoneTypeCode.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/CI_TelephoneTypeCode.java
@@@ -17,10 -17,12 +17,12 @@@
  package org.apache.sis.xml.bind.metadata.code;
  
  import jakarta.xml.bind.annotation.XmlElement;
- import org.opengis.metadata.citation.TelephoneType;
- import org.apache.sis.xml.bind.cat.CodeListAdapter;
- import org.apache.sis.xml.bind.cat.CodeListUID;
  import org.apache.sis.xml.Namespaces;
+ import org.apache.sis.xml.bind.cat.CodeListUID;
+ 
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import org.opengis.metadata.citation.TelephoneType;
+ import org.apache.sis.xml.bind.cat.CodeListAdapter;
++import org.opengis.metadata.citation.TelephoneType;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/DCPList.java
index 7150d1ea28,118ac9a70e..9d5f284ff4
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/DCPList.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/DCPList.java
@@@ -17,10 -17,12 +17,12 @@@
  package org.apache.sis.xml.bind.metadata.code;
  
  import jakarta.xml.bind.annotation.XmlElement;
- import org.opengis.metadata.identification.DistributedComputingPlatform;
- import org.apache.sis.xml.bind.cat.CodeListAdapter;
- import org.apache.sis.xml.bind.cat.CodeListUID;
  import org.apache.sis.xml.Namespaces;
+ import org.apache.sis.xml.bind.cat.CodeListUID;
+ 
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import org.opengis.metadata.identification.DistributedComputingPlatform;
+ import org.apache.sis.xml.bind.cat.CodeListAdapter;
++import org.opengis.metadata.identification.DistributedComputingPlatform;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_MediumNameCode.java
index b92aea6dd9,431b82fb1f..325b5f5803
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_MediumNameCode.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_MediumNameCode.java
@@@ -22,6 -21,9 +21,9 @@@ import org.apache.sis.xml.bind.cat.Code
  import org.apache.sis.xml.bind.cat.CodeListUID;
  import org.apache.sis.xml.util.LegacyNamespaces;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.apache.sis.metadata.iso.legacy.MediumName;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.distribution.MediumName;
+ 
  
  /**
   * JAXB adapter for legacy {@link MediumName}
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_PixelOrientationCode.java
index dfc8eb77bb,f5889edd97..cf2ae83ca5
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_PixelOrientationCode.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_PixelOrientationCode.java
@@@ -18,9 -18,10 +18,11 @@@ package org.apache.sis.xml.bind.metadat
  
  import jakarta.xml.bind.annotation.XmlElement;
  import org.opengis.metadata.spatial.PixelOrientation;
+ import org.apache.sis.xml.Namespaces;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.apache.sis.xml.bind.cat.EnumAdapter;
++// Specific to the main and geoapi-3.1 branches:
 +import org.apache.sis.xml.bind.cat.CodeListAdapter;
 +import org.apache.sis.xml.bind.cat.CodeListUID;
- import org.apache.sis.xml.Namespaces;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_TopicCategoryCode.java
index b223559faf,206150e6f7..8c1d9a6cb2
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_TopicCategoryCode.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_TopicCategoryCode.java
@@@ -18,9 -18,10 +18,11 @@@ package org.apache.sis.xml.bind.metadat
  
  import jakarta.xml.bind.annotation.XmlElement;
  import org.opengis.metadata.identification.TopicCategory;
+ import org.apache.sis.xml.Namespaces;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.apache.sis.xml.bind.cat.EnumAdapter;
++// Specific to the main and geoapi-3.1 branches:
 +import org.apache.sis.xml.bind.cat.CodeListAdapter;
 +import org.apache.sis.xml.bind.cat.CodeListUID;
- import org.apache.sis.xml.Namespaces;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_PolarisationOrientationCode.java
index 67552494dd,b73f0194e8..091808a413
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_PolarisationOrientationCode.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_PolarisationOrientationCode.java
@@@ -17,10 -17,12 +17,12 @@@
  package org.apache.sis.xml.bind.metadata.code;
  
  import jakarta.xml.bind.annotation.XmlElement;
- import org.opengis.metadata.content.PolarizationOrientation;
+ import org.apache.sis.xml.Namespaces;
  import org.apache.sis.xml.bind.cat.CodeListAdapter;
  import org.apache.sis.xml.bind.cat.CodeListUID;
- import org.apache.sis.xml.Namespaces;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.content.PolarisationOrientation;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.content.PolarizationOrientation;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/SV_CouplingType.java
index 5c71ed8ca9,d5c3e57d74..1a0328672f
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/SV_CouplingType.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/SV_CouplingType.java
@@@ -17,10 -17,12 +17,12 @@@
  package org.apache.sis.xml.bind.metadata.code;
  
  import jakarta.xml.bind.annotation.XmlElement;
- import org.opengis.metadata.identification.CouplingType;
- import org.apache.sis.xml.bind.cat.CodeListAdapter;
- import org.apache.sis.xml.bind.cat.CodeListUID;
  import org.apache.sis.xml.Namespaces;
+ import org.apache.sis.xml.bind.cat.CodeListUID;
+ 
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import org.opengis.metadata.identification.CouplingType;
+ import org.apache.sis.xml.bind.cat.CodeListAdapter;
++import org.opengis.metadata.identification.CouplingType;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/QualityParameter.java
index 7758780544,8b708db41d..2099cef5dc
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/QualityParameter.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/QualityParameter.java
@@@ -31,11 -32,9 +32,12 @@@ import org.apache.sis.xml.Namespaces
  import org.apache.sis.xml.bind.gco.GO_GenericName;
  import org.apache.sis.util.Classes;
  import org.apache.sis.util.iso.Names;
- import org.apache.sis.xml.Namespaces;
  
- // Branch-dependent imports
- import org.opengis.coverage.Coverage;
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.referencing.ReferenceIdentifier;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.coverage.Coverage;
  import org.opengis.metadata.quality.Description;
  import org.opengis.metadata.quality.ValueStructure;
  
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/RS_Identifier.java
index 436b606db0,3b7704b1bd..ee482c1b58
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/RS_Identifier.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/RS_Identifier.java
@@@ -20,11 -21,8 +21,12 @@@ import org.apache.sis.metadata.iso.*
  import jakarta.xml.bind.annotation.XmlType;
  import jakarta.xml.bind.annotation.XmlRootElement;
  import org.opengis.metadata.Identifier;
+ import org.apache.sis.xml.util.LegacyNamespaces;
+ 
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.metadata.citation.Citation;
 +import org.opengis.referencing.ReferenceIdentifier;
- import org.apache.sis.metadata.TitleProperty;
- import org.apache.sis.xml.util.LegacyNamespaces;
 +
  
  /**
   * Identifier using {@code <gmd:RS_Identifier>} XML element name.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/ReferenceSystemMetadata.java
index a753d9b656,13974c194a..b5ec9c4565
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/ReferenceSystemMetadata.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/ReferenceSystemMetadata.java
@@@ -26,7 -26,9 +26,9 @@@ import org.apache.sis.xml.Namespaces
  import org.apache.sis.xml.bind.FilterByVersion;
  import org.apache.sis.util.ComparisonMode;
  import org.apache.sis.util.Utilities;
- import org.apache.sis.xml.Namespaces;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/ServiceParameter.java
index 898432cea4,7b0889d660..05d2d6adaf
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/ServiceParameter.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/ServiceParameter.java
@@@ -36,10 -35,10 +35,13 @@@ import org.apache.sis.util.iso.Names
  
  import static org.apache.sis.util.internal.CollectionsExt.nonNull;
  
- // Branch-dependent imports
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.referencing.ReferenceIdentifier;
 +
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import org.opengis.metadata.Identifier;
+ import org.opengis.parameter.ParameterDirection;
++import org.opengis.metadata.Identifier;
+ 
  
  /**
   * Parameter information conform to the ISO 19115:2014 specification.
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/HashCodeTest.java
index c56e8b758f,7931f25ec3..61684bdfae
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/HashCodeTest.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/HashCodeTest.java
@@@ -40,6 -37,13 +37,13 @@@ import org.junit.Test
  
  import static org.junit.Assert.*;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
++import org.apache.sis.metadata.iso.citation.DefaultResponsibleParty;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.metadata.citation.Individual;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
 -import org.apache.sis.metadata.iso.citation.DefaultResponsibility;
 -
  
  /**
   * Tests the {@link HashCode} class. This is also used as a relatively simple {@link MetadataVisitor} test.
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyAccessorTest.java
index 40ddefcec3,2f805e30d2..8539ea148e
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyAccessorTest.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyAccessorTest.java
@@@ -70,6 -63,14 +63,15 @@@ import static org.apache.sis.metadata.P
  import static org.apache.sis.metadata.PropertyAccessor.RETURN_NULL;
  import static org.apache.sis.metadata.PropertyAccessor.RETURN_PREVIOUS;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
++import org.opengis.referencing.ReferenceSystem;
++import org.opengis.referencing.ReferenceIdentifier;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.metadata.content.AttributeGroup;
+ import org.opengis.temporal.Duration;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
 -import org.opengis.referencing.ObjectDomain;
 -
  
  /**
   * Tests the {@link PropertyAccessor} class. Every tests in this class instantiates directly a
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyInformationTest.java
index 5355d15bd4,960759875a..b575af9759
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyInformationTest.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/PropertyInformationTest.java
@@@ -40,6 -39,9 +39,9 @@@ import static org.apache.sis.test.Asser
  import static org.apache.sis.metadata.Assertions.assertTitleEquals;
  import static org.apache.sis.test.TestUtilities.getSingleton;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.annotation.Obligation;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.Obligation;
+ 
  
  /**
   * Tests the {@link PropertyInformation} class.
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/TreeNodeTest.java
index 4aab9b15e5,cf9278964f..5ad3ca62ae
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/TreeNodeTest.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/TreeNodeTest.java
@@@ -44,6 -41,13 +41,13 @@@ import org.junit.Test
  import static org.junit.Assert.*;
  import static org.apache.sis.metadata.Assertions.assertTitleEquals;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
++import org.apache.sis.metadata.iso.citation.DefaultResponsibleParty;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.metadata.citation.Party;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
 -import org.apache.sis.metadata.iso.citation.DefaultResponsibility;
 -
  
  /**
   * Tests the {@link TreeNode} class.
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/TreeTableFormatTest.java
index 842d6d2265,8d661baf83..248eaf3410
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/TreeTableFormatTest.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/TreeTableFormatTest.java
@@@ -38,6 -37,9 +37,9 @@@ import org.junit.Test
  
  import static org.apache.sis.test.Assertions.assertMultilinesEquals;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.apache.sis.metadata.iso.citation.DefaultResponsibility;
++// Specific to the main and geoapi-3.1 branches:
++import org.apache.sis.metadata.iso.citation.DefaultResponsibleParty;
+ 
  
  /**
   * Tests the {@link TreeTableFormat} applied to the formatting of metadata tree.
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/TypeMapTest.java
index 3b1f355fc8,b85bd76a69..4198f6fbef
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/TypeMapTest.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/TypeMapTest.java
@@@ -40,6 -39,9 +39,9 @@@ import org.junit.Test
  import static org.junit.Assert.*;
  import static java.util.AbstractMap.SimpleEntry;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
+ 
  
  /**
   * Tests the {@link TypeMap} class on instances created by
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/ValueMapTest.java
index 28cc71f9a7,d96420e2df..505d210ebb
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/ValueMapTest.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/ValueMapTest.java
@@@ -38,6 -37,9 +37,9 @@@ import static java.util.AbstractMap.Sim
  import static org.opengis.metadata.citation.PresentationForm.DOCUMENT_HARDCOPY;
  import static org.apache.sis.test.TestUtilities.getSingleton;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.apache.sis.metadata.iso.citation.DefaultResponsibility;
++// Specific to the main and geoapi-3.1 branches:
++import org.apache.sis.metadata.iso.citation.DefaultResponsibleParty;
+ 
  
  /**
   * Tests the {@link ValueMap} class on instances created by
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java
index 73203eb6e3,addd5cd959..cefe55a4dc
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/citation/DefaultCitationTest.java
@@@ -54,6 -51,10 +51,13 @@@ import static org.apache.sis.test.TestU
  import static org.apache.sis.metadata.Assertions.assertTitleEquals;
  import static org.junit.Assert.*;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.metadata.citation.Party;
+ import org.opengis.metadata.citation.Responsibility;
+ 
  
  /**
   * Tests {@link DefaultCitation}.
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/citation/HardCodedCitations.java
index 86f58055b4,e5c31c6da7..d02378e924
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/citation/HardCodedCitations.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/citation/HardCodedCitations.java
@@@ -23,12 -23,10 +23,13 @@@ import org.opengis.metadata.citation.On
  import org.opengis.metadata.citation.PresentationForm;
  import org.apache.sis.metadata.iso.DefaultIdentifier;
  import org.apache.sis.util.SimpleInternationalString;
+ import org.apache.sis.util.Static;
  import org.apache.sis.util.internal.Constants;
  import org.apache.sis.util.internal.URLs;
- import org.apache.sis.util.Static;
  
++// Specific to the main and geoapi-3.1 branches:
 +import static java.util.Collections.singleton;
 +
  
  /**
   * Hard-coded citation constants used for testing purpose only.
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/content/DefaultBandTest.java
index 501ca9caac,9cf419ac68..cd0a8e86a3
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/content/DefaultBandTest.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/content/DefaultBandTest.java
@@@ -26,6 -25,9 +25,9 @@@ import static org.junit.Assert.*
  import static org.apache.sis.metadata.Assertions.assertXmlEquals;
  import static org.apache.sis.metadata.internal.ImplementationHelper.ISO_NAMESPACE;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.content.PolarisationOrientation;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.content.PolarizationOrientation;
+ 
  
  /**
   * Tests {@link DefaultBand}.
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/test/mock/IdentifiedObjectMock.java
index b833548fa1,fe68912176..cafd8bde4b
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/test/mock/IdentifiedObjectMock.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/test/mock/IdentifiedObjectMock.java
@@@ -29,6 -28,9 +28,9 @@@ import org.apache.sis.util.internal.Str
  import org.apache.sis.util.internal.CollectionsExt;
  import org.apache.sis.xml.bind.gco.GO_GenericName;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
+ 
  
  /**
   * A dummy implementation of {@link IdentifiedObject} with minimal XML (un)marshalling capability.
diff --cc endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/DirectReferenceSystem.java
index f2b20f94be,0fa93cc381..2155bafdf6
--- a/endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/DirectReferenceSystem.java
+++ b/endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/DirectReferenceSystem.java
@@@ -22,7 -22,9 +22,9 @@@ import org.opengis.referencing.Referenc
  import org.apache.sis.xml.bind.metadata.replace.ReferenceSystemMetadata;
  import org.apache.sis.util.ComparisonMode;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
+ 
  
  /**
   * AFNOR extension to ISO {@link ReferenceSystem}.
diff --cc endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/IndirectReferenceSystem.java
index 229182974b,db33a03a1e..0394f397dd
--- a/endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/IndirectReferenceSystem.java
+++ b/endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/IndirectReferenceSystem.java
@@@ -22,7 -22,9 +22,9 @@@ import org.opengis.referencing.Referenc
  import org.apache.sis.xml.bind.metadata.replace.ReferenceSystemMetadata;
  import org.apache.sis.util.ComparisonMode;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
+ 
  
  /**
   * AFNOR extension to ISO {@link ReferenceSystem}.
diff --cc endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/profile/france/FrenchProfileTest.java
index 348d9b06a6,51232b4236..dfc906b3e9
--- a/endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/profile/france/FrenchProfileTest.java
+++ b/endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/profile/france/FrenchProfileTest.java
@@@ -34,6 -33,9 +33,9 @@@ import static org.junit.Assert.*
  import static org.opengis.test.Assert.assertInstanceOf;
  import static org.apache.sis.test.TestUtilities.getSingleton;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.apache.sis.metadata.iso.DefaultIdentifier;
++// Specific to the main and geoapi-3.1 branches:
++import org.apache.sis.xml.bind.metadata.replace.RS_Identifier;
+ 
  
  /**
   * Tests {@link FrenchProfile}.
diff --cc endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/xml/bind/fra/DirectReferenceSystemTest.java
index 6f08ea8bb7,fe8905ceb4..48f6d47fa5
--- a/endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/xml/bind/fra/DirectReferenceSystemTest.java
+++ b/endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/xml/bind/fra/DirectReferenceSystemTest.java
@@@ -33,6 -31,10 +31,10 @@@ import org.junit.Test
  
  import static org.junit.Assert.*;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.citation.Responsibility;
 -import org.apache.sis.metadata.iso.DefaultIdentifier;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.ResponsibleParty;
++import org.apache.sis.xml.bind.metadata.replace.RS_Identifier;
+ 
  
  /**
   * Tests (un)marshalling of French profile of reference system.
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/GeodeticObjectParser.java
index c07a7e78a5,7f0ed9121b..c27fd31c84
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/GeodeticObjectParser.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/io/wkt/GeodeticObjectParser.java
@@@ -89,9 -84,6 +84,9 @@@ import org.apache.sis.util.iso.Types
  
  import static java.util.Collections.singletonMap;
  
- // Branch-dependent imports
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.referencing.ReferenceIdentifier;
 +
  
  /**
   * Well Known Text (WKT) parser for referencing objects. This include, but is not limited too,
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/ParameterFormat.java
index f2a0a9ed31,92c18fc4fe..99e89360f0
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/ParameterFormat.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/parameter/ParameterFormat.java
@@@ -62,6 -58,9 +58,12 @@@ import org.apache.sis.util.internal.X36
  
  import static org.apache.sis.util.collection.Containers.hashMapCapacity;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.util.ControlledVocabulary;
+ 
  
  /**
   * Formats {@linkplain DefaultParameterDescriptorGroup parameter descriptors} or
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/AbstractIdentifiedObject.java
index 57c20a589f,2b0641d06b..1a6c9dd3c4
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/AbstractIdentifiedObject.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/AbstractIdentifiedObject.java
@@@ -68,9 -68,6 +68,9 @@@ import static org.apache.sis.util.inter
  import static org.apache.sis.util.internal.CollectionsExt.nonEmpty;
  import static org.apache.sis.util.internal.CollectionsExt.immutableSet;
  
- // Branch-dependent imports
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.referencing.ReferenceIdentifier;
 +
  
  /**
   * Base class for objects identified by a name or a code. Those objects are typically
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Builder.java
index 772ad3e8f9,5cfc42ad7f..6d0b5d19a9
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Builder.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Builder.java
@@@ -40,9 -40,6 +40,9 @@@ import org.apache.sis.util.resources.Er
  
  import static org.apache.sis.util.ArgumentChecks.*;
  
- // Branch-dependent imports
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.referencing.ReferenceIdentifier;
 +
  
  /**
   * Base class of builders for various kinds of {@link IdentifiedObject}. This class provides convenience methods
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/ImmutableIdentifier.java
index 498b6c33a4,ea8f59920e..ec3f78845c
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/ImmutableIdentifier.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/ImmutableIdentifier.java
@@@ -41,6 -40,6 +40,9 @@@ import org.apache.sis.io.wkt.ElementKin
  import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
  import static org.apache.sis.util.collection.Containers.property;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
++
  
  /**
   * Immutable value uniquely identifying an object within a namespace, together with a version.
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/NameIterator.java
index 0c23140a37,8aa4e97eb1..817323ddb1
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/NameIterator.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/NameIterator.java
@@@ -27,6 -26,9 +26,9 @@@ import org.apache.sis.referencing.util.
  
  import static org.apache.sis.util.internal.Strings.appendUnicodeIdentifier;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
+ 
  
  /**
   * An iterator over the {@linkplain IdentifiedObject#getName() name} of an identified object followed by
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/NamedIdentifier.java
index becb105fb1,8435a9fdf6..f40d4f8007
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/NamedIdentifier.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/NamedIdentifier.java
@@@ -37,8 -37,7 +37,10 @@@ import org.opengis.parameter.InvalidPar
  import org.apache.sis.metadata.internal.NameToIdentifier;
  import org.apache.sis.metadata.iso.citation.Citations;
  import org.apache.sis.util.iso.DefaultNameFactory;
- import org.apache.sis.util.ArgumentChecks;
+ 
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
 +
  
  /**
   * An identification of a CRS object which is both a {@link Identifier} and a {@link GenericName}.
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Properties.java
index 87963f0f27,b45707b85c..61e9aed557
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Properties.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/Properties.java
@@@ -29,9 -28,12 +28,12 @@@ import org.opengis.referencing.operatio
  import org.opengis.referencing.operation.OperationMethod;
  import org.opengis.referencing.operation.SingleOperation;
  import org.opengis.metadata.quality.PositionalAccuracy;
+ import org.apache.sis.util.Deprecable;
  import org.apache.sis.util.internal.AbstractMap;
  import org.apache.sis.referencing.util.CoordinateOperations;
- import org.apache.sis.util.Deprecable;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
index cc419a7f5c,3fb16f3a3a..3d1157a084
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultConcatenatedOperation.java
@@@ -44,8 -44,7 +44,10 @@@ import org.apache.sis.io.wkt.Formatter
  
  import static org.apache.sis.util.Utilities.deepEquals;
  
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.referencing.operation.SingleOperation;
 +
+ 
  /**
   * An ordered sequence of two or more single coordinate operations. The sequence of operations is constrained
   * by the requirement that the source coordinate reference system of step (<var>n</var>+1) must be the same as
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
index aa64df7b56,15b86579b9..e879f339c1
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/DefaultPassThroughOperation.java
@@@ -43,9 -43,6 +43,11 @@@ import org.apache.sis.io.wkt.Formatter
  
  import static org.apache.sis.util.Utilities.deepEquals;
  
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.referencing.operation.OperationMethod;
 +import org.opengis.referencing.operation.SingleOperation;
++import org.opengis.parameter.ParameterValueGroup;
++
  
  /**
   * Specifies that a subset of a coordinate tuple is subject to a specific coordinate operation.
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbstractProvider.java
index c62658b5f5,dddb6cbb05..44274a8bb2
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbstractProvider.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbstractProvider.java
@@@ -45,8 -45,8 +45,8 @@@ import org.apache.sis.util.logging.Logg
  import org.apache.sis.system.Loggers;
  import org.apache.sis.referencing.internal.Resources;
  
- // Branch-dependent imports
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.referencing.ReferenceIdentifier;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/MapProjection.java
index d2720d2818,ed35be2b0a..b3e4a93708
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/MapProjection.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/MapProjection.java
@@@ -53,6 -52,6 +52,9 @@@ import org.apache.sis.util.resources.Er
  
  import static org.opengis.metadata.Identifier.AUTHORITY_KEY;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
++
  
  /**
   * Base class for most two-dimensional map projection providers defined in this package.
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ObliqueMercatorCenter.java
index 10877e9184,67476259f7..1fb5ea1c17
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ObliqueMercatorCenter.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ObliqueMercatorCenter.java
@@@ -24,9 -24,6 +24,9 @@@ import org.apache.sis.metadata.iso.cita
  
  import static org.apache.sis.referencing.IdentifiedObjects.getIdentifier;
  
- // Branch-dependent imports
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.referencing.ReferenceIdentifier;
 +
  
  /**
   * The provider for <cite>"Hotine Oblique Mercator (variant B)"</cite> projection (EPSG:9815).
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/NilReferencingObject.java
index e5f4cc467a,fadcb10f49..f9ed18c4fb
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/NilReferencingObject.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/NilReferencingObject.java
@@@ -24,6 -23,9 +23,9 @@@ import org.apache.sis.xml.NilObject
  import org.apache.sis.referencing.NamedIdentifier;
  import org.apache.sis.util.resources.Vocabulary;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
+ 
  
  /**
   * A referencing object for which every methods return {@code null} or a neutral value.
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CC_GeneralOperationParameter.java
index 0d1340be55,808f9a3d31..c3fb49ca9d
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CC_GeneralOperationParameter.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CC_GeneralOperationParameter.java
@@@ -39,15 -38,15 +38,18 @@@ import org.apache.sis.parameter.Paramet
  import org.apache.sis.referencing.NamedIdentifier;
  import org.apache.sis.referencing.IdentifiedObjects;
  import org.apache.sis.referencing.GeodeticException;
- import org.apache.sis.util.collection.Containers;
  import org.apache.sis.util.CorruptedObjectException;
+ import org.apache.sis.util.collection.Containers;
  import org.apache.sis.util.internal.CollectionsExt;
- import org.apache.sis.xml.bind.gco.PropertyType;
- import org.apache.sis.xml.bind.Context;
- import org.apache.sis.util.resources.Errors;
  import org.apache.sis.xml.IdentifiedObject;
  import org.apache.sis.xml.IdentifierSpace;
+ import org.apache.sis.xml.bind.Context;
+ import org.apache.sis.xml.bind.gco.PropertyType;
+ import org.apache.sis.util.resources.Errors;
+ 
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
 +
  
  /**
   * JAXB adapter mapping implementing class to the GeoAPI interface. See
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/Code.java
index 893e350562,f0400af6f4..d0ef3923d0
--- a/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/Code.java
+++ b/endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/Code.java
@@@ -31,6 -30,6 +30,9 @@@ import org.apache.sis.metadata.iso.cita
  
  import static org.apache.sis.metadata.iso.citation.Citations.toCodeSpace;
  
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
++
  
  /**
   * The {@code gml:CodeType}, which is made of a code space and a code value.
diff --cc endorsed/src/org.apache.sis.referencing/test/org/apache/sis/parameter/ParametersTest.java
index aae9e3942f,ca3ed9f96e..3f7b880a12
--- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/parameter/ParametersTest.java
+++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/parameter/ParametersTest.java
@@@ -38,9 -36,13 +36,13 @@@ import org.junit.Test
  
  import static org.junit.Assert.*;
  
- // Branch-dependent imports
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.referencing.ReferenceIdentifier;
 +
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
+ import org.opengis.parameter.ParameterDirection;
+ import org.opengis.util.TypeName;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
 -
  
  /**
   * Tests the static methods in the {@link Parameters} class.
diff --cc endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java
index 4e02c1c6ee,bd9b771705..35fa97fd2b
--- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java
+++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/AbstractIdentifiedObjectTest.java
@@@ -36,6 -35,9 +35,9 @@@ import static org.apache.sis.test.Asser
  import static org.apache.sis.test.TestUtilities.getSingleton;
  import static org.apache.sis.metadata.iso.citation.Citations.EPSG;
  
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.referencing.ReferenceIdentifier;
+ 
  
  /**
   * Tests the {@link AbstractIdentifiedObject} class.
diff --cc endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/GeodeticCalculatorTest.java
index 6c84ee6e8f,57aa0ef730..c791cc7b63
--- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/GeodeticCalculatorTest.java
+++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/GeodeticCalculatorTest.java
@@@ -50,9 -49,13 +49,13 @@@ import static java.lang.StrictMath.*
  import static org.junit.Assert.*;
  import static org.opengis.test.Assert.assertBetween;
  import static org.opengis.test.Assert.assertInstanceOf;
- import static org.opengis.test.Assert.assertAxisDirectionsEqual;
  import static org.apache.sis.metadata.internal.ReferencingServices.AUTHALIC_RADIUS;
  
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import org.opengis.referencing.cs.AxisDirection;
 -
+ import static org.opengis.test.Assert.assertAxisDirectionsEqual;
+ 
++import org.opengis.referencing.cs.AxisDirection;
++
  
  /**
   * Tests {@link GeodeticCalculator}. Test values come from the following sources:
diff --cc endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/MathTransformTestCase.java
index e49512b43e,911387f4a7..b265089bb2
--- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/MathTransformTestCase.java
+++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/MathTransformTestCase.java
@@@ -47,8 -44,12 +44,12 @@@ import org.apache.sis.referencing.opera
  import static org.junit.Assert.*;
  import static org.opengis.test.Assert.assertInstanceOf;
  
- // Branch-dependent imports
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
 +import org.opengis.test.CalculationType;
+ import org.opengis.util.Factory;
+ import org.opengis.geometry.DirectPosition;
+ import org.apache.sis.measure.Longitude;
 -import org.opengis.test.CalculationType;
+ import org.opengis.test.referencing.TransformTestCase;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/MolodenskyTransformTest.java
index 8a3896d4d7,6c92043653..921f1248ee
--- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/MolodenskyTransformTest.java
+++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/transform/MolodenskyTransformTest.java
@@@ -42,7 -35,21 +35,21 @@@ import org.apache.sis.referencing.datum
  import org.apache.sis.test.DependsOnMethod;
  import org.apache.sis.test.DependsOn;
  import org.apache.sis.test.TestUtilities;
+ import org.junit.Test;
+ 
+ import static org.junit.Assert.*;
+ import static org.opengis.test.Assert.assertInstanceOf;
+ 
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import java.io.IOException;
+ import org.opengis.referencing.operation.MathTransform;
+ import org.apache.sis.referencing.operation.provider.AbridgedMolodensky;
 +import org.apache.sis.test.TestCase;
++import java.io.IOException;
+ import org.apache.sis.math.StatisticsFormat;
+ import org.apache.sis.math.Statistics;
+ 
+ import static org.apache.sis.metadata.internal.ReferencingServices.NAUTICAL_MILE;
+ 
 -import org.apache.sis.test.TestCase;
  import org.opengis.test.CalculationType;
  import org.opengis.test.ToleranceModifier;
  import org.opengis.test.ToleranceModifiers;
diff --cc endorsed/src/org.apache.sis.referencing/test/org/apache/sis/test/integration/MetadataVerticalTest.java
index bd0ceee158,1faf639ca3..43e384d600
--- a/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/test/integration/MetadataVerticalTest.java
+++ b/endorsed/src/org.apache.sis.referencing/test/org/apache/sis/test/integration/MetadataVerticalTest.java
@@@ -53,9 -48,13 +48,13 @@@ import org.junit.Test
  
  import static org.junit.Assert.*;
  import static org.opengis.test.Assert.assertInstanceOf;
- import static org.opengis.test.Assert.assertIdentifierEquals;
  import static org.apache.sis.test.TestUtilities.getSingleton;
  
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import java.nio.charset.StandardCharsets;
 -
+ import static org.opengis.test.Assert.assertIdentifierEquals;
+ 
++import java.nio.charset.StandardCharsets;
++
  
  /**
   * Tests XML (un)marshalling of a metadata object containing a vertical extent
diff --cc endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Copyright.java
index da402f53ea,64a01645d3..55c79ecddc
--- a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Copyright.java
+++ b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Copyright.java
@@@ -34,14 -34,14 +34,14 @@@ import org.opengis.metadata.citation.Pr
  import org.opengis.metadata.citation.Role;
  import org.opengis.metadata.constraint.LegalConstraints;
  import org.opengis.metadata.constraint.Restriction;
- import org.opengis.metadata.identification.BrowseGraphic;
  import org.opengis.util.InternationalString;
- import org.apache.sis.util.SimpleInternationalString;
  import org.apache.sis.util.iso.Types;
  
- // Branch-dependent imports
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
  import org.opengis.metadata.citation.Party;
  import org.opengis.metadata.citation.Responsibility;
 -import org.opengis.metadata.identification.BrowseGraphic;
+ import org.apache.sis.util.SimpleInternationalString;
++import org.opengis.metadata.identification.BrowseGraphic;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Metadata.java
index f0700b5eae,c5384ebd52..df48374f03
--- a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Metadata.java
+++ b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Metadata.java
@@@ -50,12 -48,11 +48,14 @@@ import org.apache.sis.metadata.iso.cita
  import org.apache.sis.metadata.iso.identification.DefaultKeywords;
  import org.apache.sis.metadata.iso.extent.Extents;
  import org.apache.sis.referencing.CommonCRS;
- import org.apache.sis.util.SimpleInternationalString;
  import org.apache.sis.util.iso.Types;
  
- // Branch-dependent imports
++// Specific to the main and geoapi-3.1 branches:
 +import org.opengis.metadata.citation.ResponsibleParty;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
  import org.opengis.metadata.citation.Responsibility;
+ import org.apache.sis.metadata.iso.citation.Citations;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Person.java
index b0c117dc83,7257bd075d..0cd99b6109
--- a/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Person.java
+++ b/endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Person.java
@@@ -28,16 -26,14 +26,22 @@@ import org.opengis.metadata.citation.Ad
  import org.opengis.metadata.citation.Contact;
  import org.opengis.metadata.citation.OnlineResource;
  import org.opengis.metadata.citation.Role;
- import org.opengis.metadata.citation.Telephone;
  import org.opengis.util.InternationalString;
- import org.apache.sis.util.SimpleInternationalString;
- import org.apache.sis.util.iso.Types;
  
- // Branch-dependent imports
++// Specific to the main and geoapi-3.1 branches:
++import org.opengis.metadata.citation.Telephone;
++import org.opengis.metadata.citation.ResponsibleParty;
++
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
  import org.opengis.metadata.citation.Party;
  import org.opengis.metadata.citation.Responsibility;
- import org.opengis.metadata.citation.ResponsibleParty;
+ import org.apache.sis.util.SimpleInternationalString;
+ import org.apache.sis.util.iso.Types;
+ 
++// Specific to the geoapi-3.1 branch:
++import java.util.AbstractSet;
++import java.util.Iterator;
 +
  
  /**
   * Information about a person or organization.
diff --cc endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
index f1e996b9e3,9ea4c95866..7988461253
--- a/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
+++ b/endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
@@@ -56,10 -56,14 +56,14 @@@ import org.opengis.referencing.cs.Coord
  import org.opengis.referencing.crs.VerticalCRS;
  import org.opengis.referencing.crs.CoordinateReferenceSystem;
  import org.opengis.referencing.operation.TransformException;
+ import org.apache.sis.util.AbstractInternationalString;
+ import org.apache.sis.util.ArgumentChecks;
+ import org.apache.sis.util.CharSequences;
+ import org.apache.sis.util.Characters;
  import org.apache.sis.util.internal.CollectionsExt;
- import org.apache.sis.metadata.simple.SimpleDuration;
+ import org.apache.sis.util.internal.Strings;
 -import org.apache.sis.metadata.ModifiableMetadata;
  import org.apache.sis.geometry.AbstractEnvelope;
 +import org.apache.sis.metadata.ModifiableMetadata;
  import org.apache.sis.metadata.iso.*;
  import org.apache.sis.metadata.iso.acquisition.*;
  import org.apache.sis.metadata.iso.citation.*;
diff --cc endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/temporal/Primitive.java
index 7e2cf3171c,1a22363d61..8e608cd4eb
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/temporal/Primitive.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/temporal/Primitive.java
@@@ -20,7 -21,9 +21,9 @@@ import org.opengis.temporal.Duration
  import org.opengis.temporal.RelativePosition;
  import org.opengis.temporal.TemporalGeometricPrimitive;
  import org.opengis.temporal.TemporalPrimitive;
+ 
 -// Specific to the geoapi-4.0 branch:
 -import org.opengis.metadata.Identifier;
++// Specific to the geoapi-3.1 branch:
 +import org.opengis.referencing.ReferenceIdentifier;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CodeLists.java
index 5a99c6b3b0,a63728f2ac..1c05b2a97f
--- a/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CodeLists.java
+++ b/endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CodeLists.java
@@@ -24,8 -23,9 +23,9 @@@ import org.opengis.util.CodeList
  import org.apache.sis.util.CharSequences;
  import org.apache.sis.util.Characters.Filter;
  
- // Branch-dependent imports
+ // Specific to the geoapi-3.1 and geoapi-4.0 branches:
 -import java.util.function.Predicate;
  import org.opengis.util.ControlledVocabulary;
++import java.util.function.Predicate;
  
  
  /**