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/22 17:11:45 UTC

[sis] branch geoapi-3.1 updated (408f69aa9a -> 11f3507408)

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

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


    from 408f69aa9a Merge branch 'geoapi-4.0' into geoapi-3.1: add a git submodule for GeoAPI 3.1-SNAPSHOT.
     add b5b2ca5b2d Documentation updates related to recent restructuring: - Replace "master" by "main" branch name. - Update copyright year. - Update reference to header. - Convert README to markdown. - Minor typo fixes and cleanups.
     add 290bab04b9 Remove zero-width spaces in source code.
     add b1014029d2 Rename the internal packages of the `org.apache.sis.cql` module. Since they are not exported, the `internal` name convention is not needed anymore.
     add f045dd494d Rename the internal packages of the `org.apache.sis.storage.shapefile` module. Since they are not exported, the `internal` name convention is not needed anymore.
     add afab6a5d5c Rename the internal packages of the `org.apache.sis.profile.france` module. Since they are not exported, the `internal` name convention is not needed anymore.
     add fb10d1ec0d Rename the internal packages of the `org.apache.sis.profile.japan` module. Since they are not exported, the `internal` name convention is not needed anymore.
     add fa2bbbe54e Rename the internal packages of the `org.apache.sis.referencing.gazetteer` module. Since they are not exported, the `internal` name convention is not needed anymore.
     add 4319faa72f Rename the internal packages of the `org.apache.sis.gui` module. Since they are not exported, the `internal` name convention is not needed anymore.
     add 8c93960ed7 Rename the internal packages of the `org.apache.sis.storage.sql` module. Since they are not exported, the `internal` name convention is not needed anymore.
     add 4112c33010 Rename the internal packages of the `org.apache.sis.storage.xml` module. Since they are not exported, the `internal` name convention is not needed anymore.
     add 68a64896e8 Rename the internal packages of the `org.apache.sis.storage.netcdf` module. The `internal` name is kept only for packages that should never be exported.
     add 01ef53c8f5 Rename the internal packages of the `org.apache.sis.storage.geotiff` module. The `internal` name is kept only for packages that should never be exported.
     add 22639152a1 Rename the internal packages of the `org.apache.sis.storage` module (stores only). Since they are not exported, the `internal` name convention is not needed anymore.
     add 1685cdc175 Rename `org.apache.sis.internal.storage.io` as `org.apache.sis.io.stream`. This package is not exported, so it still not visible to users. But it is widely used in various Apache SIS modules.
     add 713b9183ff Rename the internal packages of the `org.apache.sis.storage` module. The `internal` name is kept only for packages that should never be exported.
     add 683105e75f Rename the internal packages of the `org.apache.sis.feature` module. The `internal` name is kept for packages that should not be exported (but some exceptions still exist).
     add 7deb6f2cc3 Rename the `org.apache.sis.internal.referencing.provider` package.
     add 265b2c2c01 Rename the `org.apache.sis.internal.jaxb.referencing` package.
     add ce122e73e9 Rename the `org.apache.sis.internal.referencing*` packages. A separation is applied between classes used by other modules and classes that are really internal to the referencing module.
     add 0c152d05c2 Rename the `org.apache.sis.internal.jaxb` packages in metadata module.
     add f5c4f94604 Rename the other `org.opengis.internal.metadata` packages.
     add 17e18b1c47 Rename the `org.apache.sis.internal` packages in utilities module.
     add 46a89286b2 Rename the internal packages of the `org.apache.sis.portrayal` module. Since they are not exported, the `internal` name convention is not needed anymore.
     new 11f3507408 Merge branch 'geoapi-4.0' into geoapi-3.1 This is the renaming of internal packages.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 NOTICE                                             |    6 +-
 README                                             |   91 -
 README.md                                          |   92 +
 .../apache/sis/buildtools/book/package-info.java   |    7 +-
 .../resources/IndexedResourceCompiler.java         |    2 +-
 endorsed/build.gradle.kts                          |   13 +-
 .../apache/sis/cloud/aws/s3/CachedByteChannel.java |    2 +-
 .../apache/sis/cloud/aws/s3/ClientFileSystem.java  |    2 +-
 .../org/apache/sis/cloud/aws/s3/KeyPathTest.java   |    6 -
 .../main/org/apache/sis/console/AboutCommand.java  |   12 +-
 .../main/org/apache/sis/console/CommandRunner.java |    2 +-
 .../apache/sis/console/FormattedOutputCommand.java |    4 +-
 .../org/apache/sis/console/IdentifierCommand.java  |    2 +-
 .../main/org/apache/sis/console/OutputFormat.java  |    2 +-
 .../apache/sis/console/ResourcesDownloader.java    |    4 +-
 .../org/apache/sis/console/TransformCommand.java   |   12 +-
 .../main/org/apache/sis/console/package-info.java  |    2 +-
 .../apache/sis/console/MimeTypeCommandTest.java    |    2 +-
 .../org.apache.sis.feature/main/module-info.java   |   25 +-
 .../main/org/apache/sis/coverage/Category.java     |    2 +-
 .../main/org/apache/sis/coverage/CategoryList.java |    2 +-
 .../org/apache/sis/coverage/CoverageCombiner.java  |    6 +-
 .../org/apache/sis/coverage/SampleDimension.java   |    4 +-
 .../org/apache/sis/coverage/SampleRangeFormat.java |    4 +-
 .../main/org/apache/sis/coverage/ToNaN.java        |    2 +-
 .../coverage/grid/BandAggregateGridCoverage.java   |    6 +-
 .../sis/coverage/grid/BufferedGridCoverage.java    |    2 +-
 .../coverage/grid/CoordinateOperationFinder.java   |    6 +-
 .../apache/sis/coverage/grid/DefaultEvaluator.java |   10 +-
 .../apache/sis/coverage/grid/DimensionReducer.java |    2 +-
 .../sis/coverage/grid/DimensionalityReduction.java |    6 +-
 .../sis/coverage/grid/DisjointExtentException.java |    2 +-
 .../coverage/grid/FractionalGridCoordinates.java   |    4 +-
 .../org/apache/sis/coverage/grid/GridCoverage.java |    4 +-
 .../apache/sis/coverage/grid/GridCoverage2D.java   |    6 +-
 .../sis/coverage/grid/GridCoverageBuilder.java     |   14 +-
 .../sis/coverage/grid/GridCoverageProcessor.java   |    6 +-
 .../apache/sis/coverage/grid/GridDerivation.java   |    4 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   |   16 +-
 .../apache/sis/coverage/grid/GridExtentCRS.java    |    4 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |   20 +-
 .../grid/IllegalGridGeometryException.java         |    2 +-
 .../apache/sis/coverage/grid/ImageRenderer.java    |   14 +-
 .../sis/coverage/grid/ReducedGridCoverage.java     |    2 +-
 .../sis/coverage/grid/ResampledGridCoverage.java   |    8 +-
 .../apache/sis/coverage/grid/SliceGeometry.java    |    8 +-
 .../sis/coverage/grid/j2d/BatchComputedImage.java  |  215 ++
 .../sis/coverage/grid/j2d/ColorModelBuilder.java   |  704 ++++
 .../sis/coverage/grid/j2d/ColorModelFactory.java   |  866 +++++
 .../sis/coverage/grid/j2d/ColorModelType.java      |  108 +
 .../sis/coverage/grid/j2d/ColorsForRange.java      |  295 ++
 .../sis/coverage/grid/j2d/DeferredProperty.java    |  126 +
 .../apache/sis/coverage/grid/j2d/FillValues.java   |  210 ++
 .../apache/sis/coverage/grid/j2d/ImageLayout.java  |  440 +++
 .../sis/coverage/grid/j2d/ImageUtilities.java      |  658 ++++
 .../grid/j2d/MultiBandsIndexColorModel.java        |  316 ++
 .../sis/coverage/grid/j2d/ObservableImage.java     |  290 ++
 .../sis/coverage/grid/j2d/RasterFactory.java       |  316 ++
 .../sis/coverage/grid/j2d/SampleModelFactory.java  |  294 ++
 .../sis/coverage/grid/j2d/ScaledColorModel.java    |  164 +
 .../sis/coverage/grid/j2d/ScaledColorSpace.java    |  226 ++
 .../sis/coverage/grid/j2d/TileErrorHandler.java    |  122 +
 .../sis/coverage/grid/j2d/TileOpExecutor.java      | 1024 ++++++
 .../sis/coverage/grid/j2d/TilePlaceholder.java     |  407 +++
 .../apache/sis/coverage/grid/j2d/TiledImage.java   |  276 ++
 .../sis/coverage/grid/j2d/WritableTiledImage.java  |  219 ++
 .../apache/sis/coverage/grid/j2d/package-info.java |   33 +
 .../sis/coverage/internal/CommonDomainFinder.java  |  376 +++
 .../sis/coverage/internal/CompoundTransform.java   |  217 ++
 .../coverage/internal/CompoundTransformOf1D.java   |  173 +
 .../sis/coverage/internal/MultiSourceArgument.java |  622 ++++
 .../sis/coverage/internal/RangeArgument.java       |  397 +++
 .../sis/coverage/internal/RepeatedTransform.java   |  161 +
 .../sis/coverage/internal/SampleDimensions.java    |  181 +
 .../apache/sis/coverage/internal/package-info.java |   30 +
 .../apache/sis/feature/AbstractAssociation.java    |    2 +-
 .../org/apache/sis/feature/AbstractFeature.java    |    4 +-
 .../apache/sis/feature/AbstractIdentifiedType.java |    2 +-
 .../org/apache/sis/feature/CharacteristicMap.java  |   10 +-
 .../apache/sis/feature/CharacteristicTypeMap.java  |    4 +-
 .../apache/sis/feature/DefaultAssociationRole.java |    4 +-
 .../org/apache/sis/feature/DefaultFeatureType.java |    6 +-
 .../main/org/apache/sis/feature/DenseFeature.java  |    4 +-
 .../org/apache/sis/feature/EnvelopeOperation.java  |   12 +-
 .../apache/sis/feature/ExpressionOperation.java    |    6 +-
 .../main/org/apache/sis/feature/FeatureFormat.java |    8 +-
 .../main/org/apache/sis/feature/Features.java      |    2 +-
 .../sis/feature/GroupAsPolylineOperation.java      |   10 +-
 .../main/org/apache/sis/feature/LinkOperation.java |    2 +-
 .../apache/sis/feature/MultiValuedAssociation.java |    4 +-
 .../apache/sis/feature/MultiValuedAttribute.java   |    6 +-
 .../org/apache/sis/feature/NamedFeatureType.java   |    4 +-
 .../main/org/apache/sis/feature/PropertyView.java  |    2 +-
 .../org/apache/sis/feature/SingletonAttribute.java |    2 +-
 .../main/org/apache/sis/feature/SparseFeature.java |    4 +-
 .../apache/sis/feature/StringJoinOperation.java    |   10 +-
 .../sis/feature/builder/AttributeTypeBuilder.java  |   12 +-
 .../sis/feature/builder/FeatureTypeBuilder.java    |    6 +-
 .../apache/sis/feature/builder/TypeBuilder.java    |    2 +-
 .../sis/feature/internal/AttributeConvention.java  |  446 +++
 .../sis/feature/internal/FeatureExpression.java    |  129 +
 .../sis/feature/internal/FeatureUtilities.java     |   94 +
 .../apache/sis/feature/internal/InstantList.java   |   82 +
 .../sis/feature/internal/MovingFeatures.java       |  132 +
 .../org/apache/sis/feature/internal/Resources.java |  679 ++++
 .../internal}/Resources.properties                 |    0
 .../apache/sis/feature/internal/Resources_en.java  |   30 +
 .../apache/sis/feature/internal/Resources_fr.java  |   30 +
 .../internal}/Resources_fr.properties              |    0
 .../apache/sis/feature/internal/package-info.java  |   34 +
 .../org/apache/sis/filter/ArithmeticFunction.java  |    4 +-
 .../main/org/apache/sis/filter/BinaryFunction.java |    2 +-
 .../apache/sis/filter/BinaryGeometryFilter.java    |   10 +-
 .../org/apache/sis/filter/BinarySpatialFilter.java |    6 +-
 .../main/org/apache/sis/filter/Capabilities.java   |    2 +-
 .../org/apache/sis/filter/ComparisonFilter.java    |    2 +-
 .../org/apache/sis/filter/ConvertFunction.java     |    4 +-
 .../apache/sis/filter/DefaultFilterFactory.java    |   10 +-
 .../main/org/apache/sis/filter/DistanceFilter.java |    6 +-
 .../org/apache/sis/filter/IdentifierFilter.java    |    4 +-
 .../main/org/apache/sis/filter/LeafExpression.java |    4 +-
 .../main/org/apache/sis/filter/LikeFilter.java     |    2 +-
 .../main/org/apache/sis/filter/LogicalFilter.java  |    6 +-
 .../main/org/apache/sis/filter/Optimization.java   |    4 +-
 .../main/org/apache/sis/filter/PropertyValue.java  |    2 +-
 .../main/org/apache/sis/filter/UnaryFunction.java  |    2 +-
 .../apache/sis/filter/internal/CopyVisitor.java    |  712 ++++
 .../apache/sis/filter/internal/EditVisitor.java    |   58 +
 .../apache/sis/filter/internal/FunctionNames.java  |   91 +
 .../sis/filter/internal/FunctionRegister.java      |   77 +
 .../sis/filter/internal/GeometryConverter.java     |  189 ++
 .../main/org/apache/sis/filter/internal/Node.java  |  401 +++
 .../sis/filter/internal/SortByComparator.java      |  206 ++
 .../org/apache/sis/filter/internal/Visitor.java    |  332 ++
 .../main/org/apache/sis/filter/internal/XPath.java |   87 +
 .../apache/sis/filter/internal/package-info.java   |   26 +
 .../sis/filter/sqlmm/FunctionDescription.java      |  349 ++
 .../apache/sis/filter/sqlmm/FunctionWithSRID.java  |  235 ++
 .../sis/filter/sqlmm/GeometryConstructor.java      |  145 +
 .../apache/sis/filter/sqlmm/GeometryParser.java    |  132 +
 .../org/apache/sis/filter/sqlmm/OneGeometry.java   |  168 +
 .../main/org/apache/sis/filter/sqlmm/Registry.java |  148 +
 .../main/org/apache/sis/filter/sqlmm/SQLMM.java    |  893 +++++
 .../org/apache/sis/filter/sqlmm/ST_FromBinary.java |   85 +
 .../org/apache/sis/filter/sqlmm/ST_FromText.java   |   81 +
 .../main/org/apache/sis/filter/sqlmm/ST_Point.java |  269 ++
 .../org/apache/sis/filter/sqlmm/ST_Transform.java  |  142 +
 .../apache/sis/filter/sqlmm/SpatialFunction.java   |  216 ++
 .../org/apache/sis/filter/sqlmm/TwoGeometries.java |  216 ++
 .../org/apache/sis/filter/sqlmm/package-info.java  |   37 +
 .../sis/geometry/wrapper/AbstractGeometry.java     |   40 +
 .../apache/sis/geometry/wrapper/Geometries.java    |  640 ++++
 .../sis/geometry/wrapper/GeometryFactories.java    |   92 +
 .../apache/sis/geometry/wrapper/GeometryType.java  |  237 ++
 .../sis/geometry/wrapper/GeometryWithCRS.java      |   94 +
 .../sis/geometry/wrapper/GeometryWrapper.java      |  597 ++++
 .../geometry/wrapper/SpatialOperationContext.java  |  469 +++
 .../sis/geometry/wrapper/StandardGeometries.java   |  170 +
 .../apache/sis/geometry/wrapper/esri/Factory.java  |  299 ++
 .../apache/sis/geometry/wrapper/esri/Wrapper.java  |  311 ++
 .../sis/geometry/wrapper/esri/package-info.java    |   31 +
 .../wrapper/j2d/DecimatedPathIterator.java         |  165 +
 .../sis/geometry/wrapper/j2d/DecimatedShape.java   |   84 +
 .../sis/geometry/wrapper/j2d/EmptyShape.java       |   80 +
 .../apache/sis/geometry/wrapper/j2d/Factory.java   |  332 ++
 .../apache/sis/geometry/wrapper/j2d/FlatShape.java |  128 +
 .../sis/geometry/wrapper/j2d/MultiPolylines.java   |  191 ++
 .../sis/geometry/wrapper/j2d/PathBuilder.java      |  278 ++
 .../sis/geometry/wrapper/j2d/PointWrapper.java     |  257 ++
 .../apache/sis/geometry/wrapper/j2d/Polygon.java   |   38 +
 .../apache/sis/geometry/wrapper/j2d/Polyline.java  |  317 ++
 .../sis/geometry/wrapper/j2d/ShapeProperties.java  |  279 ++
 .../sis/geometry/wrapper/j2d/ShapeWrapper.java     |  189 ++
 .../apache/sis/geometry/wrapper/j2d/Wrapper.java   |  415 +++
 .../sis/geometry/wrapper/j2d/package-info.java     |   31 +
 .../apache/sis/geometry/wrapper/jts/Factory.java   |  532 +++
 .../sis/geometry/wrapper/jts/FilteringContext.java |   88 +
 .../wrapper/jts/GeometryCoordinateTransform.java   |   93 +
 .../geometry/wrapper/jts/GeometryTransform.java    |  216 ++
 .../org/apache/sis/geometry/wrapper/jts/JTS.java   |  333 ++
 .../wrapper/jts/PackedCoordinateSequence.java      |  489 +++
 .../jts/PackedCoordinateSequenceFactory.java       |  145 +
 .../geometry/wrapper/jts/PathIteratorAdapter.java  |  268 ++
 .../sis/geometry/wrapper/jts/ShapeAdapter.java     |  208 ++
 .../sis/geometry/wrapper/jts/ShapeConverter.java   |  325 ++
 .../apache/sis/geometry/wrapper/jts/Wrapper.java   |  756 +++++
 .../sis/geometry/wrapper/jts/package-info.java     |   30 +
 .../apache/sis/geometry/wrapper/package-info.java  |   32 +
 .../main/org/apache/sis/image/AnnotatedImage.java  |    6 +-
 .../org/apache/sis/image/BandAggregateImage.java   |    4 +-
 .../main/org/apache/sis/image/BandSelectImage.java |    8 +-
 .../main/org/apache/sis/image/BandSharing.java     |    2 +-
 .../apache/sis/image/BandedSampleConverter.java    |   14 +-
 .../main/org/apache/sis/image/Colorizer.java       |    4 +-
 .../main/org/apache/sis/image/ComputedImage.java   |    8 +-
 .../main/org/apache/sis/image/ComputedTiles.java   |    4 +-
 .../main/org/apache/sis/image/DataType.java        |    6 +-
 .../main/org/apache/sis/image/ErrorAction.java     |    2 +-
 .../main/org/apache/sis/image/ErrorHandler.java    |    2 +-
 .../main/org/apache/sis/image/ImageCombiner.java   |    6 +-
 .../main/org/apache/sis/image/ImageProcessor.java  |   12 +-
 .../main/org/apache/sis/image/MaskImage.java       |    6 +-
 .../main/org/apache/sis/image/MaskedImage.java     |   12 +-
 .../org/apache/sis/image/MultiSourceImage.java     |    2 +-
 .../org/apache/sis/image/MultiSourceLayout.java    |   12 +-
 .../org/apache/sis/image/MultiSourcePrefetch.java  |    4 +-
 .../main/org/apache/sis/image/PixelIterator.java   |   14 +-
 .../main/org/apache/sis/image/PlanarImage.java     |   10 +-
 .../sis/image/PositionalConsistencyImage.java      |    2 +-
 .../main/org/apache/sis/image/PrefetchedImage.java |    8 +-
 .../main/org/apache/sis/image/RecoloredImage.java  |    6 +-
 .../main/org/apache/sis/image/ResampledImage.java  |   10 +-
 .../main/org/apache/sis/image/ResamplingGrid.java  |    4 +-
 .../org/apache/sis/image/StatisticsCalculator.java |    2 +-
 .../main/org/apache/sis/image/TileCache.java       |    6 +-
 .../main/org/apache/sis/image/Transferer.java      |   10 +-
 .../main/org/apache/sis/image/Visualization.java   |   12 +-
 .../apache/sis/image/WritableComputedImage.java    |    2 +-
 .../apache/sis/image/WritablePixelIterator.java    |    4 +-
 .../sis/image/processing/CompoundFuture.java       |  201 ++
 .../apache/sis/image/processing/TiledProcess.java  |  392 +++
 .../sis/image/processing/isoline/Fragments.java    |  273 ++
 .../sis/image/processing/isoline/Isolines.java     |  429 +++
 .../sis/image/processing/isoline/Joiner.java       |  166 +
 .../sis/image/processing/isoline/Parallelized.java |  111 +
 .../image/processing/isoline/PolylineBuffer.java   |  209 ++
 .../image/processing/isoline/PolylineStage.java    |  115 +
 .../sis/image/processing/isoline/Result.java       |  100 +
 .../sis/image/processing/isoline/Tracer.java       |  733 +++++
 .../sis/image/processing/isoline/package-info.java |   31 +
 .../apache/sis/image/processing/package-info.java  |   31 +
 .../org/apache/sis/index/tree/NodeIterator.java    |    2 +-
 .../main/org/apache/sis/index/tree/PointTree.java  |    4 +-
 .../sis/internal/coverage/CommonDomainFinder.java  |  376 ---
 .../sis/internal/coverage/CompoundTransform.java   |  217 --
 .../internal/coverage/CompoundTransformOf1D.java   |  173 -
 .../sis/internal/coverage/MultiSourceArgument.java |  622 ----
 .../sis/internal/coverage/RangeArgument.java       |  397 ---
 .../sis/internal/coverage/RepeatedTransform.java   |  161 -
 .../sis/internal/coverage/SampleDimensions.java    |  181 -
 .../internal/coverage/j2d/BatchComputedImage.java  |  215 --
 .../internal/coverage/j2d/ColorModelBuilder.java   |  704 ----
 .../internal/coverage/j2d/ColorModelFactory.java   |  866 -----
 .../sis/internal/coverage/j2d/ColorModelType.java  |  108 -
 .../sis/internal/coverage/j2d/ColorsForRange.java  |  295 --
 .../internal/coverage/j2d/DeferredProperty.java    |  126 -
 .../sis/internal/coverage/j2d/FillValues.java      |  210 --
 .../sis/internal/coverage/j2d/ImageLayout.java     |  440 ---
 .../sis/internal/coverage/j2d/ImageUtilities.java  |  658 ----
 .../coverage/j2d/MultiBandsIndexColorModel.java    |  316 --
 .../sis/internal/coverage/j2d/ObservableImage.java |  290 --
 .../sis/internal/coverage/j2d/RasterFactory.java   |  316 --
 .../internal/coverage/j2d/SampleModelFactory.java  |  294 --
 .../internal/coverage/j2d/ScaledColorModel.java    |  164 -
 .../internal/coverage/j2d/ScaledColorSpace.java    |  226 --
 .../internal/coverage/j2d/TileErrorHandler.java    |  122 -
 .../sis/internal/coverage/j2d/TileOpExecutor.java  | 1024 ------
 .../sis/internal/coverage/j2d/TilePlaceholder.java |  407 ---
 .../sis/internal/coverage/j2d/TiledImage.java      |  276 --
 .../internal/coverage/j2d/WritableTiledImage.java  |  219 --
 .../sis/internal/coverage/j2d/package-info.java    |   33 -
 .../apache/sis/internal/coverage/package-info.java |   30 -
 .../sis/internal/feature/AbstractGeometry.java     |   40 -
 .../sis/internal/feature/AttributeConvention.java  |  445 ---
 .../sis/internal/feature/FeatureExpression.java    |  129 -
 .../sis/internal/feature/FeatureUtilities.java     |   94 -
 .../apache/sis/internal/feature/Geometries.java    |  639 ----
 .../sis/internal/feature/GeometryFactories.java    |   91 -
 .../apache/sis/internal/feature/GeometryType.java  |  237 --
 .../sis/internal/feature/GeometryWithCRS.java      |   94 -
 .../sis/internal/feature/GeometryWrapper.java      |  597 ----
 .../apache/sis/internal/feature/InstantList.java   |   82 -
 .../sis/internal/feature/MovingFeatures.java       |  132 -
 .../org/apache/sis/internal/feature/Resources.java |  679 ----
 .../apache/sis/internal/feature/Resources_en.java  |   30 -
 .../apache/sis/internal/feature/Resources_fr.java  |   30 -
 .../internal/feature/SpatialOperationContext.java  |  469 ---
 .../sis/internal/feature/StandardGeometries.java   |  170 -
 .../apache/sis/internal/feature/esri/Factory.java  |  299 --
 .../apache/sis/internal/feature/esri/Wrapper.java  |  311 --
 .../sis/internal/feature/esri/package-info.java    |   31 -
 .../feature/j2d/DecimatedPathIterator.java         |  165 -
 .../sis/internal/feature/j2d/DecimatedShape.java   |   84 -
 .../sis/internal/feature/j2d/EmptyShape.java       |   80 -
 .../apache/sis/internal/feature/j2d/Factory.java   |  332 --
 .../apache/sis/internal/feature/j2d/FlatShape.java |  128 -
 .../sis/internal/feature/j2d/MultiPolylines.java   |  191 --
 .../sis/internal/feature/j2d/PathBuilder.java      |  278 --
 .../sis/internal/feature/j2d/PointWrapper.java     |  257 --
 .../apache/sis/internal/feature/j2d/Polygon.java   |   38 -
 .../apache/sis/internal/feature/j2d/Polyline.java  |  317 --
 .../sis/internal/feature/j2d/ShapeProperties.java  |  279 --
 .../sis/internal/feature/j2d/ShapeWrapper.java     |  189 --
 .../apache/sis/internal/feature/j2d/Wrapper.java   |  415 ---
 .../sis/internal/feature/j2d/package-info.java     |   31 -
 .../apache/sis/internal/feature/jts/Factory.java   |  532 ---
 .../sis/internal/feature/jts/FilteringContext.java |   88 -
 .../feature/jts/GeometryCoordinateTransform.java   |   93 -
 .../internal/feature/jts/GeometryTransform.java    |  216 --
 .../org/apache/sis/internal/feature/jts/JTS.java   |  333 --
 .../feature/jts/PackedCoordinateSequence.java      |  489 ---
 .../jts/PackedCoordinateSequenceFactory.java       |  145 -
 .../internal/feature/jts/PathIteratorAdapter.java  |  268 --
 .../sis/internal/feature/jts/ShapeAdapter.java     |  208 --
 .../sis/internal/feature/jts/ShapeConverter.java   |  325 --
 .../apache/sis/internal/feature/jts/Wrapper.java   |  756 -----
 .../sis/internal/feature/jts/package-info.java     |   30 -
 .../apache/sis/internal/feature/package-info.java  |   34 -
 .../apache/sis/internal/filter/CopyVisitor.java    |  712 ----
 .../apache/sis/internal/filter/EditVisitor.java    |   58 -
 .../apache/sis/internal/filter/FunctionNames.java  |   91 -
 .../sis/internal/filter/FunctionRegister.java      |   77 -
 .../sis/internal/filter/GeometryConverter.java     |  189 --
 .../main/org/apache/sis/internal/filter/Node.java  |  401 ---
 .../sis/internal/filter/SortByComparator.java      |  206 --
 .../org/apache/sis/internal/filter/Visitor.java    |  332 --
 .../main/org/apache/sis/internal/filter/XPath.java |   87 -
 .../apache/sis/internal/filter/package-info.java   |   26 -
 .../internal/filter/sqlmm/FunctionDescription.java |  349 --
 .../internal/filter/sqlmm/FunctionWithSRID.java    |  235 --
 .../internal/filter/sqlmm/GeometryConstructor.java |  145 -
 .../sis/internal/filter/sqlmm/GeometryParser.java  |  132 -
 .../sis/internal/filter/sqlmm/OneGeometry.java     |  168 -
 .../apache/sis/internal/filter/sqlmm/Registry.java |  148 -
 .../apache/sis/internal/filter/sqlmm/SQLMM.java    |  893 -----
 .../sis/internal/filter/sqlmm/ST_FromBinary.java   |   85 -
 .../sis/internal/filter/sqlmm/ST_FromText.java     |   81 -
 .../apache/sis/internal/filter/sqlmm/ST_Point.java |  269 --
 .../sis/internal/filter/sqlmm/ST_Transform.java    |  142 -
 .../sis/internal/filter/sqlmm/SpatialFunction.java |  216 --
 .../sis/internal/filter/sqlmm/TwoGeometries.java   |  216 --
 .../sis/internal/filter/sqlmm/package-info.java    |   37 -
 .../internal/processing/image/CompoundFuture.java  |  201 --
 .../internal/processing/image/TiledProcess.java    |  392 ---
 .../internal/processing/image/package-info.java    |   31 -
 .../sis/internal/processing/isoline/Fragments.java |  273 --
 .../sis/internal/processing/isoline/Isolines.java  |  429 ---
 .../sis/internal/processing/isoline/Joiner.java    |  166 -
 .../internal/processing/isoline/Parallelized.java  |  111 -
 .../processing/isoline/PolylineBuffer.java         |  209 --
 .../internal/processing/isoline/PolylineStage.java |  115 -
 .../sis/internal/processing/isoline/Result.java    |  100 -
 .../sis/internal/processing/isoline/Tracer.java    |  733 -----
 .../internal/processing/isoline/package-info.java  |   31 -
 .../coverage/grid/ConvertedGridCoverageTest.java   |    2 +-
 .../coverage/grid/DimensionalityReductionTest.java |    2 +-
 .../sis/coverage/grid/GridCoverage2DTest.java      |    2 +-
 .../sis/coverage/grid/GridCoverageBuilderTest.java |    2 +-
 .../sis/coverage/grid/GridDerivationTest.java      |    4 +-
 .../apache/sis/coverage/grid/GridExtentTest.java   |    2 +-
 .../apache/sis/coverage/grid/GridGeometryTest.java |    2 +-
 .../coverage/grid/ResampledGridCoverageTest.java   |    6 +-
 .../coverage/grid/TranslatedGridCoverageTest.java  |    2 +-
 .../coverage/grid/j2d/ColorModelBuilderTest.java   |  152 +
 .../sis/coverage/grid/j2d/ImageLayoutTest.java     |   49 +
 .../sis/coverage/grid/j2d/ImageUtilitiesTest.java  |  238 ++
 .../coverage/grid/j2d/SampleModelFactoryTest.java  |  153 +
 .../coverage/grid/j2d/ScaledColorSpaceTest.java    |  103 +
 .../sis/coverage/internal/RangeArgumentTest.java   |   95 +
 .../apache/sis/feature/EnvelopeOperationTest.java  |    6 +-
 .../apache/sis/feature/FeatureMemoryBenchmark.java |    2 +-
 .../apache/sis/feature/FeatureOperationsTest.java  |    2 +-
 .../sis/feature/StringJoinOperationTest.java       |    2 +-
 .../feature/builder/AttributeTypeBuilderTest.java  |    2 +-
 .../feature/builder/FeatureTypeBuilderTest.java    |    2 +-
 .../feature/internal/AttributeConventionTest.java  |  130 +
 .../sis/filter/BinarySpatialFilterTestCase.java    |    2 +-
 .../apache/sis/filter/ComparisonFilterTest.java    |    2 +-
 .../org/apache/sis/filter/TemporalFilterTest.java  |    2 +-
 .../test/org/apache/sis/filter/XPathTest.java      |    2 +-
 .../sis/filter/internal/CopyVisitorTest.java       |   83 +
 .../sis/filter/internal/FilterFactoryMock.java     |  562 ++++
 .../apache/sis/filter/internal/FunctionMock.java   |   99 +
 .../sis/filter/internal/FunctionNamesTest.java     |  154 +
 .../sis/filter/internal/ValueReferenceMock.java    |   90 +
 .../apache/sis/filter/sqlmm/RegistryTestCase.java  |  529 +++
 .../sis/filter/sqlmm/RegistryUsingESRI_Test.java   |   75 +
 .../sis/filter/sqlmm/RegistryUsingJTS_Test.java    |   37 +
 .../sis/filter/sqlmm/RegistryUsingJava2D_Test.java |   81 +
 .../org/apache/sis/filter/sqlmm/SQLMMTest.java     |  141 +
 .../sis/geometry/wrapper/GeometriesTestCase.java   |  268 ++
 .../sis/geometry/wrapper/GeometryTypeTest.java     |   85 +
 .../geometry/wrapper/StandardGeometriesTest.java   |   59 +
 .../sis/geometry/wrapper/esri/FactoryTest.java     |   98 +
 .../sis/geometry/wrapper/j2d/FactoryTest.java      |   60 +
 .../sis/geometry/wrapper/j2d/FlatShapeTest.java    |  134 +
 .../geometry/wrapper/j2d/ShapePropertiesTest.java  |   71 +
 .../sis/geometry/wrapper/jts/FactoryTest.java      |   88 +
 .../apache/sis/geometry/wrapper/jts/JTSTest.java   |  252 ++
 .../sis/geometry/wrapper/jts/ShapeAdapterTest.java |  220 ++
 .../geometry/wrapper/jts/ShapeConverterTest.java   |  200 ++
 .../apache/sis/image/BandAggregateImageTest.java   |    4 +-
 .../org/apache/sis/image/BandSelectImageTest.java  |    4 +-
 .../sis/image/BandedSampleConverterTest.java       |    2 +-
 .../org/apache/sis/image/ImageCombinerTest.java    |    2 +-
 .../org/apache/sis/image/ImageProcessorTest.java   |    4 +-
 .../org/apache/sis/image/InterpolationTest.java    |    4 +-
 .../test/org/apache/sis/image/MaskedImageTest.java |    2 +-
 .../test/org/apache/sis/image/PlanarImageTest.java |    2 +-
 .../org/apache/sis/image/ResampledImageTest.java   |    6 +-
 .../org/apache/sis/image/ResamplingGridTest.java   |    4 +-
 .../apache/sis/image/StatisticsCalculatorTest.java |    4 +-
 .../test/org/apache/sis/image/TiledImageMock.java  |    6 +-
 .../sis/image/processing/isoline/IsolinesTest.java |  380 +++
 .../sis/image/processing/isoline/StepsViewer.java  |  425 +++
 .../sis/internal/coverage/RangeArgumentTest.java   |   95 -
 .../coverage/j2d/ColorModelBuilderTest.java        |  152 -
 .../sis/internal/coverage/j2d/ImageLayoutTest.java |   49 -
 .../internal/coverage/j2d/ImageUtilitiesTest.java  |  238 --
 .../coverage/j2d/SampleModelFactoryTest.java       |  153 -
 .../coverage/j2d/ScaledColorSpaceTest.java         |  103 -
 .../internal/feature/AttributeConventionTest.java  |  130 -
 .../sis/internal/feature/GeometriesTestCase.java   |  268 --
 .../sis/internal/feature/GeometryTypeTest.java     |   85 -
 .../internal/feature/StandardGeometriesTest.java   |   59 -
 .../sis/internal/feature/esri/FactoryTest.java     |   98 -
 .../sis/internal/feature/j2d/FactoryTest.java      |   60 -
 .../sis/internal/feature/j2d/FlatShapeTest.java    |  134 -
 .../internal/feature/j2d/ShapePropertiesTest.java  |   71 -
 .../sis/internal/feature/jts/FactoryTest.java      |   88 -
 .../apache/sis/internal/feature/jts/JTSTest.java   |  252 --
 .../sis/internal/feature/jts/ShapeAdapterTest.java |  220 --
 .../internal/feature/jts/ShapeConverterTest.java   |  200 --
 .../sis/internal/filter/CopyVisitorTest.java       |   83 -
 .../sis/internal/filter/FilterFactoryMock.java     |  562 ----
 .../apache/sis/internal/filter/FunctionMock.java   |   99 -
 .../sis/internal/filter/FunctionNamesTest.java     |  154 -
 .../sis/internal/filter/ValueReferenceMock.java    |   90 -
 .../internal/filter/sqlmm/RegistryTestCase.java    |  529 ---
 .../filter/sqlmm/RegistryUsingESRI_Test.java       |   75 -
 .../filter/sqlmm/RegistryUsingJTS_Test.java        |   37 -
 .../filter/sqlmm/RegistryUsingJava2D_Test.java     |   81 -
 .../sis/internal/filter/sqlmm/SQLMMTest.java       |  141 -
 .../internal/processing/isoline/IsolinesTest.java  |  380 ---
 .../internal/processing/isoline/StepsViewer.java   |  425 ---
 .../apache/sis/test/feature/FeatureComparator.java |    2 +-
 .../org.apache.sis.internal.jaxb.TypeRegistration  |    4 -
 .../org.apache.sis.internal.util.MetadataServices  |    4 -
 .../org.apache.sis.util.internal.MetadataServices  |    4 +
 .../org.apache.sis.xml.bind.TypeRegistration       |    4 +
 .../org.apache.sis.metadata/main/module-info.java  |   52 +-
 .../sis/internal/jaxb/AdapterReplacement.java      |   73 -
 .../main/org/apache/sis/internal/jaxb/Context.java |  687 ----
 .../apache/sis/internal/jaxb/FilterByVersion.java  |   80 -
 .../sis/internal/jaxb/FinalClassExtensions.java    |  123 -
 .../sis/internal/jaxb/IdentifierMapAdapter.java    |  582 ----
 .../sis/internal/jaxb/IdentifierMapEntry.java      |   87 -
 .../sis/internal/jaxb/ModifiableIdentifierMap.java |  284 --
 .../sis/internal/jaxb/NonMarshalledAuthority.java  |  298 --
 .../sis/internal/jaxb/SpecializedIdentifier.java   |  263 --
 .../apache/sis/internal/jaxb/TypeRegistration.java |  267 --
 .../sis/internal/jaxb/UseLegacyMetadata.java       |   42 -
 .../sis/internal/jaxb/cat/CodeListAdapter.java     |  171 -
 .../apache/sis/internal/jaxb/cat/CodeListUID.java  |  279 --
 .../apache/sis/internal/jaxb/cat/EnumAdapter.java  |   92 -
 .../apache/sis/internal/jaxb/cat/package-info.java |   26 -
 .../sis/internal/jaxb/code/CI_DateTypeCode.java    |   89 -
 .../internal/jaxb/code/CI_OnLineFunctionCode.java  |   89 -
 .../jaxb/code/CI_PresentationFormCode.java         |   89 -
 .../apache/sis/internal/jaxb/code/CI_RoleCode.java |  109 -
 .../internal/jaxb/code/CI_TelephoneTypeCode.java   |  108 -
 .../org/apache/sis/internal/jaxb/code/DCPList.java |   88 -
 .../sis/internal/jaxb/code/DQM_ValueStructure.java |   88 -
 .../jaxb/code/DQ_EvaluationMethodTypeCode.java     |   90 -
 .../internal/jaxb/code/DS_AssociationTypeCode.java |  108 -
 .../internal/jaxb/code/DS_InitiativeTypeCode.java  |  108 -
 .../internal/jaxb/code/MD_CellGeometryCode.java    |   88 -
 .../internal/jaxb/code/MD_CharacterSetCode.java    |  107 -
 .../internal/jaxb/code/MD_ClassificationCode.java  |   89 -
 .../jaxb/code/MD_CoverageContentTypeCode.java      |   91 -
 .../sis/internal/jaxb/code/MD_DatatypeCode.java    |   89 -
 .../jaxb/code/MD_DimensionNameTypeCode.java        |   91 -
 .../jaxb/code/MD_GeometricObjectTypeCode.java      |   90 -
 .../jaxb/code/MD_ImagingConditionCode.java         |   90 -
 .../sis/internal/jaxb/code/MD_KeywordTypeCode.java |   88 -
 .../jaxb/code/MD_MaintenanceFrequencyCode.java     |   91 -
 .../internal/jaxb/code/MD_MediumFormatCode.java    |   88 -
 .../sis/internal/jaxb/code/MD_MediumNameCode.java  |   88 -
 .../sis/internal/jaxb/code/MD_ObligationCode.java  |   73 -
 .../jaxb/code/MD_PixelOrientationCode.java         |   99 -
 .../sis/internal/jaxb/code/MD_ProgressCode.java    |   88 -
 .../sis/internal/jaxb/code/MD_RestrictionCode.java |  101 -
 .../sis/internal/jaxb/code/MD_ScopeCode.java       |   89 -
 .../code/MD_SpatialRepresentationTypeCode.java     |   90 -
 .../internal/jaxb/code/MD_TopicCategoryCode.java   |   98 -
 .../internal/jaxb/code/MD_TopologyLevelCode.java   |   88 -
 .../sis/internal/jaxb/code/MI_BandDefinition.java  |   88 -
 .../sis/internal/jaxb/code/MI_ContextCode.java     |   88 -
 .../internal/jaxb/code/MI_GeometryTypeCode.java    |   88 -
 .../internal/jaxb/code/MI_ObjectiveTypeCode.java   |   88 -
 .../internal/jaxb/code/MI_OperationTypeCode.java   |   88 -
 .../jaxb/code/MI_PolarisationOrientationCode.java  |   94 -
 .../sis/internal/jaxb/code/MI_PriorityCode.java    |   88 -
 .../sis/internal/jaxb/code/MI_SequenceCode.java    |   88 -
 .../jaxb/code/MI_TransferFunctionTypeCode.java     |   90 -
 .../sis/internal/jaxb/code/MI_TriggerCode.java     |   88 -
 .../sis/internal/jaxb/code/SV_CouplingType.java    |   88 -
 .../internal/jaxb/code/SV_ParameterDirection.java  |   73 -
 .../sis/internal/jaxb/code/package-info.java       |   65 -
 .../sis/internal/jaxb/gco/CharSequenceAdapter.java |  204 --
 .../apache/sis/internal/jaxb/gco/GO_Boolean.java   |   95 -
 .../sis/internal/jaxb/gco/GO_CharacterString.java  |  352 --
 .../apache/sis/internal/jaxb/gco/GO_DateTime.java  |  163 -
 .../apache/sis/internal/jaxb/gco/GO_Decimal.java   |  103 -
 .../apache/sis/internal/jaxb/gco/GO_Distance.java  |   95 -
 .../sis/internal/jaxb/gco/GO_GenericName.java      |  216 --
 .../apache/sis/internal/jaxb/gco/GO_Integer.java   |  117 -
 .../apache/sis/internal/jaxb/gco/GO_Integer64.java |   91 -
 .../apache/sis/internal/jaxb/gco/GO_Measure.java   |   94 -
 .../internal/jaxb/gco/GO_MultiplicityRange.java    |   92 -
 .../org/apache/sis/internal/jaxb/gco/GO_Real.java  |  118 -
 .../apache/sis/internal/jaxb/gco/GO_Record.java    |  111 -
 .../sis/internal/jaxb/gco/GO_RecordType.java       |  111 -
 .../apache/sis/internal/jaxb/gco/GO_Temporal.java  |  159 -
 .../org/apache/sis/internal/jaxb/gco/GO_URL.java   |   68 -
 .../sis/internal/jaxb/gco/GO_UnlimitedInteger.java |   95 -
 .../jaxb/gco/InternationalStringAdapter.java       |   95 -
 .../jaxb/gco/InternationalStringConverter.java     |   62 -
 .../apache/sis/internal/jaxb/gco/Multiplicity.java |   92 -
 .../sis/internal/jaxb/gco/MultiplicityRange.java   |  106 -
 .../apache/sis/internal/jaxb/gco/NameValue.java    |  129 -
 .../internal/jaxb/gco/ObjectIdentification.html    |   59 -
 .../sis/internal/jaxb/gco/ObjectReference.java     |  160 -
 .../apache/sis/internal/jaxb/gco/PropertyType.java |  635 ----
 .../sis/internal/jaxb/gco/StringAdapter.java       |  131 -
 .../apache/sis/internal/jaxb/gco/URIAdapter.java   |  102 -
 .../apache/sis/internal/jaxb/gco/UnitAdapter.java  |  103 -
 .../sis/internal/jaxb/gco/UnlimitedInteger.java    |  123 -
 .../apache/sis/internal/jaxb/gco/package-info.java |  104 -
 .../org/apache/sis/internal/jaxb/gcx/Anchor.java   |  182 --
 .../org/apache/sis/internal/jaxb/gcx/FileName.java |   86 -
 .../apache/sis/internal/jaxb/gcx/MimeFileType.java |   86 -
 .../sis/internal/jaxb/gcx/MimeFileTypeAdapter.java |   58 -
 .../apache/sis/internal/jaxb/gcx/package-info.java |   45 -
 .../sis/internal/jaxb/geometry/GM_Object.java      |   96 -
 .../sis/internal/jaxb/geometry/ObjectFactory.java  |  104 -
 .../sis/internal/jaxb/geometry/package-info.java   |   46 -
 .../sis/internal/jaxb/gmi/LE_ProcessStep.java      |   79 -
 .../apache/sis/internal/jaxb/gmi/LE_Source.java    |   74 -
 .../org/apache/sis/internal/jaxb/gmi/MI_Band.java  |   79 -
 .../internal/jaxb/gmi/MI_CoverageDescription.java  |   76 -
 .../sis/internal/jaxb/gmi/MI_Georectified.java     |   76 -
 .../sis/internal/jaxb/gmi/MI_Georeferenceable.java |   76 -
 .../sis/internal/jaxb/gmi/MI_ImageDescription.java |   76 -
 .../apache/sis/internal/jaxb/gmi/MI_Metadata.java  |   76 -
 .../apache/sis/internal/jaxb/gmi/package-info.java |   53 -
 .../sis/internal/jaxb/gml/CodeListAdapter.java     |  108 -
 .../apache/sis/internal/jaxb/gml/DateAdapter.java  |   91 -
 .../apache/sis/internal/jaxb/gml/GMLAdapter.java   |  110 -
 .../org/apache/sis/internal/jaxb/gml/Measure.java  |  241 --
 .../apache/sis/internal/jaxb/gml/MeasureList.java  |  123 -
 .../sis/internal/jaxb/gml/SC_VerticalCRS.java      |  143 -
 .../apache/sis/internal/jaxb/gml/TM_Primitive.java |  187 --
 .../apache/sis/internal/jaxb/gml/TimeInstant.java  |  107 -
 .../apache/sis/internal/jaxb/gml/TimePeriod.java   |  100 -
 .../sis/internal/jaxb/gml/TimePeriodBound.java     |  172 -
 .../internal/jaxb/gml/UniversalTimeAdapter.java    |   92 -
 .../apache/sis/internal/jaxb/gml/package-info.java |   48 -
 .../apache/sis/internal/jaxb/gts/TM_Duration.java  |  103 -
 .../sis/internal/jaxb/gts/TM_PeriodDuration.java   |  203 --
 .../apache/sis/internal/jaxb/gts/package-info.java |   40 -
 .../org/apache/sis/internal/jaxb/lan/Country.java  |  216 --
 .../apache/sis/internal/jaxb/lan/LanguageCode.java |  171 -
 .../sis/internal/jaxb/lan/LocaleAdapter.java       |  138 -
 .../sis/internal/jaxb/lan/LocaleAndCharset.java    |  404 ---
 .../jaxb/lan/LocalisedCharacterString.java         |  149 -
 .../apache/sis/internal/jaxb/lan/OtherLocales.java |  152 -
 .../apache/sis/internal/jaxb/lan/PT_FreeText.java  |  208 --
 .../apache/sis/internal/jaxb/lan/PT_Locale.java    |  347 --
 .../apache/sis/internal/jaxb/lan/TextGroup.java    |  138 -
 .../apache/sis/internal/jaxb/lan/package-info.java |   42 -
 .../sis/internal/jaxb/metadata/CI_Address.java     |   92 -
 .../sis/internal/jaxb/metadata/CI_Citation.java    |  111 -
 .../sis/internal/jaxb/metadata/CI_Contact.java     |   92 -
 .../apache/sis/internal/jaxb/metadata/CI_Date.java |   92 -
 .../internal/jaxb/metadata/CI_OnlineResource.java  |  111 -
 .../sis/internal/jaxb/metadata/CI_Party.java       |   91 -
 .../internal/jaxb/metadata/CI_Responsibility.java  |  106 -
 .../jaxb/metadata/CI_ResponsibleParty.java         |  127 -
 .../sis/internal/jaxb/metadata/CI_Series.java      |   92 -
 .../sis/internal/jaxb/metadata/CI_Telephone.java   |   92 -
 .../internal/jaxb/metadata/DQM_BasicMeasure.java   |   91 -
 .../internal/jaxb/metadata/DQM_Description.java    |   91 -
 .../sis/internal/jaxb/metadata/DQM_Measure.java    |   91 -
 .../sis/internal/jaxb/metadata/DQM_Parameter.java  |   92 -
 .../jaxb/metadata/DQM_SourceReference.java         |   91 -
 .../sis/internal/jaxb/metadata/DQ_DataQuality.java |   92 -
 .../sis/internal/jaxb/metadata/DQ_Element.java     |   92 -
 .../jaxb/metadata/DQ_EvaluationMethod.java         |   96 -
 .../jaxb/metadata/DQ_MeasureReference.java         |   96 -
 .../jaxb/metadata/DQ_PositionalAccuracy.java       |   91 -
 .../sis/internal/jaxb/metadata/DQ_Result.java      |   92 -
 .../DQ_StandaloneQualityReportInformation.java     |   98 -
 .../sis/internal/jaxb/metadata/EX_Extent.java      |   92 -
 .../jaxb/metadata/EX_GeographicExtent.java         |   92 -
 .../internal/jaxb/metadata/EX_TemporalExtent.java  |   92 -
 .../internal/jaxb/metadata/EX_VerticalExtent.java  |   92 -
 .../sis/internal/jaxb/metadata/LE_Algorithm.java   |   93 -
 .../jaxb/metadata/LE_NominalResolution.java        |   92 -
 .../jaxb/metadata/LE_ProcessStepReport.java        |   92 -
 .../sis/internal/jaxb/metadata/LE_Processing.java  |   92 -
 .../sis/internal/jaxb/metadata/LI_Lineage.java     |   92 -
 .../sis/internal/jaxb/metadata/LI_ProcessStep.java |   93 -
 .../sis/internal/jaxb/metadata/LI_Source.java      |   93 -
 .../jaxb/metadata/MD_AggregateInformation.java     |   95 -
 .../metadata/MD_ApplicationSchemaInformation.java  |   94 -
 .../jaxb/metadata/MD_AssociatedResource.java       |   91 -
 .../internal/jaxb/metadata/MD_AttributeGroup.java  |   91 -
 .../internal/jaxb/metadata/MD_BrowseGraphic.java   |   92 -
 .../sis/internal/jaxb/metadata/MD_Constraints.java |   92 -
 .../jaxb/metadata/MD_ContentInformation.java       |  105 -
 .../jaxb/metadata/MD_DataIdentification.java       |   94 -
 .../jaxb/metadata/MD_DigitalTransferOptions.java   |   94 -
 .../sis/internal/jaxb/metadata/MD_Dimension.java   |   92 -
 .../internal/jaxb/metadata/MD_Distribution.java    |   92 -
 .../sis/internal/jaxb/metadata/MD_Distributor.java |   92 -
 .../metadata/MD_ExtendedElementInformation.java    |   94 -
 .../internal/jaxb/metadata/MD_FeatureTypeInfo.java |   92 -
 .../sis/internal/jaxb/metadata/MD_Format.java      |   92 -
 .../jaxb/metadata/MD_GeometricObjects.java         |   92 -
 .../internal/jaxb/metadata/MD_Identification.java  |   92 -
 .../sis/internal/jaxb/metadata/MD_Identifier.java  |  123 -
 .../internal/jaxb/metadata/MD_KeywordClass.java    |  110 -
 .../sis/internal/jaxb/metadata/MD_Keywords.java    |   92 -
 .../jaxb/metadata/MD_MaintenanceInformation.java   |   94 -
 .../sis/internal/jaxb/metadata/MD_Medium.java      |  111 -
 .../sis/internal/jaxb/metadata/MD_Metadata.java    |   91 -
 .../metadata/MD_MetadataExtensionInformation.java  |   94 -
 .../internal/jaxb/metadata/MD_MetadataScope.java   |   91 -
 .../metadata/MD_PortrayalCatalogueReference.java   |   94 -
 .../internal/jaxb/metadata/MD_RangeDimension.java  |   98 -
 .../internal/jaxb/metadata/MD_Releasability.java   |  111 -
 .../jaxb/metadata/MD_RepresentativeFraction.java   |   94 -
 .../sis/internal/jaxb/metadata/MD_Resolution.java  |  111 -
 .../sis/internal/jaxb/metadata/MD_Scope.java       |  127 -
 .../jaxb/metadata/MD_ScopeDescription.java         |   92 -
 .../jaxb/metadata/MD_SpatialRepresentation.java    |  105 -
 .../jaxb/metadata/MD_StandardOrderProcess.java     |   94 -
 .../sis/internal/jaxb/metadata/MD_Usage.java       |   92 -
 .../jaxb/metadata/MI_AcquisitionInformation.java   |   94 -
 .../jaxb/metadata/MI_EnvironmentalRecord.java      |   94 -
 .../sis/internal/jaxb/metadata/MI_Event.java       |   92 -
 .../apache/sis/internal/jaxb/metadata/MI_GCP.java  |   92 -
 .../jaxb/metadata/MI_GeolocationInformation.java   |   94 -
 .../sis/internal/jaxb/metadata/MI_Instrument.java  |   92 -
 .../sis/internal/jaxb/metadata/MI_Objective.java   |   92 -
 .../sis/internal/jaxb/metadata/MI_Operation.java   |   92 -
 .../apache/sis/internal/jaxb/metadata/MI_Plan.java |   92 -
 .../sis/internal/jaxb/metadata/MI_Platform.java    |   92 -
 .../internal/jaxb/metadata/MI_PlatformPass.java    |   92 -
 .../jaxb/metadata/MI_RangeElementDescription.java  |  113 -
 .../internal/jaxb/metadata/MI_RequestedDate.java   |   92 -
 .../sis/internal/jaxb/metadata/MI_Requirement.java |   92 -
 .../sis/internal/jaxb/metadata/MX_DataFile.java    |   92 -
 .../internal/jaxb/metadata/RS_ReferenceSystem.java |  137 -
 .../internal/jaxb/metadata/SV_CoupledResource.java |   91 -
 .../jaxb/metadata/SV_OperationChainMetadata.java   |   91 -
 .../jaxb/metadata/SV_OperationMetadata.java        |  110 -
 .../sis/internal/jaxb/metadata/SV_Parameter.java   |   92 -
 .../sis/internal/jaxb/metadata/package-info.java   |   72 -
 .../internal/jaxb/metadata/replace/Parameter.java  |  177 -
 .../jaxb/metadata/replace/QualityParameter.java    |  250 --
 .../jaxb/metadata/replace/RS_Identifier.java       |  109 -
 .../metadata/replace/ReferenceSystemMetadata.java  |  151 -
 .../internal/jaxb/metadata/replace/SensorType.java |  110 -
 .../jaxb/metadata/replace/ServiceParameter.java    |  409 ---
 .../jaxb/metadata/replace/package-info.java        |   72 -
 .../org/apache/sis/internal/jaxb/package-info.java |   41 -
 .../apache/sis/internal/metadata/AxisNames.java    |  224 --
 .../apache/sis/internal/metadata/Dependencies.java |   52 -
 .../apache/sis/internal/metadata/ExcludedSet.java  |  102 -
 .../apache/sis/internal/metadata/Identifiers.java  |  276 --
 .../internal/metadata/ImplementationHelper.java    |  297 --
 .../org/apache/sis/internal/metadata/Merger.java   |  426 ---
 .../sis/internal/metadata/MetadataTypes.java       |  104 -
 .../apache/sis/internal/metadata/NameMeaning.java  |  247 --
 .../sis/internal/metadata/NameToIdentifier.java    |  320 --
 .../sis/internal/metadata/RecordSchemaSIS.java     |  109 -
 .../sis/internal/metadata/ReferencingServices.java |  306 --
 .../apache/sis/internal/metadata/Resources.java    |  216 --
 .../apache/sis/internal/metadata/Resources_en.java |   30 -
 .../apache/sis/internal/metadata/Resources_fr.java |   30 -
 .../sis/internal/metadata/ServicesForUtility.java  |  170 -
 .../sis/internal/metadata/TemporalUtilities.java   |  146 -
 .../internal/metadata/TransformationAccuracy.java  |   91 -
 .../internal/metadata/legacy/DateToTemporal.java   |  109 -
 .../metadata/legacy/LegacyPropertyAdapter.java     |  338 --
 .../internal/metadata/legacy/TemporalToDate.java   |  116 -
 .../sis/internal/metadata/legacy/package-info.java |   32 -
 .../apache/sis/internal/metadata/package-info.java |   30 -
 .../apache/sis/internal/metadata/sql/Dialect.java  |  151 -
 .../sis/internal/metadata/sql/Initializer.java     |  466 ---
 .../sis/internal/metadata/sql/LocalDataSource.java |  457 ---
 .../sis/internal/metadata/sql/Reflection.java      |  215 --
 .../sis/internal/metadata/sql/SQLBuilder.java      |  369 ---
 .../sis/internal/metadata/sql/SQLUtilities.java    |  203 --
 .../sis/internal/metadata/sql/ScriptRunner.java    |  839 -----
 .../apache/sis/internal/metadata/sql/Syntax.java   |   83 -
 .../sis/internal/metadata/sql/TypeMapper.java      |  107 -
 .../sis/internal/metadata/sql/package-info.java    |   79 -
 .../sis/internal/simple/CitationConstant.java      |  242 --
 .../sis/internal/simple/SimpleAttributeType.java   |  183 --
 .../apache/sis/internal/simple/SimpleCitation.java |   99 -
 .../apache/sis/internal/simple/SimpleDuration.java |   76 -
 .../apache/sis/internal/simple/SimpleExtent.java   |   72 -
 .../apache/sis/internal/simple/SimpleFormat.java   |   86 -
 .../internal/simple/SimpleIdentifiedObject.java    |  212 --
 .../sis/internal/simple/SimpleIdentifier.java      |  223 --
 .../apache/sis/internal/simple/SimpleMetadata.java |  222 --
 .../apache/sis/internal/simple/package-info.java   |   31 -
 .../apache/sis/internal/xml/LegacyNamespaces.java  |  125 -
 .../sis/internal/xml/StreamWriterDelegate.java     |  246 --
 .../org/apache/sis/internal/xml/XmlUtilities.java  |  336 --
 .../org/apache/sis/internal/xml/package-info.java  |   36 -
 .../main/org/apache/sis/metadata/CacheKey.java     |    2 +-
 .../org/apache/sis/metadata/MetadataCopier.java    |    2 +-
 .../org/apache/sis/metadata/MetadataFormat.java    |    2 +-
 .../org/apache/sis/metadata/MetadataStandard.java  |   16 +-
 .../org/apache/sis/metadata/MetadataVisitor.java   |    4 +-
 .../sis/metadata/MetadataVisitorException.java     |    2 +-
 .../apache/sis/metadata/ModifiableMetadata.java    |   12 +-
 .../org/apache/sis/metadata/PropertyAccessor.java  |    8 +-
 .../apache/sis/metadata/PropertyInformation.java   |    2 +-
 .../main/org/apache/sis/metadata/Pruner.java       |    2 +-
 .../main/org/apache/sis/metadata/SpecialCases.java |    2 +-
 .../sis/metadata/StandardImplementation.java       |    2 +-
 .../main/org/apache/sis/metadata/StateChanger.java |    6 +-
 .../main/org/apache/sis/metadata/TreeNode.java     |    4 +-
 .../org/apache/sis/metadata/TreeTableView.java     |   10 +-
 .../main/org/apache/sis/metadata/ValueMap.java     |    2 +-
 .../apache/sis/metadata/internal/AxisNames.java    |  224 ++
 .../apache/sis/metadata/internal/Dependencies.java |   52 +
 .../apache/sis/metadata/internal/ExcludedSet.java  |  102 +
 .../apache/sis/metadata/internal/Identifiers.java  |  276 ++
 .../metadata/internal/ImplementationHelper.java    |  297 ++
 .../org/apache/sis/metadata/internal/Merger.java   |  426 +++
 .../sis/metadata/internal/MetadataTypes.java       |  104 +
 .../apache/sis/metadata/internal/NameMeaning.java  |  247 ++
 .../sis/metadata/internal/NameToIdentifier.java    |  320 ++
 .../sis/metadata/internal/RecordSchemaSIS.java     |  109 +
 .../sis/metadata/internal/ReferencingServices.java |  306 ++
 .../apache/sis/metadata/internal/Resources.java    |  216 ++
 .../internal}/Resources.properties                 |    0
 .../apache/sis/metadata/internal/Resources_en.java |   30 +
 .../apache/sis/metadata/internal/Resources_fr.java |   30 +
 .../internal}/Resources_fr.properties              |    0
 .../sis/metadata/internal/ServicesForUtility.java  |  170 +
 .../sis/metadata/internal/TemporalUtilities.java   |  146 +
 .../metadata/internal/TransformationAccuracy.java  |   91 +
 .../apache/sis/metadata/internal/package-info.java |   30 +
 .../iso/DefaultExtendedElementInformation.java     |   16 +-
 .../apache/sis/metadata/iso/DefaultIdentifier.java |    2 +-
 .../apache/sis/metadata/iso/DefaultMetadata.java   |   30 +-
 .../org/apache/sis/metadata/iso/ISOMetadata.java   |   14 +-
 .../sis/metadata/iso/MetadataScopeAdapter.java     |    2 +-
 .../sis/metadata/iso/OnlineResourceAdapter.java    |    2 +-
 .../apache/sis/metadata/iso/URIStringAdapter.java  |    6 +-
 .../acquisition/DefaultEnvironmentalRecord.java    |    2 +-
 .../sis/metadata/iso/acquisition/DefaultEvent.java |    4 +-
 .../metadata/iso/acquisition/DefaultObjective.java |    2 +-
 .../iso/acquisition/DefaultRequestedDate.java      |    4 +-
 .../iso/acquisition/DefaultRequirement.java        |    4 +-
 .../sis/metadata/iso/acquisition/package-info.java |    8 +-
 .../sis/metadata/iso/citation/AbstractParty.java   |    2 +-
 .../sis/metadata/iso/citation/Citations.java       |   20 +-
 .../sis/metadata/iso/citation/DefaultCitation.java |   10 +-
 .../metadata/iso/citation/DefaultCitationDate.java |    4 +-
 .../sis/metadata/iso/citation/DefaultContact.java  |   14 +-
 .../iso/citation/DefaultOnlineResource.java        |    4 +-
 .../iso/citation/DefaultResponsibility.java        |    4 +-
 .../iso/citation/DefaultResponsibleParty.java      |    8 +-
 .../metadata/iso/citation/DefaultTelephone.java    |   12 +-
 .../metadata/iso/citation/LegacyTelephones.java    |    2 +-
 .../sis/metadata/iso/citation/package-info.java    |    8 +-
 .../iso/constraint/DefaultConstraints.java         |    6 +-
 .../sis/metadata/iso/constraint/package-info.java  |    6 +-
 .../sis/metadata/iso/content/DefaultBand.java      |    8 +-
 .../iso/content/DefaultCoverageDescription.java    |   16 +-
 .../DefaultFeatureCatalogueDescription.java        |   16 +-
 .../iso/content/DefaultFeatureTypeInfo.java        |    2 +-
 .../iso/content/DefaultImageDescription.java       |   10 +-
 .../iso/content/DefaultRangeDimension.java         |    8 +-
 .../iso/content/DefaultSampleDimension.java        |   12 +-
 .../sis/metadata/iso/content/package-info.java     |   10 +-
 .../metadata/iso/distribution/DefaultDataFile.java |    6 +-
 .../DefaultDigitalTransferOptions.java             |   12 +-
 .../iso/distribution/DefaultDistribution.java      |    2 +-
 .../metadata/iso/distribution/DefaultFormat.java   |   14 +-
 .../metadata/iso/distribution/DefaultMedium.java   |   22 +-
 .../distribution/DefaultStandardOrderProcess.java  |    8 +-
 .../metadata/iso/distribution/package-info.java    |    8 +-
 .../sis/metadata/iso/extent/DefaultExtent.java     |    2 +-
 .../iso/extent/DefaultGeographicBoundingBox.java   |    2 +-
 .../iso/extent/DefaultSpatialTemporalExtent.java   |    4 +-
 .../metadata/iso/extent/DefaultTemporalExtent.java |    4 +-
 .../metadata/iso/extent/DefaultVerticalExtent.java |    4 +-
 .../apache/sis/metadata/iso/extent/Extents.java    |    6 +-
 .../sis/metadata/iso/extent/package-info.java      |    8 +-
 .../iso/identification/AbstractIdentification.java |   10 +-
 .../DefaultAggregateInformation.java               |    8 +-
 .../identification/DefaultAssociatedResource.java  |    6 +-
 .../iso/identification/DefaultBrowseGraphic.java   |    4 +-
 .../iso/identification/DefaultCoupledResource.java |   10 +-
 .../identification/DefaultDataIdentification.java  |   12 +-
 .../iso/identification/DefaultKeywords.java        |    2 +-
 .../DefaultRepresentativeFraction.java             |   14 +-
 .../iso/identification/DefaultResolution.java      |   10 +-
 .../DefaultServiceIdentification.java              |    2 +-
 .../metadata/iso/identification/DefaultUsage.java  |    6 +-
 .../metadata/iso/identification/OperationName.java |    2 +-
 .../metadata/iso/identification/package-info.java  |   12 +-
 .../sis/metadata/iso/legacy/DateToTemporal.java    |  109 +
 .../metadata/iso/legacy/LegacyPropertyAdapter.java |  338 ++
 .../sis/metadata/iso/legacy/TemporalToDate.java    |  116 +
 .../sis/metadata/iso/legacy/package-info.java      |   32 +
 .../sis/metadata/iso/lineage/DefaultLineage.java   |    4 +-
 .../iso/lineage/DefaultNominalResolution.java      |    2 +-
 .../metadata/iso/lineage/DefaultProcessStep.java   |   12 +-
 .../sis/metadata/iso/lineage/DefaultSource.java    |   14 +-
 .../sis/metadata/iso/lineage/package-info.java     |    6 +-
 .../iso/maintenance/AttributeTypeAdapter.java      |    2 +-
 .../maintenance/DefaultMaintenanceInformation.java |   12 +-
 .../iso/maintenance/DefaultScopeDescription.java   |    6 +-
 .../iso/maintenance/FeatureTypeAdapter.java        |    2 +-
 .../iso/maintenance/LegacyFeatureType.java         |    2 +-
 .../sis/metadata/iso/maintenance/package-info.java |   10 +-
 .../org/apache/sis/metadata/iso/package-info.java  |   10 +-
 .../sis/metadata/iso/quality/AbstractElement.java  |   12 +-
 .../sis/metadata/iso/quality/AbstractResult.java   |    4 +-
 .../iso/quality/DefaultCoverageResult.java         |    4 +-
 .../metadata/iso/quality/DefaultDataQuality.java   |    4 +-
 .../iso/quality/DefaultEvaluationMethod.java       |    6 +-
 .../iso/quality/DefaultMeasureReference.java       |    2 +-
 .../DefaultNonQuantitativeAttributeAccuracy.java   |    2 +-
 .../iso/quality/DefaultQuantitativeResult.java     |    4 +-
 .../sis/metadata/iso/quality/DefaultScope.java     |    6 +-
 .../sis/metadata/iso/quality/DefaultUsability.java |    2 +-
 .../sis/metadata/iso/quality/package-info.java     |    8 +-
 .../iso/spatial/AbstractSpatialRepresentation.java |    2 +-
 .../sis/metadata/iso/spatial/DefaultDimension.java |    6 +-
 .../iso/spatial/DefaultGeometricObjects.java       |    2 +-
 .../metadata/iso/spatial/DefaultGeorectified.java  |    4 +-
 .../iso/spatial/DefaultGeoreferenceable.java       |    2 +-
 .../spatial/DefaultGridSpatialRepresentation.java  |    2 +-
 .../sis/metadata/iso/spatial/package-info.java     |    8 +-
 .../sis/metadata/simple/CitationConstant.java      |  242 ++
 .../sis/metadata/simple/SimpleAttributeType.java   |  183 ++
 .../apache/sis/metadata/simple/SimpleCitation.java |   99 +
 .../apache/sis/metadata/simple/SimpleDuration.java |   76 +
 .../apache/sis/metadata/simple/SimpleExtent.java   |   72 +
 .../apache/sis/metadata/simple/SimpleFormat.java   |   86 +
 .../metadata/simple/SimpleIdentifiedObject.java    |  212 ++
 .../sis/metadata/simple/SimpleIdentifier.java      |  223 ++
 .../apache/sis/metadata/simple/SimpleMetadata.java |  222 ++
 .../apache/sis/metadata/simple/package-info.java   |   31 +
 .../apache/sis/metadata/sql/CachedStatement.java   |    2 +-
 .../org/apache/sis/metadata/sql/Dispatcher.java    |    8 +-
 .../sis/metadata/sql/IdentifierGenerator.java      |    2 +-
 .../org/apache/sis/metadata/sql/Installer.java     |    2 +-
 .../apache/sis/metadata/sql/MetadataFallback.java  |    2 +-
 .../apache/sis/metadata/sql/MetadataSource.java    |   26 +-
 .../apache/sis/metadata/sql/MetadataWriter.java    |    8 +-
 .../org/apache/sis/metadata/sql/util/Dialect.java  |  151 +
 .../apache/sis/metadata/sql/util/Initializer.java  |  466 +++
 .../sis/metadata/sql/util/LocalDataSource.java     |  457 +++
 .../apache/sis/metadata/sql/util/Reflection.java   |  215 ++
 .../apache/sis/metadata/sql/util/SQLBuilder.java   |  369 +++
 .../apache/sis/metadata/sql/util/SQLUtilities.java |  203 ++
 .../apache/sis/metadata/sql/util/ScriptRunner.java |  839 +++++
 .../org/apache/sis/metadata/sql/util/Syntax.java   |   83 +
 .../apache/sis/metadata/sql/util/TypeMapper.java   |  107 +
 .../apache/sis/metadata/sql/util/package-info.java |   79 +
 .../org/apache/sis/util/iso/AbstractFactory.java   |    2 +-
 .../org/apache/sis/util/iso/DefaultLocalName.java  |    4 +-
 .../apache/sis/util/iso/DefaultNameFactory.java    |    2 +-
 .../org/apache/sis/util/iso/DefaultNameSpace.java  |    4 +-
 .../org/apache/sis/util/iso/DefaultRecord.java     |    6 +-
 .../apache/sis/util/iso/DefaultRecordSchema.java   |    6 +-
 .../org/apache/sis/util/iso/DefaultRecordType.java |    4 +-
 .../org/apache/sis/util/iso/DefaultScopedName.java |    2 +-
 .../org/apache/sis/util/iso/RecordDefinition.java  |    2 +-
 .../main/org/apache/sis/util/iso/TypeNames.java    |    2 +-
 .../main/org/apache/sis/util/iso/Types.java        |    8 +-
 .../main/org/apache/sis/util/iso/package-info.java |    2 +-
 .../main/org/apache/sis/xml/IdentifierSpace.java   |    2 +-
 .../main/org/apache/sis/xml/LegacyCodes.java       |    2 +-
 .../main/org/apache/sis/xml/MarshallerPool.java    |   16 +-
 .../main/org/apache/sis/xml/Namespaces.java        |    4 +-
 .../main/org/apache/sis/xml/NilObjectHandler.java  |    6 +-
 .../main/org/apache/sis/xml/NilReason.java         |    2 +-
 .../main/org/apache/sis/xml/OutputFactory.java     |    2 +-
 .../main/org/apache/sis/xml/Pooled.java            |    8 +-
 .../main/org/apache/sis/xml/PooledMarshaller.java  |    4 +-
 .../org/apache/sis/xml/PooledUnmarshaller.java     |    2 +-
 .../main/org/apache/sis/xml/ReferenceResolver.java |    4 +-
 .../main/org/apache/sis/xml/TransformVersion.java  |    2 +-
 .../main/org/apache/sis/xml/Transformer.java       |    2 +-
 .../org/apache/sis/xml/TransformingReader.java     |   16 +-
 .../org/apache/sis/xml/TransformingWriter.java     |    4 +-
 .../main/org/apache/sis/xml/ValueConverter.java    |    2 +-
 .../main/org/apache/sis/xml/XLink.java             |    2 +-
 .../main/org/apache/sis/xml/XML.java               |    6 +-
 .../main/org/apache/sis/xml/XPointer.java          |    2 +-
 .../apache/sis/xml/bind/AdapterReplacement.java    |   73 +
 .../main/org/apache/sis/xml/bind/Context.java      |  687 ++++
 .../org/apache/sis/xml/bind/FilterByVersion.java   |   80 +
 .../apache/sis/xml/bind/FinalClassExtensions.java  |  123 +
 .../apache/sis/xml/bind/IdentifierMapAdapter.java  |  582 ++++
 .../apache/sis/xml/bind/IdentifierMapEntry.java    |   87 +
 .../sis/xml/bind/ModifiableIdentifierMap.java      |  284 ++
 .../sis/xml/bind/NonMarshalledAuthority.java       |  298 ++
 .../apache/sis/xml/bind/SpecializedIdentifier.java |  263 ++
 .../org/apache/sis/xml/bind/TypeRegistration.java  |  267 ++
 .../org/apache/sis/xml/bind/UseLegacyMetadata.java |   42 +
 .../apache/sis/xml/bind/cat/CodeListAdapter.java   |  171 +
 .../org/apache/sis/xml/bind/cat/CodeListUID.java   |  279 ++
 .../org/apache/sis/xml/bind/cat/EnumAdapter.java   |   92 +
 .../org/apache/sis/xml/bind/cat/package-info.java  |   26 +
 .../sis/xml/bind/gco/CharSequenceAdapter.java      |  204 ++
 .../org/apache/sis/xml/bind/gco/GO_Boolean.java    |   95 +
 .../sis/xml/bind/gco/GO_CharacterString.java       |  352 ++
 .../org/apache/sis/xml/bind/gco/GO_DateTime.java   |  163 +
 .../org/apache/sis/xml/bind/gco/GO_Decimal.java    |  103 +
 .../org/apache/sis/xml/bind/gco/GO_Distance.java   |   95 +
 .../apache/sis/xml/bind/gco/GO_GenericName.java    |  216 ++
 .../org/apache/sis/xml/bind/gco/GO_Integer.java    |  117 +
 .../org/apache/sis/xml/bind/gco/GO_Integer64.java  |   91 +
 .../org/apache/sis/xml/bind/gco/GO_Measure.java    |   94 +
 .../sis/xml/bind/gco/GO_MultiplicityRange.java     |   92 +
 .../main/org/apache/sis/xml/bind/gco/GO_Real.java  |  118 +
 .../org/apache/sis/xml/bind/gco/GO_Record.java     |  111 +
 .../org/apache/sis/xml/bind/gco/GO_RecordType.java |  111 +
 .../org/apache/sis/xml/bind/gco/GO_Temporal.java   |  159 +
 .../main/org/apache/sis/xml/bind/gco/GO_URL.java   |   68 +
 .../sis/xml/bind/gco/GO_UnlimitedInteger.java      |   95 +
 .../xml/bind/gco/InternationalStringAdapter.java   |   95 +
 .../xml/bind/gco/InternationalStringConverter.java |   62 +
 .../org/apache/sis/xml/bind/gco/Multiplicity.java  |   92 +
 .../apache/sis/xml/bind/gco/MultiplicityRange.java |  106 +
 .../org/apache/sis/xml/bind/gco/NameValue.java     |  129 +
 .../sis/xml/bind/gco/ObjectIdentification.html     |   59 +
 .../apache/sis/xml/bind/gco/ObjectReference.java   |  160 +
 .../org/apache/sis/xml/bind/gco/PropertyType.java  |  635 ++++
 .../org/apache/sis/xml/bind/gco/StringAdapter.java |  131 +
 .../org/apache/sis/xml/bind/gco/URIAdapter.java    |  102 +
 .../org/apache/sis/xml/bind/gco/UnitAdapter.java   |  103 +
 .../apache/sis/xml/bind/gco/UnlimitedInteger.java  |  123 +
 .../org/apache/sis/xml/bind/gco/package-info.java  |  104 +
 .../main/org/apache/sis/xml/bind/gcx/Anchor.java   |  182 ++
 .../main/org/apache/sis/xml/bind/gcx/FileName.java |   86 +
 .../org/apache/sis/xml/bind/gcx/MimeFileType.java  |   86 +
 .../sis/xml/bind/gcx/MimeFileTypeAdapter.java      |   58 +
 .../org/apache/sis/xml/bind/gcx/package-info.java  |   45 +
 .../apache/sis/xml/bind/gmi/LE_ProcessStep.java    |   79 +
 .../org/apache/sis/xml/bind/gmi/LE_Source.java     |   74 +
 .../main/org/apache/sis/xml/bind/gmi/MI_Band.java  |   79 +
 .../sis/xml/bind/gmi/MI_CoverageDescription.java   |   76 +
 .../apache/sis/xml/bind/gmi/MI_Georectified.java   |   76 +
 .../sis/xml/bind/gmi/MI_Georeferenceable.java      |   76 +
 .../sis/xml/bind/gmi/MI_ImageDescription.java      |   76 +
 .../org/apache/sis/xml/bind/gmi/MI_Metadata.java   |   76 +
 .../org/apache/sis/xml/bind/gmi/package-info.java  |   53 +
 .../apache/sis/xml/bind/gml/CodeListAdapter.java   |  108 +
 .../org/apache/sis/xml/bind/gml/DateAdapter.java   |   91 +
 .../org/apache/sis/xml/bind/gml/GMLAdapter.java    |  110 +
 .../main/org/apache/sis/xml/bind/gml/Measure.java  |  241 ++
 .../org/apache/sis/xml/bind/gml/MeasureList.java   |  123 +
 .../apache/sis/xml/bind/gml/SC_VerticalCRS.java    |  143 +
 .../org/apache/sis/xml/bind/gml/TM_Primitive.java  |  187 ++
 .../org/apache/sis/xml/bind/gml/TimeInstant.java   |  107 +
 .../org/apache/sis/xml/bind/gml/TimePeriod.java    |  100 +
 .../apache/sis/xml/bind/gml/TimePeriodBound.java   |  172 +
 .../sis/xml/bind/gml/UniversalTimeAdapter.java     |   92 +
 .../org/apache/sis/xml/bind/gml/package-info.java  |   48 +
 .../org/apache/sis/xml/bind/gts/TM_Duration.java   |  103 +
 .../apache/sis/xml/bind/gts/TM_PeriodDuration.java |  203 ++
 .../org/apache/sis/xml/bind/gts/package-info.java  |   40 +
 .../main/org/apache/sis/xml/bind/lan/Country.java  |  216 ++
 .../org/apache/sis/xml/bind/lan/LanguageCode.java  |  171 +
 .../org/apache/sis/xml/bind/lan/LocaleAdapter.java |  138 +
 .../apache/sis/xml/bind/lan/LocaleAndCharset.java  |  404 +++
 .../sis/xml/bind/lan/LocalisedCharacterString.java |  149 +
 .../org/apache/sis/xml/bind/lan/OtherLocales.java  |  152 +
 .../org/apache/sis/xml/bind/lan/PT_FreeText.java   |  208 ++
 .../org/apache/sis/xml/bind/lan/PT_Locale.java     |  347 ++
 .../org/apache/sis/xml/bind/lan/TextGroup.java     |  138 +
 .../org/apache/sis/xml/bind/lan/package-info.java  |   42 +
 .../apache/sis/xml/bind/metadata/CI_Address.java   |   92 +
 .../apache/sis/xml/bind/metadata/CI_Citation.java  |  111 +
 .../apache/sis/xml/bind/metadata/CI_Contact.java   |   92 +
 .../org/apache/sis/xml/bind/metadata/CI_Date.java  |   92 +
 .../sis/xml/bind/metadata/CI_OnlineResource.java   |  111 +
 .../org/apache/sis/xml/bind/metadata/CI_Party.java |   91 +
 .../sis/xml/bind/metadata/CI_Responsibility.java   |  106 +
 .../sis/xml/bind/metadata/CI_ResponsibleParty.java |  127 +
 .../apache/sis/xml/bind/metadata/CI_Series.java    |   92 +
 .../apache/sis/xml/bind/metadata/CI_Telephone.java |   92 +
 .../sis/xml/bind/metadata/DQM_BasicMeasure.java    |   91 +
 .../sis/xml/bind/metadata/DQM_Description.java     |   91 +
 .../apache/sis/xml/bind/metadata/DQM_Measure.java  |   91 +
 .../sis/xml/bind/metadata/DQM_Parameter.java       |   92 +
 .../sis/xml/bind/metadata/DQM_SourceReference.java |   91 +
 .../sis/xml/bind/metadata/DQ_DataQuality.java      |   92 +
 .../apache/sis/xml/bind/metadata/DQ_Element.java   |   92 +
 .../sis/xml/bind/metadata/DQ_EvaluationMethod.java |   96 +
 .../sis/xml/bind/metadata/DQ_MeasureReference.java |   96 +
 .../xml/bind/metadata/DQ_PositionalAccuracy.java   |   91 +
 .../apache/sis/xml/bind/metadata/DQ_Result.java    |   92 +
 .../DQ_StandaloneQualityReportInformation.java     |   98 +
 .../apache/sis/xml/bind/metadata/EX_Extent.java    |   92 +
 .../sis/xml/bind/metadata/EX_GeographicExtent.java |   92 +
 .../sis/xml/bind/metadata/EX_TemporalExtent.java   |   92 +
 .../sis/xml/bind/metadata/EX_VerticalExtent.java   |   92 +
 .../apache/sis/xml/bind/metadata/LE_Algorithm.java |   93 +
 .../xml/bind/metadata/LE_NominalResolution.java    |   92 +
 .../xml/bind/metadata/LE_ProcessStepReport.java    |   92 +
 .../sis/xml/bind/metadata/LE_Processing.java       |   92 +
 .../apache/sis/xml/bind/metadata/LI_Lineage.java   |   92 +
 .../sis/xml/bind/metadata/LI_ProcessStep.java      |   93 +
 .../apache/sis/xml/bind/metadata/LI_Source.java    |   93 +
 .../xml/bind/metadata/MD_AggregateInformation.java |   95 +
 .../metadata/MD_ApplicationSchemaInformation.java  |   94 +
 .../xml/bind/metadata/MD_AssociatedResource.java   |   91 +
 .../sis/xml/bind/metadata/MD_AttributeGroup.java   |   91 +
 .../sis/xml/bind/metadata/MD_BrowseGraphic.java    |   92 +
 .../sis/xml/bind/metadata/MD_Constraints.java      |   92 +
 .../xml/bind/metadata/MD_ContentInformation.java   |  105 +
 .../xml/bind/metadata/MD_DataIdentification.java   |   94 +
 .../bind/metadata/MD_DigitalTransferOptions.java   |   94 +
 .../apache/sis/xml/bind/metadata/MD_Dimension.java |   92 +
 .../sis/xml/bind/metadata/MD_Distribution.java     |   92 +
 .../sis/xml/bind/metadata/MD_Distributor.java      |   92 +
 .../metadata/MD_ExtendedElementInformation.java    |   94 +
 .../sis/xml/bind/metadata/MD_FeatureTypeInfo.java  |   92 +
 .../apache/sis/xml/bind/metadata/MD_Format.java    |   92 +
 .../sis/xml/bind/metadata/MD_GeometricObjects.java |   92 +
 .../sis/xml/bind/metadata/MD_Identification.java   |   92 +
 .../sis/xml/bind/metadata/MD_Identifier.java       |  123 +
 .../sis/xml/bind/metadata/MD_KeywordClass.java     |  110 +
 .../apache/sis/xml/bind/metadata/MD_Keywords.java  |   92 +
 .../bind/metadata/MD_MaintenanceInformation.java   |   94 +
 .../apache/sis/xml/bind/metadata/MD_Medium.java    |  111 +
 .../apache/sis/xml/bind/metadata/MD_Metadata.java  |   91 +
 .../metadata/MD_MetadataExtensionInformation.java  |   94 +
 .../sis/xml/bind/metadata/MD_MetadataScope.java    |   91 +
 .../metadata/MD_PortrayalCatalogueReference.java   |   94 +
 .../sis/xml/bind/metadata/MD_RangeDimension.java   |   98 +
 .../sis/xml/bind/metadata/MD_Releasability.java    |  111 +
 .../bind/metadata/MD_RepresentativeFraction.java   |   94 +
 .../sis/xml/bind/metadata/MD_Resolution.java       |  111 +
 .../org/apache/sis/xml/bind/metadata/MD_Scope.java |  127 +
 .../sis/xml/bind/metadata/MD_ScopeDescription.java |   92 +
 .../bind/metadata/MD_SpatialRepresentation.java    |  105 +
 .../xml/bind/metadata/MD_StandardOrderProcess.java |   94 +
 .../org/apache/sis/xml/bind/metadata/MD_Usage.java |   92 +
 .../bind/metadata/MI_AcquisitionInformation.java   |   94 +
 .../xml/bind/metadata/MI_EnvironmentalRecord.java  |   94 +
 .../org/apache/sis/xml/bind/metadata/MI_Event.java |   92 +
 .../org/apache/sis/xml/bind/metadata/MI_GCP.java   |   92 +
 .../bind/metadata/MI_GeolocationInformation.java   |   94 +
 .../sis/xml/bind/metadata/MI_Instrument.java       |   92 +
 .../apache/sis/xml/bind/metadata/MI_Objective.java |   92 +
 .../apache/sis/xml/bind/metadata/MI_Operation.java |   92 +
 .../org/apache/sis/xml/bind/metadata/MI_Plan.java  |   92 +
 .../apache/sis/xml/bind/metadata/MI_Platform.java  |   92 +
 .../sis/xml/bind/metadata/MI_PlatformPass.java     |   92 +
 .../bind/metadata/MI_RangeElementDescription.java  |  113 +
 .../sis/xml/bind/metadata/MI_RequestedDate.java    |   92 +
 .../sis/xml/bind/metadata/MI_Requirement.java      |   92 +
 .../apache/sis/xml/bind/metadata/MX_DataFile.java  |   92 +
 .../sis/xml/bind/metadata/RS_ReferenceSystem.java  |  137 +
 .../sis/xml/bind/metadata/SV_CoupledResource.java  |   91 +
 .../bind/metadata/SV_OperationChainMetadata.java   |   91 +
 .../xml/bind/metadata/SV_OperationMetadata.java    |  110 +
 .../apache/sis/xml/bind/metadata/SV_Parameter.java |   92 +
 .../xml/bind/metadata/code/CI_DateTypeCode.java    |   89 +
 .../bind/metadata/code/CI_OnLineFunctionCode.java  |   89 +
 .../metadata/code/CI_PresentationFormCode.java     |   89 +
 .../sis/xml/bind/metadata/code/CI_RoleCode.java    |  109 +
 .../bind/metadata/code/CI_TelephoneTypeCode.java   |  108 +
 .../apache/sis/xml/bind/metadata/code/DCPList.java |   88 +
 .../xml/bind/metadata/code/DQM_ValueStructure.java |   88 +
 .../metadata/code/DQ_EvaluationMethodTypeCode.java |   90 +
 .../bind/metadata/code/DS_AssociationTypeCode.java |  108 +
 .../bind/metadata/code/DS_InitiativeTypeCode.java  |  108 +
 .../bind/metadata/code/MD_CellGeometryCode.java    |   88 +
 .../bind/metadata/code/MD_CharacterSetCode.java    |  107 +
 .../bind/metadata/code/MD_ClassificationCode.java  |   89 +
 .../metadata/code/MD_CoverageContentTypeCode.java  |   91 +
 .../xml/bind/metadata/code/MD_DatatypeCode.java    |   89 +
 .../metadata/code/MD_DimensionNameTypeCode.java    |   91 +
 .../metadata/code/MD_GeometricObjectTypeCode.java  |   90 +
 .../metadata/code/MD_ImagingConditionCode.java     |   90 +
 .../xml/bind/metadata/code/MD_KeywordTypeCode.java |   88 +
 .../metadata/code/MD_MaintenanceFrequencyCode.java |   91 +
 .../bind/metadata/code/MD_MediumFormatCode.java    |   88 +
 .../xml/bind/metadata/code/MD_MediumNameCode.java  |   88 +
 .../xml/bind/metadata/code/MD_ObligationCode.java  |   73 +
 .../metadata/code/MD_PixelOrientationCode.java     |   99 +
 .../xml/bind/metadata/code/MD_ProgressCode.java    |   88 +
 .../xml/bind/metadata/code/MD_RestrictionCode.java |  101 +
 .../sis/xml/bind/metadata/code/MD_ScopeCode.java   |   89 +
 .../code/MD_SpatialRepresentationTypeCode.java     |   90 +
 .../bind/metadata/code/MD_TopicCategoryCode.java   |   98 +
 .../bind/metadata/code/MD_TopologyLevelCode.java   |   88 +
 .../xml/bind/metadata/code/MI_BandDefinition.java  |   88 +
 .../sis/xml/bind/metadata/code/MI_ContextCode.java |   88 +
 .../bind/metadata/code/MI_GeometryTypeCode.java    |   88 +
 .../bind/metadata/code/MI_ObjectiveTypeCode.java   |   88 +
 .../bind/metadata/code/MI_OperationTypeCode.java   |   88 +
 .../code/MI_PolarisationOrientationCode.java       |   94 +
 .../xml/bind/metadata/code/MI_PriorityCode.java    |   88 +
 .../xml/bind/metadata/code/MI_SequenceCode.java    |   88 +
 .../metadata/code/MI_TransferFunctionTypeCode.java |   90 +
 .../sis/xml/bind/metadata/code/MI_TriggerCode.java |   88 +
 .../xml/bind/metadata/code/SV_CouplingType.java    |   88 +
 .../bind/metadata/code/SV_ParameterDirection.java  |   73 +
 .../sis/xml/bind/metadata/code/package-info.java   |   65 +
 .../sis/xml/bind/metadata/geometry/GM_Object.java  |   96 +
 .../xml/bind/metadata/geometry/ObjectFactory.java  |  104 +
 .../xml/bind/metadata/geometry/package-info.java   |   46 +
 .../apache/sis/xml/bind/metadata/package-info.java |   72 +
 .../sis/xml/bind/metadata/replace/Parameter.java   |  177 +
 .../bind/metadata/replace/QualityParameter.java    |  250 ++
 .../xml/bind/metadata/replace/RS_Identifier.java   |  109 +
 .../metadata/replace/ReferenceSystemMetadata.java  |  151 +
 .../sis/xml/bind/metadata/replace/SensorType.java  |  110 +
 .../bind/metadata/replace/ServiceParameter.java    |  409 +++
 .../xml/bind/metadata/replace/package-info.java    |   72 +
 .../main/org/apache/sis/xml/bind/package-info.java |   41 +
 .../org/apache/sis/xml/util/LegacyNamespaces.java  |  125 +
 .../apache/sis/xml/util/StreamWriterDelegate.java  |  246 ++
 .../main/org/apache/sis/xml/util/XmlUtilities.java |  336 ++
 .../main/org/apache/sis/xml/util/package-info.java |   36 +
 .../internal/jaxb/IdentifierMapAdapterTest.java    |   64 -
 .../internal/jaxb/ModifiableIdentifierMapTest.java |  271 --
 .../internal/jaxb/cat/CodeListMarshallingTest.java |  224 --
 .../sis/internal/jaxb/cat/EnumAdapterTest.java     |   49 -
 .../sis/internal/jaxb/cat/EnumMarshallingTest.java |   83 -
 .../sis/internal/jaxb/gco/MultiplicityTest.java    |  135 -
 .../sis/internal/jaxb/gco/PropertyTypeMock.java    |  101 -
 .../sis/internal/jaxb/gco/PropertyTypeTest.java    |  209 --
 .../sis/internal/jaxb/gco/StringAdapterTest.java   |   77 -
 .../apache/sis/internal/jaxb/gml/MeasureTest.java  |   95 -
 .../sis/internal/jaxb/gml/TimePeriodTest.java      |  254 --
 .../internal/jaxb/lan/FreeTextMarshallingTest.java |  158 -
 .../sis/internal/jaxb/lan/LanguageCodeTest.java    |  244 --
 .../sis/internal/jaxb/lan/OtherLocalesTest.java    |  117 -
 .../sis/internal/jaxb/lan/PT_LocaleTest.java       |  127 -
 .../metadata/replace/QualityParameterTest.java     |  123 -
 .../metadata/replace/ServiceParameterTest.java     |  125 -
 .../sis/internal/metadata/AxisNamesTest.java       |   64 -
 .../sis/internal/metadata/IdentifiersTest.java     |  111 -
 .../metadata/ImplementationHelperTest.java         |   86 -
 .../apache/sis/internal/metadata/MergerTest.java   |  133 -
 .../sis/internal/metadata/NameMeaningTest.java     |   85 -
 .../internal/metadata/sql/SQLUtilitiesTest.java    |   60 -
 .../internal/metadata/sql/ScriptRunnerTest.java    |   90 -
 .../sis/internal/metadata/sql/TypeMapperTest.java  |   49 -
 .../sis/internal/simple/SimpleIdentifierTest.java  |   50 -
 .../sis/internal/xml/DocumentComparatorTest.java   |  139 -
 .../apache/sis/internal/xml/XmlUtilitiesTest.java  |  118 -
 .../test/org/apache/sis/metadata/Assertions.java   |    2 +-
 .../apache/sis/metadata/MetadataCopierTest.java    |    2 +-
 .../apache/sis/metadata/MetadataStandardTest.java  |    2 +-
 .../sis/metadata/PropertyConsistencyCheck.java     |    4 +-
 .../test/org/apache/sis/metadata/PrunerTest.java   |    2 +-
 .../internal}/AxisDirectionsTest.txt               |    0
 .../sis/metadata/internal/AxisNamesTest.java       |   64 +
 .../sis/metadata/internal/IdentifiersTest.java     |  111 +
 .../internal/ImplementationHelperTest.java         |   86 +
 .../apache/sis/metadata/internal/MergerTest.java   |  133 +
 .../sis/metadata/internal/NameMeaningTest.java     |   85 +
 .../org/apache/sis/metadata/iso/APIVerifier.java   |    4 +-
 .../apache/sis/metadata/iso/AllMetadataTest.java   |    8 +-
 .../sis/metadata/iso/DefaultMetadataTest.java      |    2 +-
 .../apache/sis/metadata/iso/api-changes.properties |    2 +-
 .../sis/metadata/iso/citation/CitationsTest.java   |    6 +-
 .../metadata/iso/citation/DefaultCitationTest.java |    2 +-
 .../metadata/iso/citation/DefaultContactTest.java  |    2 +-
 .../iso/citation/DefaultResponsibilityTest.java    |    2 +-
 .../metadata/iso/citation/HardCodedCitations.java  |    4 +-
 .../constraint/DefaultLegalConstraintsTest.java    |    4 +-
 .../sis/metadata/iso/content/DefaultBandTest.java  |    2 +-
 .../sis/metadata/iso/extent/ExtentsTest.java       |    4 +-
 .../identification/DefaultCoupledResourceTest.java |    2 +-
 .../iso/identification/DefaultResolutionTest.java  |    6 +-
 .../metadata/iso/lineage/DefaultLineageTest.java   |    2 +-
 .../iso/lineage/DefaultProcessStepTest.java        |    2 +-
 .../maintenance/DefaultScopeDescriptionTest.java   |    2 +-
 .../quality/AbstractPositionalAccuracyTest.java    |    2 +-
 .../iso/quality/DefaultQuantitativeResultTest.java |    4 +-
 .../iso/spatial/DefaultGeorectifiedTest.java       |    2 +-
 .../sis/metadata/simple/SimpleIdentifierTest.java  |   50 +
 .../sis/metadata/sql/IdentifierGeneratorTest.java  |    2 +-
 .../sis/metadata/sql/MetadataFallbackVerifier.java |    4 +-
 .../sis/metadata/sql/MetadataSourceTest.java       |    2 +-
 .../sis/metadata/sql/MetadataWriterTest.java       |    2 +-
 .../sis/metadata/sql/util/SQLUtilitiesTest.java    |   60 +
 .../sis/metadata/sql/util/ScriptRunnerTest.java    |   90 +
 .../sis/metadata/sql/util/TypeMapperTest.java      |   49 +
 .../sis/metadata/xml/SchemaComplianceTest.java     |    2 +-
 .../apache/sis/test/mock/FeatureAttributeMock.java |    4 +-
 .../apache/sis/test/mock/IdentifiedObjectMock.java |    6 +-
 .../org/apache/sis/test/mock/MetadataMock.java     |    6 +-
 .../org/apache/sis/test/mock/package-info.java     |    4 +-
 .../test/org/apache/sis/test/sql/TestDatabase.java |    6 +-
 .../sis/test/xml/AnnotationConsistencyCheck.java   |    4 +-
 .../apache/sis/test/xml/DocumentComparator.java    |    4 +-
 .../org/apache/sis/test/xml/PackageVerifier.java   |    8 +-
 .../test/org/apache/sis/test/xml/TestCase.java     |    6 +-
 .../apache/sis/util/iso/DefaultLocalNameTest.java  |    2 +-
 .../sis/util/iso/DefaultRecordSchemaTest.java      |    2 +-
 .../apache/sis/util/iso/DefaultRecordTypeTest.java |    2 +-
 .../apache/sis/util/iso/NameMarshallingTest.java   |    2 +-
 .../org/apache/sis/util/iso/TypeNamesTest.java     |    2 +-
 .../sis/xml/CharSequenceSubstitutionTest.java      |    8 +-
 .../test/org/apache/sis/xml/NamespacesTest.java    |    2 +-
 .../org/apache/sis/xml/ReferenceResolverMock.java  |    2 +-
 .../org/apache/sis/xml/RenameListGenerator.java    |    2 +-
 .../test/org/apache/sis/xml/TransformerTest.java   |    2 +-
 .../apache/sis/xml/TransformingNamespacesTest.java |    2 +-
 .../org/apache/sis/xml/UUIDMarshallingTest.java    |    4 +-
 .../sis/xml/bind/IdentifierMapAdapterTest.java     |   64 +
 .../sis/xml/bind/ModifiableIdentifierMapTest.java  |  271 ++
 .../sis/xml/bind/cat/CodeListMarshallingTest.java  |  224 ++
 .../apache/sis/xml/bind/cat/EnumAdapterTest.java   |   49 +
 .../sis/xml/bind/cat/EnumMarshallingTest.java      |   83 +
 .../apache/sis/xml/bind/gco/MultiplicityTest.java  |  135 +
 .../apache/sis/xml/bind/gco/PropertyTypeMock.java  |  101 +
 .../apache/sis/xml/bind/gco/PropertyTypeTest.java  |  209 ++
 .../apache/sis/xml/bind/gco/StringAdapterTest.java |   77 +
 .../org/apache/sis/xml/bind/gml/MeasureTest.java   |   95 +
 .../apache/sis/xml/bind/gml/TimePeriodTest.java    |  254 ++
 .../sis/xml/bind/lan/FreeTextMarshallingTest.java  |  158 +
 .../apache/sis/xml/bind/lan/LanguageCodeTest.java  |  244 ++
 .../apache/sis/xml/bind/lan/OtherLocalesTest.java  |  117 +
 .../org/apache/sis/xml/bind/lan/PT_LocaleTest.java |  127 +
 .../metadata/replace/QualityParameterTest.java     |  123 +
 .../metadata/replace/ServiceParameterTest.java     |  125 +
 .../sis/xml/util/DocumentComparatorTest.java       |  139 +
 .../org/apache/sis/xml/util/XmlUtilitiesTest.java  |  118 +
 .../sis/openoffice/ReferencingFunctions.java       |    2 +-
 .../org/apache/sis/openoffice/Transformer.java     |    2 +-
 .../sis/openoffice/ReferencingFunctionsTest.java   |    4 +-
 .../org.apache.sis.portrayal/main/module-info.java |    2 +-
 .../sis/internal/map/ExceptionPresentation.java    |   65 -
 .../apache/sis/internal/map/ListChangeEvent.java   |   99 -
 .../org/apache/sis/internal/map/NotifiedList.java  |   74 -
 .../org/apache/sis/internal/map/Presentation.java  |  145 -
 .../sis/internal/map/PropertyNameCollector.java    |   59 -
 .../sis/internal/map/ResourceSymbolizer.java       |   48 -
 .../org/apache/sis/internal/map/SEPortrayer.java   |  760 -----
 .../apache/sis/internal/map/SEPresentation.java    |   87 -
 .../apache/sis/internal/map/SymbologyVisitor.java  |  353 --
 .../coverage/MultiResolutionCoverageLoader.java    |  377 ---
 .../sis/internal/map/coverage/RenderingData.java   |  904 -----
 .../internal/map/coverage/RenderingWorkaround.java |  103 -
 .../sis/internal/map/coverage/package-info.java    |   29 -
 .../org/apache/sis/internal/map/package-info.java  |   34 -
 .../org/apache/sis/map/ExceptionPresentation.java  |   65 +
 .../main/org/apache/sis/map/ListChangeEvent.java   |   99 +
 .../main/org/apache/sis/map/NotifiedList.java      |   74 +
 .../main/org/apache/sis/map/Presentation.java      |  145 +
 .../org/apache/sis/map/PropertyNameCollector.java  |   59 +
 .../org/apache/sis/map/ResourceSymbolizer.java     |   48 +
 .../main/org/apache/sis/map/SEPortrayer.java       |  760 +++++
 .../main/org/apache/sis/map/SEPresentation.java    |   87 +
 .../main/org/apache/sis/map/SymbologyVisitor.java  |  353 ++
 .../coverage/MultiResolutionCoverageLoader.java    |  377 +++
 .../org/apache/sis/map/coverage/RenderingData.java |  904 +++++
 .../sis/map/coverage/RenderingWorkaround.java      |  103 +
 .../org/apache/sis/map/coverage/package-info.java  |   29 +
 .../main/org/apache/sis/map/package-info.java      |   34 +
 .../main/org/apache/sis/portrayal/Canvas.java      |    8 +-
 .../org/apache/sis/portrayal/CanvasContext.java    |    4 +-
 .../org/apache/sis/portrayal/CanvasExtent.java     |    4 +-
 .../org/apache/sis/portrayal/CanvasFollower.java   |    2 +-
 .../main/org/apache/sis/portrayal/MapLayers.java   |    4 +-
 .../main/org/apache/sis/portrayal/Observable.java  |    2 +-
 .../org/apache/sis/portrayal/PlanarCanvas.java     |    2 +-
 .../main/org/apache/sis/style/se1/Rule.java        |    2 +-
 .../org/apache/sis/style/se1/StyleFactory.java     |    2 +-
 .../org/apache/sis/style/se1/package-info.java     |    4 +-
 .../apache/sis/internal/map/SEPortrayerTest.java   |  788 -----
 .../MultiResolutionCoverageLoaderTest.java         |  176 -
 .../test/org/apache/sis/map/SEPortrayerTest.java   |  788 +++++
 .../MultiResolutionCoverageLoaderTest.java         |  176 +
 .../org/apache/sis/portrayal/MapLayersTest.java    |    2 +-
 .../org.apache.sis.internal.jaxb.TypeRegistration  |    4 -
 .../org.apache.sis.xml.bind.TypeRegistration       |    4 +
 .../main/module-info.java                          |    6 +-
 .../sis/internal/profile/fra/Constraints.java      |  100 -
 .../internal/profile/fra/DataIdentification.java   |   99 -
 .../profile/fra/DirectReferenceSystem.java         |   88 -
 .../profile/fra/IndirectReferenceSystem.java       |   88 -
 .../sis/internal/profile/fra/LegalConstraints.java |  100 -
 .../sis/internal/profile/fra/ProfileTypes.java     |   69 -
 .../internal/profile/fra/SecurityConstraints.java  |  100 -
 .../sis/internal/profile/fra/package-info.java     |   48 -
 .../apache/sis/profile/france/FrenchProfile.java   |    2 +-
 .../org/apache/sis/xml/bind/fra/Constraints.java   |  100 +
 .../sis/xml/bind/fra/DataIdentification.java       |   99 +
 .../sis/xml/bind/fra/DirectReferenceSystem.java    |   88 +
 .../sis/xml/bind/fra/IndirectReferenceSystem.java  |   88 +
 .../apache/sis/xml/bind/fra/LegalConstraints.java  |  100 +
 .../org/apache/sis/xml/bind/fra/ProfileTypes.java  |   69 +
 .../profile => xml/bind}/fra/RenameOnImport.lst    |    0
 .../sis/xml/bind/fra/SecurityConstraints.java      |  100 +
 .../org/apache/sis/xml/bind/fra/package-info.java  |   48 +
 .../profile/fra/DataIdentificationTest.java        |   78 -
 .../profile/fra/DirectReferenceSystemTest.java     |  104 -
 .../sis/profile/france/FrenchProfileTest.java      |    8 +-
 .../sis/xml/bind/fra/DataIdentificationTest.java   |   78 +
 .../bind}/fra/DirectReferenceSystem.xml            |    0
 .../xml/bind/fra/DirectReferenceSystemTest.java    |  104 +
 .../org.apache.sis.internal.netcdf.Convention      |    5 -
 .../org.apache.sis.storage.netcdf.base.Convention  |    5 +
 .../ucar.nc2.dataset.spi.CoordSystemBuilderFactory |    2 +-
 .../main/module-info.java                          |    8 +-
 .../sis/internal/earth/netcdf/FactoryForUCAR.java  |  122 -
 .../apache/sis/internal/earth/netcdf/GCOM_C.java   |  610 ----
 .../apache/sis/internal/earth/netcdf/GCOM_W.java   |  276 --
 .../sis/internal/earth/netcdf/package-info.java    |   27 -
 .../sis/profile/japan/netcdf/FactoryForUCAR.java   |  122 +
 .../apache/sis/profile/japan/netcdf/GCOM_C.java    |  610 ++++
 .../apache/sis/profile/japan/netcdf/GCOM_W.java    |  276 ++
 .../sis/profile/japan/netcdf/package-info.java     |   27 +
 .../apache/sis/profile/japan/JapanProfileTest.java |    4 +-
 .../apache/sis/internal/gazetteer/Resources.java   |  301 --
 .../sis/internal/gazetteer/Resources_en.java       |   30 -
 .../sis/internal/gazetteer/Resources_fr.java       |   30 -
 .../gazetteer/AbstractLocationType.java            |    2 +-
 .../referencing/gazetteer/FinalLocationType.java   |    2 +-
 .../referencing/gazetteer/GazetteerFactory.java    |    4 +-
 .../gazetteer/GeohashReferenceSystem.java          |    4 +-
 .../sis/referencing/gazetteer/LocationFormat.java  |    2 +-
 .../gazetteer/MilitaryGridReferenceSystem.java     |   15 +-
 .../gazetteer/ModifiableLocationType.java          |    2 +-
 .../gazetteer/ReferencingByIdentifiers.java        |    6 +-
 .../referencing/gazetteer/internal/Resources.java  |  301 ++
 .../gazetteer/internal}/Resources.properties       |    0
 .../gazetteer/internal/Resources_en.java           |   30 +
 .../gazetteer/internal/Resources_fr.java           |   30 +
 .../gazetteer/internal}/Resources_fr.properties    |    0
 .../sis/referencing/gazetteer/LocationViewer.java  |    2 +-
 .../gazetteer/MilitaryGridReferenceSystemTest.java |    4 +-
 ...org.apache.sis.internal.jaxb.AdapterReplacement |    4 -
 .../org.apache.sis.internal.jaxb.TypeRegistration  |    4 -
 ...pache.sis.internal.metadata.ReferencingServices |    4 -
 ...rg.apache.sis.internal.metadata.sql.Initializer |    4 -
 ...pache.sis.metadata.internal.ReferencingServices |    4 +
 .../org.apache.sis.metadata.sql.util.Initializer   |    4 +
 .../org.apache.sis.xml.bind.AdapterReplacement     |    4 +
 .../org.apache.sis.xml.bind.TypeRegistration       |    4 +
 ...org.opengis.referencing.crs.CRSAuthorityFactory |    2 +-
 .../org.opengis.referencing.cs.CSAuthorityFactory  |    2 +-
 ...opengis.referencing.datum.DatumAuthorityFactory |    2 +-
 ...g.operation.CoordinateOperationAuthorityFactory |    2 +-
 ...g.opengis.referencing.operation.OperationMethod |  150 +-
 .../main/module-info.java                          |  188 +-
 .../sis/geometry/AbstractDirectPosition.java       |    6 +-
 .../org/apache/sis/geometry/AbstractEnvelope.java  |    8 +-
 .../org/apache/sis/geometry/ArrayEnvelope.java     |    2 +-
 .../org/apache/sis/geometry/CoordinateFormat.java  |   12 +-
 .../main/org/apache/sis/geometry/Envelope2D.java   |    2 +-
 .../org/apache/sis/geometry/EnvelopeReducer.java   |    4 +-
 .../main/org/apache/sis/geometry/Envelopes.java    |   12 +-
 .../org/apache/sis/geometry/GeneralEnvelope.java   |    9 +-
 .../main/org/apache/sis/geometry/Shapes2D.java     |    6 +-
 .../apache/sis/geometry/WraparoundAdjustment.java  |    6 +-
 .../internal/jaxb/referencing/CC_Conversion.java   |  136 -
 .../jaxb/referencing/CC_CoordinateOperation.java   |  107 -
 .../referencing/CC_GeneralOperationParameter.java  |  488 ---
 .../jaxb/referencing/CC_GeneralParameterValue.java |  114 -
 .../jaxb/referencing/CC_OperationMethod.java       |  241 --
 .../jaxb/referencing/CC_OperationParameter.java    |  182 --
 .../referencing/CC_OperationParameterGroup.java    |  220 --
 .../internal/jaxb/referencing/CD_Ellipsoid.java    |   94 -
 .../jaxb/referencing/CD_EngineeringDatum.java      |   92 -
 .../jaxb/referencing/CD_GeodeticDatum.java         |   94 -
 .../internal/jaxb/referencing/CD_ImageDatum.java   |   92 -
 .../jaxb/referencing/CD_ParametricDatum.java       |   92 -
 .../internal/jaxb/referencing/CD_PixelInCell.java  |   46 -
 .../jaxb/referencing/CD_PrimeMeridian.java         |   93 -
 .../jaxb/referencing/CD_TemporalDatum.java         |   93 -
 .../jaxb/referencing/CD_VerticalDatum.java         |   92 -
 .../jaxb/referencing/CD_VerticalDatumType.java     |   46 -
 .../sis/internal/jaxb/referencing/CS_AffineCS.java |   92 -
 .../jaxb/referencing/CS_AxisDirection.java         |   58 -
 .../internal/jaxb/referencing/CS_CartesianCS.java  |   92 -
 .../jaxb/referencing/CS_CoordinateSystem.java      |   92 -
 .../jaxb/referencing/CS_CoordinateSystemAxis.java  |   94 -
 .../jaxb/referencing/CS_CylindricalCS.java         |   91 -
 .../jaxb/referencing/CS_EllipsoidalCS.java         |   92 -
 .../sis/internal/jaxb/referencing/CS_LinearCS.java |   91 -
 .../internal/jaxb/referencing/CS_ParametricCS.java |   91 -
 .../sis/internal/jaxb/referencing/CS_PolarCS.java  |   91 -
 .../internal/jaxb/referencing/CS_RangeMeaning.java |   58 -
 .../internal/jaxb/referencing/CS_SphericalCS.java  |   91 -
 .../sis/internal/jaxb/referencing/CS_TimeCS.java   |   92 -
 .../jaxb/referencing/CS_UserDefinedCS.java         |   91 -
 .../internal/jaxb/referencing/CS_VerticalCS.java   |   92 -
 .../apache/sis/internal/jaxb/referencing/Code.java |  254 --
 .../internal/jaxb/referencing/RS_Identifier.java   |   93 -
 .../sis/internal/jaxb/referencing/SC_CRS.java      |  106 -
 .../jaxb/referencing/SC_DerivedCRSType.java        |   93 -
 .../internal/jaxb/referencing/SC_SingleCRS.java    |  104 -
 .../internal/jaxb/referencing/SC_VerticalCRS.java  |   89 -
 .../jaxb/referencing/SecondDefiningParameter.java  |  168 -
 .../internal/jaxb/referencing/package-info.java    |   45 -
 .../sis/internal/referencing/AnnotatedMatrix.java  |  140 -
 .../sis/internal/referencing/Arithmetic.java       |  294 --
 .../sis/internal/referencing/AxesMapper.java       |  159 -
 .../sis/internal/referencing/AxisDirections.java   |  853 -----
 .../internal/referencing/CoordinateOperations.java |  345 --
 .../sis/internal/referencing/DatabaseListener.java |   71 -
 .../referencing/DeferredCoordinateOperation.java   |   72 -
 .../internal/referencing/DefinitionVerifier.java   |  360 --
 .../sis/internal/referencing/DeprecatedCode.java   |   99 -
 .../sis/internal/referencing/DeprecatedName.java   |   91 -
 .../internal/referencing/DirectPositionView.java   |  155 -
 .../sis/internal/referencing/EPSGFactoryProxy.java |   74 -
 .../internal/referencing/EPSGFactoryProxyCOP.java  |   59 -
 .../internal/referencing/EPSGFactoryProxyCRS.java  |  109 -
 .../internal/referencing/EPSGFactoryProxyCS.java   |  107 -
 .../referencing/EPSGFactoryProxyDatum.java         |   95 -
 .../internal/referencing/EPSGParameterDomain.java  |   55 -
 .../referencing/EllipsoidalHeightCombiner.java     |  229 --
 .../referencing/ExtendedPrecisionMatrix.java       |  124 -
 .../sis/internal/referencing/ExtentSelector.java   |  561 ----
 .../apache/sis/internal/referencing/Formulas.java  |  293 --
 .../referencing/GeodeticObjectBuilder.java         |  675 ----
 .../apache/sis/internal/referencing/LazySet.java   |  252 --
 .../apache/sis/internal/referencing/Legacy.java    |  120 -
 .../referencing/MathTransformsOrFactory.java       |  140 -
 .../sis/internal/referencing/MergedProperties.java |  114 -
 .../internal/referencing/NilReferencingObject.java |   79 -
 .../internal/referencing/PositionTransformer.java  |  267 --
 .../referencing/PositionalAccuracyConstant.java    |  248 --
 .../apache/sis/internal/referencing/RTreeNode.java |  361 --
 .../referencing/ReferencingFactoryContainer.java   |  399 ---
 .../sis/internal/referencing/ReferencingTypes.java |   76 -
 .../internal/referencing/ReferencingUtilities.java |  628 ----
 .../apache/sis/internal/referencing/Resources.java |  795 -----
 .../sis/internal/referencing/Resources.properties  |  132 -
 .../sis/internal/referencing/Resources_en.java     |   30 -
 .../sis/internal/referencing/Resources_fr.java     |   30 -
 .../internal/referencing/Resources_fr.properties   |  137 -
 .../internal/referencing/ServicesForMetadata.java  |  537 ---
 .../internal/referencing/SignReversalComment.java  |   89 -
 .../sis/internal/referencing/TemporalAccessor.java |  140 -
 .../internal/referencing/VerticalDatumTypes.java   |  237 --
 .../sis/internal/referencing/WKTKeywords.java      |  301 --
 .../sis/internal/referencing/WKTUtilities.java     |  552 ----
 .../internal/referencing/WraparoundApplicator.java |  224 --
 .../internal/referencing/WraparoundAxesFinder.java |   85 -
 .../internal/referencing/j2d/AbstractShape.java    |   81 -
 .../sis/internal/referencing/j2d/AffineMatrix.java |  245 --
 .../referencing/j2d/AffineTransform2D.java         |  492 ---
 .../sis/internal/referencing/j2d/Bezier.java       |  536 ---
 .../referencing/j2d/ImmutableAffineTransform.java  |  316 --
 .../referencing/j2d/IntervalRectangle.java         |  575 ----
 .../referencing/j2d/LinearTransform2D.java         |   41 -
 .../referencing/j2d/ParameterizedAffine.java       |  173 -
 .../internal/referencing/j2d/ShapeUtilities.java   |  429 ---
 .../apache/sis/internal/referencing/j2d/Tile.java  |  684 ----
 .../internal/referencing/j2d/TileOrganizer.java    |  568 ----
 .../sis/internal/referencing/j2d/package-info.java |   32 -
 .../sis/internal/referencing/package-info.java     |   30 -
 .../referencing/provider/AbridgedMolodensky.java   |  120 -
 .../referencing/provider/AbstractLambert.java      |   92 -
 .../referencing/provider/AbstractMercator.java     |  111 -
 .../referencing/provider/AbstractProvider.java     |  384 ---
 .../provider/AbstractStereographic.java            |   96 -
 .../sis/internal/referencing/provider/Affine.java  |  357 --
 .../referencing/provider/AlbersEqualArea.java      |  264 --
 .../referencing/provider/AxisOrderReversal.java    |  103 -
 .../referencing/provider/AxisOrderReversal3D.java  |   51 -
 .../provider/AzimuthalEquidistantSpherical.java    |   74 -
 .../referencing/provider/CassiniSoldner.java       |  183 --
 .../provider/CoordinateFrameRotation.java          |   61 -
 .../provider/CoordinateFrameRotation2D.java        |   81 -
 .../provider/CoordinateFrameRotation3D.java        |   92 -
 .../provider/DatumShiftGridCompressed.java         |  270 --
 .../referencing/provider/DatumShiftGridFile.java   |  715 ----
 .../referencing/provider/DatumShiftGridGroup.java  |  312 --
 .../referencing/provider/DatumShiftGridLoader.java |  249 --
 .../referencing/provider/DatumShiftMethod.java     |   72 -
 .../internal/referencing/provider/Description.java |   54 -
 .../internal/referencing/provider/EPSGName.java    |  124 -
 .../sis/internal/referencing/provider/ESRI.java    |  158 -
 .../referencing/provider/Equirectangular.java      |  368 ---
 .../provider/FranceGeocentricInterpolation.java    |  598 ----
 .../referencing/provider/GeocentricAffine.java     |  494 ---
 .../GeocentricAffineBetweenGeographic.java         |  232 --
 .../provider/GeocentricToGeographic.java           |  133 -
 .../provider/GeocentricToTopocentric.java          |  251 --
 .../provider/GeocentricTranslation.java            |   56 -
 .../provider/GeocentricTranslation2D.java          |   80 -
 .../provider/GeocentricTranslation3D.java          |   87 -
 .../referencing/provider/GeodeticOperation.java    |  190 --
 .../referencing/provider/Geographic2Dto3D.java     |  120 -
 .../referencing/provider/Geographic3Dto2D.java     |  194 --
 .../provider/GeographicAndVerticalOffsets.java     |  115 -
 .../referencing/provider/GeographicOffsets.java    |  183 --
 .../referencing/provider/GeographicOffsets2D.java  |   84 -
 .../provider/GeographicRedimension.java            |   97 -
 .../provider/GeographicToGeocentric.java           |  200 --
 .../provider/GeographicToTopocentric.java          |  166 -
 .../provider/HyperbolicCassiniSoldner.java         |   65 -
 .../referencing/provider/Interpolation1D.java      |  114 -
 .../provider/LambertAzimuthalEqualArea.java        |  175 -
 .../LambertAzimuthalEqualAreaSpherical.java        |   76 -
 .../referencing/provider/LambertConformal1SP.java  |  135 -
 .../referencing/provider/LambertConformal2SP.java  |  259 --
 .../provider/LambertConformalBelgium.java          |   74 -
 .../provider/LambertConformalMichigan.java         |   91 -
 .../referencing/provider/LambertConformalWest.java |  100 -
 .../provider/LambertCylindricalEqualArea.java      |  178 -
 .../LambertCylindricalEqualAreaSpherical.java      |   78 -
 .../referencing/provider/LongitudeRotation.java    |  123 -
 .../referencing/provider/MapProjection.java        |  415 ---
 .../referencing/provider/MapProjection3D.java      |   94 -
 .../internal/referencing/provider/Mercator1SP.java |  155 -
 .../internal/referencing/provider/Mercator2SP.java |  157 -
 .../provider/MercatorAuxiliarySphere.java          |   84 -
 .../referencing/provider/MercatorSpherical.java    |   84 -
 .../referencing/provider/MillerCylindrical.java    |   82 -
 .../provider/ModifiedAzimuthalEquidistant.java     |  169 -
 .../internal/referencing/provider/Mollweide.java   |  126 -
 .../internal/referencing/provider/Molodensky.java  |  348 --
 .../provider/MolodenskyInterpolation.java          |  107 -
 .../sis/internal/referencing/provider/NADCON.java  |  475 ---
 .../sis/internal/referencing/provider/NTv1.java    |   82 -
 .../sis/internal/referencing/provider/NTv2.java    |  682 ----
 .../referencing/provider/NorthPoleRotation.java    |  164 -
 .../referencing/provider/ObliqueMercator.java      |  247 --
 .../provider/ObliqueMercatorCenter.java            |  140 -
 .../provider/ObliqueMercatorTwoPoints.java         |   89 -
 .../provider/ObliqueMercatorTwoPointsCenter.java   |   47 -
 .../referencing/provider/ObliqueStereographic.java |  138 -
 .../referencing/provider/Orthographic.java         |  187 --
 .../referencing/provider/PolarStereographicA.java  |  211 --
 .../referencing/provider/PolarStereographicB.java  |  160 -
 .../referencing/provider/PolarStereographicC.java  |  100 -
 .../provider/PolarStereographicNorth.java          |   70 -
 .../provider/PolarStereographicSouth.java          |   72 -
 .../internal/referencing/provider/Polyconic.java   |  150 -
 .../referencing/provider/PositionVector7Param.java |   60 -
 .../provider/PositionVector7Param2D.java           |   83 -
 .../provider/PositionVector7Param3D.java           |   90 -
 .../referencing/provider/PseudoMercator.java       |   61 -
 .../referencing/provider/PseudoPlateCarree.java    |   79 -
 .../referencing/provider/PseudoSinusoidal.java     |   58 -
 .../referencing/provider/RegionalMercator.java     |  150 -
 .../referencing/provider/SatelliteTracking.java    |  207 --
 .../internal/referencing/provider/Sinusoidal.java  |  134 -
 .../referencing/provider/SouthPoleRotation.java    |  175 -
 .../referencing/provider/TransverseMercator.java   |  475 ---
 .../provider/TransverseMercatorSouth.java          |   94 -
 .../referencing/provider/VerticalOffset.java       |  121 -
 .../internal/referencing/provider/Wraparound.java  |  138 -
 .../provider/ZonedTransverseMercator.java          |  131 -
 .../referencing/provider/package-info.java         |   31 -
 .../main/org/apache/sis/io/wkt/AbstractParser.java |    4 +-
 .../main/org/apache/sis/io/wkt/Colors.java         |    2 +-
 .../main/org/apache/sis/io/wkt/Element.java        |    4 +-
 .../org/apache/sis/io/wkt/FormattableObject.java   |    4 +-
 .../main/org/apache/sis/io/wkt/Formatter.java      |   22 +-
 .../apache/sis/io/wkt/GeodeticObjectParser.java    |   28 +-
 .../org/apache/sis/io/wkt/MathTransformParser.java |    8 +-
 .../main/org/apache/sis/io/wkt/StoredTree.java     |    2 +-
 .../main/org/apache/sis/io/wkt/Transliterator.java |    6 +-
 .../main/org/apache/sis/io/wkt/VerticalInfo.java   |    2 +-
 .../main/org/apache/sis/io/wkt/WKTDictionary.java  |   12 +-
 .../main/org/apache/sis/io/wkt/WKTFormat.java      |    8 +-
 .../sis/parameter/AbstractParameterDescriptor.java |    6 +-
 .../sis/parameter/DefaultParameterDescriptor.java  |   10 +-
 .../parameter/DefaultParameterDescriptorGroup.java |    8 +-
 .../sis/parameter/DefaultParameterValue.java       |   16 +-
 .../sis/parameter/DefaultParameterValueGroup.java  |    6 +-
 .../apache/sis/parameter/FilteredParameters.java   |    2 +-
 .../main/org/apache/sis/parameter/IntegerList.java |    2 +-
 .../sis/parameter/MapProjectionDescriptor.java     |    4 +-
 .../sis/parameter/MapProjectionParameters.java     |    4 +-
 .../org/apache/sis/parameter/MatrixParameters.java |    4 +-
 .../sis/parameter/MatrixParametersAlphaNum.java    |    8 +-
 .../org/apache/sis/parameter/ParameterFormat.java  |    6 +-
 .../apache/sis/parameter/ParameterTableRow.java    |    8 +-
 .../apache/sis/parameter/ParameterValueList.java   |    2 +-
 .../main/org/apache/sis/parameter/Parameters.java  |    4 +-
 .../org/apache/sis/parameter/TensorParameters.java |    6 +-
 .../org/apache/sis/parameter/TensorValues.java     |   12 +-
 .../sis/parameter/UninitializedParameter.java      |    2 +-
 .../sis/parameter/UnmodifiableParameterValue.java  |    2 +-
 .../parameter/UnmodifiableParameterValueGroup.java |    4 +-
 .../main/org/apache/sis/parameter/Verifier.java    |    8 +-
 .../org/apache/sis/parameter/package-info.java     |    2 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |   24 +-
 .../sis/referencing/AbstractReferenceSystem.java   |    4 +-
 .../apache/sis/referencing/AuthorityFactories.java |   12 +-
 .../main/org/apache/sis/referencing/Builder.java   |    4 +-
 .../main/org/apache/sis/referencing/CRS.java       |   18 +-
 .../main/org/apache/sis/referencing/CommonCRS.java |   18 +-
 .../sis/referencing/EPSGFactoryFallback.java       |   12 +-
 .../referencing/EllipsoidalHeightSeparator.java    |   10 +-
 .../sis/referencing/GeodesicsOnEllipsoid.java      |    4 +-
 .../apache/sis/referencing/GeodeticCalculator.java |   24 +-
 .../apache/sis/referencing/IdentifiedObjects.java  |   14 +-
 .../sis/referencing/ImmutableIdentifier.java       |    8 +-
 .../org/apache/sis/referencing/NameIterator.java   |   10 +-
 .../apache/sis/referencing/NamedIdentifier.java    |    4 +-
 .../org/apache/sis/referencing/Properties.java     |    4 +-
 .../sis/referencing/PropertiesConverter.java       |    2 +-
 .../sis/referencing/StandardDefinitions.java       |   14 +-
 .../apache/sis/referencing/crs/AbstractCRS.java    |    8 +-
 .../sis/referencing/crs/AbstractDerivedCRS.java    |   10 +-
 .../sis/referencing/crs/DefaultCompoundCRS.java    |   12 +-
 .../sis/referencing/crs/DefaultDerivedCRS.java     |   12 +-
 .../sis/referencing/crs/DefaultEngineeringCRS.java |    6 +-
 .../sis/referencing/crs/DefaultGeodeticCRS.java    |   12 +-
 .../sis/referencing/crs/DefaultGeographicCRS.java  |   10 +-
 .../sis/referencing/crs/DefaultImageCRS.java       |    4 +-
 .../sis/referencing/crs/DefaultParametricCRS.java  |    4 +-
 .../sis/referencing/crs/DefaultProjectedCRS.java   |   10 +-
 .../sis/referencing/crs/DefaultTemporalCRS.java    |    8 +-
 .../sis/referencing/crs/DefaultVerticalCRS.java    |    4 +-
 .../sis/referencing/crs/ExplicitParameters.java    |    6 +-
 .../sis/referencing/crs/SC_GeographicCRS.java      |    4 +-
 .../apache/sis/referencing/crs/package-info.java   |    4 +-
 .../org/apache/sis/referencing/cs/AbstractCS.java  |   14 +-
 .../apache/sis/referencing/cs/AxesConvention.java  |    2 +-
 .../main/org/apache/sis/referencing/cs/Codes.java  |    4 +-
 .../sis/referencing/cs/CoordinateSystems.java      |    8 +-
 .../apache/sis/referencing/cs/DefaultAffineCS.java |    2 +-
 .../sis/referencing/cs/DefaultCartesianCS.java     |    2 +-
 .../sis/referencing/cs/DefaultCompoundCS.java      |    4 +-
 .../cs/DefaultCoordinateSystemAxis.java            |   14 +-
 .../sis/referencing/cs/DefaultCylindricalCS.java   |    2 +-
 .../sis/referencing/cs/DefaultEllipsoidalCS.java   |    4 +-
 .../apache/sis/referencing/cs/DefaultLinearCS.java |    2 +-
 .../apache/sis/referencing/cs/DefaultPolarCS.java  |    2 +-
 .../sis/referencing/cs/DefaultSphericalCS.java     |    2 +-
 .../apache/sis/referencing/cs/DefaultTimeCS.java   |    2 +-
 .../sis/referencing/cs/DefaultVerticalCS.java      |    2 +-
 .../sis/referencing/cs/DirectionAlongMeridian.java |    6 +-
 .../org/apache/sis/referencing/cs/Normalizer.java  |    8 +-
 .../apache/sis/referencing/cs/package-info.java    |    4 +-
 .../sis/referencing/datum/AbstractDatum.java       |    8 +-
 .../sis/referencing/datum/BursaWolfParameters.java |    6 +-
 .../sis/referencing/datum/DatumShiftGrid.java      |    4 +-
 .../sis/referencing/datum/DefaultEllipsoid.java    |   16 +-
 .../referencing/datum/DefaultEngineeringDatum.java |    2 +-
 .../referencing/datum/DefaultGeodeticDatum.java    |   18 +-
 .../sis/referencing/datum/DefaultImageDatum.java   |    4 +-
 .../referencing/datum/DefaultParametricDatum.java  |    2 +-
 .../referencing/datum/DefaultPrimeMeridian.java    |   16 +-
 .../referencing/datum/DefaultTemporalDatum.java    |    6 +-
 .../referencing/datum/DefaultVerticalDatum.java    |   10 +-
 .../sis/referencing/datum/TimeDependentBWP.java    |    4 +-
 .../apache/sis/referencing/datum/package-info.java |   10 +-
 .../factory/AuthorityFactoryIdentifier.java        |   12 +-
 .../referencing/factory/AuthorityFactoryProxy.java |    2 +-
 .../referencing/factory/CommonAuthorityCode.java   |    4 +-
 .../factory/CommonAuthorityFactory.java            |    8 +-
 .../factory/ConcurrentAuthorityFactory.java        |   16 +-
 .../sis/referencing/factory/FilteredCodes.java     |    2 +-
 .../factory/GeodeticAuthorityFactory.java          |    6 +-
 .../referencing/factory/GeodeticObjectFactory.java |    8 +-
 .../factory/IdentifiedObjectFinder.java            |    4 +-
 .../factory/LazySynchronizedIterator.java          |    2 +-
 .../factory/MultiAuthoritiesFactory.java           |   16 +-
 .../sis/referencing/factory/ReferenceKeeper.java   |    8 +-
 .../referencing/factory/sql/AuthorityCodes.java    |    2 +-
 .../sis/referencing/factory/sql/BursaWolfInfo.java |    2 +-
 .../factory/sql/CloseableReference.java            |    2 +-
 .../referencing/factory/sql/EPSGCodeFinder.java    |   10 +-
 .../referencing/factory/sql/EPSGDataAccess.java    |   42 +-
 .../sis/referencing/factory/sql/EPSGFactory.java   |   12 +-
 .../sis/referencing/factory/sql/EPSGInstaller.java |   10 +-
 .../factory/sql/InstallationScriptProvider.java    |   10 +-
 .../sis/referencing/factory/sql/SQLTranslator.java |    6 +-
 .../sis/referencing/factory/sql/TableInfo.java     |    2 +-
 .../sis/referencing/internal/AnnotatedMatrix.java  |  141 +
 .../sis/referencing/internal/Arithmetic.java       |  295 ++
 .../sis/referencing/internal/DatabaseListener.java |   71 +
 .../internal/DeferredCoordinateOperation.java      |   72 +
 .../sis/referencing/internal/DeprecatedCode.java   |   99 +
 .../sis/referencing/internal/DeprecatedName.java   |   91 +
 .../sis/referencing/internal/EPSGFactoryProxy.java |   74 +
 .../referencing/internal/EPSGFactoryProxyCOP.java  |   59 +
 .../referencing/internal/EPSGFactoryProxyCRS.java  |  109 +
 .../referencing/internal/EPSGFactoryProxyCS.java   |  107 +
 .../internal/EPSGFactoryProxyDatum.java            |   95 +
 .../referencing/internal/EPSGParameterDomain.java  |   55 +
 .../apache/sis/referencing/internal/Legacy.java    |  121 +
 .../sis/referencing/internal/MergedProperties.java |  114 +
 .../referencing/internal/PositionTransformer.java  |  267 ++
 .../apache/sis/referencing/internal/RTreeNode.java |  361 ++
 .../sis/referencing/internal/ReferencingTypes.java |   76 +
 .../apache/sis/referencing/internal/Resources.java |  785 +++++
 .../sis/referencing/internal/Resources.properties  |  130 +
 .../sis/referencing/internal/Resources_en.java     |   30 +
 .../sis/referencing/internal/Resources_fr.java     |   30 +
 .../referencing/internal/Resources_fr.properties   |  135 +
 .../referencing/internal/ServicesForMetadata.java  |  540 +++
 .../referencing/internal/SignReversalComment.java  |   89 +
 .../referencing/internal/VerticalDatumTypes.java   |  237 ++
 .../sis/referencing/internal/package-info.java     |   30 +
 .../operation/AbstractCoordinateOperation.java     |   26 +-
 .../operation/AbstractSingleOperation.java         |   14 +-
 .../apache/sis/referencing/operation/CRSPair.java  |    4 +-
 .../operation/CoordinateOperationContext.java      |    4 +-
 .../operation/CoordinateOperationFinder.java       |   30 +-
 .../operation/CoordinateOperationRegistry.java     |   22 +-
 .../operation/DefaultConcatenatedOperation.java    |    6 +-
 .../referencing/operation/DefaultConversion.java   |    4 +-
 .../DefaultCoordinateOperationFactory.java         |   14 +-
 .../sis/referencing/operation/DefaultFormula.java  |    2 +-
 .../operation/DefaultOperationMethod.java          |   20 +-
 .../operation/DefaultPassThroughOperation.java     |    4 +-
 .../operation/InverseOperationMethod.java          |    6 +-
 .../operation/MathTransformContext.java            |    2 +-
 .../operation/builder/LinearTransformBuilder.java  |   12 +-
 .../operation/builder/LocalizationGridBuilder.java |    8 +-
 .../operation/builder/ResidualGrid.java            |    6 +-
 .../operation/matrix/AffineTransforms2D.java       |    6 +-
 .../operation/matrix/GeneralMatrix.java            |    8 +-
 .../sis/referencing/operation/matrix/Matrices.java |   12 +-
 .../sis/referencing/operation/matrix/Matrix1.java  |    2 +-
 .../sis/referencing/operation/matrix/Matrix2.java  |    2 +-
 .../referencing/operation/matrix/MatrixSIS.java    |    6 +-
 .../operation/matrix/NonSquareMatrix.java          |    2 +-
 .../sis/referencing/operation/matrix/Solver.java   |   12 +-
 .../operation/matrix/UnmodifiableMatrix.java       |    2 +-
 .../sis/referencing/operation/package-info.java    |   10 +-
 .../operation/projection/AlbersEqualArea.java      |    8 +-
 .../operation/projection/AuthalicConversion.java   |    4 +-
 .../operation/projection/AzimuthalEquidistant.java |    2 +-
 .../operation/projection/CassiniSoldner.java       |    6 +-
 .../operation/projection/ConformalProjection.java  |    4 +-
 .../operation/projection/CylindricalEqualArea.java |    8 +-
 .../operation/projection/Initializer.java          |    8 +-
 .../referencing/operation/projection/Inverter.java |    2 +-
 .../projection/LambertAzimuthalEqualArea.java      |    6 +-
 .../projection/LambertConicConformal.java          |   18 +-
 .../operation/projection/LongitudeWraparound.java  |    4 +-
 .../referencing/operation/projection/Mercator.java |   14 +-
 .../operation/projection/MeridianArcBased.java     |    2 +-
 .../projection/ModifiedAzimuthalEquidistant.java   |    2 +-
 .../operation/projection/Mollweide.java            |    4 +-
 .../operation/projection/NormalizedProjection.java |   14 +-
 .../operation/projection/ObliqueMercator.java      |    8 +-
 .../operation/projection/ObliqueStereographic.java |   10 +-
 .../operation/projection/Orthographic.java         |    2 +-
 .../operation/projection/PolarStereographic.java   |   14 +-
 .../operation/projection/Polyconic.java            |    4 +-
 .../operation/projection/SatelliteTracking.java    |   12 +-
 .../operation/projection/Sinusoidal.java           |    2 +-
 .../operation/projection/TransverseMercator.java   |    8 +-
 .../operation/projection/ZonedGridSystem.java      |    6 +-
 .../operation/provider/AbridgedMolodensky.java     |  120 +
 .../operation/provider/AbstractLambert.java        |   92 +
 .../operation/provider/AbstractMercator.java       |  111 +
 .../operation/provider/AbstractProvider.java       |  384 +++
 .../operation/provider/AbstractStereographic.java  |   96 +
 .../sis/referencing/operation/provider/Affine.java |  357 ++
 .../operation/provider/AlbersEqualArea.java        |  264 ++
 .../operation/provider/AxisOrderReversal.java      |  103 +
 .../operation/provider/AxisOrderReversal3D.java    |   51 +
 .../provider/AzimuthalEquidistantSpherical.java    |   74 +
 .../operation/provider/CassiniSoldner.java         |  183 ++
 .../provider/CoordinateFrameRotation.java          |   61 +
 .../provider/CoordinateFrameRotation2D.java        |   81 +
 .../provider/CoordinateFrameRotation3D.java        |   92 +
 .../provider/DatumShiftGridCompressed.java         |  270 ++
 .../operation/provider/DatumShiftGridFile.java     |  715 ++++
 .../operation/provider/DatumShiftGridGroup.java    |  312 ++
 .../operation/provider/DatumShiftGridLoader.java   |  249 ++
 .../operation/provider/DatumShiftMethod.java       |   72 +
 .../operation/provider/Description.java            |   54 +
 .../operation}/provider/Descriptions.properties    |    0
 .../referencing/operation/provider/EPSGName.java   |  124 +
 .../sis/referencing/operation/provider/ESRI.java   |  158 +
 .../operation/provider/Equirectangular.java        |  368 +++
 .../provider/FranceGeocentricInterpolation.java    |  598 ++++
 .../operation/provider/GeocentricAffine.java       |  494 +++
 .../GeocentricAffineBetweenGeographic.java         |  232 ++
 .../operation/provider/GeocentricToGeographic.java |  133 +
 .../provider/GeocentricToTopocentric.java          |  251 ++
 .../operation/provider/GeocentricTranslation.java  |   56 +
 .../provider/GeocentricTranslation2D.java          |   80 +
 .../provider/GeocentricTranslation3D.java          |   87 +
 .../operation/provider/GeodeticOperation.java      |  190 ++
 .../operation/provider/Geographic2Dto3D.java       |  120 +
 .../operation/provider/Geographic3Dto2D.java       |  194 ++
 .../operation}/provider/Geographic3DtoVertical.txt |    0
 .../provider/GeographicAndVerticalOffsets.java     |  115 +
 .../operation/provider/GeographicOffsets.java      |  183 ++
 .../operation/provider/GeographicOffsets2D.java    |   84 +
 .../operation/provider/GeographicRedimension.java  |   97 +
 .../operation/provider/GeographicToGeocentric.java |  200 ++
 .../provider/GeographicToTopocentric.java          |  166 +
 .../provider/HyperbolicCassiniSoldner.java         |   65 +
 .../operation/provider/Interpolation1D.java        |  114 +
 .../provider/LambertAzimuthalEqualArea.java        |  175 +
 .../LambertAzimuthalEqualAreaSpherical.java        |   76 +
 .../operation/provider/LambertConformal1SP.java    |  135 +
 .../operation/provider/LambertConformal2SP.java    |  259 ++
 .../provider/LambertConformalBelgium.java          |   74 +
 .../provider/LambertConformalMichigan.java         |   91 +
 .../operation/provider/LambertConformalWest.java   |  100 +
 .../provider/LambertCylindricalEqualArea.java      |  178 +
 .../LambertCylindricalEqualAreaSpherical.java      |   78 +
 .../operation/provider/LongitudeRotation.java      |  123 +
 .../operation/provider/MapProjection.java          |  415 +++
 .../operation/provider/MapProjection3D.java        |   94 +
 .../operation/provider/Mercator1SP.java            |  155 +
 .../operation/provider/Mercator2SP.java            |  157 +
 .../provider/MercatorAuxiliarySphere.java          |   84 +
 .../operation/provider/MercatorSpherical.java      |   84 +
 .../operation/provider/MillerCylindrical.java      |   82 +
 .../provider/ModifiedAzimuthalEquidistant.java     |  169 +
 .../referencing/operation/provider/Mollweide.java  |  126 +
 .../referencing/operation/provider/Molodensky.java |  348 ++
 .../provider/MolodenskyInterpolation.java          |  107 +
 .../sis/referencing/operation/provider/NADCON.java |  475 +++
 .../sis/referencing/operation/provider/NTv1.java   |   82 +
 .../sis/referencing/operation/provider/NTv2.java   |  682 ++++
 .../operation/provider/NorthPoleRotation.java      |  164 +
 .../operation/provider/ObliqueMercator.java        |  247 ++
 .../operation/provider/ObliqueMercatorCenter.java  |  140 +
 .../provider/ObliqueMercatorTwoPoints.java         |   89 +
 .../provider/ObliqueMercatorTwoPointsCenter.java   |   47 +
 .../operation/provider/ObliqueStereographic.java   |  138 +
 .../operation/provider/Orthographic.java           |  187 ++
 .../operation/provider/PolarStereographicA.java    |  211 ++
 .../operation/provider/PolarStereographicB.java    |  160 +
 .../operation/provider/PolarStereographicC.java    |  100 +
 .../provider/PolarStereographicNorth.java          |   70 +
 .../provider/PolarStereographicSouth.java          |   72 +
 .../referencing/operation/provider/Polyconic.java  |  150 +
 .../operation/provider/PositionVector7Param.java   |   60 +
 .../operation/provider/PositionVector7Param2D.java |   83 +
 .../operation/provider/PositionVector7Param3D.java |   90 +
 .../operation/provider/PseudoMercator.java         |   61 +
 .../operation/provider/PseudoPlateCarree.java      |   79 +
 .../operation/provider/PseudoSinusoidal.java       |   58 +
 .../operation/provider/RegionalMercator.java       |  150 +
 .../operation/provider/SatelliteTracking.java      |  207 ++
 .../referencing/operation/provider/Sinusoidal.java |  134 +
 .../operation/provider/SouthPoleRotation.java      |  175 +
 .../operation/provider/TransverseMercator.java     |  475 +++
 .../provider/TransverseMercatorSouth.java          |   94 +
 .../operation/provider/VerticalOffset.java         |  121 +
 .../referencing/operation/provider/Wraparound.java |  138 +
 .../provider/ZonedTransverseMercator.java          |  131 +
 .../operation/provider/package-info.java           |   31 +
 .../transform/AbstractLinearTransform.java         |    8 +-
 .../operation/transform/AbstractMathTransform.java |    8 +-
 .../transform/AbstractMathTransform2D.java         |    4 +-
 .../operation/transform/CartesianToPolar.java      |    2 +-
 .../operation/transform/ConcatenatedTransform.java |   10 +-
 .../operation/transform/ContextualParameter.java   |    2 +-
 .../operation/transform/ContextualParameters.java  |   16 +-
 .../transform/CoordinateSystemTransform.java       |    8 +-
 .../operation/transform/DatumShiftTransform.java   |    4 +-
 .../transform/DefaultMathTransformFactory.java     |   26 +-
 .../transform/EllipsoidToCentricTransform.java     |   28 +-
 .../transform/ExponentialTransform1D.java          |    2 +-
 .../operation/transform/IdentityTransform.java     |    2 +-
 .../transform/InterpolatedGeocentricTransform.java |    6 +-
 .../transform/InterpolatedMolodenskyTransform.java |    6 +-
 .../operation/transform/InterpolatedTransform.java |    6 +-
 .../operation/transform/LinearInterpolator1D.java  |    6 +-
 .../operation/transform/LinearTransform1D.java     |   10 +-
 .../transform/LogarithmicTransform1D.java          |    2 +-
 .../operation/transform/MathTransforms.java        |    6 +-
 .../operation/transform/MolodenskyFormula.java     |    4 +-
 .../operation/transform/MolodenskyTransform.java   |    4 +-
 .../operation/transform/OperationMethodSet.java    |    2 +-
 .../operation/transform/PassThroughTransform.java  |    8 +-
 .../operation/transform/PolarToCartesian.java      |    2 +-
 .../operation/transform/PoleRotation.java          |   10 +-
 .../operation/transform/PowerTransform1D.java      |    2 +-
 .../operation/transform/ProjectiveTransform.java   |   10 +-
 .../operation/transform/ProjectiveTransform2D.java |    4 +-
 .../operation/transform/ScaleTransform.java        |    6 +-
 .../transform/SpecializableTransform.java          |    4 +-
 .../operation/transform/TransformSeparator.java    |    6 +-
 .../operation/transform/TranslationTransform.java  |    6 +-
 .../operation/transform/UnitConversion.java        |    2 +-
 .../operation/transform/WraparoundTransform.java   |    6 +-
 .../org/apache/sis/referencing/package-info.java   |    8 +-
 .../apache/sis/referencing/util/AxesMapper.java    |  159 +
 .../sis/referencing/util/AxisDirections.java       |  853 +++++
 .../sis/referencing/util/CoordinateOperations.java |  345 ++
 .../sis/referencing/util/DefinitionVerifier.java   |  361 ++
 .../sis/referencing/util/DirectPositionView.java   |  155 +
 .../util/EllipsoidalHeightCombiner.java            |  230 ++
 .../referencing/util/ExtendedPrecisionMatrix.java  |  124 +
 .../sis/referencing/util/ExtentSelector.java       |  561 ++++
 .../org/apache/sis/referencing/util/Formulas.java  |  293 ++
 .../referencing/util/GeodeticObjectBuilder.java    |  676 ++++
 .../org/apache/sis/referencing/util/LazySet.java   |  252 ++
 .../referencing/util/MathTransformsOrFactory.java  |  140 +
 .../sis/referencing/util/NilReferencingObject.java |   79 +
 .../util/PositionalAccuracyConstant.java           |  249 ++
 .../util/ReferencingFactoryContainer.java          |  399 +++
 .../sis/referencing/util/ReferencingUtilities.java |  628 ++++
 .../sis/referencing/util/TemporalAccessor.java     |  140 +
 .../apache/sis/referencing/util/WKTKeywords.java   |  301 ++
 .../apache/sis/referencing/util/WKTUtilities.java  |  552 ++++
 .../sis/referencing/util/WraparoundApplicator.java |  224 ++
 .../sis/referencing/util/WraparoundAxesFinder.java |   85 +
 .../sis/referencing/util/j2d/AbstractShape.java    |   81 +
 .../sis/referencing/util/j2d/AffineMatrix.java     |  245 ++
 .../referencing/util/j2d/AffineTransform2D.java    |  492 +++
 .../apache/sis/referencing/util/j2d/Bezier.java    |  536 +++
 .../util/j2d/ImmutableAffineTransform.java         |  316 ++
 .../referencing/util/j2d/IntervalRectangle.java    |  575 ++++
 .../referencing/util/j2d/LinearTransform2D.java    |   41 +
 .../referencing/util/j2d/ParameterizedAffine.java  |  173 +
 .../sis/referencing/util/j2d/ShapeUtilities.java   |  429 +++
 .../org/apache/sis/referencing/util/j2d/Tile.java  |  684 ++++
 .../sis/referencing/util/j2d/TileOrganizer.java    |  568 ++++
 .../sis/referencing/util/j2d/package-info.java     |   32 +
 .../apache/sis/referencing/util/package-info.java  |   32 +
 .../sis/xml/bind/referencing/CC_Conversion.java    |  136 +
 .../bind/referencing/CC_CoordinateOperation.java   |  107 +
 .../referencing/CC_GeneralOperationParameter.java  |  488 +++
 .../bind/referencing/CC_GeneralParameterValue.java |  114 +
 .../xml/bind/referencing/CC_OperationMethod.java   |  241 ++
 .../bind/referencing/CC_OperationParameter.java    |  182 ++
 .../referencing/CC_OperationParameterGroup.java    |  220 ++
 .../sis/xml/bind/referencing/CD_Ellipsoid.java     |   94 +
 .../xml/bind/referencing/CD_EngineeringDatum.java  |   92 +
 .../sis/xml/bind/referencing/CD_GeodeticDatum.java |   94 +
 .../sis/xml/bind/referencing/CD_ImageDatum.java    |   92 +
 .../xml/bind/referencing/CD_ParametricDatum.java   |   92 +
 .../sis/xml/bind/referencing/CD_PixelInCell.java   |   46 +
 .../sis/xml/bind/referencing/CD_PrimeMeridian.java |   93 +
 .../sis/xml/bind/referencing/CD_TemporalDatum.java |   93 +
 .../sis/xml/bind/referencing/CD_VerticalDatum.java |   92 +
 .../xml/bind/referencing/CD_VerticalDatumType.java |   46 +
 .../sis/xml/bind/referencing/CS_AffineCS.java      |   92 +
 .../sis/xml/bind/referencing/CS_AxisDirection.java |   58 +
 .../sis/xml/bind/referencing/CS_CartesianCS.java   |   92 +
 .../xml/bind/referencing/CS_CoordinateSystem.java  |   92 +
 .../bind/referencing/CS_CoordinateSystemAxis.java  |   94 +
 .../sis/xml/bind/referencing/CS_CylindricalCS.java |   91 +
 .../sis/xml/bind/referencing/CS_EllipsoidalCS.java |   92 +
 .../sis/xml/bind/referencing/CS_LinearCS.java      |   91 +
 .../sis/xml/bind/referencing/CS_ParametricCS.java  |   91 +
 .../sis/xml/bind/referencing/CS_PolarCS.java       |   91 +
 .../sis/xml/bind/referencing/CS_RangeMeaning.java  |   58 +
 .../sis/xml/bind/referencing/CS_SphericalCS.java   |   91 +
 .../apache/sis/xml/bind/referencing/CS_TimeCS.java |   92 +
 .../sis/xml/bind/referencing/CS_UserDefinedCS.java |   91 +
 .../sis/xml/bind/referencing/CS_VerticalCS.java    |   92 +
 .../org/apache/sis/xml/bind/referencing/Code.java  |  254 ++
 .../sis/xml/bind/referencing/RS_Identifier.java    |   93 +
 .../apache/sis/xml/bind/referencing/SC_CRS.java    |  106 +
 .../xml/bind/referencing/SC_DerivedCRSType.java    |   93 +
 .../bind}/referencing/SC_GeographicCRS.txt         |    0
 .../sis/xml/bind/referencing/SC_SingleCRS.java     |  104 +
 .../sis/xml/bind/referencing/SC_VerticalCRS.java   |   89 +
 .../bind/referencing/SecondDefiningParameter.java  |  168 +
 .../sis/xml/bind/referencing/package-info.java     |   45 +
 .../org/apache/sis/geometry/EnvelopesTest.java     |    2 +-
 .../apache/sis/geometry/GeneralEnvelopeTest.java   |    2 +-
 .../org/apache/sis/geometry/TransformTestCase.java |    4 +-
 .../sis/geometry/WraparoundAdjustmentTest.java     |    2 +-
 .../CC_GeneralOperationParameterTest.java          |  355 --
 .../CC_OperationParameterGroupTest.java            |  234 --
 .../sis/internal/jaxb/referencing/CodeTest.java    |  143 -
 .../referencing/SecondDefiningParameterTest.java   |  117 -
 .../sis/internal/referencing/AxesMapperTest.java   |  102 -
 .../internal/referencing/AxisDirectionsTest.java   |  562 ----
 .../referencing/CoordinateOperationsTest.java      |   82 -
 .../referencing/DefinitionVerifierTest.java        |  109 -
 .../referencing/EllipsoidalHeightCombinerTest.java |  175 -
 .../internal/referencing/ExtentSelectorTest.java   |  211 --
 .../sis/internal/referencing/FormulasTest.java     |  144 -
 .../referencing/GeodeticObjectBuilderTest.java     |   66 -
 .../sis/internal/referencing/LazySetTest.java      |  122 -
 .../PositionalAccuracyConstantTest.java            |   71 -
 .../referencing/ReferencingUtilitiesTest.java      |  133 -
 .../referencing/ServicesForMetadataTest.java       |  234 --
 .../referencing/VerticalDatumTypesTest.java        |   73 -
 .../sis/internal/referencing/WKTKeywordsTest.java  |  100 -
 .../sis/internal/referencing/WKTUtilitiesTest.java |  105 -
 .../referencing/WraparoundApplicatorTest.java      |   49 -
 .../referencing/j2d/AbstractShapeTest.java         |   51 -
 .../referencing/j2d/ShapeUtilitiesExt.java         |  149 -
 .../referencing/j2d/ShapeUtilitiesTest.java        |  250 --
 .../referencing/j2d/ShapeUtilitiesViewer.java      |  269 --
 .../internal/referencing/provider/AffineTest.java  |  131 -
 .../provider/CoordinateFrameRotationTest.java      |   95 -
 .../provider/DatumShiftGridCompressedTest.java     |   51 -
 .../provider/DatumShiftGridFileTest.java           |  245 --
 .../referencing/provider/DatumShiftTestCase.java   |   75 -
 .../FranceGeocentricInterpolationTest.java         |  250 --
 .../provider/GeocentricTranslationTest.java        |  430 ---
 .../referencing/provider/Geographic3Dto2DTest.java |  148 -
 .../provider/GeographicOffsetsTest.java            |  148 -
 .../provider/LongitudeRotationTest.java            |   84 -
 .../referencing/provider/MapProjectionTest.java    |  154 -
 .../referencing/provider/MolodenskyTest.java       |   61 -
 .../internal/referencing/provider/NADCONTest.java  |  241 --
 .../internal/referencing/provider/NTv2Test.java    |  339 --
 .../provider/ParameterNameTableGenerator.java      |  324 --
 .../provider/PositionVector7ParamTest.java         |  149 -
 .../referencing/provider/ProviderMock.java         |   70 -
 .../referencing/provider/ProvidersTest.java        |  294 --
 .../referencing/provider/SeismicBinGridMock.java   |   69 -
 .../provider/TransverseMercatorTest.java           |   95 -
 .../test/org/apache/sis/io/wkt/FormatterTest.java  |    2 +-
 .../sis/io/wkt/GeodeticObjectParserTest.java       |    6 +-
 .../org/apache/sis/io/wkt/TransliteratorTest.java  |    2 +-
 .../test/org/apache/sis/io/wkt/WKTParserTest.java  |    4 +-
 .../DefaultParameterDescriptorGroupTest.java       |    2 +-
 .../parameter/DefaultParameterDescriptorTest.java  |    2 +-
 .../sis/parameter/DefaultParameterValueTest.java   |    2 +-
 .../sis/parameter/MapProjectionParametersTest.java |   18 +-
 .../apache/sis/parameter/TensorParametersTest.java |    4 +-
 .../org/apache/sis/parameter/TensorValuesTest.java |    8 +-
 .../referencing/AbstractIdentifiedObjectTest.java  |    6 +-
 .../org/apache/sis/referencing/Assertions.java     |    2 +-
 .../sis/referencing/AuthorityFactoriesTest.java    |    6 +-
 .../org/apache/sis/referencing/BuilderTest.java    |    4 +-
 .../test/org/apache/sis/referencing/CRSTest.java   |    2 +-
 .../org/apache/sis/referencing/CommonCRSTest.java  |    6 +-
 .../sis/referencing/GeodesicsOnEllipsoidTest.java  |    6 +-
 .../sis/referencing/GeodeticCalculatorTest.java    |    6 +-
 .../sis/referencing/GeodeticObjectVerifier.java    |    2 +-
 .../sis/referencing/ImmutableIdentifierTest.java   |    6 +-
 .../sis/referencing/StandardDefinitionsTest.java   |    4 +-
 .../sis/referencing/crs/DefaultDerivedCRSTest.java |    2 +-
 .../referencing/crs/DefaultGeocentricCRSTest.java  |    2 +-
 .../referencing/crs/DefaultProjectedCRSTest.java   |    6 +-
 .../referencing/crs/DefaultTemporalCRSTest.java    |    4 +-
 .../sis/referencing/cs/DefaultCompoundCSTest.java  |    2 +-
 .../referencing/cs/DefaultCylindricalCSTest.java   |    2 +-
 .../sis/referencing/cs/DefaultPolarCSTest.java     |    2 +-
 .../sis/referencing/cs/DefaultSphericalCSTest.java |    2 +-
 .../referencing/cs/DirectionAlongMeridianTest.java |    2 +-
 .../apache/sis/referencing/cs/HardCodedAxes.java   |    4 +-
 .../referencing/datum/DefaultEllipsoidTest.java    |    4 +-
 .../datum/DefaultGeodeticDatumTest.java            |    4 +-
 .../datum/DefaultPrimeMeridianTest.java            |    2 +-
 .../datum/DefaultTemporalDatumTest.java            |    2 +-
 .../datum/DefaultVerticalDatumTest.java            |    4 +-
 .../sis/referencing/datum/GeodeticDatumMock.java   |    2 +-
 .../sis/referencing/datum/HardCodedDatum.java      |    4 +-
 .../referencing/datum/TimeDependentBWPTest.java    |    2 +-
 .../referencing/factory/AuthorityFactoryMock.java  |    2 +-
 .../factory/CommonAuthorityFactoryTest.java        |    4 +-
 .../factory/MultiAuthoritiesFactoryTest.java       |    2 +-
 .../sis/referencing/factory/TestFactorySource.java |    4 +-
 .../referencing/factory/sql/EPSGFactoryTest.java   |    2 +-
 .../referencing/factory/sql/EPSGInstallerTest.java |    6 +-
 .../factory/sql/epsg/DataScriptFormatter.java      |    4 +-
 .../internal/ServicesForMetadataTest.java          |  234 ++
 .../internal/VerticalDatumTypesTest.java           |   73 +
 .../operation/CoordinateOperationFinderTest.java   |    8 +-
 .../operation/CoordinateOperationRegistryTest.java |    2 +-
 .../operation/DefaultConversionTest.java           |    4 +-
 .../DefaultCoordinateOperationFactoryTest.java     |    6 +-
 .../operation/DefaultTransformationTest.java       |    2 +-
 .../operation/HardCodedConversions.java            |   10 +-
 .../operation/SingleOperationMarshallingTest.java  |    4 +-
 .../operation/matrix/GeneralMatrixTest.java        |    2 +-
 .../referencing/operation/matrix/MatricesTest.java |    2 +-
 .../operation/matrix/MatrixTestCase.java           |    4 +-
 .../operation/projection/AlbersEqualAreaTest.java  |   16 +-
 .../projection/AuthalicConversionTest.java         |    4 +-
 .../projection/AzimuthalEquidistantTest.java       |    6 +-
 .../operation/projection/Benchmark.java            |    8 +-
 .../operation/projection/CassiniSoldnerTest.java   |    8 +-
 .../projection/ConformalProjectionTest.java        |    2 +-
 .../projection/CylindricalEqualAreaTest.java       |    6 +-
 .../operation/projection/EquirectangularTest.java  |    6 +-
 .../operation/projection/InitializerTest.java      |    4 +-
 .../projection/LambertAzimuthalEqualAreaTest.java  |   12 +-
 .../projection/LambertConicConformalTest.java      |   12 +-
 .../projection/MapProjectionTestCase.java          |    6 +-
 .../projection/MercatorMethodComparison.java       |    6 +-
 .../operation/projection/MercatorTest.java         |   18 +-
 .../operation/projection/MeridianArcTest.java      |    4 +-
 .../ModifiedAzimuthalEquidistantTest.java          |    4 +-
 .../operation/projection/MollweideTest.java        |    4 +-
 .../sis/referencing/operation/projection/NoOp.java |    2 +-
 .../projection/NormalizedProjectionTest.java       |    4 +-
 .../operation/projection/ObliqueMercatorTest.java  |    2 +-
 .../projection/ObliqueStereographicTest.java       |   10 +-
 .../operation/projection/OrthographicTest.java     |    6 +-
 .../projection/PolarStereographicTest.java         |   14 +-
 .../operation/projection/PolyconicTest.java        |    6 +-
 .../projection/ProjectionResultComparator.java     |    2 +-
 .../projection/SatelliteTrackingTest.java          |    4 +-
 .../operation/projection/SinusoidalTest.java       |    4 +-
 .../projection/TransverseMercatorTest.java         |   16 +-
 .../operation/projection/ZonedGridSystemTest.java  |    6 +-
 .../referencing/operation/provider/AffineTest.java |  131 +
 .../provider/CoordinateFrameRotationTest.java      |   95 +
 .../provider/DatumShiftGridCompressedTest.java     |   51 +
 .../operation/provider/DatumShiftGridFileTest.java |  245 ++
 .../operation/provider/DatumShiftTestCase.java     |   75 +
 .../FranceGeocentricInterpolationTest.java         |  250 ++
 .../operation}/provider/GR3DF-extract.txt          |    0
 .../provider/GeocentricTranslationTest.java        |  430 +++
 .../operation/provider/Geographic3Dto2DTest.java   |  148 +
 .../operation/provider/GeographicOffsetsTest.java  |  148 +
 .../operation/provider/LongitudeRotationTest.java  |   84 +
 .../operation/provider/MapProjectionTest.java      |  154 +
 .../operation/provider/MolodenskyTest.java         |   61 +
 .../referencing/operation/provider/NADCONTest.java |  241 ++
 .../operation}/provider/NTF_R93-extract.gsb        |  Bin
 .../referencing/operation/provider/NTv2Test.java   |  339 ++
 .../provider/ParameterNameTableGenerator.java      |  324 ++
 .../provider/PositionVector7ParamTest.java         |  149 +
 .../operation/provider/ProviderMock.java           |   70 +
 .../operation/provider/ProvidersTest.java          |  294 ++
 .../operation/provider/SeismicBinGridMock.java     |   69 +
 .../operation/provider/TransverseMercatorTest.java |   95 +
 .../operation}/provider/conus-extract.laa          |    0
 .../operation}/provider/conus-extract.loa          |    0
 .../transform/AbridgedMolodenskyTransformTest.java |    2 +-
 .../transform/ConcatenatedTransformTest.java       |    2 +-
 .../operation/transform/CoordinateDomain.java      |    2 +-
 .../operation/transform/CopyTransformTest.java     |    2 +-
 .../transform/DefaultMathTransformFactoryTest.java |    8 +-
 .../operation/transform/DomainDefinitionTest.java  |    2 +-
 .../transform/EllipsoidToCentricTransformTest.java |    4 +-
 .../InterpolatedGeocentricTransformTest.java       |    6 +-
 .../InterpolatedMolodenskyTransformTest.java       |    8 +-
 .../transform/InterpolatedTransformTest.java       |   12 +-
 .../operation/transform/LinearTransformTest.java   |    2 +-
 .../transform/MolodenskyTransformTest.java         |   14 +-
 .../transform/OperationMethodSetTest.java          |    2 +-
 .../operation/transform/PoleRotationTest.java      |    2 +-
 .../transform/ProjectiveTransformTest.java         |    8 +-
 .../operation/transform/ScaleTransformTest.java    |    2 +-
 .../transform/SpecializableTransformTest.java      |    2 +-
 .../transform/TranslationTransformTest.java        |    4 +-
 .../transform/WraparoundTransformTest.java         |    2 +-
 .../report/CoordinateOperationMethods.java         |   12 +-
 .../report/CoordinateReferenceSystems.java         |    4 +-
 .../sis/referencing/report/HTMLGenerator.java      |    2 +-
 .../sis/referencing/util/AxesMapperTest.java       |  102 +
 .../sis/referencing/util/AxisDirectionsTest.java   |  562 ++++
 .../referencing/util/CoordinateOperationsTest.java |   82 +
 .../referencing/util/DefinitionVerifierTest.java   |  109 +
 .../util/EllipsoidalHeightCombinerTest.java        |  175 +
 .../sis/referencing/util/ExtentSelectorTest.java   |  211 ++
 .../apache/sis/referencing/util/FormulasTest.java  |  144 +
 .../util/GeodeticObjectBuilderTest.java            |   66 +
 .../apache/sis/referencing/util/LazySetTest.java   |  122 +
 .../util/PositionalAccuracyConstantTest.java       |   71 +
 .../referencing/util/ReferencingUtilitiesTest.java |  133 +
 .../sis/referencing/util/WKTKeywordsTest.java      |  100 +
 .../sis/referencing/util/WKTUtilitiesTest.java     |  105 +
 .../referencing/util/WraparoundApplicatorTest.java |   49 +
 .../referencing/util/j2d/AbstractShapeTest.java    |   51 +
 .../referencing/util/j2d/ShapeUtilitiesExt.java    |  149 +
 .../referencing/util/j2d/ShapeUtilitiesTest.java   |  250 ++
 .../referencing/util/j2d/ShapeUtilitiesViewer.java |  269 ++
 .../sis/test/integration/ConsistencyTest.java      |    2 +-
 .../sis/test/integration/DatumShiftTest.java       |    8 +-
 .../apache/sis/test/integration/MetadataTest.java  |   10 +-
 .../sis/test/integration/MetadataVerticalTest.java |    2 +-
 .../org/apache/sis/test/widget/package-info.java   |    2 +-
 .../CC_GeneralOperationParameterTest.java          |  355 ++
 .../CC_OperationParameterGroupTest.java            |  234 ++
 .../apache/sis/xml/bind/referencing/CodeTest.java  |  143 +
 .../referencing/SecondDefiningParameterTest.java   |  117 +
 .../main/org/apache/sis/storage/landsat/Band.java  |    6 +-
 .../org/apache/sis/storage/landsat/BandGroup.java  |    6 +-
 .../apache/sis/storage/landsat/LandsatStore.java   |    8 +-
 .../sis/storage/landsat/LandsatStoreProvider.java  |    8 +-
 .../apache/sis/storage/landsat/MetadataReader.java |   20 +-
 .../main/module-info.java                          |    2 +-
 .../apache/sis/internal/geotiff/Compression.java   |  171 -
 .../org/apache/sis/internal/geotiff/Predictor.java |   66 -
 .../org/apache/sis/internal/geotiff/Resources.java |  308 --
 .../apache/sis/internal/geotiff/Resources_en.java  |   30 -
 .../apache/sis/internal/geotiff/Resources_fr.java  |   30 -
 .../sis/internal/geotiff/SchemaModifier.java       |  122 -
 .../apache/sis/internal/geotiff/package-info.java  |   30 -
 .../sis/internal/storage/inflater/CCITTRLE.java    |  274 --
 .../storage/inflater/CompressionChannel.java       |  161 -
 .../internal/storage/inflater/CopyFromBytes.java   |  415 ---
 .../storage/inflater/HorizontalPredictor.java      |  550 ----
 .../sis/internal/storage/inflater/Inflater.java    |  323 --
 .../apache/sis/internal/storage/inflater/LZW.java  |  481 ---
 .../sis/internal/storage/inflater/PackBits.java    |  144 -
 .../internal/storage/inflater/PixelChannel.java    |   54 -
 .../storage/inflater/PredictorChannel.java         |  142 -
 .../apache/sis/internal/storage/inflater/ZIP.java  |  112 -
 .../internal/storage/inflater/package-info.java    |   48 -
 .../org/apache/sis/storage/geotiff/CRSBuilder.java |   20 +-
 .../sis/storage/geotiff/CompressedSubset.java      |    6 +-
 .../org/apache/sis/storage/geotiff/DataCube.java   |   12 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |   22 +-
 .../apache/sis/storage/geotiff/GeoKeysLoader.java  |    2 +-
 .../org/apache/sis/storage/geotiff/GeoTIFF.java    |    2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |   16 +-
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |    8 +-
 .../sis/storage/geotiff/GridGeometryBuilder.java   |    6 +-
 .../sis/storage/geotiff/ImageFileDirectory.java    |   20 +-
 .../sis/storage/geotiff/ImageMetadataBuilder.java  |    6 +-
 .../sis/storage/geotiff/MultiResolutionImage.java  |    8 +-
 .../apache/sis/storage/geotiff/NativeMetadata.java |    6 +-
 .../org/apache/sis/storage/geotiff/Reader.java     |    4 +-
 .../sis/storage/geotiff/ReversedBitsChannel.java   |    2 +-
 .../main/org/apache/sis/storage/geotiff/Type.java  |    4 +-
 .../apache/sis/storage/geotiff/XMLMetadata.java    |    6 +-
 .../sis/storage/geotiff/inflater/CCITTRLE.java     |  274 ++
 .../geotiff/inflater/CompressionChannel.java       |  161 +
 .../storage/geotiff/inflater/CopyFromBytes.java    |  415 +++
 .../geotiff/inflater/HorizontalPredictor.java      |  550 ++++
 .../sis/storage/geotiff/inflater/Inflater.java     |  323 ++
 .../apache/sis/storage/geotiff/inflater/LZW.java   |  481 +++
 .../sis/storage/geotiff/inflater/PackBits.java     |  144 +
 .../sis/storage/geotiff/inflater/PixelChannel.java |   54 +
 .../storage/geotiff/inflater/PredictorChannel.java |  142 +
 .../apache/sis/storage/geotiff/inflater/ZIP.java   |  112 +
 .../sis/storage/geotiff/inflater/package-info.java |   48 +
 .../sis/storage/geotiff/internal/Compression.java  |  171 +
 .../sis/storage/geotiff/internal/Predictor.java    |   66 +
 .../sis/storage/geotiff/internal/Resources.java    |  308 ++
 .../geotiff/internal}/Resources.properties         |    0
 .../sis/storage/geotiff/internal/Resources_en.java |   30 +
 .../sis/storage/geotiff/internal/Resources_fr.java |   30 +
 .../geotiff/internal}/Resources_fr.properties      |    0
 .../sis/storage/geotiff/internal/package-info.java |   30 +
 .../sis/storage/geotiff/spi/SchemaModifier.java    |  122 +
 .../sis/storage/geotiff/spi/package-info.java      |   25 +
 .../sis/internal/geotiff/CompressionTest.java      |   48 -
 .../internal/storage/inflater/CCITTRLETest.java    |  575 ----
 .../internal/storage/inflater/InflaterTest.java    |   69 -
 .../apache/sis/storage/geotiff/GeoIdentifiers.java |    2 +-
 .../apache/sis/storage/geotiff/GeoKeysTest.java    |    6 +-
 .../org/apache/sis/storage/geotiff/TypeTest.java   |    2 +-
 .../sis/storage/geotiff/XMLMetadataTest.java       |    4 +-
 .../sis/storage/geotiff/inflater/CCITTRLETest.java |  575 ++++
 .../sis/storage/geotiff/inflater/InflaterTest.java |   69 +
 .../storage/geotiff/internal/CompressionTest.java  |   48 +
 .../main/module-info.java                          |    4 +-
 .../main/org/apache/sis/internal/netcdf/Axis.java  |  953 ------
 .../org/apache/sis/internal/netcdf/AxisType.java   |  196 --
 .../org/apache/sis/internal/netcdf/CRSBuilder.java | 1065 ------
 .../org/apache/sis/internal/netcdf/CRSMerger.java  |   75 -
 .../org/apache/sis/internal/netcdf/Convention.java |  796 -----
 .../org/apache/sis/internal/netcdf/DataType.java   |  234 --
 .../org/apache/sis/internal/netcdf/Decoder.java    |  535 ---
 .../org/apache/sis/internal/netcdf/Dimension.java  |  121 -
 .../sis/internal/netcdf/DiscreteSampling.java      |   99 -
 .../org/apache/sis/internal/netcdf/FeatureSet.java |  955 ------
 .../main/org/apache/sis/internal/netcdf/Grid.java  |  570 ----
 .../apache/sis/internal/netcdf/GridAdjustment.java |  204 --
 .../apache/sis/internal/netcdf/GridCacheKey.java   |  256 --
 .../apache/sis/internal/netcdf/GridCacheValue.java |   91 -
 .../apache/sis/internal/netcdf/GridMapping.java    |  675 ----
 .../main/org/apache/sis/internal/netcdf/HYCOM.java |  127 -
 .../org/apache/sis/internal/netcdf/Linearizer.java |  381 ---
 .../apache/sis/internal/netcdf/NamedElement.java   |  130 -
 .../main/org/apache/sis/internal/netcdf/Node.java  |  308 --
 .../org/apache/sis/internal/netcdf/Raster.java     |  107 -
 .../apache/sis/internal/netcdf/RasterResource.java |  780 -----
 .../org/apache/sis/internal/netcdf/Resources.java  |  323 --
 .../sis/internal/netcdf/Resources.properties       |   47 -
 .../apache/sis/internal/netcdf/Resources_en.java   |   30 -
 .../apache/sis/internal/netcdf/Resources_fr.java   |   30 -
 .../sis/internal/netcdf/Resources_fr.properties    |   52 -
 .../org/apache/sis/internal/netcdf/Variable.java   | 1319 --------
 .../apache/sis/internal/netcdf/VariableRole.java   |   74 -
 .../sis/internal/netcdf/impl/ChannelDecoder.java   | 1091 -------
 .../sis/internal/netcdf/impl/DimensionInfo.java    |   88 -
 .../apache/sis/internal/netcdf/impl/GridInfo.java  |  245 --
 .../sis/internal/netcdf/impl/VariableInfo.java     |  853 -----
 .../sis/internal/netcdf/impl/package-info.java     |   36 -
 .../apache/sis/internal/netcdf/package-info.java   |   44 -
 .../sis/internal/netcdf/ucar/DecoderWrapper.java   |  690 ----
 .../sis/internal/netcdf/ucar/DimensionWrapper.java |  157 -
 .../sis/internal/netcdf/ucar/FeaturesWrapper.java  |   75 -
 .../sis/internal/netcdf/ucar/GridWrapper.java      |  315 --
 .../sis/internal/netcdf/ucar/GroupWrapper.java     |   79 -
 .../sis/internal/netcdf/ucar/LogAdapter.java       |  123 -
 .../org/apache/sis/internal/netcdf/ucar/Utils.java |   85 -
 .../sis/internal/netcdf/ucar/VariableWrapper.java  |  636 ----
 .../sis/internal/netcdf/ucar/package-info.java     |   26 -
 .../apache/sis/storage/netcdf/MetadataReader.java  |   32 +-
 .../org/apache/sis/storage/netcdf/NetcdfStore.java |   10 +-
 .../sis/storage/netcdf/NetcdfStoreProvider.java    |   24 +-
 .../org/apache/sis/storage/netcdf/base/Axis.java   |  954 ++++++
 .../apache/sis/storage/netcdf/base/AxisType.java   |  196 ++
 .../apache/sis/storage/netcdf/base/CRSBuilder.java | 1066 ++++++
 .../apache/sis/storage/netcdf/base/CRSMerger.java  |   75 +
 .../apache/sis/storage/netcdf/base/Convention.java |  796 +++++
 .../apache/sis/storage/netcdf/base/DataType.java   |  234 ++
 .../apache/sis/storage/netcdf/base/Decoder.java    |  536 +++
 .../apache/sis/storage/netcdf/base/Dimension.java  |  121 +
 .../sis/storage/netcdf/base/DiscreteSampling.java  |   99 +
 .../apache/sis/storage/netcdf/base/FeatureSet.java |  956 ++++++
 .../org/apache/sis/storage/netcdf/base/Grid.java   |  571 ++++
 .../sis/storage/netcdf/base/GridAdjustment.java    |  204 ++
 .../sis/storage/netcdf/base/GridCacheKey.java      |  256 ++
 .../sis/storage/netcdf/base/GridCacheValue.java    |   91 +
 .../sis/storage/netcdf/base/GridMapping.java       |  676 ++++
 .../org/apache/sis/storage/netcdf/base/HYCOM.java  |  127 +
 .../apache/sis/storage/netcdf/base/Linearizer.java |  381 +++
 .../sis/storage/netcdf/base/NamedElement.java      |  131 +
 .../org/apache/sis/storage/netcdf/base/Node.java   |  309 ++
 .../org/apache/sis/storage/netcdf/base/Raster.java |  107 +
 .../sis/storage/netcdf/base/RasterResource.java    |  781 +++++
 .../apache/sis/storage/netcdf/base/Variable.java   | 1320 ++++++++
 .../sis/storage/netcdf/base/VariableRole.java      |   74 +
 .../sis/storage/netcdf/base/package-info.java      |   44 +
 .../sis/storage/netcdf/classic/ChannelDecoder.java | 1091 +++++++
 .../sis/storage/netcdf/classic/DimensionInfo.java  |   88 +
 .../sis/storage/netcdf/classic/GridInfo.java       |  245 ++
 .../sis/storage/netcdf/classic/VariableInfo.java   |  853 +++++
 .../sis/storage/netcdf/classic/package-info.java   |   36 +
 .../sis/storage/netcdf/internal/Resources.java     |  356 ++
 .../storage/netcdf/internal/Resources.properties   |   48 +
 .../sis/storage/netcdf/internal/Resources_en.java  |   30 +
 .../sis/storage/netcdf/internal/Resources_fr.java  |   30 +
 .../netcdf/internal/Resources_fr.properties        |   53 +
 .../sis/storage/netcdf/internal/package-info.java  |   30 +
 .../sis/storage/netcdf/ucar/DecoderWrapper.java    |  690 ++++
 .../sis/storage/netcdf/ucar/DimensionWrapper.java  |  157 +
 .../sis/storage/netcdf/ucar/FeaturesWrapper.java   |   75 +
 .../sis/storage/netcdf/ucar/GridWrapper.java       |  315 ++
 .../sis/storage/netcdf/ucar/GroupWrapper.java      |   79 +
 .../apache/sis/storage/netcdf/ucar/LogAdapter.java |  123 +
 .../org/apache/sis/storage/netcdf/ucar/Utils.java  |   85 +
 .../sis/storage/netcdf/ucar/VariableWrapper.java   |  636 ++++
 .../sis/storage/netcdf/ucar/package-info.java      |   26 +
 .../org/apache/sis/internal/netcdf/AxisTest.java   |   54 -
 .../apache/sis/internal/netcdf/DataTypeTest.java   |  130 -
 .../apache/sis/internal/netcdf/DecoderTest.java    |  132 -
 .../apache/sis/internal/netcdf/FeatureSetTest.java |  215 --
 .../org/apache/sis/internal/netcdf/GridTest.java   |  170 -
 .../org/apache/sis/internal/netcdf/TestCase.java   |  254 --
 .../apache/sis/internal/netcdf/VariableTest.java   |  325 --
 .../internal/netcdf/impl/ChannelDecoderTest.java   |   80 -
 .../sis/internal/netcdf/impl/FeatureSetTest.java   |   52 -
 .../sis/internal/netcdf/impl/GridInfoTest.java     |   78 -
 .../sis/internal/netcdf/impl/VariableInfoTest.java |   55 -
 .../sis/storage/netcdf/MetadataReaderTest.java     |    8 +-
 .../storage/netcdf/NetcdfStoreProviderTest.java    |   10 +-
 .../apache/sis/storage/netcdf/base/AxisTest.java   |   54 +
 .../sis/storage/netcdf/base/DataTypeTest.java      |  130 +
 .../sis/storage/netcdf/base/DecoderTest.java       |  132 +
 .../sis/storage/netcdf/base/FeatureSetTest.java    |  215 ++
 .../apache/sis/storage/netcdf/base/GridTest.java   |  170 +
 .../apache/sis/storage/netcdf/base/TestCase.java   |  254 ++
 .../sis/storage/netcdf/base/VariableTest.java      |  325 ++
 .../storage/netcdf/classic/ChannelDecoderTest.java |   80 +
 .../sis/storage/netcdf/classic/FeatureSetTest.java |   52 +
 .../sis/storage/netcdf/classic/GridInfoTest.java   |   78 +
 .../storage/netcdf/classic/VariableInfoTest.java   |   55 +
 .../apache/sis/internal/sql/feature/Analyzer.java  |  279 --
 .../sis/internal/sql/feature/BinaryEncoding.java   |  137 -
 .../apache/sis/internal/sql/feature/Column.java    |  306 --
 .../apache/sis/internal/sql/feature/Database.java  |  787 -----
 .../sis/internal/sql/feature/FeatureAdapter.java   |  376 ---
 .../sis/internal/sql/feature/FeatureAnalyzer.java  |  414 ---
 .../sis/internal/sql/feature/FeatureIterator.java  |  354 --
 .../sis/internal/sql/feature/FeatureStream.java    |  419 ---
 .../sis/internal/sql/feature/GeometryGetter.java   |  125 -
 .../sis/internal/sql/feature/InfoStatements.java   |  577 ----
 .../sis/internal/sql/feature/PrimaryKey.java       |  110 -
 .../sis/internal/sql/feature/QueryAnalyzer.java    |  185 --
 .../apache/sis/internal/sql/feature/Relation.java  |  471 ---
 .../apache/sis/internal/sql/feature/Resources.java |  265 --
 .../sis/internal/sql/feature/Resources_en.java     |   30 -
 .../sis/internal/sql/feature/Resources_fr.java     |   30 -
 .../sis/internal/sql/feature/SchemaModifier.java   |   77 -
 .../sis/internal/sql/feature/SelectionClause.java  |  175 -
 .../sql/feature/SelectionClauseWriter.java         |  409 ---
 .../org/apache/sis/internal/sql/feature/Table.java |  484 ---
 .../sis/internal/sql/feature/TableAnalyzer.java    |  202 --
 .../sis/internal/sql/feature/TableReference.java   |  173 -
 .../sis/internal/sql/feature/ValueGetter.java      |  519 ---
 .../sis/internal/sql/feature/package-info.java     |   37 -
 .../org/apache/sis/internal/sql/postgis/Band.java  |  340 --
 .../internal/sql/postgis/ExtendedClauseWriter.java |   67 -
 .../sis/internal/sql/postgis/ExtendedInfo.java     |  105 -
 .../sis/internal/sql/postgis/ExtentEstimator.java  |  153 -
 .../sis/internal/sql/postgis/ObjectGetter.java     |   75 -
 .../apache/sis/internal/sql/postgis/Postgres.java  |  232 --
 .../sis/internal/sql/postgis/RasterFormat.java     |   68 -
 .../sis/internal/sql/postgis/RasterGetter.java     |   89 -
 .../sis/internal/sql/postgis/RasterReader.java     |  409 ---
 .../sis/internal/sql/postgis/RasterWriter.java     |  312 --
 .../sis/internal/sql/postgis/package-info.java     |   30 -
 .../sis/internal/stream/BaseStreamWrapper.java     |   96 -
 .../apache/sis/internal/stream/DeferredStream.java |  167 -
 .../sis/internal/stream/DoubleStreamWrapper.java   |  284 --
 .../sis/internal/stream/PaginedDoubleStream.java   |  101 -
 .../apache/sis/internal/stream/PaginedStream.java  |  112 -
 .../apache/sis/internal/stream/StreamWrapper.java  |  318 --
 .../apache/sis/internal/stream/package-info.java   |   33 -
 .../apache/sis/storage/sql/ResourceDefinition.java |    2 +-
 .../main/org/apache/sis/storage/sql/SQLStore.java  |   10 +-
 .../apache/sis/storage/sql/SQLStoreProvider.java   |    8 +-
 .../apache/sis/storage/sql/feature/Analyzer.java   |  279 ++
 .../sis/storage/sql/feature/BinaryEncoding.java    |  137 +
 .../org/apache/sis/storage/sql/feature/Column.java |  306 ++
 .../apache/sis/storage/sql/feature/Database.java   |  787 +++++
 .../sis/storage/sql/feature/FeatureAdapter.java    |  376 +++
 .../sis/storage/sql/feature/FeatureAnalyzer.java   |  414 +++
 .../sis/storage/sql/feature/FeatureIterator.java   |  354 ++
 .../sis/storage/sql/feature/FeatureStream.java     |  419 +++
 .../sis/storage/sql/feature/GeometryGetter.java    |  125 +
 .../sis/storage/sql/feature/InfoStatements.java    |  577 ++++
 .../apache/sis/storage/sql/feature/PrimaryKey.java |  110 +
 .../sis/storage/sql/feature/QueryAnalyzer.java     |  185 ++
 .../apache/sis/storage/sql/feature/Relation.java   |  471 +++
 .../apache/sis/storage/sql/feature/Resources.java  |  265 ++
 .../sql/feature/Resources.properties               |    0
 .../sis/storage/sql/feature/Resources_en.java      |   30 +
 .../sis/storage/sql/feature/Resources_fr.java      |   30 +
 .../sql/feature/Resources_fr.properties            |    0
 .../sis/storage/sql/feature/SchemaModifier.java    |   77 +
 .../sis/storage/sql/feature/SelectionClause.java   |  175 +
 .../storage/sql/feature/SelectionClauseWriter.java |  409 +++
 .../org/apache/sis/storage/sql/feature/Table.java  |  484 +++
 .../sis/storage/sql/feature/TableAnalyzer.java     |  202 ++
 .../sis/storage/sql/feature/TableReference.java    |  173 +
 .../sis/storage/sql/feature/ValueGetter.java       |  519 +++
 .../sis/storage/sql/feature/package-info.java      |   37 +
 .../org/apache/sis/storage/sql/postgis/Band.java   |  340 ++
 .../storage/sql/postgis/ExtendedClauseWriter.java  |   67 +
 .../sis/storage/sql/postgis/ExtendedInfo.java      |  105 +
 .../sis/storage/sql/postgis/ExtentEstimator.java   |  153 +
 .../sis/storage/sql/postgis/ObjectGetter.java      |   75 +
 .../apache/sis/storage/sql/postgis/Postgres.java   |  232 ++
 .../sis/storage/sql/postgis/RasterFormat.java      |   68 +
 .../sis/storage/sql/postgis/RasterGetter.java      |   89 +
 .../sis/storage/sql/postgis/RasterReader.java      |  409 +++
 .../sis/storage/sql/postgis/RasterWriter.java      |  312 ++
 .../sis/storage/sql/postgis/package-info.java      |   30 +
 .../apache/sis/util/stream/BaseStreamWrapper.java  |   96 +
 .../org/apache/sis/util/stream/DeferredStream.java |  167 +
 .../sis/util/stream/DoubleStreamWrapper.java       |  284 ++
 .../sis/util/stream/PaginedDoubleStream.java       |  101 +
 .../org/apache/sis/util/stream/PaginedStream.java  |  112 +
 .../org/apache/sis/util/stream/StreamWrapper.java  |  318 ++
 .../org/apache/sis/util/stream/package-info.java   |   33 +
 .../internal/sql/feature/GeometryGetterTest.java   |  178 -
 .../sis/internal/sql/feature/ResultSetMock.java    |   67 -
 .../sql/feature/SelectionClauseWriterTest.java     |  149 -
 .../sql/feature/TemporalValueGetterTest.java       |  238 --
 .../apache/sis/internal/sql/postgis/BandTest.java  |   70 -
 .../sis/internal/sql/postgis/PostgresTest.java     |  234 --
 .../sis/internal/sql/postgis/RasterReaderTest.java |   85 -
 .../sis/internal/sql/postgis/RasterWriterTest.java |   71 -
 .../sis/internal/sql/postgis/TestRaster.java       |  150 -
 .../org/apache/sis/storage/sql/SQLStoreTest.java   |    6 +-
 .../storage/sql/feature/GeometryGetterTest.java    |  178 +
 .../sis/storage/sql/feature/ResultSetMock.java     |   67 +
 .../sql/feature/SelectionClauseWriterTest.java     |  149 +
 .../sql/feature/TemporalValueGetterTest.java       |  238 ++
 .../apache/sis/storage/sql/postgis/BandTest.java   |   70 +
 .../sis/storage/sql/postgis/PostgresTest.java      |  234 ++
 .../sis/storage/sql/postgis/RasterReaderTest.java  |   85 +
 .../sis/storage/sql/postgis/RasterWriterTest.java  |   71 +
 .../sql/postgis/SpatialFeatures.sql                |    0
 .../apache/sis/storage/sql/postgis/TestRaster.java |  150 +
 .../sql/postgis/raster-ushort.wkb                  |  Bin
 .../org.apache.sis.storage.DataStoreProvider       |    2 +-
 .../main/module-info.java                          |    6 +-
 .../sis/internal/storage/gpx/Attributes.java       |   49 -
 .../apache/sis/internal/storage/gpx/Bounds.java    |  131 -
 .../apache/sis/internal/storage/gpx/Copyright.java |  401 ---
 .../sis/internal/storage/gpx/Description.java      |   62 -
 .../org/apache/sis/internal/storage/gpx/Email.java |   78 -
 .../org/apache/sis/internal/storage/gpx/Link.java  |  236 --
 .../apache/sis/internal/storage/gpx/Metadata.java  |  550 ----
 .../apache/sis/internal/storage/gpx/Person.java    |  356 --
 .../apache/sis/internal/storage/gpx/Reader.java    |  622 ----
 .../org/apache/sis/internal/storage/gpx/Store.java |  272 --
 .../sis/internal/storage/gpx/StoreProvider.java    |  129 -
 .../org/apache/sis/internal/storage/gpx/Tags.java  |   95 -
 .../org/apache/sis/internal/storage/gpx/Types.java |  329 --
 .../apache/sis/internal/storage/gpx/Updater.java   |   88 -
 .../sis/internal/storage/gpx/WritableStore.java    |  181 -
 .../apache/sis/internal/storage/gpx/Writer.java    |  264 --
 .../sis/internal/storage/gpx/package-info.java     |   79 -
 .../storage/xml/stream/FormattedWriter.java        |  190 --
 .../sis/internal/storage/xml/stream/InputType.java |  152 -
 .../storage/xml/stream/NamespaceEraser.java        |  148 -
 .../internal/storage/xml/stream/OutputType.java    |  187 --
 .../storage/xml/stream/RewriteOnUpdate.java        |  282 --
 .../internal/storage/xml/stream/StaxDataStore.java |  624 ----
 .../storage/xml/stream/StaxDataStoreProvider.java  |   85 -
 .../internal/storage/xml/stream/StaxStreamIO.java  |  113 -
 .../storage/xml/stream/StaxStreamReader.java       |  564 ----
 .../storage/xml/stream/StaxStreamWriter.java       |  340 --
 .../internal/storage/xml/stream/package-info.java  |   30 -
 .../org/apache/sis/storage/gpx/Attributes.java     |   49 +
 .../main/org/apache/sis/storage/gpx/Bounds.java    |  131 +
 .../main/org/apache/sis/storage/gpx/Copyright.java |  401 +++
 .../storage/gpx/Definitions.properties             |    0
 .../storage/gpx/Definitions_fr.properties          |    0
 .../org/apache/sis/storage/gpx/Description.java    |   62 +
 .../storage/gpx/Designations.properties            |    0
 .../storage/gpx/Designations_fr.properties         |    0
 .../main/org/apache/sis/storage/gpx/Email.java     |   78 +
 .../main/org/apache/sis/storage/gpx/Link.java      |  236 ++
 .../main/org/apache/sis/storage/gpx/Metadata.java  |  550 ++++
 .../main/org/apache/sis/storage/gpx/Person.java    |  356 ++
 .../main/org/apache/sis/storage/gpx/Reader.java    |  622 ++++
 .../main/org/apache/sis/storage/gpx/Store.java     |  272 ++
 .../org/apache/sis/storage/gpx/StoreProvider.java  |  129 +
 .../main/org/apache/sis/storage/gpx/Tags.java      |   95 +
 .../main/org/apache/sis/storage/gpx/Types.java     |  329 ++
 .../main/org/apache/sis/storage/gpx/Updater.java   |   88 +
 .../org/apache/sis/storage/gpx/WritableStore.java  |  181 +
 .../main/org/apache/sis/storage/gpx/Writer.java    |  264 ++
 .../org/apache/sis/storage/gpx/package-info.java   |   79 +
 .../sis/storage/xml/stream/FormattedWriter.java    |  190 ++
 .../apache/sis/storage/xml/stream/InputType.java   |  152 +
 .../sis/storage/xml/stream/NamespaceEraser.java    |  148 +
 .../apache/sis/storage/xml/stream/OutputType.java  |  187 ++
 .../sis/storage/xml/stream/RewriteOnUpdate.java    |  282 ++
 .../sis/storage/xml/stream/StaxDataStore.java      |  624 ++++
 .../storage/xml/stream/StaxDataStoreProvider.java  |   85 +
 .../sis/storage/xml/stream/StaxStreamIO.java       |  113 +
 .../sis/storage/xml/stream/StaxStreamReader.java   |  564 ++++
 .../sis/storage/xml/stream/StaxStreamWriter.java   |  340 ++
 .../sis/storage/xml/stream/package-info.java       |   30 +
 .../sis/internal/storage/gpx/MetadataTest.java     |  113 -
 .../sis/internal/storage/gpx/ReaderTest.java       |  643 ----
 .../apache/sis/internal/storage/gpx/TestData.java  |   91 -
 .../apache/sis/internal/storage/gpx/TypesTest.java |   84 -
 .../sis/internal/storage/gpx/UpdaterTest.java      |  188 --
 .../sis/internal/storage/gpx/WriterTest.java       |  398 ---
 .../{internal => }/storage/gpx/1.0/metadata.xml    |    0
 .../sis/{internal => }/storage/gpx/1.0/route.xml   |    0
 .../sis/{internal => }/storage/gpx/1.0/track.xml   |    0
 .../{internal => }/storage/gpx/1.0/waypoint.xml    |    0
 .../{internal => }/storage/gpx/1.1/metadata.xml    |    0
 .../sis/{internal => }/storage/gpx/1.1/route.xml   |    0
 .../sis/{internal => }/storage/gpx/1.1/track.xml   |    0
 .../{internal => }/storage/gpx/1.1/waypoint.xml    |    0
 .../org/apache/sis/storage/gpx/MetadataTest.java   |  113 +
 .../org/apache/sis/storage/gpx/ReaderTest.java     |  643 ++++
 .../test/org/apache/sis/storage/gpx/TestData.java  |   91 +
 .../test/org/apache/sis/storage/gpx/TypesTest.java |   84 +
 .../org/apache/sis/storage/gpx/UpdaterTest.java    |  188 ++
 .../org/apache/sis/storage/gpx/WriterTest.java     |  398 +++
 .../services/java.nio.file.spi.FileTypeDetector    |    2 +-
 .../org.apache.sis.storage.DataStoreProvider       |   14 +-
 .../org.apache.sis.storage/main/module-info.java   |   26 +-
 .../apache/sis/internal/storage/Capability.java    |  135 -
 .../org/apache/sis/internal/storage/CodeType.java  |  180 -
 .../internal/storage/DocumentedStoreProvider.java  |  109 -
 .../internal/storage/FeatureCatalogBuilder.java    |   84 -
 .../sis/internal/storage/GridResourceWrapper.java  |  257 --
 .../sis/internal/storage/MemoryFeatureSet.java     |   99 -
 .../sis/internal/storage/MemoryGridResource.java   |  189 --
 .../sis/internal/storage/MetadataBuilder.java      | 3440 -------------------
 .../apache/sis/internal/storage/PRJDataStore.java  |  519 ---
 .../sis/internal/storage/ResourceLineage.java      |  151 -
 .../sis/internal/storage/ResourceOnFileSystem.java |   73 -
 .../sis/internal/storage/ResourceTransaction.java  |   54 -
 .../org/apache/sis/internal/storage/Resources.java |  603 ----
 .../apache/sis/internal/storage/Resources_en.java  |   30 -
 .../apache/sis/internal/storage/Resources_fr.java  |   30 -
 .../apache/sis/internal/storage/StoreMetadata.java |  106 -
 .../apache/sis/internal/storage/StoreResource.java |   63 -
 .../sis/internal/storage/StoreTypeDetector.java    |   63 -
 .../sis/internal/storage/StoreUtilities.java       |  413 ---
 .../sis/internal/storage/TiledDeferredImage.java   |  109 -
 .../sis/internal/storage/TiledGridCoverage.java    |  890 -----
 .../sis/internal/storage/TiledGridResource.java    |  558 ----
 .../internal/storage/TransactionalResource.java    |   46 -
 .../apache/sis/internal/storage/URIDataStore.java  |  388 ---
 .../internal/storage/WritableResourceSupport.java  |  236 --
 .../sis/internal/storage/csv/FeatureIterator.java  |  263 --
 .../sis/internal/storage/csv/FixedSizeList.java    |   87 -
 .../apache/sis/internal/storage/csv/Foliation.java |   37 -
 .../sis/internal/storage/csv/GeometryParser.java   |   68 -
 .../internal/storage/csv/MovingFeatureBuilder.java |  298 --
 .../storage/csv/MovingFeatureIterator.java         |  169 -
 .../org/apache/sis/internal/storage/csv/Store.java |  858 -----
 .../sis/internal/storage/csv/StoreProvider.java    |  212 --
 .../sis/internal/storage/csv/TimeEncoding.java     |  114 -
 .../sis/internal/storage/csv/package-info.java     |   59 -
 .../sis/internal/storage/esri/AsciiGridStore.java  |  578 ----
 .../storage/esri/AsciiGridStoreProvider.java       |  154 -
 .../sis/internal/storage/esri/CharactersView.java  |  238 --
 .../sis/internal/storage/esri/RasterStore.java     |  520 ---
 .../sis/internal/storage/esri/RawRasterLayout.java |   47 -
 .../sis/internal/storage/esri/RawRasterReader.java |  263 --
 .../sis/internal/storage/esri/RawRasterStore.java  |  568 ----
 .../storage/esri/RawRasterStoreProvider.java       |  130 -
 .../sis/internal/storage/esri/WritableStore.java   |  314 --
 .../sis/internal/storage/esri/package-info.java    |   56 -
 .../internal/storage/folder/ConcurrentCloser.java  |  113 -
 .../apache/sis/internal/storage/folder/Store.java  |  458 ---
 .../sis/internal/storage/folder/StoreProvider.java |  300 --
 .../storage/folder/UnstructuredAggregate.java      |   42 -
 .../sis/internal/storage/folder/WritableStore.java |  245 --
 .../sis/internal/storage/folder/package-info.java  |   25 -
 .../sis/internal/storage/image/FormatFilter.java   |  250 --
 .../sis/internal/storage/image/FormatFinder.java   |  315 --
 .../internal/storage/image/MultiImageStore.java    |   61 -
 .../internal/storage/image/SingleImageStore.java   |  163 -
 .../internal/storage/image/WarningListener.java    |   69 -
 .../internal/storage/image/WorldFileResource.java  |  371 ---
 .../sis/internal/storage/image/WorldFileStore.java |  843 -----
 .../storage/image/WorldFileStoreProvider.java      |  184 --
 .../internal/storage/image/WritableResource.java   |   76 -
 .../storage/image/WritableSingleImageStore.java    |  181 -
 .../sis/internal/storage/image/WritableStore.java  |  523 ---
 .../sis/internal/storage/image/package-info.java   |   49 -
 .../sis/internal/storage/io/ByteRangeChannel.java  |   46 -
 .../apache/sis/internal/storage/io/ByteWriter.java |  213 --
 .../sis/internal/storage/io/ChannelData.java       |  431 ---
 .../sis/internal/storage/io/ChannelDataInput.java  |  987 ------
 .../sis/internal/storage/io/ChannelDataOutput.java |  700 ----
 .../sis/internal/storage/io/ChannelFactory.java    |  633 ----
 .../storage/io/ChannelImageInputStream.java        |  371 ---
 .../storage/io/ChannelImageOutputStream.java       |  163 -
 .../sis/internal/storage/io/DataTransfer.java      |  103 -
 .../internal/storage/io/FileCacheByteChannel.java  |  904 -----
 .../sis/internal/storage/io/HttpByteChannel.java   |  146 -
 .../internal/storage/io/HyperRectangleReader.java  |  220 --
 .../sis/internal/storage/io/IOUtilities.java       |  779 -----
 .../internal/storage/io/InputStreamAdapter.java    |  249 --
 .../storage/io/InputStreamArrayGetter.java         |  135 -
 .../sis/internal/storage/io/InternalOptionKey.java |   58 -
 .../apache/sis/internal/storage/io/Markable.java   |   92 -
 .../internal/storage/io/MemoryDataTransfer.java    |  140 -
 .../sis/internal/storage/io/NullChannel.java       |   76 -
 .../internal/storage/io/OutputStreamAdapter.java   |  147 -
 .../org/apache/sis/internal/storage/io/Region.java |  265 --
 .../internal/storage/io/RewindableLineReader.java  |  233 --
 .../sis/internal/storage/io/package-info.java      |   30 -
 .../apache/sis/internal/storage/package-info.java  |   31 -
 .../sis/internal/storage/wkt/FirstKeywordPeek.java |  280 --
 .../org/apache/sis/internal/storage/wkt/Store.java |  216 --
 .../sis/internal/storage/wkt/StoreFormat.java      |  176 -
 .../sis/internal/storage/wkt/StoreProvider.java    |  201 --
 .../sis/internal/storage/wkt/package-info.java     |   25 -
 .../sis/internal/storage/xml/AbstractProvider.java |  152 -
 .../internal/storage/xml/GeographicEnvelope.java   |  136 -
 .../sis/internal/storage/xml/MimeTypeDetector.java |  321 --
 .../org/apache/sis/internal/storage/xml/Store.java |  239 --
 .../sis/internal/storage/xml/StoreProvider.java    |   97 -
 .../sis/internal/storage/xml/package-info.java     |   32 -
 .../org/apache/sis/io/stream/ByteRangeChannel.java |   46 +
 .../main/org/apache/sis/io/stream/ByteWriter.java  |  213 ++
 .../main/org/apache/sis/io/stream/ChannelData.java |  431 +++
 .../org/apache/sis/io/stream/ChannelDataInput.java |  987 ++++++
 .../apache/sis/io/stream/ChannelDataOutput.java    |  700 ++++
 .../org/apache/sis/io/stream/ChannelFactory.java   |  633 ++++
 .../sis/io/stream/ChannelImageInputStream.java     |  371 +++
 .../sis/io/stream/ChannelImageOutputStream.java    |  163 +
 .../org/apache/sis/io/stream/DataTransfer.java     |  103 +
 .../apache/sis/io/stream/FileCacheByteChannel.java |  904 +++++
 .../org/apache/sis/io/stream/HttpByteChannel.java  |  146 +
 .../apache/sis/io/stream/HyperRectangleReader.java |  220 ++
 .../main/org/apache/sis/io/stream/IOUtilities.java |  779 +++++
 .../apache/sis/io/stream/InputStreamAdapter.java   |  249 ++
 .../sis/io/stream/InputStreamArrayGetter.java      |  135 +
 .../apache/sis/io/stream/InternalOptionKey.java    |   58 +
 .../main/org/apache/sis/io/stream/Markable.java    |   92 +
 .../apache/sis/io/stream/MemoryDataTransfer.java   |  140 +
 .../main/org/apache/sis/io/stream/NullChannel.java |   76 +
 .../apache/sis/io/stream/OutputStreamAdapter.java  |  147 +
 .../main/org/apache/sis/io/stream/Region.java      |  265 ++
 .../apache/sis/io/stream/RewindableLineReader.java |  233 ++
 .../org/apache/sis/io/stream/package-info.java     |   30 +
 .../org/apache/sis/storage/AbstractFeatureSet.java |    2 +-
 .../sis/storage/AbstractGridCoverageResource.java  |    8 +-
 .../org/apache/sis/storage/AbstractResource.java   |    4 +-
 .../sis/storage/ConcurrentReadException.java       |    2 +-
 .../sis/storage/ConcurrentWriteException.java      |    2 +-
 .../org/apache/sis/storage/CoverageSubset.java     |   12 +-
 .../main/org/apache/sis/storage/DataStore.java     |    6 +-
 .../sis/storage/DataStoreClosedException.java      |    4 +-
 .../org/apache/sis/storage/DataStoreException.java |    4 +-
 .../org/apache/sis/storage/DataStoreProvider.java  |    8 +-
 .../org/apache/sis/storage/DataStoreRegistry.java  |   12 +-
 .../main/org/apache/sis/storage/FeatureNaming.java |    4 +-
 .../main/org/apache/sis/storage/FeatureQuery.java  |   10 +-
 .../main/org/apache/sis/storage/FeatureSubset.java |    8 +-
 .../sis/storage/ForwardOnlyStorageException.java   |    4 +-
 .../sis/storage/IllegalFeatureTypeException.java   |    2 +-
 .../apache/sis/storage/IllegalNameException.java   |    2 +-
 .../sis/storage/IllegalOpenParameterException.java |    2 +-
 .../apache/sis/storage/NoSuchDataException.java    |    2 +-
 .../org/apache/sis/storage/ProbeInputStream.java   |    2 +-
 .../main/org/apache/sis/storage/ProbeReader.java   |    4 +-
 .../main/org/apache/sis/storage/ProbeResult.java   |    2 +-
 .../main/org/apache/sis/storage/Resource.java      |    2 +-
 .../org/apache/sis/storage/StorageConnector.java   |   28 +-
 .../sis/storage/UnsupportedStorageException.java   |    4 +-
 .../storage/aggregate/AggregatedFeatureSet.java    |    2 +-
 .../aggregate/BandAggregateGridResource.java       |   10 +-
 .../storage/aggregate/ConcatenatedFeatureSet.java  |    6 +-
 .../aggregate/ConcatenatedGridCoverage.java        |    6 +-
 .../aggregate/ConcatenatedGridResource.java        |   10 +-
 .../sis/storage/aggregate/CoverageAggregator.java  |    2 +-
 .../sis/storage/aggregate/DimensionSelector.java   |    2 +-
 .../apache/sis/storage/aggregate/GridSlice.java    |    4 +-
 .../org/apache/sis/storage/aggregate/Group.java    |    2 +-
 .../sis/storage/aggregate/GroupAggregate.java      |    6 +-
 .../sis/storage/aggregate/JoinFeatureSet.java      |    4 +-
 .../sis/storage/aggregate/MergeStrategy.java       |    4 +-
 .../org/apache/sis/storage/base/Capability.java    |  135 +
 .../main/org/apache/sis/storage/base/CodeType.java |  180 +
 .../sis/storage/base/DocumentedStoreProvider.java  |  110 +
 .../sis/storage/base/FeatureCatalogBuilder.java    |   84 +
 .../sis/storage/base/GridResourceWrapper.java      |  257 ++
 .../apache/sis/storage/base/MemoryFeatureSet.java  |   99 +
 .../sis/storage/base/MemoryGridResource.java       |  189 ++
 .../apache/sis/storage/base/MetadataBuilder.java   | 3441 ++++++++++++++++++++
 .../org/apache/sis/storage/base/PRJDataStore.java  |  520 +++
 .../apache/sis/storage/base/ResourceLineage.java   |  151 +
 .../sis/storage/base/ResourceOnFileSystem.java     |   73 +
 .../sis/storage/base/ResourceTransaction.java      |   54 +
 .../org/apache/sis/storage/base/StoreMetadata.java |  106 +
 .../org/apache/sis/storage/base/StoreResource.java |   63 +
 .../apache/sis/storage/base/StoreUtilities.java    |  414 +++
 .../sis/storage/base/TiledDeferredImage.java       |  109 +
 .../apache/sis/storage/base/TiledGridCoverage.java |  891 +++++
 .../apache/sis/storage/base/TiledGridResource.java |  558 ++++
 .../sis/storage/base/TransactionalResource.java    |   46 +
 .../org/apache/sis/storage/base/URIDataStore.java  |  389 +++
 .../org/apache/sis/storage/base/package-info.java  |   31 +
 .../apache/sis/storage/csv/FeatureIterator.java    |  263 ++
 .../org/apache/sis/storage/csv/FixedSizeList.java  |   87 +
 .../main/org/apache/sis/storage/csv/Foliation.java |   37 +
 .../org/apache/sis/storage/csv/GeometryParser.java |   68 +
 .../sis/storage/csv/MovingFeatureBuilder.java      |  298 ++
 .../sis/storage/csv/MovingFeatureIterator.java     |  169 +
 .../main/org/apache/sis/storage/csv/Store.java     |  858 +++++
 .../org/apache/sis/storage/csv/StoreProvider.java  |  212 ++
 .../org/apache/sis/storage/csv/TimeEncoding.java   |  114 +
 .../org/apache/sis/storage/csv/package-info.java   |   59 +
 .../apache/sis/storage/esri/AsciiGridStore.java    |  578 ++++
 .../sis/storage/esri/AsciiGridStoreProvider.java   |  154 +
 .../apache/sis/storage/esri/CharactersView.java    |  238 ++
 .../org/apache/sis/storage/esri/RasterStore.java   |  520 +++
 .../apache/sis/storage/esri/RawRasterLayout.java   |   47 +
 .../apache/sis/storage/esri/RawRasterReader.java   |  263 ++
 .../apache/sis/storage/esri/RawRasterStore.java    |  568 ++++
 .../sis/storage/esri/RawRasterStoreProvider.java   |  130 +
 .../org/apache/sis/storage/esri/WritableStore.java |  314 ++
 .../org/apache/sis/storage/esri/package-info.java  |   56 +
 .../org/apache/sis/storage/event/StoreEvent.java   |    2 +-
 .../apache/sis/storage/event/StoreListeners.java   |    8 +-
 .../sis/storage/folder/ConcurrentCloser.java       |  113 +
 .../main/org/apache/sis/storage/folder/Store.java  |  458 +++
 .../apache/sis/storage/folder/StoreProvider.java   |  300 ++
 .../sis/storage/folder/UnstructuredAggregate.java  |   42 +
 .../apache/sis/storage/folder/WritableStore.java   |  245 ++
 .../apache/sis/storage/folder/package-info.java    |   25 +
 .../org/apache/sis/storage/image/FormatFilter.java |  250 ++
 .../org/apache/sis/storage/image/FormatFinder.java |  315 ++
 .../apache/sis/storage/image/MultiImageStore.java  |   61 +
 .../apache/sis/storage/image/SingleImageStore.java |  163 +
 .../apache/sis/storage/image/WarningListener.java  |   69 +
 .../sis/storage/image/WorldFileResource.java       |  371 +++
 .../apache/sis/storage/image/WorldFileStore.java   |  843 +++++
 .../sis/storage/image/WorldFileStoreProvider.java  |  184 ++
 .../apache/sis/storage/image/WritableResource.java |   76 +
 .../storage/image/WritableSingleImageStore.java    |  181 +
 .../apache/sis/storage/image/WritableStore.java    |  523 +++
 .../org/apache/sis/storage/image/package-info.java |   49 +
 .../org/apache/sis/storage/internal/Resources.java |  603 ++++
 .../internal}/Resources.properties                 |    0
 .../apache/sis/storage/internal/Resources_en.java  |   30 +
 .../apache/sis/storage/internal/Resources_fr.java  |   30 +
 .../internal}/Resources_fr.properties              |    0
 .../sis/storage/internal/StoreTypeDetector.java    |   63 +
 .../storage/internal/WritableResourceSupport.java  |  237 ++
 .../apache/sis/storage/internal/package-info.java  |   30 +
 .../apache/sis/storage/wkt/FirstKeywordPeek.java   |  280 ++
 .../main/org/apache/sis/storage/wkt/Store.java     |  216 ++
 .../org/apache/sis/storage/wkt/StoreFormat.java    |  176 +
 .../org/apache/sis/storage/wkt/StoreProvider.java  |  201 ++
 .../org/apache/sis/storage/wkt/package-info.java   |   25 +
 .../apache/sis/storage/xml/AbstractProvider.java   |  152 +
 .../apache/sis/storage/xml/GeographicEnvelope.java |  136 +
 .../apache/sis/storage/xml/MimeTypeDetector.java   |  321 ++
 .../main/org/apache/sis/storage/xml/Store.java     |  239 ++
 .../org/apache/sis/storage/xml/StoreProvider.java  |   97 +
 .../org/apache/sis/storage/xml/package-info.java   |   37 +
 .../apache/sis/internal/storage/CodeTypeTest.java  |  136 -
 .../internal/storage/MemoryGridResourceTest.java   |   99 -
 .../sis/internal/storage/MetadataBuilderTest.java  |  163 -
 .../sis/internal/storage/StoreUtilitiesTest.java   |   52 -
 .../internal/storage/csv/StoreProviderTest.java    |   56 -
 .../apache/sis/internal/storage/csv/StoreTest.java |  224 --
 .../internal/storage/esri/AsciiGridStoreTest.java  |  138 -
 .../internal/storage/esri/BILConsistencyTest.java  |   78 -
 .../internal/storage/esri/BIPConsistencyTest.java  |   78 -
 .../internal/storage/esri/BSQConsistencyTest.java  |   78 -
 .../internal/storage/esri/WritableStoreTest.java   |  181 -
 .../sis/internal/storage/folder/StoreTest.java     |  126 -
 .../storage/image/SelfConsistencyTest.java         |   82 -
 .../internal/storage/image/WorldFileStoreTest.java |  188 --
 .../sis/internal/storage/io/ByteArrayChannel.java  |  167 -
 .../internal/storage/io/ChannelDataInputTest.java  |  226 --
 .../internal/storage/io/ChannelDataOutputTest.java |  443 ---
 .../internal/storage/io/ChannelDataTestCase.java   |  162 -
 .../storage/io/ChannelImageInputStreamTest.java    |  190 --
 .../storage/io/ChannelImageOutputStreamTest.java   |  181 -
 .../internal/storage/io/ComputedInputStream.java   |  148 -
 .../sis/internal/storage/io/DripByteChannel.java   |  114 -
 .../storage/io/FileCacheByteChannelTest.java       |  241 --
 .../storage/io/HyperRectangleReaderTest.java       |  226 --
 .../sis/internal/storage/io/IOUtilitiesTest.java   |  237 --
 .../storage/io/ImageInputStreamComparator.java     |  426 ---
 .../storage/io/InputStreamArrayGetterTest.java     |   68 -
 .../storage/io/MemoryCacheImageOutputStream.java   |   72 -
 .../storage/io/RewindableLineReaderTest.java       |  133 -
 .../internal/storage/wkt/StoreProviderTest.java    |   95 -
 .../apache/sis/internal/storage/wkt/StoreTest.java |  106 -
 .../internal/storage/xml/MimeTypeDetectorTest.java |  134 -
 .../internal/storage/xml/StoreProviderTest.java    |   59 -
 .../apache/sis/internal/storage/xml/StoreTest.java |  118 -
 .../org/apache/sis/io/stream/ByteArrayChannel.java |  167 +
 .../apache/sis/io/stream/ChannelDataInputTest.java |  226 ++
 .../sis/io/stream/ChannelDataOutputTest.java       |  443 +++
 .../apache/sis/io/stream/ChannelDataTestCase.java  |  162 +
 .../sis/io/stream/ChannelImageInputStreamTest.java |  190 ++
 .../io/stream/ChannelImageOutputStreamTest.java    |  181 +
 .../apache/sis/io/stream/ComputedInputStream.java  |  148 +
 .../org/apache/sis/io/stream/DripByteChannel.java  |  114 +
 .../sis/io/stream/FileCacheByteChannelTest.java    |  241 ++
 .../sis/io/stream/HyperRectangleReaderTest.java    |  226 ++
 .../org/apache/sis/io/stream/IOUtilitiesTest.java  |  237 ++
 .../sis/io/stream/ImageInputStreamComparator.java  |  426 +++
 .../sis/io/stream/InputStreamArrayGetterTest.java  |   68 +
 .../io/stream/MemoryCacheImageOutputStream.java    |   72 +
 .../sis/io/stream/RewindableLineReaderTest.java    |  133 +
 .../org/apache/sis/storage/CoverageQueryTest.java  |    2 +-
 .../org/apache/sis/storage/CoverageSubsetTest.java |    2 +-
 .../org/apache/sis/storage/DataStoresTest.java     |    2 +-
 .../org/apache/sis/storage/FeatureQueryTest.java   |    2 +-
 .../org/apache/sis/storage/GridResourceMock.java   |    4 +-
 .../apache/sis/storage/StorageConnectorTest.java   |    8 +-
 .../aggregate/BandAggregateGridResourceTest.java   |    2 +-
 .../aggregate/ConcatenatedFeatureSetTest.java      |    2 +-
 .../sis/storage/aggregate/JoinFeatureSetTest.java  |    4 +-
 .../sis/storage/aggregate/OpaqueGridResource.java  |    2 +-
 .../org/apache/sis/storage/base/CodeTypeTest.java  |  136 +
 .../sis/storage/base/MemoryGridResourceTest.java   |   99 +
 .../sis/storage/base/MetadataBuilderTest.java      |  163 +
 .../sis/storage/base/StoreUtilitiesTest.java       |   52 +
 .../apache/sis/storage/csv/StoreProviderTest.java  |   56 +
 .../test/org/apache/sis/storage/csv/StoreTest.java |  224 ++
 .../sis/storage/esri/AsciiGridStoreTest.java       |  138 +
 .../apache/sis/{internal => }/storage/esri/BIL.hdr |    0
 .../apache/sis/{internal => }/storage/esri/BIL.raw |  Bin
 .../sis/storage/esri/BILConsistencyTest.java       |   78 +
 .../apache/sis/{internal => }/storage/esri/BIP.hdr |    0
 .../apache/sis/{internal => }/storage/esri/BIP.raw |  Bin
 .../apache/sis/{internal => }/storage/esri/BIP.stx |    0
 .../sis/storage/esri/BIPConsistencyTest.java       |   78 +
 .../apache/sis/{internal => }/storage/esri/BSQ.hdr |    0
 .../apache/sis/{internal => }/storage/esri/BSQ.raw |  Bin
 .../sis/storage/esri/BSQConsistencyTest.java       |   78 +
 .../apache/sis/storage/esri/WritableStoreTest.java |  181 +
 .../sis/{internal => }/storage/esri/grid.asc       |    0
 .../sis/{internal => }/storage/esri/grid.clr       |    0
 .../sis/{internal => }/storage/esri/grid.prj       |    0
 .../org/apache/sis/storage/folder/StoreTest.java   |  126 +
 .../storage/folder/test-data/README.txt            |    0
 .../storage/folder/test-data/crs.prj               |    0
 .../storage/folder/test-data/data1.xml             |    0
 .../storage/folder/test-data/data2.xml             |    0
 .../storage/folder/test-data/data3.xml             |    0
 .../storage/folder/test-data/data4/data5.xml       |    0
 .../sis/{internal => }/storage/image/README.md     |    0
 .../sis/storage/image/SelfConsistencyTest.java     |   82 +
 .../sis/storage/image/WorldFileStoreTest.java      |  188 ++
 .../sis/{internal => }/storage/image/gradient.pgw  |    0
 .../sis/{internal => }/storage/image/gradient.png  |  Bin
 .../sis/{internal => }/storage/image/gradient.prj  |    0
 .../apache/sis/storage/wkt/StoreProviderTest.java  |   95 +
 .../test/org/apache/sis/storage/wkt/StoreTest.java |  106 +
 .../sis/storage/xml/MimeTypeDetectorTest.java      |  134 +
 .../apache/sis/storage/xml/StoreProviderTest.java  |   59 +
 .../test/org/apache/sis/storage/xml/StoreTest.java |  118 +
 .../sis/test/storage/CoverageReadConsistency.java  |    4 +-
 .../apache/sis/test/storage/SubsampledImage.java   |    2 +-
 .../services/org.apache.sis.util.ObjectConverter   |   80 +-
 .../src/org.apache.sis.util/main/module-info.java  |   92 +-
 .../org/apache/sis/converter/AngleConverter.java   |  161 +
 .../org/apache/sis/converter/ArrayConverter.java   |  108 +
 .../sis/converter/CharSequenceConverter.java       |   91 +
 .../main/org/apache/sis/converter/ClassPair.java   |  166 +
 .../apache/sis/converter/CollectionConverter.java  |  110 +
 .../main/org/apache/sis/converter/Column.java      |  117 +
 .../apache/sis/converter/ConverterRegistry.java    |  607 ++++
 .../org/apache/sis/converter/DateConverter.java    |  185 ++
 .../apache/sis/converter/FallbackConverter.java    |  374 +++
 .../apache/sis/converter/FractionConverter.java    |  135 +
 .../apache/sis/converter/IdentityConverter.java    |  108 +
 .../org/apache/sis/converter/NumberConverter.java  |  186 ++
 .../org/apache/sis/converter/ObjectToString.java   |  164 +
 .../org/apache/sis/converter/PathConverter.java    |  278 ++
 .../org/apache/sis/converter/StringConverter.java  |  403 +++
 .../apache/sis/converter/SurjectiveConverter.java  |   80 +
 .../org/apache/sis/converter/SystemConverter.java  |  182 ++
 .../org/apache/sis/converter/SystemRegistry.java   |  231 ++
 .../org/apache/sis/converter/package-info.java     |   43 +
 .../sis/internal/converter/AngleConverter.java     |  161 -
 .../sis/internal/converter/ArrayConverter.java     |  108 -
 .../internal/converter/CharSequenceConverter.java  |   91 -
 .../apache/sis/internal/converter/ClassPair.java   |  166 -
 .../internal/converter/CollectionConverter.java    |  110 -
 .../org/apache/sis/internal/converter/Column.java  |  117 -
 .../sis/internal/converter/ConverterRegistry.java  |  607 ----
 .../sis/internal/converter/DateConverter.java      |  185 --
 .../sis/internal/converter/FallbackConverter.java  |  374 ---
 .../sis/internal/converter/FractionConverter.java  |  135 -
 .../sis/internal/converter/IdentityConverter.java  |  108 -
 .../sis/internal/converter/NumberConverter.java    |  186 --
 .../sis/internal/converter/ObjectToString.java     |  164 -
 .../sis/internal/converter/PathConverter.java      |  278 --
 .../sis/internal/converter/StringConverter.java    |  403 ---
 .../internal/converter/SurjectiveConverter.java    |   80 -
 .../sis/internal/converter/SystemConverter.java    |  182 --
 .../sis/internal/converter/SystemRegistry.java     |  231 --
 .../sis/internal/converter/package-info.java       |   43 -
 .../org/apache/sis/internal/jdk17/HexFormat.java   |   78 -
 .../main/org/apache/sis/internal/jdk17/JDK17.java  |   99 -
 .../main/org/apache/sis/internal/jdk17/Record.java |   34 -
 .../apache/sis/internal/jdk17/package-info.java    |   30 -
 .../apache/sis/internal/system/CommonExecutor.java |  133 -
 .../apache/sis/internal/system/Configuration.java  |   91 -
 .../apache/sis/internal/system/DaemonThread.java   |  177 -
 .../apache/sis/internal/system/DataDirectory.java  |  227 --
 .../sis/internal/system/DelayedExecutor.java       |  173 -
 .../sis/internal/system/DelayedRunnable.java       |  143 -
 .../sis/internal/system/Descriptions.properties    |    7 -
 .../sis/internal/system/Descriptions_fr.properties |    7 -
 .../org/apache/sis/internal/system/Fallback.java   |   43 -
 .../sis/internal/system/LocalizedStaticObject.java |   42 -
 .../org/apache/sis/internal/system/Loggers.java    |  224 --
 .../org/apache/sis/internal/system/Modules.java    |  138 -
 .../sis/internal/system/OptionalDependency.java    |   88 -
 .../internal/system/ReferenceQueueConsumer.java    |  137 -
 .../org/apache/sis/internal/system/Reflect.java    |  106 -
 .../org/apache/sis/internal/system/Semaphores.java |  150 -
 .../org/apache/sis/internal/system/Shutdown.java   |  208 --
 .../org/apache/sis/internal/system/Supervisor.java |  233 --
 .../sis/internal/system/SupervisorMBean.java       |   55 -
 .../apache/sis/internal/system/SystemListener.java |  154 -
 .../org/apache/sis/internal/system/Threads.java    |  103 -
 .../apache/sis/internal/system/package-info.java   |   30 -
 .../sis/internal/temporal/DefaultInstant.java      |   65 -
 .../sis/internal/temporal/DefaultPeriod.java       |   71 -
 .../internal/temporal/DefaultPeriodDuration.java   |   87 -
 .../internal/temporal/DefaultTemporalFactory.java  |  155 -
 .../apache/sis/internal/temporal/Primitive.java    |   74 -
 .../apache/sis/internal/temporal/package-info.java |   26 -
 .../apache/sis/internal/util/AbstractIterator.java |   66 -
 .../org/apache/sis/internal/util/AbstractMap.java  |  714 ----
 .../apache/sis/internal/util/AbstractMapEntry.java |  103 -
 .../main/org/apache/sis/internal/util/Acyclic.java |   41 -
 .../internal/util/ArgumentCheckByAssertion.java    |   39 -
 .../sis/internal/util/AutoMessageFormat.java       |  113 -
 .../main/org/apache/sis/internal/util/Bag.java     |  103 -
 .../apache/sis/internal/util/CheckedArrayList.java |  334 --
 .../apache/sis/internal/util/CheckedHashSet.java   |  123 -
 .../org/apache/sis/internal/util/CloneAccess.java  |   48 -
 .../main/org/apache/sis/internal/util/Cloner.java  |  271 --
 .../org/apache/sis/internal/util/CodeLists.java    |  162 -
 .../apache/sis/internal/util/CollectionsExt.java   |  895 -----
 .../org/apache/sis/internal/util/Constants.java    |  263 --
 .../apache/sis/internal/util/DefinitionURI.java    |  735 -----
 .../org/apache/sis/internal/util/DoubleDouble.java |  920 ------
 .../org/apache/sis/internal/util/EmptyQueue.java   |   71 -
 .../sis/internal/util/ListOfUnknownSize.java       |  262 --
 .../sis/internal/util/LocalizedParseException.java |  197 --
 .../apache/sis/internal/util/MetadataServices.java |  209 --
 .../org/apache/sis/internal/util/Numerics.java     |  672 ----
 .../apache/sis/internal/util/PropertyFormat.java   |  238 --
 .../apache/sis/internal/util/SetOfUnknownSize.java |  202 --
 .../sis/internal/util/SimpleCharacterIterator.java |  196 --
 .../sis/internal/util/StandardDateFormat.java      |  551 ----
 .../main/org/apache/sis/internal/util/Strings.java |  413 ---
 .../sis/internal/util/TreeFormatCustomization.java |   53 -
 .../main/org/apache/sis/internal/util/URLs.java    |   66 -
 .../sis/internal/util/UnmodifiableArrayList.java   |  437 ---
 .../main/org/apache/sis/internal/util/X364.java    |  308 --
 .../org/apache/sis/internal/util/package-info.java |   36 -
 .../main/org/apache/sis/io/CompoundFormat.java     |    6 +-
 .../main/org/apache/sis/io/DefaultFormat.java      |    2 +-
 .../org/apache/sis/io/IdentifiedObjectFormat.java  |    4 +-
 .../main/org/apache/sis/io/LineAppender.java       |    2 +-
 .../main/org/apache/sis/io/TableAppender.java      |    2 +-
 .../main/org/apache/sis/math/ArrayVector.java      |    2 +-
 .../main/org/apache/sis/math/DecimalFunctions.java |    4 +-
 .../main/org/apache/sis/math/Fraction.java         |    2 +-
 .../main/org/apache/sis/math/Line.java             |    6 +-
 .../org/apache/sis/math/LinearlyDerivedVector.java |    2 +-
 .../main/org/apache/sis/math/MathFunctions.java    |    6 +-
 .../main/org/apache/sis/math/Plane.java            |    6 +-
 .../main/org/apache/sis/math/Statistics.java       |    4 +-
 .../main/org/apache/sis/math/StatisticsFormat.java |    2 +-
 .../main/org/apache/sis/math/Vector.java           |    4 +-
 .../main/org/apache/sis/measure/AbstractUnit.java  |    4 +-
 .../main/org/apache/sis/measure/Angle.java         |    2 +-
 .../main/org/apache/sis/measure/AngleFormat.java   |    4 +-
 .../sis/measure/FormattedCharacterIterator.java    |    4 +-
 .../org/apache/sis/measure/LinearConverter.java    |    4 +-
 .../main/org/apache/sis/measure/NumberRange.java   |    2 +-
 .../main/org/apache/sis/measure/Prefixes.java      |    2 +-
 .../main/org/apache/sis/measure/Range.java         |    4 +-
 .../main/org/apache/sis/measure/RangeFormat.java   |    6 +-
 .../main/org/apache/sis/measure/Scalar.java        |    2 +-
 .../apache/sis/measure/SexagesimalConverter.java   |    2 +-
 .../main/org/apache/sis/measure/SystemUnit.java    |    2 +-
 .../main/org/apache/sis/measure/UnitDimension.java |    4 +-
 .../main/org/apache/sis/measure/UnitFormat.java    |    6 +-
 .../main/org/apache/sis/measure/UnitServices.java  |    2 +-
 .../main/org/apache/sis/measure/Units.java         |    2 +-
 .../main/org/apache/sis/pending/jdk/HexFormat.java |   78 +
 .../main/org/apache/sis/pending/jdk/JDK17.java     |   99 +
 .../main/org/apache/sis/pending/jdk/Record.java    |   34 +
 .../org/apache/sis/pending/jdk/package-info.java   |   30 +
 .../sis/pending/temporal/DefaultInstant.java       |   65 +
 .../apache/sis/pending/temporal/DefaultPeriod.java |   71 +
 .../pending/temporal/DefaultPeriodDuration.java    |   87 +
 .../pending/temporal/DefaultTemporalFactory.java   |  155 +
 .../org/apache/sis/pending/temporal/Primitive.java |   74 +
 .../apache/sis/pending/temporal/package-info.java  |   26 +
 .../main/org/apache/sis/setup/About.java           |   16 +-
 .../main/org/apache/sis/setup/Configuration.java   |    2 +-
 .../apache/sis/setup/InstallationResources.java    |    8 +-
 .../main/org/apache/sis/setup/OptionKey.java       |    2 +-
 .../apache/sis/setup/OptionalInstallations.java    |    6 +-
 .../main/org/apache/sis/system/CommonExecutor.java |  133 +
 .../main/org/apache/sis/system/Configuration.java  |   91 +
 .../main/org/apache/sis/system/DaemonThread.java   |  177 +
 .../main/org/apache/sis/system/DataDirectory.java  |  227 ++
 .../org/apache/sis/system/DelayedExecutor.java     |  173 +
 .../org/apache/sis/system/DelayedRunnable.java     |  143 +
 .../org/apache/sis/system/Descriptions.properties  |    7 +
 .../apache/sis/system/Descriptions_fr.properties   |    7 +
 .../main/org/apache/sis/system/Fallback.java       |   43 +
 .../apache/sis/system/LocalizedStaticObject.java   |   42 +
 .../main/org/apache/sis/system/Loggers.java        |  224 ++
 .../main/org/apache/sis/system/Modules.java        |  138 +
 .../org/apache/sis/system/OptionalDependency.java  |   88 +
 .../apache/sis/system/ReferenceQueueConsumer.java  |  137 +
 .../main/org/apache/sis/system/Reflect.java        |  106 +
 .../main/org/apache/sis/system/Semaphores.java     |  150 +
 .../main/org/apache/sis/system/Shutdown.java       |  208 ++
 .../main/org/apache/sis/system/Supervisor.java     |  233 ++
 .../org/apache/sis/system/SupervisorMBean.java     |   55 +
 .../main/org/apache/sis/system/SystemListener.java |  154 +
 .../main/org/apache/sis/system/Threads.java        |  103 +
 .../main/org/apache/sis/system/package-info.java   |   30 +
 .../sis/util/AbstractInternationalString.java      |    2 +-
 .../main/org/apache/sis/util/ArgumentChecks.java   |    2 +-
 .../main/org/apache/sis/util/Characters.java       |    4 +-
 .../main/org/apache/sis/util/Classes.java          |    2 +-
 .../main/org/apache/sis/util/Numbers.java          |    4 +-
 .../main/org/apache/sis/util/ObjectConverters.java |    4 +-
 .../main/org/apache/sis/util/Version.java          |    4 +-
 .../main/org/apache/sis/util/collection/Cache.java |    6 +-
 .../apache/sis/util/collection/CodeListSet.java    |    4 +-
 .../org/apache/sis/util/collection/Containers.java |    2 +-
 .../sis/util/collection/DefaultTreeTable.java      |    6 +-
 .../org/apache/sis/util/collection/DerivedSet.java |    2 +-
 .../apache/sis/util/collection/IntegerList.java    |    2 +-
 .../sis/util/collection/TreeTableFormat.java       |    8 +-
 .../org/apache/sis/util/collection/WeakEntry.java  |    4 +-
 .../apache/sis/util/collection/WeakHashSet.java    |    2 +-
 .../sis/util/collection/WeakValueHashMap.java      |    2 +-
 .../apache/sis/util/internal/AbstractIterator.java |   66 +
 .../org/apache/sis/util/internal/AbstractMap.java  |  714 ++++
 .../apache/sis/util/internal/AbstractMapEntry.java |  103 +
 .../main/org/apache/sis/util/internal/Acyclic.java |   41 +
 .../util/internal/ArgumentCheckByAssertion.java    |   39 +
 .../sis/util/internal/AutoMessageFormat.java       |  113 +
 .../main/org/apache/sis/util/internal/Bag.java     |  103 +
 .../apache/sis/util/internal/CheckedArrayList.java |  334 ++
 .../apache/sis/util/internal/CheckedHashSet.java   |  123 +
 .../org/apache/sis/util/internal/CloneAccess.java  |   48 +
 .../main/org/apache/sis/util/internal/Cloner.java  |  271 ++
 .../org/apache/sis/util/internal/CodeLists.java    |  162 +
 .../apache/sis/util/internal/CollectionsExt.java   |  895 +++++
 .../org/apache/sis/util/internal/Constants.java    |  263 ++
 .../apache/sis/util/internal/DefinitionURI.java    |  735 +++++
 .../org/apache/sis/util/internal/DoubleDouble.java |  920 ++++++
 .../org/apache/sis/util/internal/EmptyQueue.java   |   71 +
 .../sis/util/internal/ListOfUnknownSize.java       |  262 ++
 .../sis/util/internal/LocalizedParseException.java |  197 ++
 .../apache/sis/util/internal/MetadataServices.java |  209 ++
 .../org/apache/sis/util/internal/Numerics.java     |  672 ++++
 .../apache/sis/util/internal/PropertyFormat.java   |  238 ++
 .../apache/sis/util/internal/SetOfUnknownSize.java |  202 ++
 .../sis/util/internal/SimpleCharacterIterator.java |  196 ++
 .../sis/util/internal/StandardDateFormat.java      |  551 ++++
 .../main/org/apache/sis/util/internal/Strings.java |  413 +++
 .../sis/util/internal/TreeFormatCustomization.java |   53 +
 .../main/org/apache/sis/util/internal/URLs.java    |   66 +
 .../sis/util/internal/UnmodifiableArrayList.java   |  437 +++
 .../main/org/apache/sis/util/internal/X364.java    |  308 ++
 .../org/apache/sis/util/internal/package-info.java |   36 +
 .../org/apache/sis/util/logging/Initializer.java   |    4 +-
 .../main/org/apache/sis/util/logging/Logging.java  |    4 +-
 .../apache/sis/util/logging/MonolineFormatter.java |   12 +-
 .../apache/sis/util/logging/PerformanceLevel.java  |    2 +-
 .../main/org/apache/sis/util/resources/Errors.java |    5 +
 .../apache/sis/util/resources/Errors.properties    |    1 +
 .../apache/sis/util/resources/Errors_fr.properties |    1 +
 .../sis/util/resources/IndexedResourceBundle.java  |   10 +-
 .../apache/sis/converter/AngleConverterTest.java   |   58 +
 .../apache/sis/converter/ArrayConverterTest.java   |   72 +
 .../sis/converter/ConverterRegistryTest.java       |  429 +++
 .../sis/converter/FallbackConverterTest.java       |  186 ++
 .../apache/sis/converter/NumberConverterTest.java  |  227 ++
 .../apache/sis/converter/PathConverterTest.java    |  192 ++
 .../apache/sis/converter/StringConverterTest.java  |  334 ++
 .../apache/sis/converter/SystemRegistryTest.java   |  203 ++
 .../sis/internal/converter/AngleConverterTest.java |   58 -
 .../sis/internal/converter/ArrayConverterTest.java |   72 -
 .../internal/converter/ConverterRegistryTest.java  |  429 ---
 .../internal/converter/FallbackConverterTest.java  |  186 --
 .../internal/converter/NumberConverterTest.java    |  227 --
 .../sis/internal/converter/PathConverterTest.java  |  192 --
 .../internal/converter/StringConverterTest.java    |  334 --
 .../sis/internal/converter/SystemRegistryTest.java |  203 --
 .../apache/sis/internal/system/LoggersTest.java    |   49 -
 .../system/ReferenceQueueConsumerTest.java         |   57 -
 .../org/apache/sis/internal/test/AssertTest.java   |   72 -
 .../sis/internal/test/TestUtilitiesTest.java       |   61 -
 .../org/apache/sis/internal/test/package-info.java |   25 -
 .../apache/sis/internal/util/AbstractMapTest.java  |  202 --
 .../test/org/apache/sis/internal/util/BagTest.java |   85 -
 .../sis/internal/util/CheckedArrayListTest.java    |  167 -
 .../sis/internal/util/CollectionsExtTest.java      |  182 --
 .../sis/internal/util/DefinitionURITest.java       |  252 --
 .../apache/sis/internal/util/DoubleDoubleTest.java |  423 ---
 .../sis/internal/util/ListOfUnknownSizeTest.java   |   65 -
 .../internal/util/LocalizedParseExceptionTest.java |   79 -
 .../org/apache/sis/internal/util/NumericsTest.java |  240 --
 .../sis/internal/util/StandardDateFormatTest.java  |  157 -
 .../org/apache/sis/internal/util/StringsTest.java  |   58 -
 .../org/apache/sis/internal/util/X364Test.java     |   72 -
 .../test/org/apache/sis/io/LineAppenderTest.java   |    2 +-
 .../test/org/apache/sis/io/TableAppenderTest.java  |    2 +-
 .../test/org/apache/sis/io/WordWrapTest.java       |    2 +-
 .../org/apache/sis/math/DecimalFunctionsTest.java  |    2 +-
 .../test/org/apache/sis/math/LineTest.java         |    2 +-
 .../org/apache/sis/math/MathFunctionsTest.java     |    4 +-
 .../test/org/apache/sis/math/PlaneTest.java        |    2 +-
 .../measure/FormattedCharacterIteratorTest.java    |    2 +-
 .../org/apache/sis/measure/RangeFormatTest.java    |    2 +-
 .../test/org/apache/sis/measure/UnitsTest.java     |    2 +-
 .../test/org/apache/sis/system/LoggersTest.java    |   49 +
 .../sis/system/ReferenceQueueConsumerTest.java     |   57 +
 .../test/org/apache/sis/test/Assume.java           |    2 +-
 .../org/apache/sis/test/LogRecordCollector.java    |    2 +-
 .../test/org/apache/sis/test/OptionalTestData.java |    2 +-
 .../test/org/apache/sis/test/TestCase.java         |    2 +-
 .../test/org/apache/sis/test/TestUtilities.java    |    4 +-
 .../test/org/apache/sis/test/self/AssertTest.java  |   72 +
 .../apache/sis/test/self/TestUtilitiesTest.java    |   61 +
 .../org/apache/sis/test/self/package-info.java     |   25 +
 .../org/apache/sis/util/collection/CacheTest.java  |    2 +-
 .../sis/util/collection/CodeListSetTest.java       |   26 +-
 .../apache/sis/util/collection/RangeSetTest.java   |    4 +-
 .../apache/sis/util/internal/AbstractMapTest.java  |  202 ++
 .../test/org/apache/sis/util/internal/BagTest.java |   85 +
 .../sis/util/internal/CheckedArrayListTest.java    |  167 +
 .../sis/util/internal/CollectionsExtTest.java      |  182 ++
 .../sis/util/internal/DefinitionURITest.java       |  252 ++
 .../apache/sis/util/internal/DoubleDoubleTest.java |  423 +++
 .../sis/util/internal/ListOfUnknownSizeTest.java   |   65 +
 .../util/internal/LocalizedParseExceptionTest.java |   79 +
 .../org/apache/sis/util/internal/NumericsTest.java |  240 ++
 .../sis/util/internal/StandardDateFormatTest.java  |  157 +
 .../org/apache/sis/util/internal/StringsTest.java  |   58 +
 .../org/apache/sis/util/internal/X364Test.java     |   72 +
 .../sis/util/logging/MonolineFormatterTest.java    |    2 +-
 geoapi/README.md                                   |    4 +-
 .../main/antlr/org/apache/sis/cql/internal/CQL.g4  |  301 ++
 .../main/antlr/org/apache/sis/internal/cql/CQL.g4  |  301 --
 .../main/org/apache/sis/cql/CQL.java               |   32 +-
 .../org/apache/sis/cql/FilterToCQLVisitor.java     |   10 +-
 .../sis/{internal/cql => cql/internal}/.gitignore  |    0
 .../main/org/apache/sis/cql/internal/AntlrCQL.java |  113 +
 .../main/org/apache/sis/internal/cql/AntlrCQL.java |  113 -
 .../test/org/apache/sis/cql/CQLTestCase.java       |    2 +-
 .../test/org/apache/sis/cql/FilterReadingTest.java |    2 +-
 .../test/org/apache/sis/cql/FilterWritingTest.java |    2 +-
 .../apache/sis/internal/shapefile/AutoChecker.java |  184 --
 ...nvalidRecordNumberForDirectAccessException.java |   64 -
 .../SQLNoDirectAccessAvailableException.java       |   49 -
 .../shapefile/SQLShapefileNotFoundException.java   |   49 -
 .../internal/shapefile/ShapefileByteReader.java    |  465 ---
 .../internal/shapefile/ShapefileDescriptor.java    |  200 --
 .../shapefile/jdbc/AbstractDbase3ByteReader.java   |  282 --
 .../sis/internal/shapefile/jdbc/AbstractJDBC.java  |  161 -
 .../internal/shapefile/jdbc/CommonByteReader.java  |  131 -
 .../sis/internal/shapefile/jdbc/DBFDriver.java     |  144 -
 .../shapefile/jdbc/DBase3FieldDescriptor.java      |  149 -
 .../sis/internal/shapefile/jdbc/DBaseDataType.java |  102 -
 .../internal/shapefile/jdbc/Dbase3ByteReader.java  |  130 -
 .../internal/shapefile/jdbc/MappedByteReader.java  |  308 --
 .../jdbc/SQLConnectionClosedException.java         |   63 -
 .../jdbc/SQLDbaseFileNotFoundException.java        |   49 -
 .../jdbc/SQLInvalidDbaseFileFormatException.java   |   49 -
 .../jdbc/connection/AbstractConnection.java        |  417 ---
 .../shapefile/jdbc/connection/DBFConnection.java   |  335 --
 .../connection/SQLClosingIOFailureException.java   |   63 -
 .../shapefile/jdbc/connection/package-info.java    |   19 -
 .../jdbc/metadata/AbstractDatabaseMetaData.java    |  202 --
 .../jdbc/metadata/DBFDatabaseMetaData.java         | 1300 --------
 .../jdbc/metadata/DBFResultSetMataData.java        |  473 ---
 .../shapefile/jdbc/metadata/package-info.java      |   21 -
 .../sis/internal/shapefile/jdbc/package-info.java  |   25 -
 .../jdbc/resultset/AbstractResultSet.java          |  706 ----
 .../jdbc/resultset/BuiltInMemoryResultSet.java     |  195 --
 ...iltInMemoryResultSetForCatalogNamesListing.java |   51 -
 ...DBFBuiltInMemoryResultSetForColumnsListing.java |  460 ---
 .../DBFBuiltInMemoryResultSetForSchemaListing.java |   51 -
 .../DBFBuiltInMemoryResultSetForTablesListing.java |   88 -
 ...uiltInMemoryResultSetForTablesTypesListing.java |   74 -
 .../jdbc/resultset/DBFRecordBasedResultSet.java    |  609 ----
 .../shapefile/jdbc/resultset/DBFResultSet.java     |  965 ------
 .../resultset/SQLIllegalColumnIndexException.java  |   76 -
 .../jdbc/resultset/SQLNoResultException.java       |   63 -
 .../jdbc/resultset/SQLNoSuchFieldException.java    |   76 -
 .../jdbc/resultset/SQLNotDateException.java        |   89 -
 .../jdbc/resultset/SQLNotNumericException.java     |   89 -
 .../shapefile/jdbc/resultset/package-info.java     |   21 -
 .../shapefile/jdbc/sql/ClauseResolver.java         |  391 ---
 .../jdbc/sql/ConditionalClauseResolver.java        |   38 -
 .../shapefile/jdbc/sql/CrudeSQLParser.java         |  137 -
 .../jdbc/sql/SQLIllegalParameterException.java     |   89 -
 .../jdbc/sql/SQLInvalidStatementException.java     |   63 -
 .../sql/SQLUnsupportedParsingFeatureException.java |   63 -
 .../internal/shapefile/jdbc/sql/package-info.java  |   20 -
 .../jdbc/statement/AbstractStatement.java          |  307 --
 .../shapefile/jdbc/statement/DBFStatement.java     |  243 --
 .../shapefile/jdbc/statement/package-info.java     |   19 -
 .../sis/internal/shapefile/package-info.java       |   24 -
 .../sis/storage/shapefile/InputFeatureStream.java  |   24 +-
 .../apache/sis/storage/shapefile/ShapeFile.java    |    4 +-
 .../storage/shapefile/internal/AutoChecker.java    |  184 ++
 ...nvalidRecordNumberForDirectAccessException.java |   64 +
 .../SQLNoDirectAccessAvailableException.java       |   49 +
 .../internal/SQLShapefileNotFoundException.java    |   49 +
 .../shapefile/internal/ShapefileByteReader.java    |  465 +++
 .../internal}/ShapefileByteReader.properties       |    0
 .../internal}/ShapefileByteReader_fr.properties    |    0
 .../shapefile/internal/ShapefileDescriptor.java    |  200 ++
 .../storage/shapefile/internal/package-info.java   |   24 +
 .../shapefile/jdbc/AbstractDbase3ByteReader.java   |  282 ++
 .../jdbc/AbstractDbase3ByteReader.properties       |    0
 .../jdbc/AbstractDbase3ByteReader_fr.properties    |    0
 .../sis/storage/shapefile/jdbc/AbstractJDBC.java   |  161 +
 .../shapefile/jdbc/AbstractJDBC.properties         |    0
 .../shapefile/jdbc/AbstractJDBC_fr.properties      |    0
 .../storage/shapefile/jdbc/CommonByteReader.java   |  131 +
 .../shapefile/jdbc/CommonByteReader.properties     |    0
 .../sis/storage/shapefile/jdbc/DBFDriver.java      |  144 +
 .../shapefile/jdbc/DBase3FieldDescriptor.java      |  149 +
 .../jdbc/DBase3FieldDescriptor.properties          |    0
 .../jdbc/DBase3FieldDescriptor_fr.properties       |    0
 .../sis/storage/shapefile/jdbc/DBaseDataType.java  |  102 +
 .../storage/shapefile/jdbc/Dbase3ByteReader.java   |  130 +
 .../storage/shapefile/jdbc/MappedByteReader.java   |  308 ++
 .../shapefile/jdbc/MappedByteReader.properties     |    0
 .../shapefile/jdbc/MappedByteReader_fr.properties  |    0
 .../jdbc/SQLConnectionClosedException.java         |   63 +
 .../jdbc/SQLDbaseFileNotFoundException.java        |   49 +
 .../jdbc/SQLInvalidDbaseFileFormatException.java   |   49 +
 .../jdbc/connection/AbstractConnection.java        |  417 +++
 .../jdbc/connection/AbstractConnection.properties  |    0
 .../connection/AbstractConnection_fr.properties    |    0
 .../shapefile/jdbc/connection/DBFConnection.java   |  335 ++
 .../jdbc/connection/DBFConnection.properties       |    0
 .../jdbc/connection/DBFConnection_fr.properties    |    0
 .../connection/SQLClosingIOFailureException.java   |   63 +
 .../shapefile/jdbc/connection/package-info.java    |   19 +
 .../jdbc/metadata/AbstractDatabaseMetaData.java    |  202 ++
 .../jdbc/metadata/DBFDatabaseMetaData.java         | 1300 ++++++++
 .../jdbc/metadata/DBFResultSetMataData.java        |  473 +++
 .../jdbc/metadata/DBFResultSetMataData.properties  |    0
 .../metadata/DBFResultSetMataData_fr.properties    |    0
 .../shapefile/jdbc/metadata/package-info.java      |   21 +
 .../sis/storage/shapefile/jdbc/package-info.java   |   25 +
 .../jdbc/resultset/AbstractResultSet.java          |  706 ++++
 .../jdbc/resultset/AbstractResultSet.properties    |    0
 .../jdbc/resultset/AbstractResultSet_fr.properties |    0
 .../jdbc/resultset/BuiltInMemoryResultSet.java     |  195 ++
 ...iltInMemoryResultSetForCatalogNamesListing.java |   51 +
 ...DBFBuiltInMemoryResultSetForColumnsListing.java |  460 +++
 ...ltInMemoryResultSetForColumnsListing.properties |    0
 ...nMemoryResultSetForColumnsListing_fr.properties |    0
 .../DBFBuiltInMemoryResultSetForSchemaListing.java |   51 +
 .../DBFBuiltInMemoryResultSetForTablesListing.java |   88 +
 ...iltInMemoryResultSetForTablesListing.properties |    0
 ...uiltInMemoryResultSetForTablesTypesListing.java |   74 +
 ...MemoryResultSetForTablesTypesListing.properties |    0
 .../jdbc/resultset/DBFRecordBasedResultSet.java    |  609 ++++
 .../resultset/DBFRecordBasedResultSet.properties   |    0
 .../DBFRecordBasedResultSet_fr.properties          |    0
 .../shapefile/jdbc/resultset/DBFResultSet.java     |  965 ++++++
 .../jdbc/resultset/DBFResultSet.properties         |    0
 .../jdbc/resultset/DBFResultSet_fr.properties      |    0
 .../resultset/SQLIllegalColumnIndexException.java  |   76 +
 .../jdbc/resultset/SQLNoResultException.java       |   63 +
 .../jdbc/resultset/SQLNoSuchFieldException.java    |   76 +
 .../jdbc/resultset/SQLNotDateException.java        |   89 +
 .../jdbc/resultset/SQLNotNumericException.java     |   89 +
 .../shapefile/jdbc/resultset/package-info.java     |   21 +
 .../storage/shapefile/jdbc/sql/ClauseResolver.java |  391 +++
 .../shapefile/jdbc/sql/ClauseResolver.properties   |    0
 .../jdbc/sql/ClauseResolver_fr.properties          |    0
 .../jdbc/sql/ConditionalClauseResolver.java        |   38 +
 .../storage/shapefile/jdbc/sql/CrudeSQLParser.java |  137 +
 .../shapefile/jdbc/sql/CrudeSQLParser.properties   |    0
 .../jdbc/sql/SQLIllegalParameterException.java     |   89 +
 .../jdbc/sql/SQLInvalidStatementException.java     |   63 +
 .../sql/SQLUnsupportedParsingFeatureException.java |   63 +
 .../storage/shapefile/jdbc/sql/package-info.java   |   20 +
 .../jdbc/statement/AbstractStatement.java          |  307 ++
 .../shapefile/jdbc/statement/DBFStatement.java     |  243 ++
 .../jdbc/statement/DBFStatement.properties         |    0
 .../jdbc/statement/DBFStatement_fr.properties      |    0
 .../shapefile/jdbc/statement/package-info.java     |   19 +
 .../jdbc/AbstractTestBaseForInternalJDBC.java      |   72 -
 .../internal/shapefile/jdbc/DBFConnectionTest.java |   95 -
 .../internal/shapefile/jdbc/DBFResultSetTest.java  |  208 --
 .../internal/shapefile/jdbc/DBFStatementTest.java  |  100 -
 .../shapefile/jdbc/sql/WhereClauseTest.java        |  146 -
 .../jdbc/AbstractTestBaseForInternalJDBC.java      |   72 +
 .../storage/shapefile/jdbc/DBFConnectionTest.java  |   95 +
 .../storage/shapefile/jdbc/DBFResultSetTest.java   |  208 ++
 .../storage/shapefile/jdbc/DBFStatementTest.java   |  100 +
 .../shapefile/jdbc/readme.txt                      |    0
 .../shapefile/jdbc/sql/WhereClauseTest.java        |  146 +
 .../org/apache/sis/services/OSGiActivator.java     |    4 +-
 .../org/apache/sis/services/ServletListener.java   |    2 +-
 netbeans-project/README.md                         |    4 +-
 netbeans-project/nbproject/project.properties      |   13 +-
 .../test/module-info.java                          |    4 +-
 optional/build.gradle.kts                          |    2 +-
 optional/src/org.apache.sis.gui/bundle/README      |    2 +-
 optional/src/org.apache.sis.gui/bundle/bin/sisfx   |    2 +-
 .../src/org.apache.sis.gui/bundle/bin/sisfx.bat    |    2 +-
 .../org.apache.sis.setup.InstallationResources     |    2 +-
 .../src/org.apache.sis.gui/main/module-info.java   |    2 +-
 .../main/org/apache/sis/gui/AboutDialog.java       |    2 +-
 .../main/org/apache/sis/gui/DataViewer.java        |   22 +-
 .../main/org/apache/sis/gui/RecentFiles.java       |    6 +-
 .../main/org/apache/sis/gui/SystemMonitor.java     |    8 +-
 .../org/apache/sis/gui/controls/ColorCell.java     |  467 +++
 .../sis/gui/controls/ColorColumnHandler.java       |  123 +
 .../org/apache/sis/gui/controls/ColorRamp.java     |  264 ++
 .../apache/sis/gui/controls/FormatApplicator.java  |  252 ++
 .../apache/sis/gui/controls/FormatTableCell.java   |  260 ++
 .../apache/sis/gui/controls/SyncWindowList.java    |  251 ++
 .../org/apache/sis/gui/controls/TabularWidget.java |   98 +
 .../apache/sis/gui/controls/ValueColorMapper.java  |  535 +++
 .../org/apache/sis/gui/controls/package-info.java  |   30 +
 .../apache/sis/gui/coverage/BandRangeTable.java    |    2 +-
 .../org/apache/sis/gui/coverage/CellFormat.java    |    4 +-
 .../apache/sis/gui/coverage/CoverageCanvas.java    |   16 +-
 .../apache/sis/gui/coverage/CoverageControls.java  |   10 +-
 .../apache/sis/gui/coverage/CoverageExplorer.java  |   10 +-
 .../apache/sis/gui/coverage/CoverageStyling.java   |    8 +-
 .../org/apache/sis/gui/coverage/GridControls.java  |    2 +-
 .../org/apache/sis/gui/coverage/GridError.java     |    4 +-
 .../apache/sis/gui/coverage/GridSliceSelector.java |    2 +-
 .../main/org/apache/sis/gui/coverage/GridTile.java |    2 +-
 .../org/apache/sis/gui/coverage/GridTileCache.java |    4 +-
 .../main/org/apache/sis/gui/coverage/GridView.java |   10 +-
 .../org/apache/sis/gui/coverage/GridViewSkin.java  |    6 +-
 .../sis/gui/coverage/ImagePropertyExplorer.java    |   10 +-
 .../apache/sis/gui/coverage/IsolineRenderer.java   |   12 +-
 .../gui/coverage/MultiResolutionImageLoader.java   |    2 +-
 .../sis/gui/coverage/StyledRenderingData.java      |    4 +-
 .../apache/sis/gui/coverage/ViewAndControls.java   |    2 +-
 .../org/apache/sis/gui/dataset/ExpandableList.java |    4 +-
 .../org/apache/sis/gui/dataset/FeatureList.java    |    4 +-
 .../org/apache/sis/gui/dataset/FeatureLoader.java  |    4 +-
 .../org/apache/sis/gui/dataset/FeatureTable.java   |   11 +-
 .../main/org/apache/sis/gui/dataset/LogViewer.java |   10 +-
 .../org/apache/sis/gui/dataset/PathAction.java     |    8 +-
 .../org/apache/sis/gui/dataset/ResourceCell.java   |   14 +-
 .../apache/sis/gui/dataset/ResourceExplorer.java   |    6 +-
 .../org/apache/sis/gui/dataset/ResourceItem.java   |   10 +-
 .../org/apache/sis/gui/dataset/ResourceTree.java   |   12 +-
 .../org/apache/sis/gui/dataset/TreeViewType.java   |    2 +-
 .../org/apache/sis/gui/dataset/WindowHandler.java  |   12 +-
 .../org/apache/sis/gui/dataset/WindowManager.java  |    4 +-
 .../apache/sis/gui/internal/BackgroundThreads.java |  199 ++
 .../org/apache/sis/gui/internal/ColorName.java     |   86 +
 .../org/apache/sis/gui/internal/DataFormats.java   |   46 +
 .../apache/sis/gui/internal/DataStoreOpener.java   |  377 +++
 .../apache/sis/gui/internal/ExceptionReporter.java |  354 ++
 .../sis/gui/internal/FixedHeaderColumnSize.java    |   88 +
 .../org/apache/sis/gui/internal/GUIUtilities.java  |  459 +++
 .../sis/gui/internal/IdentityValueFactory.java     |   74 +
 .../apache/sis/gui/internal/ImageConverter.java    |  260 ++
 .../sis/gui/internal/ImmutableObjectProperty.java  |  114 +
 .../org/apache/sis/gui/internal/LogHandler.java    |  402 +++
 .../org/apache/sis/gui/internal/MouseDrags.java    |   54 +
 .../sis/gui/internal/NonNullObjectProperty.java    |   54 +
 .../org/apache/sis/gui/internal/PrivateAccess.java |   53 +
 .../sis/gui/internal/PropertyValueFormats.java     |  132 +
 .../sis/gui/internal/PropertyValueFormatter.java   |   84 +
 .../org/apache/sis/gui/internal/PropertyView.java  |  396 +++
 .../org/apache/sis/gui/internal/RecentChoices.java |  269 ++
 .../org/apache/sis/gui/internal/Resources.java     |  585 ++++
 .../gui => gui/internal}/Resources.properties      |    0
 .../org/apache/sis/gui/internal/Resources_en.java  |   30 +
 .../org/apache/sis/gui/internal/Resources_fr.java  |   30 +
 .../gui => gui/internal}/Resources_fr.properties   |    0
 .../main/org/apache/sis/gui/internal/Styles.java   |  212 ++
 .../org/apache/sis/gui/internal/ToolbarButton.java |  113 +
 .../apache/sis/gui/internal/io/FileAccessItem.java |  658 ++++
 .../apache/sis/gui/internal/io/FileAccessView.java |  186 ++
 .../gui/internal/io/OptionalDataDownloader.java    |  113 +
 .../apache/sis/gui/internal/io/package-info.java   |   33 +
 .../org/apache/sis/gui/internal/package-info.java  |   31 +
 .../org/apache/sis/gui/map/GestureFollower.java    |    2 +-
 .../main/org/apache/sis/gui/map/MapCanvas.java     |   24 +-
 .../main/org/apache/sis/gui/map/MapCanvasAWT.java  |    4 +-
 .../main/org/apache/sis/gui/map/MapMenu.java       |    4 +-
 .../org/apache/sis/gui/map/OperationFinder.java    |    2 +-
 .../main/org/apache/sis/gui/map/StatusBar.java     |   14 +-
 .../org/apache/sis/gui/map/ValuesFormatter.java    |    4 +-
 .../org/apache/sis/gui/map/ValuesFromCoverage.java |    4 +-
 .../org/apache/sis/gui/map/ValuesUnderCursor.java  |    2 +-
 .../sis/gui/metadata/IdentificationInfo.java       |    6 +-
 .../apache/sis/gui/metadata/MetadataSummary.java   |    8 +-
 .../org/apache/sis/gui/metadata/MetadataTree.java  |   12 +-
 .../sis/gui/metadata/RepresentationInfo.java       |    2 +-
 .../main/org/apache/sis/gui/metadata/Section.java  |    4 +-
 .../sis/gui/metadata/StandardMetadataTree.java     |   10 +-
 .../apache/sis/gui/metadata/VerboseFormats.java    |    2 +-
 .../apache/sis/gui/referencing/AuthorityCodes.java |    8 +-
 .../org/apache/sis/gui/referencing/CRSChooser.java |   12 +-
 .../main/org/apache/sis/gui/referencing/Code.java  |    2 +-
 .../org/apache/sis/gui/referencing/CodeFilter.java |    2 +-
 .../org/apache/sis/gui/referencing/MenuSync.java   |    6 +-
 .../sis/gui/referencing/ObjectStringConverter.java |    2 +-
 .../gui/referencing/PositionableProjection.java    |    8 +-
 .../gui/referencing/RecentReferenceSystems.java    |   18 +-
 .../main/org/apache/sis/gui/referencing/Utils.java |    4 +-
 .../org/apache/sis/gui/referencing/WKTPane.java    |    2 +-
 .../main/org/apache/sis/gui/setup/FXFinder.java    |  439 +++
 .../main/org/apache/sis/gui/setup/Inflater.java    |  174 +
 .../main/org/apache/sis/gui/setup/Wizard.java      |  756 +++++
 .../main/org/apache/sis/gui/setup/WizardPage.java  |  113 +
 .../org/apache/sis/gui/setup/package-info.java     |   28 +
 .../apache/sis/internal/gui/BackgroundThreads.java |  199 --
 .../org/apache/sis/internal/gui/ColorName.java     |   86 -
 .../org/apache/sis/internal/gui/DataFormats.java   |   46 -
 .../apache/sis/internal/gui/DataStoreOpener.java   |  377 ---
 .../apache/sis/internal/gui/ExceptionReporter.java |  354 --
 .../sis/internal/gui/FixedHeaderColumnSize.java    |   88 -
 .../org/apache/sis/internal/gui/GUIUtilities.java  |  459 ---
 .../sis/internal/gui/IdentityValueFactory.java     |   74 -
 .../apache/sis/internal/gui/ImageConverter.java    |  260 --
 .../sis/internal/gui/ImmutableObjectProperty.java  |  114 -
 .../org/apache/sis/internal/gui/LogHandler.java    |  402 ---
 .../org/apache/sis/internal/gui/MouseDrags.java    |   54 -
 .../sis/internal/gui/NonNullObjectProperty.java    |   54 -
 .../sis/internal/gui/OptionalDataDownloader.java   |  110 -
 .../org/apache/sis/internal/gui/PrivateAccess.java |   53 -
 .../sis/internal/gui/PropertyValueFormats.java     |  132 -
 .../sis/internal/gui/PropertyValueFormatter.java   |   84 -
 .../org/apache/sis/internal/gui/PropertyView.java  |  396 ---
 .../org/apache/sis/internal/gui/RecentChoices.java |  269 --
 .../org/apache/sis/internal/gui/Resources.java     |  585 ----
 .../org/apache/sis/internal/gui/Resources_en.java  |   30 -
 .../org/apache/sis/internal/gui/Resources_fr.java  |   30 -
 .../main/org/apache/sis/internal/gui/Styles.java   |  212 --
 .../org/apache/sis/internal/gui/ToolbarButton.java |  113 -
 .../apache/sis/internal/gui/control/ColorCell.java |  467 ---
 .../internal/gui/control/ColorColumnHandler.java   |  123 -
 .../apache/sis/internal/gui/control/ColorRamp.java |  264 --
 .../sis/internal/gui/control/FormatApplicator.java |  252 --
 .../sis/internal/gui/control/FormatTableCell.java  |  260 --
 .../sis/internal/gui/control/SyncWindowList.java   |  251 --
 .../sis/internal/gui/control/TabularWidget.java    |   98 -
 .../sis/internal/gui/control/ValueColorMapper.java |  535 ---
 .../sis/internal/gui/control/package-info.java     |   30 -
 .../apache/sis/internal/gui/io/FileAccessItem.java |  658 ----
 .../apache/sis/internal/gui/io/FileAccessView.java |  186 --
 .../apache/sis/internal/gui/io/package-info.java   |   33 -
 .../org/apache/sis/internal/gui/package-info.java  |   31 -
 .../org/apache/sis/internal/setup/FXFinder.java    |  439 ---
 .../org/apache/sis/internal/setup/Inflater.java    |  174 -
 .../main/org/apache/sis/internal/setup/Wizard.java |  756 -----
 .../org/apache/sis/internal/setup/WizardPage.java  |  113 -
 .../apache/sis/internal/setup/package-info.java    |   28 -
 .../sis/gui/controls/ValueColorMapperApp.java      |   89 +
 .../apache/sis/gui/coverage/CoverageCanvasApp.java |    2 +-
 .../sis/gui/coverage/CoverageStylingApp.java       |    4 +-
 .../org/apache/sis/gui/coverage/GridViewApp.java   |    2 +-
 .../apache/sis/gui/internal/GUIUtilitiesTest.java  |  155 +
 .../apache/sis/gui/referencing/CRSChooserApp.java  |    2 +-
 .../apache/sis/internal/gui/GUIUtilitiesTest.java  |  155 -
 .../internal/gui/control/ValueColorMapperApp.java  |   89 -
 parent/LicenseHeader.txt                           |   16 -
 3521 files changed, 238822 insertions(+), 238619 deletions(-)
 delete mode 100644 README
 create mode 100644 README.md
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/BatchComputedImage.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ColorModelBuilder.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ColorModelFactory.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ColorModelType.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ColorsForRange.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/DeferredProperty.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/FillValues.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ImageLayout.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ImageUtilities.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/MultiBandsIndexColorModel.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ObservableImage.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/RasterFactory.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/SampleModelFactory.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ScaledColorModel.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/ScaledColorSpace.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/TileErrorHandler.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/TileOpExecutor.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/TilePlaceholder.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/TiledImage.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/WritableTiledImage.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/grid/j2d/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/internal/CommonDomainFinder.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/internal/CompoundTransform.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/internal/CompoundTransformOf1D.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/internal/MultiSourceArgument.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/internal/RangeArgument.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/internal/RepeatedTransform.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/internal/SampleDimensions.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/coverage/internal/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/AttributeConvention.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/FeatureExpression.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/FeatureUtilities.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/InstantList.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/MovingFeatures.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/Resources.java
 rename endorsed/src/org.apache.sis.feature/main/org/apache/sis/{internal/feature => feature/internal}/Resources.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/Resources_en.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/Resources_fr.java
 rename endorsed/src/org.apache.sis.feature/main/org/apache/sis/{internal/feature => feature/internal}/Resources_fr.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/feature/internal/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/CopyVisitor.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/EditVisitor.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/FunctionNames.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/FunctionRegister.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/GeometryConverter.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/Node.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/SortByComparator.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/Visitor.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/XPath.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/internal/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/FunctionDescription.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/FunctionWithSRID.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/GeometryConstructor.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/GeometryParser.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/OneGeometry.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/Registry.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/SQLMM.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/ST_FromBinary.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/ST_FromText.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/ST_Point.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/ST_Transform.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/SpatialFunction.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/TwoGeometries.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/filter/sqlmm/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/AbstractGeometry.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/Geometries.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/GeometryFactories.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/GeometryType.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/GeometryWithCRS.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/GeometryWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/SpatialOperationContext.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/StandardGeometries.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/esri/Factory.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/esri/Wrapper.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/esri/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/DecimatedPathIterator.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/DecimatedShape.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/EmptyShape.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/Factory.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/FlatShape.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/MultiPolylines.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/PathBuilder.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/PointWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/Polygon.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/Polyline.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/ShapeProperties.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/ShapeWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/Wrapper.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/j2d/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/Factory.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/FilteringContext.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/GeometryCoordinateTransform.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/GeometryTransform.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/JTS.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/PackedCoordinateSequence.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/PackedCoordinateSequenceFactory.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/PathIteratorAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/ShapeAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/ShapeConverter.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/Wrapper.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/jts/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/geometry/wrapper/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/processing/CompoundFuture.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/processing/TiledProcess.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/processing/isoline/Fragments.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/processing/isoline/Isolines.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/processing/isoline/Joiner.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/processing/isoline/Parallelized.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/processing/isoline/PolylineBuffer.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/processing/isoline/PolylineStage.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/processing/isoline/Result.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/processing/isoline/Tracer.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/processing/isoline/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/image/processing/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/CommonDomainFinder.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/CompoundTransform.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/CompoundTransformOf1D.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/MultiSourceArgument.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/RangeArgument.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/RepeatedTransform.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/SampleDimensions.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/BatchComputedImage.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/ColorModelBuilder.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/ColorModelFactory.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/ColorModelType.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/ColorsForRange.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/DeferredProperty.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/FillValues.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/ImageLayout.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/ImageUtilities.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/MultiBandsIndexColorModel.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/ObservableImage.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/RasterFactory.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/SampleModelFactory.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/ScaledColorModel.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/ScaledColorSpace.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/TileErrorHandler.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/TileOpExecutor.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/TilePlaceholder.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/TiledImage.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/WritableTiledImage.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/j2d/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/coverage/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/AbstractGeometry.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/AttributeConvention.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/FeatureExpression.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/FeatureUtilities.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/Geometries.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/GeometryFactories.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/GeometryType.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/GeometryWithCRS.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/GeometryWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/InstantList.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/MovingFeatures.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/Resources.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/Resources_en.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/Resources_fr.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/SpatialOperationContext.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/StandardGeometries.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/esri/Factory.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/esri/Wrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/esri/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/DecimatedPathIterator.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/DecimatedShape.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/EmptyShape.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/Factory.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/FlatShape.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/MultiPolylines.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/PathBuilder.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/PointWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/Polygon.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/Polyline.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/ShapeProperties.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/ShapeWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/Wrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/j2d/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/jts/Factory.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/jts/FilteringContext.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/jts/GeometryCoordinateTransform.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/jts/GeometryTransform.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/jts/JTS.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/jts/PackedCoordinateSequence.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/jts/PackedCoordinateSequenceFactory.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/jts/PathIteratorAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/jts/ShapeAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/jts/ShapeConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/jts/Wrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/jts/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/feature/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/CopyVisitor.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/EditVisitor.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/FunctionNames.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/FunctionRegister.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/GeometryConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/Node.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/SortByComparator.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/Visitor.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/XPath.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/FunctionDescription.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/FunctionWithSRID.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/GeometryConstructor.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/GeometryParser.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/OneGeometry.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/Registry.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/SQLMM.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/ST_FromBinary.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/ST_FromText.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/ST_Point.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/ST_Transform.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/SpatialFunction.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/TwoGeometries.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/filter/sqlmm/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/processing/image/CompoundFuture.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/processing/image/TiledProcess.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/processing/image/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/processing/isoline/Fragments.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/processing/isoline/Isolines.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/processing/isoline/Joiner.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/processing/isoline/Parallelized.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/processing/isoline/PolylineBuffer.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/processing/isoline/PolylineStage.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/processing/isoline/Result.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/processing/isoline/Tracer.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/main/org/apache/sis/internal/processing/isoline/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/coverage/grid/j2d/ColorModelBuilderTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/coverage/grid/j2d/ImageLayoutTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/coverage/grid/j2d/ImageUtilitiesTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/coverage/grid/j2d/SampleModelFactoryTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/coverage/grid/j2d/ScaledColorSpaceTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/coverage/internal/RangeArgumentTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/feature/internal/AttributeConventionTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/internal/CopyVisitorTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/internal/FilterFactoryMock.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/internal/FunctionMock.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/internal/FunctionNamesTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/internal/ValueReferenceMock.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/sqlmm/RegistryTestCase.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/sqlmm/RegistryUsingESRI_Test.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/sqlmm/RegistryUsingJTS_Test.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/sqlmm/RegistryUsingJava2D_Test.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/filter/sqlmm/SQLMMTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/geometry/wrapper/GeometriesTestCase.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/geometry/wrapper/GeometryTypeTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/geometry/wrapper/StandardGeometriesTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/geometry/wrapper/esri/FactoryTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/geometry/wrapper/j2d/FactoryTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/geometry/wrapper/j2d/FlatShapeTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/geometry/wrapper/j2d/ShapePropertiesTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/geometry/wrapper/jts/FactoryTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/geometry/wrapper/jts/JTSTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/geometry/wrapper/jts/ShapeAdapterTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/geometry/wrapper/jts/ShapeConverterTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/image/processing/isoline/IsolinesTest.java
 create mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/image/processing/isoline/StepsViewer.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/coverage/RangeArgumentTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/coverage/j2d/ColorModelBuilderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/coverage/j2d/ImageLayoutTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/coverage/j2d/ImageUtilitiesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/coverage/j2d/SampleModelFactoryTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/coverage/j2d/ScaledColorSpaceTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/feature/AttributeConventionTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/feature/GeometriesTestCase.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/feature/GeometryTypeTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/feature/StandardGeometriesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/feature/esri/FactoryTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/feature/j2d/FactoryTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/feature/j2d/FlatShapeTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/feature/j2d/ShapePropertiesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/feature/jts/FactoryTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/feature/jts/JTSTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/feature/jts/ShapeAdapterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/feature/jts/ShapeConverterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/filter/CopyVisitorTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/filter/FilterFactoryMock.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/filter/FunctionMock.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/filter/FunctionNamesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/filter/ValueReferenceMock.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/filter/sqlmm/RegistryTestCase.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/filter/sqlmm/RegistryUsingESRI_Test.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/filter/sqlmm/RegistryUsingJTS_Test.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/filter/sqlmm/RegistryUsingJava2D_Test.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/filter/sqlmm/SQLMMTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/processing/isoline/IsolinesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.feature/test/org/apache/sis/internal/processing/isoline/StepsViewer.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/META-INF/services/org.apache.sis.internal.jaxb.TypeRegistration
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/META-INF/services/org.apache.sis.internal.util.MetadataServices
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/META-INF/services/org.apache.sis.util.internal.MetadataServices
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/META-INF/services/org.apache.sis.xml.bind.TypeRegistration
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/AdapterReplacement.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/Context.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/FilterByVersion.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/FinalClassExtensions.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/IdentifierMapAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/IdentifierMapEntry.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/ModifiableIdentifierMap.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/NonMarshalledAuthority.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/SpecializedIdentifier.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/TypeRegistration.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/UseLegacyMetadata.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/cat/CodeListAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/cat/CodeListUID.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/cat/EnumAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/cat/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/CI_DateTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/CI_OnLineFunctionCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/CI_PresentationFormCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/CI_RoleCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/CI_TelephoneTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/DCPList.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/DQM_ValueStructure.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/DQ_EvaluationMethodTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/DS_AssociationTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/DS_InitiativeTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_CellGeometryCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_CharacterSetCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_ClassificationCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_CoverageContentTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_DatatypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_DimensionNameTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_GeometricObjectTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_ImagingConditionCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_KeywordTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_MaintenanceFrequencyCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_MediumFormatCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_MediumNameCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_ObligationCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_PixelOrientationCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_ProgressCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_RestrictionCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_ScopeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_SpatialRepresentationTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_TopicCategoryCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MD_TopologyLevelCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MI_BandDefinition.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MI_ContextCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MI_GeometryTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MI_ObjectiveTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MI_OperationTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MI_PolarisationOrientationCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MI_PriorityCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MI_SequenceCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MI_TransferFunctionTypeCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/MI_TriggerCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/SV_CouplingType.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/SV_ParameterDirection.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/code/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/CharSequenceAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_Boolean.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_CharacterString.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_DateTime.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_Decimal.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_Distance.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_GenericName.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_Integer.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_Integer64.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_Measure.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_MultiplicityRange.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_Real.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_Record.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_RecordType.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_Temporal.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_URL.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/GO_UnlimitedInteger.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/InternationalStringAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/InternationalStringConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/Multiplicity.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/MultiplicityRange.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/NameValue.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/ObjectIdentification.html
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/ObjectReference.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/PropertyType.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/StringAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/URIAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/UnitAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/UnlimitedInteger.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gco/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gcx/Anchor.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gcx/FileName.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gcx/MimeFileType.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gcx/MimeFileTypeAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gcx/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/geometry/GM_Object.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/geometry/ObjectFactory.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/geometry/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gmi/LE_ProcessStep.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gmi/LE_Source.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gmi/MI_Band.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gmi/MI_CoverageDescription.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gmi/MI_Georectified.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gmi/MI_Georeferenceable.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gmi/MI_ImageDescription.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gmi/MI_Metadata.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gmi/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gml/CodeListAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gml/DateAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gml/GMLAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gml/Measure.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gml/MeasureList.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gml/SC_VerticalCRS.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gml/TM_Primitive.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gml/TimeInstant.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gml/TimePeriod.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gml/TimePeriodBound.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gml/UniversalTimeAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gml/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gts/TM_Duration.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gts/TM_PeriodDuration.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/gts/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/lan/Country.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/lan/LanguageCode.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/lan/LocaleAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/lan/LocaleAndCharset.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/lan/LocalisedCharacterString.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/lan/OtherLocales.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/lan/PT_FreeText.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/lan/PT_Locale.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/lan/TextGroup.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/lan/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/CI_Address.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/CI_Citation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/CI_Contact.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/CI_Date.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/CI_OnlineResource.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/CI_Party.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/CI_Responsibility.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/CI_ResponsibleParty.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/CI_Series.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/CI_Telephone.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/DQM_BasicMeasure.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/DQM_Description.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/DQM_Measure.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/DQM_Parameter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/DQM_SourceReference.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/DQ_DataQuality.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/DQ_Element.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/DQ_EvaluationMethod.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/DQ_MeasureReference.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/DQ_PositionalAccuracy.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/DQ_Result.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/DQ_StandaloneQualityReportInformation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/EX_Extent.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/EX_GeographicExtent.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/EX_TemporalExtent.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/EX_VerticalExtent.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/LE_Algorithm.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/LE_NominalResolution.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/LE_ProcessStepReport.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/LE_Processing.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/LI_Lineage.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/LI_ProcessStep.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/LI_Source.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_AggregateInformation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_ApplicationSchemaInformation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_AssociatedResource.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_AttributeGroup.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_BrowseGraphic.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Constraints.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_ContentInformation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_DataIdentification.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_DigitalTransferOptions.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Dimension.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Distribution.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Distributor.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_ExtendedElementInformation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_FeatureTypeInfo.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Format.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_GeometricObjects.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Identification.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Identifier.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_KeywordClass.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Keywords.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_MaintenanceInformation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Medium.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Metadata.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_MetadataExtensionInformation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_MetadataScope.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_PortrayalCatalogueReference.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_RangeDimension.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Releasability.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_RepresentativeFraction.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Resolution.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Scope.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_ScopeDescription.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_SpatialRepresentation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_StandardOrderProcess.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MD_Usage.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_AcquisitionInformation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_EnvironmentalRecord.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_Event.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_GCP.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_GeolocationInformation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_Instrument.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_Objective.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_Operation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_Plan.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_Platform.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_PlatformPass.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_RangeElementDescription.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_RequestedDate.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MI_Requirement.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/MX_DataFile.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/RS_ReferenceSystem.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/SV_CoupledResource.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/SV_OperationChainMetadata.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/SV_OperationMetadata.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/SV_Parameter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/replace/Parameter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/replace/QualityParameter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/replace/RS_Identifier.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/replace/ReferenceSystemMetadata.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/replace/SensorType.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/metadata/replace/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/jaxb/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/AxisNames.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/Dependencies.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/ExcludedSet.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/Identifiers.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/ImplementationHelper.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/Merger.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/MetadataTypes.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/NameMeaning.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/NameToIdentifier.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/RecordSchemaSIS.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/ReferencingServices.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/Resources.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/Resources_en.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/Resources_fr.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/ServicesForUtility.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/TemporalUtilities.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/TransformationAccuracy.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/legacy/DateToTemporal.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/legacy/LegacyPropertyAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/legacy/TemporalToDate.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/legacy/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/sql/Dialect.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/sql/Initializer.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/sql/LocalDataSource.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/sql/Reflection.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/sql/SQLBuilder.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/sql/SQLUtilities.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/sql/ScriptRunner.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/sql/Syntax.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/sql/TypeMapper.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/metadata/sql/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/simple/CitationConstant.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/simple/SimpleAttributeType.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/simple/SimpleCitation.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/simple/SimpleDuration.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/simple/SimpleExtent.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/simple/SimpleFormat.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/simple/SimpleIdentifiedObject.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/simple/SimpleIdentifier.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/simple/SimpleMetadata.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/simple/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/xml/LegacyNamespaces.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/xml/StreamWriterDelegate.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/xml/XmlUtilities.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/internal/xml/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/AxisNames.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/Dependencies.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/ExcludedSet.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/Identifiers.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/ImplementationHelper.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/Merger.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/MetadataTypes.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/NameMeaning.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/NameToIdentifier.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/RecordSchemaSIS.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/ReferencingServices.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/Resources.java
 rename endorsed/src/org.apache.sis.metadata/main/org/apache/sis/{internal/metadata => metadata/internal}/Resources.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/Resources_en.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/Resources_fr.java
 rename endorsed/src/org.apache.sis.metadata/main/org/apache/sis/{internal/metadata => metadata/internal}/Resources_fr.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/ServicesForUtility.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/TemporalUtilities.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/TransformationAccuracy.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/legacy/DateToTemporal.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/legacy/LegacyPropertyAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/legacy/TemporalToDate.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/legacy/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/CitationConstant.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleAttributeType.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleCitation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleDuration.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleExtent.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleFormat.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifier.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleMetadata.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/Dialect.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/Initializer.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/LocalDataSource.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/Reflection.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/SQLBuilder.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/SQLUtilities.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/ScriptRunner.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/Syntax.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/TypeMapper.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/util/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/AdapterReplacement.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/Context.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/FilterByVersion.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/FinalClassExtensions.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/IdentifierMapAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/IdentifierMapEntry.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/ModifiableIdentifierMap.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/NonMarshalledAuthority.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/SpecializedIdentifier.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/TypeRegistration.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/UseLegacyMetadata.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/cat/CodeListAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/cat/CodeListUID.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/cat/EnumAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/cat/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/CharSequenceAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_Boolean.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_CharacterString.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_DateTime.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_Decimal.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_Distance.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_GenericName.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_Integer.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_Integer64.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_Measure.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_MultiplicityRange.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_Real.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_Record.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_RecordType.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_Temporal.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_URL.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/GO_UnlimitedInteger.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/InternationalStringAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/InternationalStringConverter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/Multiplicity.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/MultiplicityRange.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/NameValue.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/ObjectIdentification.html
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/ObjectReference.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/PropertyType.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/StringAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/URIAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/UnitAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/UnlimitedInteger.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gcx/Anchor.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gcx/FileName.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gcx/MimeFileType.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gcx/MimeFileTypeAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gcx/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gmi/LE_ProcessStep.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gmi/LE_Source.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gmi/MI_Band.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gmi/MI_CoverageDescription.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gmi/MI_Georectified.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gmi/MI_Georeferenceable.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gmi/MI_ImageDescription.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gmi/MI_Metadata.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gmi/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gml/CodeListAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gml/DateAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gml/GMLAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gml/Measure.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gml/MeasureList.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gml/SC_VerticalCRS.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gml/TM_Primitive.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gml/TimeInstant.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gml/TimePeriod.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gml/TimePeriodBound.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gml/UniversalTimeAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gml/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gts/TM_Duration.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gts/TM_PeriodDuration.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gts/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/lan/Country.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/lan/LanguageCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/lan/LocaleAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/lan/LocaleAndCharset.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/lan/LocalisedCharacterString.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/lan/OtherLocales.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/lan/PT_FreeText.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/lan/PT_Locale.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/lan/TextGroup.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/lan/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_Address.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_Citation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_Contact.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_Date.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_OnlineResource.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_Party.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_Responsibility.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_ResponsibleParty.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_Series.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_Telephone.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/DQM_BasicMeasure.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/DQM_Description.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/DQM_Measure.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/DQM_Parameter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/DQM_SourceReference.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/DQ_DataQuality.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/DQ_Element.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/DQ_EvaluationMethod.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/DQ_MeasureReference.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/DQ_PositionalAccuracy.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/DQ_Result.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/DQ_StandaloneQualityReportInformation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/EX_Extent.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/EX_GeographicExtent.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/EX_TemporalExtent.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/EX_VerticalExtent.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/LE_Algorithm.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/LE_NominalResolution.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/LE_ProcessStepReport.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/LE_Processing.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/LI_Lineage.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/LI_ProcessStep.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/LI_Source.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_AggregateInformation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_ApplicationSchemaInformation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_AssociatedResource.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_AttributeGroup.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_BrowseGraphic.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Constraints.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_ContentInformation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_DataIdentification.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_DigitalTransferOptions.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Dimension.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Distribution.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Distributor.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_ExtendedElementInformation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_FeatureTypeInfo.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Format.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_GeometricObjects.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Identification.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Identifier.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_KeywordClass.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Keywords.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_MaintenanceInformation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Medium.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Metadata.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_MetadataExtensionInformation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_MetadataScope.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_PortrayalCatalogueReference.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_RangeDimension.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Releasability.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_RepresentativeFraction.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Resolution.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Scope.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_ScopeDescription.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_SpatialRepresentation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_StandardOrderProcess.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Usage.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_AcquisitionInformation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_EnvironmentalRecord.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_Event.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_GCP.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_GeolocationInformation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_Instrument.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_Objective.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_Operation.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_Plan.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_Platform.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_PlatformPass.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_RangeElementDescription.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_RequestedDate.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MI_Requirement.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MX_DataFile.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/RS_ReferenceSystem.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/SV_CoupledResource.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/SV_OperationChainMetadata.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/SV_OperationMetadata.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/SV_Parameter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/CI_DateTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/CI_OnLineFunctionCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/CI_PresentationFormCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/CI_RoleCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/CI_TelephoneTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/DCPList.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/DQM_ValueStructure.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/DQ_EvaluationMethodTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/DS_AssociationTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/DS_InitiativeTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_CellGeometryCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_CharacterSetCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_ClassificationCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_CoverageContentTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_DatatypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_DimensionNameTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_GeometricObjectTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_ImagingConditionCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_KeywordTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_MaintenanceFrequencyCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_MediumFormatCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_MediumNameCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_ObligationCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_PixelOrientationCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_ProgressCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_RestrictionCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_ScopeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_SpatialRepresentationTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_TopicCategoryCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_TopologyLevelCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_BandDefinition.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_ContextCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_GeometryTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_ObjectiveTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_OperationTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_PolarisationOrientationCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_PriorityCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_SequenceCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_TransferFunctionTypeCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_TriggerCode.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/SV_CouplingType.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/SV_ParameterDirection.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/geometry/GM_Object.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/geometry/ObjectFactory.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/geometry/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/Parameter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/QualityParameter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/RS_Identifier.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/ReferenceSystemMetadata.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/SensorType.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/ServiceParameter.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/util/LegacyNamespaces.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/util/StreamWriterDelegate.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/util/XmlUtilities.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/util/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/IdentifierMapAdapterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/ModifiableIdentifierMapTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/cat/CodeListMarshallingTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/cat/EnumAdapterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/cat/EnumMarshallingTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/gco/MultiplicityTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/gco/PropertyTypeMock.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/gco/PropertyTypeTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/gco/StringAdapterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/gml/MeasureTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/gml/TimePeriodTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/lan/FreeTextMarshallingTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/lan/LanguageCodeTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/lan/OtherLocalesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/lan/PT_LocaleTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/metadata/replace/QualityParameterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/jaxb/metadata/replace/ServiceParameterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/metadata/AxisNamesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/metadata/IdentifiersTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/metadata/ImplementationHelperTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/metadata/MergerTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/metadata/NameMeaningTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/metadata/sql/SQLUtilitiesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/metadata/sql/ScriptRunnerTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/metadata/sql/TypeMapperTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/simple/SimpleIdentifierTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/xml/DocumentComparatorTest.java
 delete mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/internal/xml/XmlUtilitiesTest.java
 rename endorsed/src/org.apache.sis.metadata/test/org/apache/sis/{internal/metadata => metadata/internal}/AxisDirectionsTest.txt (100%)
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/internal/AxisNamesTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/internal/IdentifiersTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/internal/ImplementationHelperTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/internal/MergerTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/internal/NameMeaningTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/simple/SimpleIdentifierTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/sql/util/SQLUtilitiesTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/sql/util/ScriptRunnerTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/sql/util/TypeMapperTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/IdentifierMapAdapterTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/ModifiableIdentifierMapTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/cat/CodeListMarshallingTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/cat/EnumAdapterTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/cat/EnumMarshallingTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/gco/MultiplicityTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/gco/PropertyTypeMock.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/gco/PropertyTypeTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/gco/StringAdapterTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/gml/MeasureTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/gml/TimePeriodTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/lan/FreeTextMarshallingTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/lan/LanguageCodeTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/lan/OtherLocalesTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/lan/PT_LocaleTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/metadata/replace/QualityParameterTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/metadata/replace/ServiceParameterTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/util/DocumentComparatorTest.java
 create mode 100644 endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/util/XmlUtilitiesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/ExceptionPresentation.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/ListChangeEvent.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/NotifiedList.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/Presentation.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/PropertyNameCollector.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/ResourceSymbolizer.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/SEPortrayer.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/SEPresentation.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/SymbologyVisitor.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/coverage/MultiResolutionCoverageLoader.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/coverage/RenderingData.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/coverage/RenderingWorkaround.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/coverage/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/internal/map/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/ExceptionPresentation.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/ListChangeEvent.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/NotifiedList.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/Presentation.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/PropertyNameCollector.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/ResourceSymbolizer.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/SEPortrayer.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/SEPresentation.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/SymbologyVisitor.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/coverage/MultiResolutionCoverageLoader.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/coverage/RenderingData.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/coverage/RenderingWorkaround.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/coverage/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/main/org/apache/sis/map/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/test/org/apache/sis/internal/map/SEPortrayerTest.java
 delete mode 100644 endorsed/src/org.apache.sis.portrayal/test/org/apache/sis/internal/map/coverage/MultiResolutionCoverageLoaderTest.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/test/org/apache/sis/map/SEPortrayerTest.java
 create mode 100644 endorsed/src/org.apache.sis.portrayal/test/org/apache/sis/map/coverage/MultiResolutionCoverageLoaderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.france/main/META-INF/services/org.apache.sis.internal.jaxb.TypeRegistration
 create mode 100644 endorsed/src/org.apache.sis.profile.france/main/META-INF/services/org.apache.sis.xml.bind.TypeRegistration
 delete mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/internal/profile/fra/Constraints.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/internal/profile/fra/DataIdentification.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/internal/profile/fra/DirectReferenceSystem.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/internal/profile/fra/IndirectReferenceSystem.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/internal/profile/fra/LegalConstraints.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/internal/profile/fra/ProfileTypes.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/internal/profile/fra/SecurityConstraints.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/internal/profile/fra/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/Constraints.java
 create mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/DataIdentification.java
 create mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/DirectReferenceSystem.java
 create mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/IndirectReferenceSystem.java
 create mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/LegalConstraints.java
 create mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/ProfileTypes.java
 rename endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/{internal/profile => xml/bind}/fra/RenameOnImport.lst (100%)
 create mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/SecurityConstraints.java
 create mode 100644 endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/internal/profile/fra/DataIdentificationTest.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/internal/profile/fra/DirectReferenceSystemTest.java
 create mode 100644 endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/xml/bind/fra/DataIdentificationTest.java
 rename endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/{internal/profile => xml/bind}/fra/DirectReferenceSystem.xml (100%)
 create mode 100644 endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/xml/bind/fra/DirectReferenceSystemTest.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.japan/main/META-INF/services/org.apache.sis.internal.netcdf.Convention
 create mode 100644 endorsed/src/org.apache.sis.profile.japan/main/META-INF/services/org.apache.sis.storage.netcdf.base.Convention
 delete mode 100644 endorsed/src/org.apache.sis.profile.japan/main/org/apache/sis/internal/earth/netcdf/FactoryForUCAR.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.japan/main/org/apache/sis/internal/earth/netcdf/GCOM_C.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.japan/main/org/apache/sis/internal/earth/netcdf/GCOM_W.java
 delete mode 100644 endorsed/src/org.apache.sis.profile.japan/main/org/apache/sis/internal/earth/netcdf/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.profile.japan/main/org/apache/sis/profile/japan/netcdf/FactoryForUCAR.java
 create mode 100644 endorsed/src/org.apache.sis.profile.japan/main/org/apache/sis/profile/japan/netcdf/GCOM_C.java
 create mode 100644 endorsed/src/org.apache.sis.profile.japan/main/org/apache/sis/profile/japan/netcdf/GCOM_W.java
 create mode 100644 endorsed/src/org.apache.sis.profile.japan/main/org/apache/sis/profile/japan/netcdf/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/internal/gazetteer/Resources.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/internal/gazetteer/Resources_en.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/internal/gazetteer/Resources_fr.java
 create mode 100644 endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/internal/Resources.java
 rename endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/{internal/gazetteer => referencing/gazetteer/internal}/Resources.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/internal/Resources_en.java
 create mode 100644 endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/referencing/gazetteer/internal/Resources_fr.java
 rename endorsed/src/org.apache.sis.referencing.gazetteer/main/org/apache/sis/{internal/gazetteer => referencing/gazetteer/internal}/Resources_fr.properties (100%)
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/META-INF/services/org.apache.sis.internal.jaxb.AdapterReplacement
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/META-INF/services/org.apache.sis.internal.jaxb.TypeRegistration
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/META-INF/services/org.apache.sis.internal.metadata.ReferencingServices
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/META-INF/services/org.apache.sis.internal.metadata.sql.Initializer
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/META-INF/services/org.apache.sis.metadata.internal.ReferencingServices
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/META-INF/services/org.apache.sis.metadata.sql.util.Initializer
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/META-INF/services/org.apache.sis.xml.bind.AdapterReplacement
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/META-INF/services/org.apache.sis.xml.bind.TypeRegistration
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CC_Conversion.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CC_CoordinateOperation.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CC_GeneralOperationParameter.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CC_GeneralParameterValue.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CC_OperationMethod.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CC_OperationParameter.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CC_OperationParameterGroup.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CD_Ellipsoid.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CD_EngineeringDatum.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CD_GeodeticDatum.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CD_ImageDatum.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CD_ParametricDatum.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CD_PixelInCell.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CD_PrimeMeridian.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CD_TemporalDatum.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CD_VerticalDatum.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CD_VerticalDatumType.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_AffineCS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_AxisDirection.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_CartesianCS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_CoordinateSystem.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_CoordinateSystemAxis.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_CylindricalCS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_EllipsoidalCS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_LinearCS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_ParametricCS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_PolarCS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_RangeMeaning.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_SphericalCS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_TimeCS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_UserDefinedCS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/CS_VerticalCS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/Code.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/RS_Identifier.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/SC_CRS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/SC_DerivedCRSType.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/SC_SingleCRS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/SC_VerticalCRS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/SecondDefiningParameter.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/jaxb/referencing/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/AnnotatedMatrix.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/Arithmetic.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/AxesMapper.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/AxisDirections.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/CoordinateOperations.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/DatabaseListener.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/DeferredCoordinateOperation.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/DefinitionVerifier.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/DeprecatedCode.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/DeprecatedName.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/DirectPositionView.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/EPSGFactoryProxy.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/EPSGFactoryProxyCOP.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/EPSGFactoryProxyCRS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/EPSGFactoryProxyCS.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/EPSGFactoryProxyDatum.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/EPSGParameterDomain.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/EllipsoidalHeightCombiner.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/ExtendedPrecisionMatrix.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/ExtentSelector.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/Formulas.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/GeodeticObjectBuilder.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/LazySet.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/Legacy.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/MathTransformsOrFactory.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/MergedProperties.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/NilReferencingObject.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/PositionTransformer.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/PositionalAccuracyConstant.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/RTreeNode.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/ReferencingFactoryContainer.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/ReferencingTypes.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/ReferencingUtilities.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/Resources.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/Resources.properties
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/Resources_en.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/Resources_fr.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/Resources_fr.properties
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/ServicesForMetadata.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/SignReversalComment.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/TemporalAccessor.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/VerticalDatumTypes.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/WKTKeywords.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/WKTUtilities.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/WraparoundApplicator.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/WraparoundAxesFinder.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/j2d/AbstractShape.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/j2d/AffineMatrix.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/j2d/AffineTransform2D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/j2d/Bezier.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/j2d/ImmutableAffineTransform.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/j2d/IntervalRectangle.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/j2d/LinearTransform2D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/j2d/ParameterizedAffine.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/j2d/ShapeUtilities.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/j2d/Tile.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/j2d/TileOrganizer.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/j2d/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/AbridgedMolodensky.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/AbstractLambert.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/AbstractMercator.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/AbstractProvider.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/AbstractStereographic.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Affine.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/AlbersEqualArea.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/AxisOrderReversal.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/AxisOrderReversal3D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/AzimuthalEquidistantSpherical.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/CassiniSoldner.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/CoordinateFrameRotation.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/CoordinateFrameRotation2D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/CoordinateFrameRotation3D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/DatumShiftGridCompressed.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/DatumShiftGridFile.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/DatumShiftGridGroup.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/DatumShiftGridLoader.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/DatumShiftMethod.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Description.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/EPSGName.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/ESRI.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Equirectangular.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolation.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeocentricAffine.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeocentricAffineBetweenGeographic.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeocentricToGeographic.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeocentricToTopocentric.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeocentricTranslation.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeocentricTranslation2D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeocentricTranslation3D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeodeticOperation.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Geographic2Dto3D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Geographic3Dto2D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeographicAndVerticalOffsets.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeographicOffsets.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeographicOffsets2D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeographicRedimension.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeographicToGeocentric.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/GeographicToTopocentric.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/HyperbolicCassiniSoldner.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Interpolation1D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/LambertAzimuthalEqualArea.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/LambertAzimuthalEqualAreaSpherical.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/LambertConformal1SP.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/LambertConformal2SP.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/LambertConformalBelgium.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/LambertConformalMichigan.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/LambertConformalWest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/LambertCylindricalEqualArea.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/LambertCylindricalEqualAreaSpherical.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/LongitudeRotation.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/MapProjection.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/MapProjection3D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Mercator1SP.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Mercator2SP.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/MercatorAuxiliarySphere.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/MercatorSpherical.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/MillerCylindrical.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/ModifiedAzimuthalEquidistant.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Mollweide.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Molodensky.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/MolodenskyInterpolation.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/NADCON.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/NTv1.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/NTv2.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/NorthPoleRotation.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/ObliqueMercator.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/ObliqueMercatorCenter.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/ObliqueMercatorTwoPoints.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/ObliqueMercatorTwoPointsCenter.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/ObliqueStereographic.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Orthographic.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/PolarStereographicA.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/PolarStereographicB.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/PolarStereographicC.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/PolarStereographicNorth.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/PolarStereographicSouth.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Polyconic.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/PositionVector7Param.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/PositionVector7Param2D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/PositionVector7Param3D.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/PseudoMercator.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/PseudoPlateCarree.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/PseudoSinusoidal.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/RegionalMercator.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/SatelliteTracking.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Sinusoidal.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/SouthPoleRotation.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/TransverseMercator.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/TransverseMercatorSouth.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/VerticalOffset.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/Wraparound.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/ZonedTransverseMercator.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/internal/referencing/provider/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/AnnotatedMatrix.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Arithmetic.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/DatabaseListener.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/DeferredCoordinateOperation.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/DeprecatedCode.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/DeprecatedName.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/EPSGFactoryProxy.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/EPSGFactoryProxyCOP.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/EPSGFactoryProxyCRS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/EPSGFactoryProxyCS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/EPSGFactoryProxyDatum.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/EPSGParameterDomain.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Legacy.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/MergedProperties.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/PositionTransformer.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/RTreeNode.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/ReferencingTypes.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Resources.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Resources.properties
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Resources_en.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Resources_fr.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/Resources_fr.properties
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/ServicesForMetadata.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/SignReversalComment.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/VerticalDatumTypes.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/internal/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbridgedMolodensky.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbstractLambert.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbstractMercator.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbstractProvider.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbstractStereographic.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Affine.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AlbersEqualArea.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AxisOrderReversal.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AxisOrderReversal3D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AzimuthalEquidistantSpherical.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/CassiniSoldner.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/CoordinateFrameRotation.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/CoordinateFrameRotation2D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/CoordinateFrameRotation3D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftGridCompressed.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftGridFile.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftGridGroup.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftGridLoader.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/DatumShiftMethod.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Description.java
 rename endorsed/src/org.apache.sis.referencing/main/org/apache/sis/{internal/referencing => referencing/operation}/provider/Descriptions.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/EPSGName.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ESRI.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Equirectangular.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolation.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeocentricAffine.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeocentricAffineBetweenGeographic.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeocentricToGeographic.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeocentricToTopocentric.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeocentricTranslation.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeocentricTranslation2D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeocentricTranslation3D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeodeticOperation.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Geographic2Dto3D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Geographic3Dto2D.java
 rename endorsed/src/org.apache.sis.referencing/main/org/apache/sis/{internal/referencing => referencing/operation}/provider/Geographic3DtoVertical.txt (100%)
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeographicAndVerticalOffsets.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeographicOffsets.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeographicOffsets2D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeographicRedimension.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeographicToGeocentric.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/GeographicToTopocentric.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/HyperbolicCassiniSoldner.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Interpolation1D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/LambertAzimuthalEqualArea.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/LambertAzimuthalEqualAreaSpherical.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/LambertConformal1SP.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/LambertConformal2SP.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/LambertConformalBelgium.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/LambertConformalMichigan.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/LambertConformalWest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/LambertCylindricalEqualArea.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/LambertCylindricalEqualAreaSpherical.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/LongitudeRotation.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/MapProjection.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/MapProjection3D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Mercator1SP.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Mercator2SP.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/MercatorAuxiliarySphere.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/MercatorSpherical.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/MillerCylindrical.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ModifiedAzimuthalEquidistant.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Mollweide.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Molodensky.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/MolodenskyInterpolation.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NADCON.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv1.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NTv2.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/NorthPoleRotation.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ObliqueMercator.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ObliqueMercatorCenter.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ObliqueMercatorTwoPoints.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ObliqueMercatorTwoPointsCenter.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ObliqueStereographic.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Orthographic.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PolarStereographicA.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PolarStereographicB.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PolarStereographicC.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PolarStereographicNorth.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PolarStereographicSouth.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Polyconic.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PositionVector7Param.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PositionVector7Param2D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PositionVector7Param3D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PseudoMercator.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PseudoPlateCarree.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/PseudoSinusoidal.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/RegionalMercator.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/SatelliteTracking.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Sinusoidal.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/SouthPoleRotation.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/TransverseMercator.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/TransverseMercatorSouth.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/VerticalOffset.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/Wraparound.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ZonedTransverseMercator.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/AxesMapper.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/AxisDirections.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/CoordinateOperations.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/DefinitionVerifier.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/DirectPositionView.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/EllipsoidalHeightCombiner.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/ExtendedPrecisionMatrix.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/ExtentSelector.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/Formulas.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/GeodeticObjectBuilder.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/LazySet.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/MathTransformsOrFactory.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/NilReferencingObject.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/PositionalAccuracyConstant.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/ReferencingFactoryContainer.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/ReferencingUtilities.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/TemporalAccessor.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/WKTKeywords.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/WKTUtilities.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/WraparoundApplicator.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/WraparoundAxesFinder.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/AbstractShape.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/AffineMatrix.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/AffineTransform2D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/Bezier.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/ImmutableAffineTransform.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/IntervalRectangle.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/LinearTransform2D.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/ParameterizedAffine.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/ShapeUtilities.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/Tile.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/TileOrganizer.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/j2d/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CC_Conversion.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CC_CoordinateOperation.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CC_GeneralOperationParameter.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CC_GeneralParameterValue.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CC_OperationMethod.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CC_OperationParameter.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CC_OperationParameterGroup.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CD_Ellipsoid.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CD_EngineeringDatum.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CD_GeodeticDatum.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CD_ImageDatum.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CD_ParametricDatum.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CD_PixelInCell.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CD_PrimeMeridian.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CD_TemporalDatum.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CD_VerticalDatum.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CD_VerticalDatumType.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_AffineCS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_AxisDirection.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_CartesianCS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_CoordinateSystem.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_CoordinateSystemAxis.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_CylindricalCS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_EllipsoidalCS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_LinearCS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_ParametricCS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_PolarCS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_RangeMeaning.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_SphericalCS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_TimeCS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_UserDefinedCS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CS_VerticalCS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/Code.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/RS_Identifier.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/SC_CRS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/SC_DerivedCRSType.java
 rename endorsed/src/org.apache.sis.referencing/main/org/apache/sis/{internal/jaxb => xml/bind}/referencing/SC_GeographicCRS.txt (100%)
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/SC_SingleCRS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/SC_VerticalCRS.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/SecondDefiningParameter.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/jaxb/referencing/CC_GeneralOperationParameterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/jaxb/referencing/CC_OperationParameterGroupTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/jaxb/referencing/CodeTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/jaxb/referencing/SecondDefiningParameterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/AxesMapperTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/AxisDirectionsTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/CoordinateOperationsTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/DefinitionVerifierTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/EllipsoidalHeightCombinerTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/ExtentSelectorTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/FormulasTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/GeodeticObjectBuilderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/LazySetTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/PositionalAccuracyConstantTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/ReferencingUtilitiesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/ServicesForMetadataTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/VerticalDatumTypesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/WKTKeywordsTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/WKTUtilitiesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/WraparoundApplicatorTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/j2d/AbstractShapeTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/j2d/ShapeUtilitiesExt.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/j2d/ShapeUtilitiesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/j2d/ShapeUtilitiesViewer.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/AffineTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/CoordinateFrameRotationTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/DatumShiftGridCompressedTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/DatumShiftGridFileTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/DatumShiftTestCase.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/FranceGeocentricInterpolationTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/GeocentricTranslationTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/Geographic3Dto2DTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/GeographicOffsetsTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/LongitudeRotationTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/MapProjectionTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/MolodenskyTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/NADCONTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/NTv2Test.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/ParameterNameTableGenerator.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/PositionVector7ParamTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/ProviderMock.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/ProvidersTest.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/SeismicBinGridMock.java
 delete mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/internal/referencing/provider/TransverseMercatorTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/internal/ServicesForMetadataTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/internal/VerticalDatumTypesTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/AffineTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/CoordinateFrameRotationTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/DatumShiftGridCompressedTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/DatumShiftGridFileTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/DatumShiftTestCase.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/FranceGeocentricInterpolationTest.java
 rename endorsed/src/org.apache.sis.referencing/test/org/apache/sis/{internal/referencing => referencing/operation}/provider/GR3DF-extract.txt (100%)
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/GeocentricTranslationTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/Geographic3Dto2DTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/GeographicOffsetsTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/LongitudeRotationTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/MapProjectionTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/MolodenskyTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/NADCONTest.java
 rename endorsed/src/org.apache.sis.referencing/test/org/apache/sis/{internal/referencing => referencing/operation}/provider/NTF_R93-extract.gsb (100%)
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/NTv2Test.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/ParameterNameTableGenerator.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/PositionVector7ParamTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/ProviderMock.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/ProvidersTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/SeismicBinGridMock.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/operation/provider/TransverseMercatorTest.java
 rename endorsed/src/org.apache.sis.referencing/test/org/apache/sis/{internal/referencing => referencing/operation}/provider/conus-extract.laa (100%)
 rename endorsed/src/org.apache.sis.referencing/test/org/apache/sis/{internal/referencing => referencing/operation}/provider/conus-extract.loa (100%)
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/AxesMapperTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/AxisDirectionsTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/CoordinateOperationsTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/DefinitionVerifierTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/EllipsoidalHeightCombinerTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/ExtentSelectorTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/FormulasTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/GeodeticObjectBuilderTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/LazySetTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/PositionalAccuracyConstantTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/ReferencingUtilitiesTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/WKTKeywordsTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/WKTUtilitiesTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/WraparoundApplicatorTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/j2d/AbstractShapeTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/j2d/ShapeUtilitiesExt.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/j2d/ShapeUtilitiesTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/referencing/util/j2d/ShapeUtilitiesViewer.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/xml/bind/referencing/CC_GeneralOperationParameterTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/xml/bind/referencing/CC_OperationParameterGroupTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/xml/bind/referencing/CodeTest.java
 create mode 100644 endorsed/src/org.apache.sis.referencing/test/org/apache/sis/xml/bind/referencing/SecondDefiningParameterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/geotiff/Compression.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/geotiff/Predictor.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/geotiff/Resources.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/geotiff/Resources_en.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/geotiff/Resources_fr.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/geotiff/SchemaModifier.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/geotiff/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/storage/inflater/CCITTRLE.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/storage/inflater/CompressionChannel.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/storage/inflater/CopyFromBytes.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/storage/inflater/HorizontalPredictor.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/storage/inflater/Inflater.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/storage/inflater/LZW.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/storage/inflater/PackBits.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/storage/inflater/PixelChannel.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/storage/inflater/PredictorChannel.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/storage/inflater/ZIP.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/internal/storage/inflater/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/inflater/CCITTRLE.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/inflater/CompressionChannel.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/inflater/CopyFromBytes.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/inflater/HorizontalPredictor.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/inflater/Inflater.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/inflater/LZW.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/inflater/PackBits.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/inflater/PixelChannel.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/inflater/PredictorChannel.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/inflater/ZIP.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/inflater/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/internal/Compression.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/internal/Predictor.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/internal/Resources.java
 rename endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/{internal/geotiff => storage/geotiff/internal}/Resources.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/internal/Resources_en.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/internal/Resources_fr.java
 rename endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/{internal/geotiff => storage/geotiff/internal}/Resources_fr.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/internal/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/spi/SchemaModifier.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/main/org/apache/sis/storage/geotiff/spi/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/test/org/apache/sis/internal/geotiff/CompressionTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/test/org/apache/sis/internal/storage/inflater/CCITTRLETest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.geotiff/test/org/apache/sis/internal/storage/inflater/InflaterTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/test/org/apache/sis/storage/geotiff/inflater/CCITTRLETest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/test/org/apache/sis/storage/geotiff/inflater/InflaterTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.geotiff/test/org/apache/sis/storage/geotiff/internal/CompressionTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Axis.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/AxisType.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/CRSBuilder.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/CRSMerger.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Convention.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/DataType.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Decoder.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Dimension.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/DiscreteSampling.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/FeatureSet.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Grid.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/GridAdjustment.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/GridCacheKey.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/GridCacheValue.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/GridMapping.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/HYCOM.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Linearizer.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/NamedElement.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Node.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Raster.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/RasterResource.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Resources.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Resources.properties
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Resources_en.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Resources_fr.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Resources_fr.properties
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/Variable.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/VariableRole.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/impl/ChannelDecoder.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/impl/DimensionInfo.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/impl/GridInfo.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/impl/VariableInfo.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/impl/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/ucar/DecoderWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/ucar/DimensionWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/ucar/FeaturesWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/ucar/GridWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/ucar/GroupWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/ucar/LogAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/ucar/Utils.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/ucar/VariableWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/internal/netcdf/ucar/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Axis.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/AxisType.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/CRSBuilder.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/CRSMerger.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Convention.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/DataType.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Decoder.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Dimension.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/DiscreteSampling.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/FeatureSet.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Grid.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/GridAdjustment.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/GridCacheKey.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/GridCacheValue.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/GridMapping.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/HYCOM.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Linearizer.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/NamedElement.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Node.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Raster.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/RasterResource.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/Variable.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/VariableRole.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/base/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/classic/ChannelDecoder.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/classic/DimensionInfo.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/classic/GridInfo.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/classic/VariableInfo.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/classic/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/internal/Resources.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/internal/Resources.properties
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/internal/Resources_en.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/internal/Resources_fr.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/internal/Resources_fr.properties
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/internal/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/ucar/DecoderWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/ucar/DimensionWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/ucar/FeaturesWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/ucar/GridWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/ucar/GroupWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/ucar/LogAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/ucar/Utils.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/ucar/VariableWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/main/org/apache/sis/storage/netcdf/ucar/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/internal/netcdf/AxisTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/internal/netcdf/DataTypeTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/internal/netcdf/DecoderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/internal/netcdf/FeatureSetTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/internal/netcdf/GridTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/internal/netcdf/TestCase.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/internal/netcdf/VariableTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/internal/netcdf/impl/ChannelDecoderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/internal/netcdf/impl/FeatureSetTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/internal/netcdf/impl/GridInfoTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/internal/netcdf/impl/VariableInfoTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/base/AxisTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/base/DataTypeTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/base/DecoderTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/base/FeatureSetTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/base/GridTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/base/TestCase.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/base/VariableTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/classic/ChannelDecoderTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/classic/FeatureSetTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/classic/GridInfoTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.netcdf/test/org/apache/sis/storage/netcdf/classic/VariableInfoTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/Analyzer.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/BinaryEncoding.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/Column.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/Database.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/FeatureAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/FeatureAnalyzer.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/FeatureIterator.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/FeatureStream.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/GeometryGetter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/InfoStatements.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/PrimaryKey.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/QueryAnalyzer.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/Relation.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/Resources.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/Resources_en.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/Resources_fr.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/SchemaModifier.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/SelectionClause.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/SelectionClauseWriter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/Table.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/TableAnalyzer.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/TableReference.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/ValueGetter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/feature/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/postgis/Band.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/postgis/ExtendedClauseWriter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/postgis/ExtendedInfo.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/postgis/ExtentEstimator.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/postgis/ObjectGetter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/postgis/Postgres.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/postgis/RasterFormat.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/postgis/RasterGetter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/postgis/RasterReader.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/postgis/RasterWriter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/sql/postgis/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/stream/BaseStreamWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/stream/DeferredStream.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/stream/DoubleStreamWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/stream/PaginedDoubleStream.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/stream/PaginedStream.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/stream/StreamWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/internal/stream/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/Analyzer.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/BinaryEncoding.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/Column.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/Database.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/FeatureAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/FeatureAnalyzer.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/FeatureIterator.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/FeatureStream.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/GeometryGetter.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/InfoStatements.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/PrimaryKey.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/QueryAnalyzer.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/Relation.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/Resources.java
 rename endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/{internal => storage}/sql/feature/Resources.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/Resources_en.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/Resources_fr.java
 rename endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/{internal => storage}/sql/feature/Resources_fr.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/SchemaModifier.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/SelectionClause.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/SelectionClauseWriter.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/Table.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/TableAnalyzer.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/TableReference.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/ValueGetter.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/feature/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/postgis/Band.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/postgis/ExtendedClauseWriter.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/postgis/ExtendedInfo.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/postgis/ExtentEstimator.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/postgis/ObjectGetter.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/postgis/Postgres.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/postgis/RasterFormat.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/postgis/RasterGetter.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/postgis/RasterReader.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/postgis/RasterWriter.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/storage/sql/postgis/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/util/stream/BaseStreamWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/util/stream/DeferredStream.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/util/stream/DoubleStreamWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/util/stream/PaginedDoubleStream.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/util/stream/PaginedStream.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/util/stream/StreamWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/main/org/apache/sis/util/stream/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/internal/sql/feature/GeometryGetterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/internal/sql/feature/ResultSetMock.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/internal/sql/feature/SelectionClauseWriterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/internal/sql/feature/TemporalValueGetterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/internal/sql/postgis/BandTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/internal/sql/postgis/PostgresTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/internal/sql/postgis/RasterReaderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/internal/sql/postgis/RasterWriterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/internal/sql/postgis/TestRaster.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/storage/sql/feature/GeometryGetterTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/storage/sql/feature/ResultSetMock.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/storage/sql/feature/SelectionClauseWriterTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/storage/sql/feature/TemporalValueGetterTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/storage/sql/postgis/BandTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/storage/sql/postgis/PostgresTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/storage/sql/postgis/RasterReaderTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/storage/sql/postgis/RasterWriterTest.java
 rename endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/{internal => storage}/sql/postgis/SpatialFeatures.sql (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/storage/sql/postgis/TestRaster.java
 rename endorsed/src/org.apache.sis.storage.sql/test/org/apache/sis/{internal => storage}/sql/postgis/raster-ushort.wkb (100%)
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Attributes.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Bounds.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Copyright.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Description.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Email.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Link.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Metadata.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Person.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Reader.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Store.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/StoreProvider.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Tags.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Types.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Updater.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/WritableStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/Writer.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/gpx/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/xml/stream/FormattedWriter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/xml/stream/InputType.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/xml/stream/NamespaceEraser.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/xml/stream/OutputType.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/xml/stream/RewriteOnUpdate.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/xml/stream/StaxDataStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/xml/stream/StaxDataStoreProvider.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/xml/stream/StaxStreamIO.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/xml/stream/StaxStreamReader.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/xml/stream/StaxStreamWriter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/internal/storage/xml/stream/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Attributes.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Bounds.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Copyright.java
 rename endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/{internal => }/storage/gpx/Definitions.properties (100%)
 rename endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/{internal => }/storage/gpx/Definitions_fr.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Description.java
 rename endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/{internal => }/storage/gpx/Designations.properties (100%)
 rename endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/{internal => }/storage/gpx/Designations_fr.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Email.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Link.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Metadata.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Person.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Reader.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Store.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/StoreProvider.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Tags.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Types.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Updater.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/WritableStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/Writer.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/gpx/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/FormattedWriter.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/InputType.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/NamespaceEraser.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/OutputType.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/RewriteOnUpdate.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/StaxDataStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/StaxDataStoreProvider.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/StaxStreamIO.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/StaxStreamReader.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/StaxStreamWriter.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/main/org/apache/sis/storage/xml/stream/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/internal/storage/gpx/MetadataTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/internal/storage/gpx/ReaderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/internal/storage/gpx/TestData.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/internal/storage/gpx/TypesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/internal/storage/gpx/UpdaterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/internal/storage/gpx/WriterTest.java
 rename endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/{internal => }/storage/gpx/1.0/metadata.xml (100%)
 rename endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/{internal => }/storage/gpx/1.0/route.xml (100%)
 rename endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/{internal => }/storage/gpx/1.0/track.xml (100%)
 rename endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/{internal => }/storage/gpx/1.0/waypoint.xml (100%)
 rename endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/{internal => }/storage/gpx/1.1/metadata.xml (100%)
 rename endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/{internal => }/storage/gpx/1.1/route.xml (100%)
 rename endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/{internal => }/storage/gpx/1.1/track.xml (100%)
 rename endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/{internal => }/storage/gpx/1.1/waypoint.xml (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/MetadataTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/ReaderTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/TestData.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/TypesTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/UpdaterTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage.xml/test/org/apache/sis/storage/gpx/WriterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/Capability.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/CodeType.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/DocumentedStoreProvider.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/FeatureCatalogBuilder.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/GridResourceWrapper.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/MemoryFeatureSet.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/MemoryGridResource.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/MetadataBuilder.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/PRJDataStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/ResourceLineage.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/ResourceOnFileSystem.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/ResourceTransaction.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/Resources.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/Resources_en.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/Resources_fr.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/StoreMetadata.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/StoreResource.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/StoreTypeDetector.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/StoreUtilities.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/TiledDeferredImage.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/TiledGridCoverage.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/TiledGridResource.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/TransactionalResource.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/URIDataStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/WritableResourceSupport.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/csv/FeatureIterator.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/csv/FixedSizeList.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/csv/Foliation.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/csv/GeometryParser.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/csv/MovingFeatureBuilder.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/csv/MovingFeatureIterator.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/csv/Store.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/csv/StoreProvider.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/csv/TimeEncoding.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/csv/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/esri/AsciiGridStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/esri/AsciiGridStoreProvider.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/esri/CharactersView.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/esri/RasterStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/esri/RawRasterLayout.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/esri/RawRasterReader.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/esri/RawRasterStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/esri/RawRasterStoreProvider.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/esri/WritableStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/esri/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/folder/ConcurrentCloser.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/folder/Store.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/folder/StoreProvider.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/folder/UnstructuredAggregate.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/folder/WritableStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/folder/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/image/FormatFilter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/image/FormatFinder.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/image/MultiImageStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/image/SingleImageStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/image/WarningListener.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/image/WorldFileResource.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/image/WorldFileStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/image/WorldFileStoreProvider.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/image/WritableResource.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/image/WritableSingleImageStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/image/WritableStore.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/image/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/ByteRangeChannel.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/ByteWriter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/ChannelData.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/ChannelDataInput.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/ChannelDataOutput.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/ChannelFactory.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/ChannelImageInputStream.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/ChannelImageOutputStream.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/DataTransfer.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/FileCacheByteChannel.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/HttpByteChannel.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/HyperRectangleReader.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/IOUtilities.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/InputStreamAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/InputStreamArrayGetter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/InternalOptionKey.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/Markable.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/MemoryDataTransfer.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/NullChannel.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/OutputStreamAdapter.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/Region.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/RewindableLineReader.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/io/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/wkt/FirstKeywordPeek.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/wkt/Store.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/wkt/StoreFormat.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/wkt/StoreProvider.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/wkt/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/xml/AbstractProvider.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/xml/GeographicEnvelope.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/xml/MimeTypeDetector.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/xml/Store.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/xml/StoreProvider.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/internal/storage/xml/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ByteRangeChannel.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ByteWriter.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelData.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataInput.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelDataOutput.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelFactory.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelImageInputStream.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/ChannelImageOutputStream.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/DataTransfer.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/FileCacheByteChannel.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/HttpByteChannel.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/HyperRectangleReader.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/IOUtilities.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/InputStreamAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/InputStreamArrayGetter.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/InternalOptionKey.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/Markable.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/MemoryDataTransfer.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/NullChannel.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/OutputStreamAdapter.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/Region.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/RewindableLineReader.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/io/stream/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/Capability.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/CodeType.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/DocumentedStoreProvider.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/FeatureCatalogBuilder.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/GridResourceWrapper.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryFeatureSet.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MemoryGridResource.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/MetadataBuilder.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/PRJDataStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/ResourceLineage.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/ResourceOnFileSystem.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/ResourceTransaction.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/StoreMetadata.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/StoreResource.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/StoreUtilities.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/TiledDeferredImage.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/TiledGridCoverage.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/TiledGridResource.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/TransactionalResource.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/URIDataStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/base/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/FeatureIterator.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/FixedSizeList.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/Foliation.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/GeometryParser.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/MovingFeatureBuilder.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/MovingFeatureIterator.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/Store.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/StoreProvider.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/TimeEncoding.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/csv/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/esri/AsciiGridStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/esri/AsciiGridStoreProvider.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/esri/CharactersView.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/esri/RasterStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/esri/RawRasterLayout.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/esri/RawRasterReader.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/esri/RawRasterStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/esri/RawRasterStoreProvider.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/esri/WritableStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/esri/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/ConcurrentCloser.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/Store.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/StoreProvider.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/UnstructuredAggregate.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/WritableStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/folder/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/FormatFilter.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/FormatFinder.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/MultiImageStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/SingleImageStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/WarningListener.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/WorldFileResource.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/WorldFileStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/WorldFileStoreProvider.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/WritableResource.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/WritableSingleImageStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/WritableStore.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/image/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/internal/Resources.java
 rename endorsed/src/org.apache.sis.storage/main/org/apache/sis/{internal/storage => storage/internal}/Resources.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/internal/Resources_en.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/internal/Resources_fr.java
 rename endorsed/src/org.apache.sis.storage/main/org/apache/sis/{internal/storage => storage/internal}/Resources_fr.properties (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/internal/StoreTypeDetector.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/internal/WritableResourceSupport.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/internal/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/wkt/FirstKeywordPeek.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/wkt/Store.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/wkt/StoreFormat.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/wkt/StoreProvider.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/wkt/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/xml/AbstractProvider.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/xml/GeographicEnvelope.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/xml/MimeTypeDetector.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/xml/Store.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/xml/StoreProvider.java
 create mode 100644 endorsed/src/org.apache.sis.storage/main/org/apache/sis/storage/xml/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/CodeTypeTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/MemoryGridResourceTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/MetadataBuilderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/StoreUtilitiesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/csv/StoreProviderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/csv/StoreTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/esri/AsciiGridStoreTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/esri/BILConsistencyTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/esri/BIPConsistencyTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/esri/BSQConsistencyTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/esri/WritableStoreTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/folder/StoreTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/image/SelfConsistencyTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/image/WorldFileStoreTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/ByteArrayChannel.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/ChannelDataInputTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/ChannelDataOutputTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/ChannelDataTestCase.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/ChannelImageInputStreamTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/ChannelImageOutputStreamTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/ComputedInputStream.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/DripByteChannel.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/FileCacheByteChannelTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/HyperRectangleReaderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/IOUtilitiesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/ImageInputStreamComparator.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/InputStreamArrayGetterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/MemoryCacheImageOutputStream.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/io/RewindableLineReaderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/wkt/StoreProviderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/wkt/StoreTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/xml/MimeTypeDetectorTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/xml/StoreProviderTest.java
 delete mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/internal/storage/xml/StoreTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/ByteArrayChannel.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/ChannelDataInputTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/ChannelDataOutputTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/ChannelDataTestCase.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/ChannelImageInputStreamTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/ChannelImageOutputStreamTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/ComputedInputStream.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/DripByteChannel.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/FileCacheByteChannelTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/HyperRectangleReaderTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/IOUtilitiesTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/ImageInputStreamComparator.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/InputStreamArrayGetterTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/MemoryCacheImageOutputStream.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/io/stream/RewindableLineReaderTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/base/CodeTypeTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/base/MemoryGridResourceTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/base/MetadataBuilderTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/base/StoreUtilitiesTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/csv/StoreProviderTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/csv/StoreTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/AsciiGridStoreTest.java
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/esri/BIL.hdr (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/esri/BIL.raw (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BILConsistencyTest.java
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/esri/BIP.hdr (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/esri/BIP.raw (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/esri/BIP.stx (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BIPConsistencyTest.java
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/esri/BSQ.hdr (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/esri/BSQ.raw (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/BSQConsistencyTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/esri/WritableStoreTest.java
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/esri/grid.asc (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/esri/grid.clr (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/esri/grid.prj (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/folder/StoreTest.java
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/folder/test-data/README.txt (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/folder/test-data/crs.prj (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/folder/test-data/data1.xml (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/folder/test-data/data2.xml (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/folder/test-data/data3.xml (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/folder/test-data/data4/data5.xml (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/image/README.md (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/image/SelfConsistencyTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/image/WorldFileStoreTest.java
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/image/gradient.pgw (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/image/gradient.png (100%)
 rename endorsed/src/org.apache.sis.storage/test/org/apache/sis/{internal => }/storage/image/gradient.prj (100%)
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/wkt/StoreProviderTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/wkt/StoreTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/xml/MimeTypeDetectorTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/xml/StoreProviderTest.java
 create mode 100644 endorsed/src/org.apache.sis.storage/test/org/apache/sis/storage/xml/StoreTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/AngleConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/ArrayConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/CharSequenceConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/ClassPair.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/CollectionConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/Column.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/ConverterRegistry.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/DateConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/FallbackConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/FractionConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/IdentityConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/NumberConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/ObjectToString.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/PathConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/StringConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/SurjectiveConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/SystemConverter.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/SystemRegistry.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/converter/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/AngleConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/ArrayConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/CharSequenceConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/ClassPair.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/CollectionConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/Column.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/ConverterRegistry.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/DateConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/FallbackConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/FractionConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/IdentityConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/NumberConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/ObjectToString.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/PathConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/StringConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/SurjectiveConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/SystemConverter.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/SystemRegistry.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/converter/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/jdk17/HexFormat.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/jdk17/JDK17.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/jdk17/Record.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/jdk17/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/CommonExecutor.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/Configuration.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/DaemonThread.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/DataDirectory.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/DelayedExecutor.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/DelayedRunnable.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/Descriptions.properties
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/Descriptions_fr.properties
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/Fallback.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/LocalizedStaticObject.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/Loggers.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/Modules.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/OptionalDependency.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/ReferenceQueueConsumer.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/Reflect.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/Semaphores.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/Shutdown.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/Supervisor.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/SupervisorMBean.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/SystemListener.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/Threads.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/system/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/temporal/DefaultInstant.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/temporal/DefaultPeriod.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/temporal/DefaultPeriodDuration.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/temporal/DefaultTemporalFactory.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/temporal/Primitive.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/temporal/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/AbstractIterator.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/AbstractMap.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/AbstractMapEntry.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/Acyclic.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/ArgumentCheckByAssertion.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/AutoMessageFormat.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/Bag.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/CheckedArrayList.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/CheckedHashSet.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/CloneAccess.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/Cloner.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/CodeLists.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/CollectionsExt.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/Constants.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/DefinitionURI.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/DoubleDouble.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/EmptyQueue.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/ListOfUnknownSize.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/LocalizedParseException.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/MetadataServices.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/Numerics.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/PropertyFormat.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/SetOfUnknownSize.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/SimpleCharacterIterator.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/StandardDateFormat.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/Strings.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/TreeFormatCustomization.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/URLs.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/UnmodifiableArrayList.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/X364.java
 delete mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/internal/util/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/HexFormat.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/JDK17.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/Record.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/jdk/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/temporal/DefaultInstant.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/temporal/DefaultPeriod.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/temporal/DefaultPeriodDuration.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/temporal/DefaultTemporalFactory.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/temporal/Primitive.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/pending/temporal/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/CommonExecutor.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Configuration.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/DaemonThread.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/DataDirectory.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/DelayedExecutor.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/DelayedRunnable.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Descriptions.properties
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Descriptions_fr.properties
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Fallback.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/LocalizedStaticObject.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Loggers.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Modules.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/OptionalDependency.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/ReferenceQueueConsumer.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Reflect.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Semaphores.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Shutdown.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Supervisor.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/SupervisorMBean.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/SystemListener.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/Threads.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/system/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/AbstractIterator.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/AbstractMap.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/AbstractMapEntry.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/Acyclic.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/ArgumentCheckByAssertion.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/AutoMessageFormat.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/Bag.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CheckedArrayList.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CheckedHashSet.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CloneAccess.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/Cloner.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CodeLists.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/CollectionsExt.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/Constants.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/DefinitionURI.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/DoubleDouble.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/EmptyQueue.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/ListOfUnknownSize.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/LocalizedParseException.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/MetadataServices.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/Numerics.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/PropertyFormat.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/SetOfUnknownSize.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/SimpleCharacterIterator.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/StandardDateFormat.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/Strings.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/TreeFormatCustomization.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/URLs.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/UnmodifiableArrayList.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/X364.java
 create mode 100644 endorsed/src/org.apache.sis.util/main/org/apache/sis/util/internal/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/converter/AngleConverterTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/converter/ArrayConverterTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/converter/ConverterRegistryTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/converter/FallbackConverterTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/converter/NumberConverterTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/converter/PathConverterTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/converter/StringConverterTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/converter/SystemRegistryTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/converter/AngleConverterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/converter/ArrayConverterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/converter/ConverterRegistryTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/converter/FallbackConverterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/converter/NumberConverterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/converter/PathConverterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/converter/StringConverterTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/converter/SystemRegistryTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/system/LoggersTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/system/ReferenceQueueConsumerTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/test/AssertTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/test/TestUtilitiesTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/test/package-info.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/util/AbstractMapTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/util/BagTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/util/CheckedArrayListTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/util/CollectionsExtTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/util/DefinitionURITest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/util/DoubleDoubleTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/util/ListOfUnknownSizeTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/util/LocalizedParseExceptionTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/util/NumericsTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/util/StandardDateFormatTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/util/StringsTest.java
 delete mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/internal/util/X364Test.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/system/LoggersTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/system/ReferenceQueueConsumerTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/test/self/AssertTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/test/self/TestUtilitiesTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/test/self/package-info.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/util/internal/AbstractMapTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/util/internal/BagTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/util/internal/CheckedArrayListTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/util/internal/CollectionsExtTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/util/internal/DefinitionURITest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/util/internal/DoubleDoubleTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/util/internal/ListOfUnknownSizeTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/util/internal/LocalizedParseExceptionTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/util/internal/NumericsTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/util/internal/StandardDateFormatTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/util/internal/StringsTest.java
 create mode 100644 endorsed/src/org.apache.sis.util/test/org/apache/sis/util/internal/X364Test.java
 create mode 100644 incubator/src/main/antlr/org/apache/sis/cql/internal/CQL.g4
 delete mode 100644 incubator/src/main/antlr/org/apache/sis/internal/cql/CQL.g4
 rename incubator/src/org.apache.sis.cql/main/org/apache/sis/{internal/cql => cql/internal}/.gitignore (100%)
 create mode 100644 incubator/src/org.apache.sis.cql/main/org/apache/sis/cql/internal/AntlrCQL.java
 delete mode 100644 incubator/src/org.apache.sis.cql/main/org/apache/sis/internal/cql/AntlrCQL.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/AutoChecker.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/SQLInvalidRecordNumberForDirectAccessException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/SQLNoDirectAccessAvailableException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/SQLShapefileNotFoundException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/ShapefileByteReader.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/ShapefileDescriptor.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/AbstractDbase3ByteReader.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/AbstractJDBC.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/CommonByteReader.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/DBFDriver.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/DBase3FieldDescriptor.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/DBaseDataType.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/Dbase3ByteReader.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/MappedByteReader.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/SQLConnectionClosedException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/SQLDbaseFileNotFoundException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/SQLInvalidDbaseFileFormatException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/connection/AbstractConnection.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/connection/DBFConnection.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/connection/SQLClosingIOFailureException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/connection/package-info.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/metadata/AbstractDatabaseMetaData.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/metadata/DBFDatabaseMetaData.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/metadata/DBFResultSetMataData.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/metadata/package-info.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/package-info.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/AbstractResultSet.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/BuiltInMemoryResultSet.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForCatalogNamesListing.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForSchemaListing.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForTablesListing.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForTablesTypesListing.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/DBFRecordBasedResultSet.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/DBFResultSet.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/SQLIllegalColumnIndexException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/SQLNoResultException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/SQLNoSuchFieldException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/SQLNotDateException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/SQLNotNumericException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/resultset/package-info.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/sql/ClauseResolver.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/sql/ConditionalClauseResolver.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/sql/CrudeSQLParser.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/sql/SQLIllegalParameterException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/sql/SQLInvalidStatementException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/sql/SQLUnsupportedParsingFeatureException.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/sql/package-info.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/statement/AbstractStatement.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/statement/DBFStatement.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/jdbc/statement/package-info.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/internal/shapefile/package-info.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/internal/AutoChecker.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/internal/SQLInvalidRecordNumberForDirectAccessException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/internal/SQLNoDirectAccessAvailableException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/internal/SQLShapefileNotFoundException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/internal/ShapefileByteReader.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal/shapefile => storage/shapefile/internal}/ShapefileByteReader.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal/shapefile => storage/shapefile/internal}/ShapefileByteReader_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/internal/ShapefileDescriptor.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/internal/package-info.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/AbstractDbase3ByteReader.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/AbstractDbase3ByteReader.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/AbstractDbase3ByteReader_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/AbstractJDBC.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/AbstractJDBC.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/AbstractJDBC_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/CommonByteReader.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/CommonByteReader.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/DBFDriver.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/DBase3FieldDescriptor.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/DBase3FieldDescriptor.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/DBase3FieldDescriptor_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/DBaseDataType.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/Dbase3ByteReader.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/MappedByteReader.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/MappedByteReader.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/MappedByteReader_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/SQLConnectionClosedException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/SQLDbaseFileNotFoundException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/SQLInvalidDbaseFileFormatException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/connection/AbstractConnection.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/connection/AbstractConnection.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/connection/AbstractConnection_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/connection/DBFConnection.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/connection/DBFConnection.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/connection/DBFConnection_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/connection/SQLClosingIOFailureException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/connection/package-info.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/metadata/AbstractDatabaseMetaData.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/metadata/DBFDatabaseMetaData.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/metadata/DBFResultSetMataData.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/metadata/DBFResultSetMataData.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/metadata/DBFResultSetMataData_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/metadata/package-info.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/package-info.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/AbstractResultSet.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/resultset/AbstractResultSet.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/resultset/AbstractResultSet_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/BuiltInMemoryResultSet.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForCatalogNamesListing.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForColumnsListing_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForSchemaListing.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForTablesListing.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForTablesListing.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForTablesTypesListing.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/resultset/DBFBuiltInMemoryResultSetForTablesTypesListing.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/DBFRecordBasedResultSet.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/resultset/DBFRecordBasedResultSet.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/resultset/DBFRecordBasedResultSet_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/DBFResultSet.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/resultset/DBFResultSet.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/resultset/DBFResultSet_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/SQLIllegalColumnIndexException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/SQLNoResultException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/SQLNoSuchFieldException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/SQLNotDateException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/SQLNotNumericException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/resultset/package-info.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/sql/ClauseResolver.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/sql/ClauseResolver.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/sql/ClauseResolver_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/sql/ConditionalClauseResolver.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/sql/CrudeSQLParser.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/sql/CrudeSQLParser.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/sql/SQLIllegalParameterException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/sql/SQLInvalidStatementException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/sql/SQLUnsupportedParsingFeatureException.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/sql/package-info.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/statement/AbstractStatement.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/statement/DBFStatement.java
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/statement/DBFStatement.properties (100%)
 rename incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/{internal => storage}/shapefile/jdbc/statement/DBFStatement_fr.properties (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/main/org/apache/sis/storage/shapefile/jdbc/statement/package-info.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/test/org/apache/sis/internal/shapefile/jdbc/AbstractTestBaseForInternalJDBC.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/test/org/apache/sis/internal/shapefile/jdbc/DBFConnectionTest.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/test/org/apache/sis/internal/shapefile/jdbc/DBFResultSetTest.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/test/org/apache/sis/internal/shapefile/jdbc/DBFStatementTest.java
 delete mode 100644 incubator/src/org.apache.sis.storage.shapefile/test/org/apache/sis/internal/shapefile/jdbc/sql/WhereClauseTest.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/test/org/apache/sis/storage/shapefile/jdbc/AbstractTestBaseForInternalJDBC.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/test/org/apache/sis/storage/shapefile/jdbc/DBFConnectionTest.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/test/org/apache/sis/storage/shapefile/jdbc/DBFResultSetTest.java
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/test/org/apache/sis/storage/shapefile/jdbc/DBFStatementTest.java
 rename incubator/src/org.apache.sis.storage.shapefile/test/org/apache/sis/{internal => storage}/shapefile/jdbc/readme.txt (100%)
 create mode 100644 incubator/src/org.apache.sis.storage.shapefile/test/org/apache/sis/storage/shapefile/jdbc/sql/WhereClauseTest.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/controls/ColorCell.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/controls/ColorColumnHandler.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/controls/ColorRamp.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/controls/FormatApplicator.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/controls/FormatTableCell.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/controls/SyncWindowList.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/controls/TabularWidget.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/controls/ValueColorMapper.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/controls/package-info.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/BackgroundThreads.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/ColorName.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/DataFormats.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/DataStoreOpener.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/ExceptionReporter.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/FixedHeaderColumnSize.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/GUIUtilities.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/IdentityValueFactory.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/ImageConverter.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/ImmutableObjectProperty.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/LogHandler.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/MouseDrags.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/NonNullObjectProperty.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/PrivateAccess.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/PropertyValueFormats.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/PropertyValueFormatter.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/PropertyView.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/RecentChoices.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/Resources.java
 rename optional/src/org.apache.sis.gui/main/org/apache/sis/{internal/gui => gui/internal}/Resources.properties (100%)
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/Resources_en.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/Resources_fr.java
 rename optional/src/org.apache.sis.gui/main/org/apache/sis/{internal/gui => gui/internal}/Resources_fr.properties (100%)
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/Styles.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/ToolbarButton.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/io/FileAccessItem.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/io/FileAccessView.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/io/OptionalDataDownloader.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/io/package-info.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/internal/package-info.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/setup/FXFinder.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/setup/Inflater.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/setup/Wizard.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/setup/WizardPage.java
 create mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/gui/setup/package-info.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/BackgroundThreads.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/ColorName.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/DataFormats.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/DataStoreOpener.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/ExceptionReporter.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/FixedHeaderColumnSize.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/GUIUtilities.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/IdentityValueFactory.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/ImageConverter.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/ImmutableObjectProperty.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/LogHandler.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/MouseDrags.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/NonNullObjectProperty.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/OptionalDataDownloader.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/PrivateAccess.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/PropertyValueFormats.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/PropertyValueFormatter.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/PropertyView.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/RecentChoices.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/Resources.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/Resources_en.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/Resources_fr.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/Styles.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/ToolbarButton.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/control/ColorCell.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/control/ColorColumnHandler.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/control/ColorRamp.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/control/FormatApplicator.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/control/FormatTableCell.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/control/SyncWindowList.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/control/TabularWidget.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/control/ValueColorMapper.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/control/package-info.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/io/FileAccessItem.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/io/FileAccessView.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/io/package-info.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/gui/package-info.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/setup/FXFinder.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/setup/Inflater.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/setup/Wizard.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/setup/WizardPage.java
 delete mode 100644 optional/src/org.apache.sis.gui/main/org/apache/sis/internal/setup/package-info.java
 create mode 100644 optional/src/org.apache.sis.gui/test/org/apache/sis/gui/controls/ValueColorMapperApp.java
 create mode 100644 optional/src/org.apache.sis.gui/test/org/apache/sis/gui/internal/GUIUtilitiesTest.java
 delete mode 100644 optional/src/org.apache.sis.gui/test/org/apache/sis/internal/gui/GUIUtilitiesTest.java
 delete mode 100644 optional/src/org.apache.sis.gui/test/org/apache/sis/internal/gui/control/ValueColorMapperApp.java
 delete mode 100644 parent/LicenseHeader.txt


[sis] 01/01: Merge branch 'geoapi-4.0' into geoapi-3.1 This is the renaming of internal packages.

Posted by de...@apache.org.
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 11f35074082c411efdb6d4ebf0c5e9c77e8d45ea
Merge: 408f69aa9a 46a89286b2
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Tue Aug 22 19:11:11 2023 +0200

    Merge branch 'geoapi-4.0' into geoapi-3.1
    This is the renaming of internal packages.
    
    https://issues.apache.org/jira/browse/SIS-587

 NOTICE                                             |    6 +-
 README                                             |   91 -
 README.md                                          |   92 +
 .../apache/sis/buildtools/book/package-info.java   |    7 +-
 .../resources/IndexedResourceCompiler.java         |    2 +-
 endorsed/build.gradle.kts                          |   13 +-
 .../apache/sis/cloud/aws/s3/CachedByteChannel.java |    2 +-
 .../apache/sis/cloud/aws/s3/ClientFileSystem.java  |    2 +-
 .../org/apache/sis/cloud/aws/s3/KeyPathTest.java   |    6 -
 .../main/org/apache/sis/console/AboutCommand.java  |   12 +-
 .../main/org/apache/sis/console/CommandRunner.java |    2 +-
 .../apache/sis/console/FormattedOutputCommand.java |    4 +-
 .../org/apache/sis/console/IdentifierCommand.java  |    2 +-
 .../main/org/apache/sis/console/OutputFormat.java  |    2 +-
 .../apache/sis/console/ResourcesDownloader.java    |    4 +-
 .../org/apache/sis/console/TransformCommand.java   |   12 +-
 .../main/org/apache/sis/console/package-info.java  |    2 +-
 .../apache/sis/console/MimeTypeCommandTest.java    |    2 +-
 .../org.apache.sis.feature/main/module-info.java   |   25 +-
 .../main/org/apache/sis/coverage/Category.java     |    2 +-
 .../main/org/apache/sis/coverage/CategoryList.java |    2 +-
 .../org/apache/sis/coverage/CoverageCombiner.java  |    6 +-
 .../org/apache/sis/coverage/SampleDimension.java   |    4 +-
 .../org/apache/sis/coverage/SampleRangeFormat.java |    4 +-
 .../main/org/apache/sis/coverage/ToNaN.java        |    2 +-
 .../coverage/grid/BandAggregateGridCoverage.java   |    6 +-
 .../sis/coverage/grid/BufferedGridCoverage.java    |    2 +-
 .../coverage/grid/CoordinateOperationFinder.java   |    6 +-
 .../apache/sis/coverage/grid/DefaultEvaluator.java |   10 +-
 .../apache/sis/coverage/grid/DimensionReducer.java |    2 +-
 .../sis/coverage/grid/DimensionalityReduction.java |    6 +-
 .../sis/coverage/grid/DisjointExtentException.java |    2 +-
 .../coverage/grid/FractionalGridCoordinates.java   |    4 +-
 .../org/apache/sis/coverage/grid/GridCoverage.java |    4 +-
 .../apache/sis/coverage/grid/GridCoverage2D.java   |    6 +-
 .../sis/coverage/grid/GridCoverageBuilder.java     |   14 +-
 .../sis/coverage/grid/GridCoverageProcessor.java   |    6 +-
 .../apache/sis/coverage/grid/GridDerivation.java   |    4 +-
 .../org/apache/sis/coverage/grid/GridExtent.java   |   16 +-
 .../apache/sis/coverage/grid/GridExtentCRS.java    |    4 +-
 .../org/apache/sis/coverage/grid/GridGeometry.java |   20 +-
 .../grid/IllegalGridGeometryException.java         |    2 +-
 .../apache/sis/coverage/grid/ImageRenderer.java    |   14 +-
 .../sis/coverage/grid/ReducedGridCoverage.java     |    2 +-
 .../sis/coverage/grid/ResampledGridCoverage.java   |    8 +-
 .../apache/sis/coverage/grid/SliceGeometry.java    |    8 +-
 .../sis/coverage/grid/j2d/BatchComputedImage.java  |  215 ++
 .../sis/coverage/grid/j2d/ColorModelBuilder.java   |  704 ++++
 .../sis/coverage/grid/j2d/ColorModelFactory.java   |  866 +++++
 .../sis/coverage/grid/j2d/ColorModelType.java      |  108 +
 .../sis/coverage/grid/j2d/ColorsForRange.java      |  295 ++
 .../sis/coverage/grid/j2d/DeferredProperty.java    |  126 +
 .../apache/sis/coverage/grid/j2d/FillValues.java   |  210 ++
 .../apache/sis/coverage/grid/j2d/ImageLayout.java  |  440 +++
 .../sis/coverage/grid/j2d/ImageUtilities.java      |  658 ++++
 .../grid/j2d/MultiBandsIndexColorModel.java        |  316 ++
 .../sis/coverage/grid/j2d/ObservableImage.java     |  290 ++
 .../sis/coverage/grid/j2d/RasterFactory.java       |  316 ++
 .../sis/coverage/grid/j2d/SampleModelFactory.java  |  294 ++
 .../sis/coverage/grid/j2d/ScaledColorModel.java    |  164 +
 .../sis/coverage/grid/j2d/ScaledColorSpace.java    |  226 ++
 .../sis/coverage/grid/j2d/TileErrorHandler.java    |  122 +
 .../sis/coverage/grid/j2d/TileOpExecutor.java      | 1024 ++++++
 .../sis/coverage/grid/j2d/TilePlaceholder.java     |  407 +++
 .../apache/sis/coverage/grid/j2d/TiledImage.java   |  276 ++
 .../sis/coverage/grid/j2d/WritableTiledImage.java  |  219 ++
 .../apache/sis/coverage/grid/j2d/package-info.java |   33 +
 .../sis/coverage/internal/CommonDomainFinder.java  |  376 +++
 .../sis/coverage/internal/CompoundTransform.java   |  217 ++
 .../coverage/internal/CompoundTransformOf1D.java   |  173 +
 .../sis/coverage/internal/MultiSourceArgument.java |  622 ++++
 .../sis/coverage/internal/RangeArgument.java       |  397 +++
 .../sis/coverage/internal/RepeatedTransform.java   |  161 +
 .../sis/coverage/internal/SampleDimensions.java    |  181 +
 .../apache/sis/coverage/internal/package-info.java |   30 +
 .../apache/sis/feature/AbstractAssociation.java    |    2 +-
 .../org/apache/sis/feature/AbstractFeature.java    |    4 +-
 .../apache/sis/feature/AbstractIdentifiedType.java |    2 +-
 .../org/apache/sis/feature/CharacteristicMap.java  |   10 +-
 .../apache/sis/feature/CharacteristicTypeMap.java  |    4 +-
 .../apache/sis/feature/DefaultAssociationRole.java |    4 +-
 .../org/apache/sis/feature/DefaultFeatureType.java |    6 +-
 .../main/org/apache/sis/feature/DenseFeature.java  |    4 +-
 .../org/apache/sis/feature/EnvelopeOperation.java  |   12 +-
 .../apache/sis/feature/ExpressionOperation.java    |    6 +-
 .../main/org/apache/sis/feature/FeatureFormat.java |    8 +-
 .../main/org/apache/sis/feature/Features.java      |    2 +-
 .../sis/feature/GroupAsPolylineOperation.java      |   10 +-
 .../main/org/apache/sis/feature/LinkOperation.java |    2 +-
 .../apache/sis/feature/MultiValuedAssociation.java |    4 +-
 .../apache/sis/feature/MultiValuedAttribute.java   |    6 +-
 .../org/apache/sis/feature/NamedFeatureType.java   |    4 +-
 .../main/org/apache/sis/feature/PropertyView.java  |    2 +-
 .../org/apache/sis/feature/SingletonAttribute.java |    2 +-
 .../main/org/apache/sis/feature/SparseFeature.java |    4 +-
 .../apache/sis/feature/StringJoinOperation.java    |   10 +-
 .../sis/feature/builder/AttributeTypeBuilder.java  |   12 +-
 .../sis/feature/builder/FeatureTypeBuilder.java    |    6 +-
 .../apache/sis/feature/builder/TypeBuilder.java    |    2 +-
 .../sis/feature/internal/AttributeConvention.java  |  446 +++
 .../sis/feature/internal/FeatureExpression.java    |  129 +
 .../sis/feature/internal/FeatureUtilities.java     |   94 +
 .../apache/sis/feature/internal/InstantList.java   |   82 +
 .../sis/feature/internal/MovingFeatures.java       |  132 +
 .../org/apache/sis/feature/internal/Resources.java |  679 ++++
 .../internal}/Resources.properties                 |    0
 .../apache/sis/feature/internal/Resources_en.java  |   30 +
 .../apache/sis/feature/internal/Resources_fr.java  |   30 +
 .../internal}/Resources_fr.properties              |    0
 .../apache/sis/feature/internal/package-info.java  |   34 +
 .../org/apache/sis/filter/ArithmeticFunction.java  |    4 +-
 .../main/org/apache/sis/filter/BinaryFunction.java |    2 +-
 .../apache/sis/filter/BinaryGeometryFilter.java    |   10 +-
 .../org/apache/sis/filter/BinarySpatialFilter.java |    6 +-
 .../main/org/apache/sis/filter/Capabilities.java   |    2 +-
 .../org/apache/sis/filter/ComparisonFilter.java    |    2 +-
 .../org/apache/sis/filter/ConvertFunction.java     |    4 +-
 .../apache/sis/filter/DefaultFilterFactory.java    |   10 +-
 .../main/org/apache/sis/filter/DistanceFilter.java |    6 +-
 .../org/apache/sis/filter/IdentifierFilter.java    |    4 +-
 .../main/org/apache/sis/filter/LeafExpression.java |    4 +-
 .../main/org/apache/sis/filter/LikeFilter.java     |    2 +-
 .../main/org/apache/sis/filter/LogicalFilter.java  |    6 +-
 .../main/org/apache/sis/filter/Optimization.java   |    4 +-
 .../main/org/apache/sis/filter/PropertyValue.java  |    2 +-
 .../main/org/apache/sis/filter/UnaryFunction.java  |    2 +-
 .../apache/sis/filter/internal/CopyVisitor.java    |  712 ++++
 .../apache/sis/filter/internal/EditVisitor.java    |   58 +
 .../apache/sis/filter/internal/FunctionNames.java  |   91 +
 .../sis/filter/internal/FunctionRegister.java      |   77 +
 .../sis/filter/internal/GeometryConverter.java     |  189 ++
 .../main/org/apache/sis/filter/internal/Node.java  |  401 +++
 .../sis/filter/internal/SortByComparator.java      |  206 ++
 .../org/apache/sis/filter/internal/Visitor.java    |  332 ++
 .../main/org/apache/sis/filter/internal/XPath.java |   87 +
 .../apache/sis/filter/internal/package-info.java   |   26 +
 .../sis/filter/sqlmm/FunctionDescription.java      |  349 ++
 .../apache/sis/filter/sqlmm/FunctionWithSRID.java  |  235 ++
 .../sis/filter/sqlmm/GeometryConstructor.java      |  145 +
 .../apache/sis/filter/sqlmm/GeometryParser.java    |  132 +
 .../org/apache/sis/filter/sqlmm/OneGeometry.java   |  168 +
 .../main/org/apache/sis/filter/sqlmm/Registry.java |  148 +
 .../main/org/apache/sis/filter/sqlmm/SQLMM.java    |  893 +++++
 .../org/apache/sis/filter/sqlmm/ST_FromBinary.java |   85 +
 .../org/apache/sis/filter/sqlmm/ST_FromText.java   |   81 +
 .../main/org/apache/sis/filter/sqlmm/ST_Point.java |  269 ++
 .../org/apache/sis/filter/sqlmm/ST_Transform.java  |  142 +
 .../apache/sis/filter/sqlmm/SpatialFunction.java   |  216 ++
 .../org/apache/sis/filter/sqlmm/TwoGeometries.java |  216 ++
 .../org/apache/sis/filter/sqlmm/package-info.java  |   37 +
 .../sis/geometry/wrapper/AbstractGeometry.java     |   40 +
 .../apache/sis/geometry/wrapper/Geometries.java    |  640 ++++
 .../sis/geometry/wrapper/GeometryFactories.java    |   92 +
 .../apache/sis/geometry/wrapper/GeometryType.java  |  237 ++
 .../sis/geometry/wrapper/GeometryWithCRS.java      |   94 +
 .../sis/geometry/wrapper/GeometryWrapper.java      |  597 ++++
 .../geometry/wrapper/SpatialOperationContext.java  |  469 +++
 .../sis/geometry/wrapper/StandardGeometries.java   |  170 +
 .../apache/sis/geometry/wrapper/esri/Factory.java  |  299 ++
 .../apache/sis/geometry/wrapper/esri/Wrapper.java  |  311 ++
 .../sis/geometry/wrapper/esri/package-info.java    |   31 +
 .../wrapper/j2d/DecimatedPathIterator.java         |  165 +
 .../sis/geometry/wrapper/j2d/DecimatedShape.java   |   84 +
 .../sis/geometry/wrapper/j2d/EmptyShape.java       |   80 +
 .../apache/sis/geometry/wrapper/j2d/Factory.java   |  332 ++
 .../apache/sis/geometry/wrapper/j2d/FlatShape.java |  128 +
 .../sis/geometry/wrapper/j2d/MultiPolylines.java   |  191 ++
 .../sis/geometry/wrapper/j2d/PathBuilder.java      |  278 ++
 .../sis/geometry/wrapper/j2d/PointWrapper.java     |  257 ++
 .../apache/sis/geometry/wrapper/j2d/Polygon.java   |   38 +
 .../apache/sis/geometry/wrapper/j2d/Polyline.java  |  317 ++
 .../sis/geometry/wrapper/j2d/ShapeProperties.java  |  279 ++
 .../sis/geometry/wrapper/j2d/ShapeWrapper.java     |  189 ++
 .../apache/sis/geometry/wrapper/j2d/Wrapper.java   |  415 +++
 .../sis/geometry/wrapper/j2d/package-info.java     |   31 +
 .../apache/sis/geometry/wrapper/jts/Factory.java   |  532 +++
 .../sis/geometry/wrapper/jts/FilteringContext.java |   88 +
 .../wrapper/jts/GeometryCoordinateTransform.java   |   93 +
 .../geometry/wrapper/jts/GeometryTransform.java    |  216 ++
 .../org/apache/sis/geometry/wrapper/jts/JTS.java   |  333 ++
 .../wrapper/jts/PackedCoordinateSequence.java      |  489 +++
 .../jts/PackedCoordinateSequenceFactory.java       |  145 +
 .../geometry/wrapper/jts/PathIteratorAdapter.java  |  268 ++
 .../sis/geometry/wrapper/jts/ShapeAdapter.java     |  208 ++
 .../sis/geometry/wrapper/jts/ShapeConverter.java   |  325 ++
 .../apache/sis/geometry/wrapper/jts/Wrapper.java   |  756 +++++
 .../sis/geometry/wrapper/jts/package-info.java     |   30 +
 .../apache/sis/geometry/wrapper/package-info.java  |   32 +
 .../main/org/apache/sis/image/AnnotatedImage.java  |    6 +-
 .../org/apache/sis/image/BandAggregateImage.java   |    4 +-
 .../main/org/apache/sis/image/BandSelectImage.java |    8 +-
 .../main/org/apache/sis/image/BandSharing.java     |    2 +-
 .../apache/sis/image/BandedSampleConverter.java    |   14 +-
 .../main/org/apache/sis/image/Colorizer.java       |    4 +-
 .../main/org/apache/sis/image/ComputedImage.java   |    8 +-
 .../main/org/apache/sis/image/ComputedTiles.java   |    4 +-
 .../main/org/apache/sis/image/DataType.java        |    6 +-
 .../main/org/apache/sis/image/ErrorAction.java     |    2 +-
 .../main/org/apache/sis/image/ErrorHandler.java    |    2 +-
 .../main/org/apache/sis/image/ImageCombiner.java   |    6 +-
 .../main/org/apache/sis/image/ImageProcessor.java  |   12 +-
 .../main/org/apache/sis/image/MaskImage.java       |    6 +-
 .../main/org/apache/sis/image/MaskedImage.java     |   12 +-
 .../org/apache/sis/image/MultiSourceImage.java     |    2 +-
 .../org/apache/sis/image/MultiSourceLayout.java    |   12 +-
 .../org/apache/sis/image/MultiSourcePrefetch.java  |    4 +-
 .../main/org/apache/sis/image/PixelIterator.java   |   14 +-
 .../main/org/apache/sis/image/PlanarImage.java     |   10 +-
 .../sis/image/PositionalConsistencyImage.java      |    2 +-
 .../main/org/apache/sis/image/PrefetchedImage.java |    8 +-
 .../main/org/apache/sis/image/RecoloredImage.java  |    6 +-
 .../main/org/apache/sis/image/ResampledImage.java  |   10 +-
 .../main/org/apache/sis/image/ResamplingGrid.java  |    4 +-
 .../org/apache/sis/image/StatisticsCalculator.java |    2 +-
 .../main/org/apache/sis/image/TileCache.java       |    6 +-
 .../main/org/apache/sis/image/Transferer.java      |   10 +-
 .../main/org/apache/sis/image/Visualization.java   |   12 +-
 .../apache/sis/image/WritableComputedImage.java    |    2 +-
 .../apache/sis/image/WritablePixelIterator.java    |    4 +-
 .../sis/image/processing/CompoundFuture.java       |  201 ++
 .../apache/sis/image/processing/TiledProcess.java  |  392 +++
 .../sis/image/processing/isoline/Fragments.java    |  273 ++
 .../sis/image/processing/isoline/Isolines.java     |  429 +++
 .../sis/image/processing/isoline/Joiner.java       |  166 +
 .../sis/image/processing/isoline/Parallelized.java |  111 +
 .../image/processing/isoline/PolylineBuffer.java   |  209 ++
 .../image/processing/isoline/PolylineStage.java    |  115 +
 .../sis/image/processing/isoline/Result.java       |  100 +
 .../sis/image/processing/isoline/Tracer.java       |  733 +++++
 .../sis/image/processing/isoline/package-info.java |   31 +
 .../apache/sis/image/processing/package-info.java  |   31 +
 .../org/apache/sis/index/tree/NodeIterator.java    |    2 +-
 .../main/org/apache/sis/index/tree/PointTree.java  |    4 +-
 .../sis/internal/coverage/CommonDomainFinder.java  |  376 ---
 .../sis/internal/coverage/CompoundTransform.java   |  217 --
 .../internal/coverage/CompoundTransformOf1D.java   |  173 -
 .../sis/internal/coverage/MultiSourceArgument.java |  622 ----
 .../sis/internal/coverage/RangeArgument.java       |  397 ---
 .../sis/internal/coverage/RepeatedTransform.java   |  161 -
 .../sis/internal/coverage/SampleDimensions.java    |  181 -
 .../internal/coverage/j2d/BatchComputedImage.java  |  215 --
 .../internal/coverage/j2d/ColorModelBuilder.java   |  704 ----
 .../internal/coverage/j2d/ColorModelFactory.java   |  866 -----
 .../sis/internal/coverage/j2d/ColorModelType.java  |  108 -
 .../sis/internal/coverage/j2d/ColorsForRange.java  |  295 --
 .../internal/coverage/j2d/DeferredProperty.java    |  126 -
 .../sis/internal/coverage/j2d/FillValues.java      |  210 --
 .../sis/internal/coverage/j2d/ImageLayout.java     |  440 ---
 .../sis/internal/coverage/j2d/ImageUtilities.java  |  658 ----
 .../coverage/j2d/MultiBandsIndexColorModel.java    |  316 --
 .../sis/internal/coverage/j2d/ObservableImage.java |  290 --
 .../sis/internal/coverage/j2d/RasterFactory.java   |  316 --
 .../internal/coverage/j2d/SampleModelFactory.java  |  294 --
 .../internal/coverage/j2d/ScaledColorModel.java    |  164 -
 .../internal/coverage/j2d/ScaledColorSpace.java    |  226 --
 .../internal/coverage/j2d/TileErrorHandler.java    |  122 -
 .../sis/internal/coverage/j2d/TileOpExecutor.java  | 1024 ------
 .../sis/internal/coverage/j2d/TilePlaceholder.java |  407 ---
 .../sis/internal/coverage/j2d/TiledImage.java      |  276 --
 .../internal/coverage/j2d/WritableTiledImage.java  |  219 --
 .../sis/internal/coverage/j2d/package-info.java    |   33 -
 .../apache/sis/internal/coverage/package-info.java |   30 -
 .../sis/internal/feature/AbstractGeometry.java     |   40 -
 .../sis/internal/feature/AttributeConvention.java  |  445 ---
 .../sis/internal/feature/FeatureExpression.java    |  129 -
 .../sis/internal/feature/FeatureUtilities.java     |   94 -
 .../apache/sis/internal/feature/Geometries.java    |  639 ----
 .../sis/internal/feature/GeometryFactories.java    |   91 -
 .../apache/sis/internal/feature/GeometryType.java  |  237 --
 .../sis/internal/feature/GeometryWithCRS.java      |   94 -
 .../sis/internal/feature/GeometryWrapper.java      |  597 ----
 .../apache/sis/internal/feature/InstantList.java   |   82 -
 .../sis/internal/feature/MovingFeatures.java       |  132 -
 .../org/apache/sis/internal/feature/Resources.java |  679 ----
 .../apache/sis/internal/feature/Resources_en.java  |   30 -
 .../apache/sis/internal/feature/Resources_fr.java  |   30 -
 .../internal/feature/SpatialOperationContext.java  |  469 ---
 .../sis/internal/feature/StandardGeometries.java   |  170 -
 .../apache/sis/internal/feature/esri/Factory.java  |  299 --
 .../apache/sis/internal/feature/esri/Wrapper.java  |  311 --
 .../sis/internal/feature/esri/package-info.java    |   31 -
 .../feature/j2d/DecimatedPathIterator.java         |  165 -
 .../sis/internal/feature/j2d/DecimatedShape.java   |   84 -
 .../sis/internal/feature/j2d/EmptyShape.java       |   80 -
 .../apache/sis/internal/feature/j2d/Factory.java   |  332 --
 .../apache/sis/internal/feature/j2d/FlatShape.java |  128 -
 .../sis/internal/feature/j2d/MultiPolylines.java   |  191 --
 .../sis/internal/feature/j2d/PathBuilder.java      |  278 --
 .../sis/internal/feature/j2d/PointWrapper.java     |  257 --
 .../apache/sis/internal/feature/j2d/Polygon.java   |   38 -
 .../apache/sis/internal/feature/j2d/Polyline.java  |  317 --
 .../sis/internal/feature/j2d/ShapeProperties.java  |  279 --
 .../sis/internal/feature/j2d/ShapeWrapper.java     |  189 --
 .../apache/sis/internal/feature/j2d/Wrapper.java   |  415 ---
 .../sis/internal/feature/j2d/package-info.java     |   31 -
 .../apache/sis/internal/feature/jts/Factory.java   |  532 ---
 .../sis/internal/feature/jts/FilteringContext.java |   88 -
 .../feature/jts/GeometryCoordinateTransform.java   |   93 -
 .../internal/feature/jts/GeometryTransform.java    |  216 --
 .../org/apache/sis/internal/feature/jts/JTS.java   |  333 --
 .../feature/jts/PackedCoordinateSequence.java      |  489 ---
 .../jts/PackedCoordinateSequenceFactory.java       |  145 -
 .../internal/feature/jts/PathIteratorAdapter.java  |  268 --
 .../sis/internal/feature/jts/ShapeAdapter.java     |  208 --
 .../sis/internal/feature/jts/ShapeConverter.java   |  325 --
 .../apache/sis/internal/feature/jts/Wrapper.java   |  756 -----
 .../sis/internal/feature/jts/package-info.java     |   30 -
 .../apache/sis/internal/feature/package-info.java  |   34 -
 .../apache/sis/internal/filter/CopyVisitor.java    |  712 ----
 .../apache/sis/internal/filter/EditVisitor.java    |   58 -
 .../apache/sis/internal/filter/FunctionNames.java  |   91 -
 .../sis/internal/filter/FunctionRegister.java      |   77 -
 .../sis/internal/filter/GeometryConverter.java     |  189 --
 .../main/org/apache/sis/internal/filter/Node.java  |  401 ---
 .../sis/internal/filter/SortByComparator.java      |  206 --
 .../org/apache/sis/internal/filter/Visitor.java    |  332 --
 .../main/org/apache/sis/internal/filter/XPath.java |   87 -
 .../apache/sis/internal/filter/package-info.java   |   26 -
 .../internal/filter/sqlmm/FunctionDescription.java |  349 --
 .../internal/filter/sqlmm/FunctionWithSRID.java    |  235 --
 .../internal/filter/sqlmm/GeometryConstructor.java |  145 -
 .../sis/internal/filter/sqlmm/GeometryParser.java  |  132 -
 .../sis/internal/filter/sqlmm/OneGeometry.java     |  168 -
 .../apache/sis/internal/filter/sqlmm/Registry.java |  148 -
 .../apache/sis/internal/filter/sqlmm/SQLMM.java    |  893 -----
 .../sis/internal/filter/sqlmm/ST_FromBinary.java   |   85 -
 .../sis/internal/filter/sqlmm/ST_FromText.java     |   81 -
 .../apache/sis/internal/filter/sqlmm/ST_Point.java |  269 --
 .../sis/internal/filter/sqlmm/ST_Transform.java    |  142 -
 .../sis/internal/filter/sqlmm/SpatialFunction.java |  216 --
 .../sis/internal/filter/sqlmm/TwoGeometries.java   |  216 --
 .../sis/internal/filter/sqlmm/package-info.java    |   37 -
 .../internal/processing/image/CompoundFuture.java  |  201 --
 .../internal/processing/image/TiledProcess.java    |  392 ---
 .../internal/processing/image/package-info.java    |   31 -
 .../sis/internal/processing/isoline/Fragments.java |  273 --
 .../sis/internal/processing/isoline/Isolines.java  |  429 ---
 .../sis/internal/processing/isoline/Joiner.java    |  166 -
 .../internal/processing/isoline/Parallelized.java  |  111 -
 .../processing/isoline/PolylineBuffer.java         |  209 --
 .../internal/processing/isoline/PolylineStage.java |  115 -
 .../sis/internal/processing/isoline/Result.java    |  100 -
 .../sis/internal/processing/isoline/Tracer.java    |  733 -----
 .../internal/processing/isoline/package-info.java  |   31 -
 .../coverage/grid/ConvertedGridCoverageTest.java   |    2 +-
 .../coverage/grid/DimensionalityReductionTest.java |    2 +-
 .../sis/coverage/grid/GridCoverage2DTest.java      |    2 +-
 .../sis/coverage/grid/GridCoverageBuilderTest.java |    2 +-
 .../sis/coverage/grid/GridDerivationTest.java      |    4 +-
 .../apache/sis/coverage/grid/GridExtentTest.java   |    2 +-
 .../apache/sis/coverage/grid/GridGeometryTest.java |    2 +-
 .../coverage/grid/ResampledGridCoverageTest.java   |    6 +-
 .../coverage/grid/TranslatedGridCoverageTest.java  |    2 +-
 .../coverage/grid/j2d/ColorModelBuilderTest.java   |  152 +
 .../sis/coverage/grid/j2d/ImageLayoutTest.java     |   49 +
 .../sis/coverage/grid/j2d/ImageUtilitiesTest.java  |  238 ++
 .../coverage/grid/j2d/SampleModelFactoryTest.java  |  153 +
 .../coverage/grid/j2d/ScaledColorSpaceTest.java    |  103 +
 .../sis/coverage/internal/RangeArgumentTest.java   |   95 +
 .../apache/sis/feature/EnvelopeOperationTest.java  |    6 +-
 .../apache/sis/feature/FeatureMemoryBenchmark.java |    2 +-
 .../apache/sis/feature/FeatureOperationsTest.java  |    2 +-
 .../sis/feature/StringJoinOperationTest.java       |    2 +-
 .../feature/builder/AttributeTypeBuilderTest.java  |    2 +-
 .../feature/builder/FeatureTypeBuilderTest.java    |    2 +-
 .../feature/internal/AttributeConventionTest.java  |  130 +
 .../sis/filter/BinarySpatialFilterTestCase.java    |    2 +-
 .../apache/sis/filter/ComparisonFilterTest.java    |    2 +-
 .../org/apache/sis/filter/TemporalFilterTest.java  |    2 +-
 .../test/org/apache/sis/filter/XPathTest.java      |    2 +-
 .../sis/filter/internal/CopyVisitorTest.java       |   83 +
 .../sis/filter/internal/FilterFactoryMock.java     |  562 ++++
 .../apache/sis/filter/internal/FunctionMock.java   |   99 +
 .../sis/filter/internal/FunctionNamesTest.java     |  154 +
 .../sis/filter/internal/ValueReferenceMock.java    |   90 +
 .../apache/sis/filter/sqlmm/RegistryTestCase.java  |  529 +++
 .../sis/filter/sqlmm/RegistryUsingESRI_Test.java   |   75 +
 .../sis/filter/sqlmm/RegistryUsingJTS_Test.java    |   37 +
 .../sis/filter/sqlmm/RegistryUsingJava2D_Test.java |   81 +
 .../org/apache/sis/filter/sqlmm/SQLMMTest.java     |  141 +
 .../sis/geometry/wrapper/GeometriesTestCase.java   |  268 ++
 .../sis/geometry/wrapper/GeometryTypeTest.java     |   85 +
 .../geometry/wrapper/StandardGeometriesTest.java   |   59 +
 .../sis/geometry/wrapper/esri/FactoryTest.java     |   98 +
 .../sis/geometry/wrapper/j2d/FactoryTest.java      |   60 +
 .../sis/geometry/wrapper/j2d/FlatShapeTest.java    |  134 +
 .../geometry/wrapper/j2d/ShapePropertiesTest.java  |   71 +
 .../sis/geometry/wrapper/jts/FactoryTest.java      |   88 +
 .../apache/sis/geometry/wrapper/jts/JTSTest.java   |  252 ++
 .../sis/geometry/wrapper/jts/ShapeAdapterTest.java |  220 ++
 .../geometry/wrapper/jts/ShapeConverterTest.java   |  200 ++
 .../apache/sis/image/BandAggregateImageTest.java   |    4 +-
 .../org/apache/sis/image/BandSelectImageTest.java  |    4 +-
 .../sis/image/BandedSampleConverterTest.java       |    2 +-
 .../org/apache/sis/image/ImageCombinerTest.java    |    2 +-
 .../org/apache/sis/image/ImageProcessorTest.java   |    4 +-
 .../org/apache/sis/image/InterpolationTest.java    |    4 +-
 .../test/org/apache/sis/image/MaskedImageTest.java |    2 +-
 .../test/org/apache/sis/image/PlanarImageTest.java |    2 +-
 .../org/apache/sis/image/ResampledImageTest.java   |    6 +-
 .../org/apache/sis/image/ResamplingGridTest.java   |    4 +-
 .../apache/sis/image/StatisticsCalculatorTest.java |    4 +-
 .../test/org/apache/sis/image/TiledImageMock.java  |    6 +-
 .../sis/image/processing/isoline/IsolinesTest.java |  380 +++
 .../sis/image/processing/isoline/StepsViewer.java  |  425 +++
 .../sis/internal/coverage/RangeArgumentTest.java   |   95 -
 .../coverage/j2d/ColorModelBuilderTest.java        |  152 -
 .../sis/internal/coverage/j2d/ImageLayoutTest.java |   49 -
 .../internal/coverage/j2d/ImageUtilitiesTest.java  |  238 --
 .../coverage/j2d/SampleModelFactoryTest.java       |  153 -
 .../coverage/j2d/ScaledColorSpaceTest.java         |  103 -
 .../internal/feature/AttributeConventionTest.java  |  130 -
 .../sis/internal/feature/GeometriesTestCase.java   |  268 --
 .../sis/internal/feature/GeometryTypeTest.java     |   85 -
 .../internal/feature/StandardGeometriesTest.java   |   59 -
 .../sis/internal/feature/esri/FactoryTest.java     |   98 -
 .../sis/internal/feature/j2d/FactoryTest.java      |   60 -
 .../sis/internal/feature/j2d/FlatShapeTest.java    |  134 -
 .../internal/feature/j2d/ShapePropertiesTest.java  |   71 -
 .../sis/internal/feature/jts/FactoryTest.java      |   88 -
 .../apache/sis/internal/feature/jts/JTSTest.java   |  252 --
 .../sis/internal/feature/jts/ShapeAdapterTest.java |  220 --
 .../internal/feature/jts/ShapeConverterTest.java   |  200 --
 .../sis/internal/filter/CopyVisitorTest.java       |   83 -
 .../sis/internal/filter/FilterFactoryMock.java     |  562 ----
 .../apache/sis/internal/filter/FunctionMock.java   |   99 -
 .../sis/internal/filter/FunctionNamesTest.java     |  154 -
 .../sis/internal/filter/ValueReferenceMock.java    |   90 -
 .../internal/filter/sqlmm/RegistryTestCase.java    |  529 ---
 .../filter/sqlmm/RegistryUsingESRI_Test.java       |   75 -
 .../filter/sqlmm/RegistryUsingJTS_Test.java        |   37 -
 .../filter/sqlmm/RegistryUsingJava2D_Test.java     |   81 -
 .../sis/internal/filter/sqlmm/SQLMMTest.java       |  141 -
 .../internal/processing/isoline/IsolinesTest.java  |  380 ---
 .../internal/processing/isoline/StepsViewer.java   |  425 ---
 .../apache/sis/test/feature/FeatureComparator.java |    2 +-
 .../org.apache.sis.internal.jaxb.TypeRegistration  |    4 -
 .../org.apache.sis.internal.util.MetadataServices  |    4 -
 .../org.apache.sis.util.internal.MetadataServices  |    4 +
 .../org.apache.sis.xml.bind.TypeRegistration       |    4 +
 .../org.apache.sis.metadata/main/module-info.java  |   52 +-
 .../sis/internal/jaxb/AdapterReplacement.java      |   73 -
 .../main/org/apache/sis/internal/jaxb/Context.java |  687 ----
 .../apache/sis/internal/jaxb/FilterByVersion.java  |   80 -
 .../sis/internal/jaxb/FinalClassExtensions.java    |  123 -
 .../sis/internal/jaxb/IdentifierMapAdapter.java    |  582 ----
 .../sis/internal/jaxb/IdentifierMapEntry.java      |   87 -
 .../sis/internal/jaxb/ModifiableIdentifierMap.java |  284 --
 .../sis/internal/jaxb/NonMarshalledAuthority.java  |  298 --
 .../sis/internal/jaxb/SpecializedIdentifier.java   |  263 --
 .../apache/sis/internal/jaxb/TypeRegistration.java |  267 --
 .../sis/internal/jaxb/UseLegacyMetadata.java       |   42 -
 .../sis/internal/jaxb/cat/CodeListAdapter.java     |  171 -
 .../apache/sis/internal/jaxb/cat/CodeListUID.java  |  279 --
 .../apache/sis/internal/jaxb/cat/EnumAdapter.java  |   92 -
 .../apache/sis/internal/jaxb/cat/package-info.java |   26 -
 .../sis/internal/jaxb/code/CI_DateTypeCode.java    |   89 -
 .../internal/jaxb/code/CI_OnLineFunctionCode.java  |   89 -
 .../jaxb/code/CI_PresentationFormCode.java         |   89 -
 .../apache/sis/internal/jaxb/code/CI_RoleCode.java |  109 -
 .../internal/jaxb/code/CI_TelephoneTypeCode.java   |  108 -
 .../org/apache/sis/internal/jaxb/code/DCPList.java |   88 -
 .../sis/internal/jaxb/code/DQM_ValueStructure.java |   88 -
 .../jaxb/code/DQ_EvaluationMethodTypeCode.java     |   90 -
 .../internal/jaxb/code/DS_AssociationTypeCode.java |  108 -
 .../internal/jaxb/code/DS_InitiativeTypeCode.java  |  108 -
 .../internal/jaxb/code/MD_CellGeometryCode.java    |   88 -
 .../internal/jaxb/code/MD_CharacterSetCode.java    |  107 -
 .../internal/jaxb/code/MD_ClassificationCode.java  |   89 -
 .../jaxb/code/MD_CoverageContentTypeCode.java      |   91 -
 .../sis/internal/jaxb/code/MD_DatatypeCode.java    |   89 -
 .../jaxb/code/MD_DimensionNameTypeCode.java        |   91 -
 .../jaxb/code/MD_GeometricObjectTypeCode.java      |   90 -
 .../jaxb/code/MD_ImagingConditionCode.java         |   90 -
 .../sis/internal/jaxb/code/MD_KeywordTypeCode.java |   88 -
 .../jaxb/code/MD_MaintenanceFrequencyCode.java     |   91 -
 .../internal/jaxb/code/MD_MediumFormatCode.java    |   88 -
 .../sis/internal/jaxb/code/MD_MediumNameCode.java  |   88 -
 .../sis/internal/jaxb/code/MD_ObligationCode.java  |   73 -
 .../jaxb/code/MD_PixelOrientationCode.java         |   99 -
 .../sis/internal/jaxb/code/MD_ProgressCode.java    |   88 -
 .../sis/internal/jaxb/code/MD_RestrictionCode.java |  101 -
 .../sis/internal/jaxb/code/MD_ScopeCode.java       |   89 -
 .../code/MD_SpatialRepresentationTypeCode.java     |   90 -
 .../internal/jaxb/code/MD_TopicCategoryCode.java   |   98 -
 .../internal/jaxb/code/MD_TopologyLevelCode.java   |   88 -
 .../sis/internal/jaxb/code/MI_BandDefinition.java  |   88 -
 .../sis/internal/jaxb/code/MI_ContextCode.java     |   88 -
 .../internal/jaxb/code/MI_GeometryTypeCode.java    |   88 -
 .../internal/jaxb/code/MI_ObjectiveTypeCode.java   |   88 -
 .../internal/jaxb/code/MI_OperationTypeCode.java   |   88 -
 .../jaxb/code/MI_PolarisationOrientationCode.java  |   94 -
 .../sis/internal/jaxb/code/MI_PriorityCode.java    |   88 -
 .../sis/internal/jaxb/code/MI_SequenceCode.java    |   88 -
 .../jaxb/code/MI_TransferFunctionTypeCode.java     |   90 -
 .../sis/internal/jaxb/code/MI_TriggerCode.java     |   88 -
 .../sis/internal/jaxb/code/SV_CouplingType.java    |   88 -
 .../internal/jaxb/code/SV_ParameterDirection.java  |   73 -
 .../sis/internal/jaxb/code/package-info.java       |   65 -
 .../sis/internal/jaxb/gco/CharSequenceAdapter.java |  204 --
 .../apache/sis/internal/jaxb/gco/GO_Boolean.java   |   95 -
 .../sis/internal/jaxb/gco/GO_CharacterString.java  |  352 --
 .../apache/sis/internal/jaxb/gco/GO_DateTime.java  |  163 -
 .../apache/sis/internal/jaxb/gco/GO_Decimal.java   |  103 -
 .../apache/sis/internal/jaxb/gco/GO_Distance.java  |   95 -
 .../sis/internal/jaxb/gco/GO_GenericName.java      |  216 --
 .../apache/sis/internal/jaxb/gco/GO_Integer.java   |  117 -
 .../apache/sis/internal/jaxb/gco/GO_Integer64.java |   91 -
 .../apache/sis/internal/jaxb/gco/GO_Measure.java   |   94 -
 .../internal/jaxb/gco/GO_MultiplicityRange.java    |   92 -
 .../org/apache/sis/internal/jaxb/gco/GO_Real.java  |  118 -
 .../apache/sis/internal/jaxb/gco/GO_Record.java    |  111 -
 .../sis/internal/jaxb/gco/GO_RecordType.java       |  111 -
 .../apache/sis/internal/jaxb/gco/GO_Temporal.java  |  159 -
 .../org/apache/sis/internal/jaxb/gco/GO_URL.java   |   68 -
 .../sis/internal/jaxb/gco/GO_UnlimitedInteger.java |   95 -
 .../jaxb/gco/InternationalStringAdapter.java       |   95 -
 .../jaxb/gco/InternationalStringConverter.java     |   62 -
 .../apache/sis/internal/jaxb/gco/Multiplicity.java |   92 -
 .../sis/internal/jaxb/gco/MultiplicityRange.java   |  106 -
 .../apache/sis/internal/jaxb/gco/NameValue.java    |  129 -
 .../internal/jaxb/gco/ObjectIdentification.html    |   59 -
 .../sis/internal/jaxb/gco/ObjectReference.java     |  160 -
 .../apache/sis/internal/jaxb/gco/PropertyType.java |  635 ----
 .../sis/internal/jaxb/gco/StringAdapter.java       |  131 -
 .../apache/sis/internal/jaxb/gco/URIAdapter.java   |  102 -
 .../apache/sis/internal/jaxb/gco/UnitAdapter.java  |  103 -
 .../sis/internal/jaxb/gco/UnlimitedInteger.java    |  123 -
 .../apache/sis/internal/jaxb/gco/package-info.java |  104 -
 .../org/apache/sis/internal/jaxb/gcx/Anchor.java   |  182 --
 .../org/apache/sis/internal/jaxb/gcx/FileName.java |   86 -
 .../apache/sis/internal/jaxb/gcx/MimeFileType.java |   86 -
 .../sis/internal/jaxb/gcx/MimeFileTypeAdapter.java |   58 -
 .../apache/sis/internal/jaxb/gcx/package-info.java |   45 -
 .../sis/internal/jaxb/geometry/GM_Object.java      |   96 -
 .../sis/internal/jaxb/geometry/ObjectFactory.java  |  104 -
 .../sis/internal/jaxb/geometry/package-info.java   |   46 -
 .../sis/internal/jaxb/gmi/LE_ProcessStep.java      |   79 -
 .../apache/sis/internal/jaxb/gmi/LE_Source.java    |   74 -
 .../org/apache/sis/internal/jaxb/gmi/MI_Band.java  |   79 -
 .../internal/jaxb/gmi/MI_CoverageDescription.java  |   76 -
 .../sis/internal/jaxb/gmi/MI_Georectified.java     |   76 -
 .../sis/internal/jaxb/gmi/MI_Georeferenceable.java |   76 -
 .../sis/internal/jaxb/gmi/MI_ImageDescription.java |   76 -
 .../apache/sis/internal/jaxb/gmi/MI_Metadata.java  |   76 -
 .../apache/sis/internal/jaxb/gmi/package-info.java |   53 -
 .../sis/internal/jaxb/gml/CodeListAdapter.java     |  108 -
 .../apache/sis/internal/jaxb/gml/DateAdapter.java  |   91 -
 .../apache/sis/internal/jaxb/gml/GMLAdapter.java   |  110 -
 .../org/apache/sis/internal/jaxb/gml/Measure.java  |  241 --
 .../apache/sis/internal/jaxb/gml/MeasureList.java  |  123 -
 .../sis/internal/jaxb/gml/SC_VerticalCRS.java      |  143 -
 .../apache/sis/internal/jaxb/gml/TM_Primitive.java |  187 --
 .../apache/sis/internal/jaxb/gml/TimeInstant.java  |  107 -
 .../apache/sis/internal/jaxb/gml/TimePeriod.java   |  100 -
 .../sis/internal/jaxb/gml/TimePeriodBound.java     |  172 -
 .../internal/jaxb/gml/UniversalTimeAdapter.java    |   92 -
 .../apache/sis/internal/jaxb/gml/package-info.java |   48 -
 .../apache/sis/internal/jaxb/gts/TM_Duration.java  |  103 -
 .../sis/internal/jaxb/gts/TM_PeriodDuration.java   |  203 --
 .../apache/sis/internal/jaxb/gts/package-info.java |   40 -
 .../org/apache/sis/internal/jaxb/lan/Country.java  |  216 --
 .../apache/sis/internal/jaxb/lan/LanguageCode.java |  171 -
 .../sis/internal/jaxb/lan/LocaleAdapter.java       |  138 -
 .../sis/internal/jaxb/lan/LocaleAndCharset.java    |  404 ---
 .../jaxb/lan/LocalisedCharacterString.java         |  149 -
 .../apache/sis/internal/jaxb/lan/OtherLocales.java |  152 -
 .../apache/sis/internal/jaxb/lan/PT_FreeText.java  |  208 --
 .../apache/sis/internal/jaxb/lan/PT_Locale.java    |  347 --
 .../apache/sis/internal/jaxb/lan/TextGroup.java    |  138 -
 .../apache/sis/internal/jaxb/lan/package-info.java |   42 -
 .../sis/internal/jaxb/metadata/CI_Address.java     |   92 -
 .../sis/internal/jaxb/metadata/CI_Citation.java    |  111 -
 .../sis/internal/jaxb/metadata/CI_Contact.java     |   92 -
 .../apache/sis/internal/jaxb/metadata/CI_Date.java |   92 -
 .../internal/jaxb/metadata/CI_OnlineResource.java  |  111 -
 .../sis/internal/jaxb/metadata/CI_Party.java       |   91 -
 .../internal/jaxb/metadata/CI_Responsibility.java  |  106 -
 .../jaxb/metadata/CI_ResponsibleParty.java         |  127 -
 .../sis/internal/jaxb/metadata/CI_Series.java      |   92 -
 .../sis/internal/jaxb/metadata/CI_Telephone.java   |   92 -
 .../internal/jaxb/metadata/DQM_BasicMeasure.java   |   91 -
 .../internal/jaxb/metadata/DQM_Description.java    |   91 -
 .../sis/internal/jaxb/metadata/DQM_Measure.java    |   91 -
 .../sis/internal/jaxb/metadata/DQM_Parameter.java  |   92 -
 .../jaxb/metadata/DQM_SourceReference.java         |   91 -
 .../sis/internal/jaxb/metadata/DQ_DataQuality.java |   92 -
 .../sis/internal/jaxb/metadata/DQ_Element.java     |   92 -
 .../jaxb/metadata/DQ_EvaluationMethod.java         |   96 -
 .../jaxb/metadata/DQ_MeasureReference.java         |   96 -
 .../jaxb/metadata/DQ_PositionalAccuracy.java       |   91 -
 .../sis/internal/jaxb/metadata/DQ_Result.java      |   92 -
 .../DQ_StandaloneQualityReportInformation.java     |   98 -
 .../sis/internal/jaxb/metadata/EX_Extent.java      |   92 -
 .../jaxb/metadata/EX_GeographicExtent.java         |   92 -
 .../internal/jaxb/metadata/EX_TemporalExtent.java  |   92 -
 .../internal/jaxb/metadata/EX_VerticalExtent.java  |   92 -
 .../sis/internal/jaxb/metadata/LE_Algorithm.java   |   93 -
 .../jaxb/metadata/LE_NominalResolution.java        |   92 -
 .../jaxb/metadata/LE_ProcessStepReport.java        |   92 -
 .../sis/internal/jaxb/metadata/LE_Processing.java  |   92 -
 .../sis/internal/jaxb/metadata/LI_Lineage.java     |   92 -
 .../sis/internal/jaxb/metadata/LI_ProcessStep.java |   93 -
 .../sis/internal/jaxb/metadata/LI_Source.java      |   93 -
 .../jaxb/metadata/MD_AggregateInformation.java     |   95 -
 .../metadata/MD_ApplicationSchemaInformation.java  |   94 -
 .../jaxb/metadata/MD_AssociatedResource.java       |   91 -
 .../internal/jaxb/metadata/MD_AttributeGroup.java  |   91 -
 .../internal/jaxb/metadata/MD_BrowseGraphic.java   |   92 -
 .../sis/internal/jaxb/metadata/MD_Constraints.java |   92 -
 .../jaxb/metadata/MD_ContentInformation.java       |  105 -
 .../jaxb/metadata/MD_DataIdentification.java       |   94 -
 .../jaxb/metadata/MD_DigitalTransferOptions.java   |   94 -
 .../sis/internal/jaxb/metadata/MD_Dimension.java   |   92 -
 .../internal/jaxb/metadata/MD_Distribution.java    |   92 -
 .../sis/internal/jaxb/metadata/MD_Distributor.java |   92 -
 .../metadata/MD_ExtendedElementInformation.java    |   94 -
 .../internal/jaxb/metadata/MD_FeatureTypeInfo.java |   92 -
 .../sis/internal/jaxb/metadata/MD_Format.java      |   92 -
 .../jaxb/metadata/MD_GeometricObjects.java         |   92 -
 .../internal/jaxb/metadata/MD_Identification.java  |   92 -
 .../sis/internal/jaxb/metadata/MD_Identifier.java  |  123 -
 .../internal/jaxb/metadata/MD_KeywordClass.java    |  110 -
 .../sis/internal/jaxb/metadata/MD_Keywords.java    |   92 -
 .../jaxb/metadata/MD_MaintenanceInformation.java   |   94 -
 .../sis/internal/jaxb/metadata/MD_Medium.java      |  111 -
 .../sis/internal/jaxb/metadata/MD_Metadata.java    |   91 -
 .../metadata/MD_MetadataExtensionInformation.java  |   94 -
 .../internal/jaxb/metadata/MD_MetadataScope.java   |   91 -
 .../metadata/MD_PortrayalCatalogueReference.java   |   94 -
 .../internal/jaxb/metadata/MD_RangeDimension.java  |   98 -
 .../internal/jaxb/metadata/MD_Releasability.java   |  111 -
 .../jaxb/metadata/MD_RepresentativeFraction.java   |   94 -
 .../sis/internal/jaxb/metadata/MD_Resolution.java  |  111 -
 .../sis/internal/jaxb/metadata/MD_Scope.java       |  127 -
 .../jaxb/metadata/MD_ScopeDescription.java         |   92 -
 .../jaxb/metadata/MD_SpatialRepresentation.java    |  105 -
 .../jaxb/metadata/MD_StandardOrderProcess.java     |   94 -
 .../sis/internal/jaxb/metadata/MD_Usage.java       |   92 -
 .../jaxb/metadata/MI_AcquisitionInformation.java   |   94 -
 .../jaxb/metadata/MI_EnvironmentalRecord.java      |   94 -
 .../sis/internal/jaxb/metadata/MI_Event.java       |   92 -
 .../apache/sis/internal/jaxb/metadata/MI_GCP.java  |   92 -
 .../jaxb/metadata/MI_GeolocationInformation.java   |   94 -
 .../sis/internal/jaxb/metadata/MI_Instrument.java  |   92 -
 .../sis/internal/jaxb/metadata/MI_Objective.java   |   92 -
 .../sis/internal/jaxb/metadata/MI_Operation.java   |   92 -
 .../apache/sis/internal/jaxb/metadata/MI_Plan.java |   92 -
 .../sis/internal/jaxb/metadata/MI_Platform.java    |   92 -
 .../internal/jaxb/metadata/MI_PlatformPass.java    |   92 -
 .../jaxb/metadata/MI_RangeElementDescription.java  |  113 -
 .../internal/jaxb/metadata/MI_RequestedDate.java   |   92 -
 .../sis/internal/jaxb/metadata/MI_Requirement.java |   92 -
 .../sis/internal/jaxb/metadata/MX_DataFile.java    |   92 -
 .../internal/jaxb/metadata/RS_ReferenceSystem.java |  137 -
 .../internal/jaxb/metadata/SV_CoupledResource.java |   91 -
 .../jaxb/metadata/SV_OperationChainMetadata.java   |   91 -
 .../jaxb/metadata/SV_OperationMetadata.java        |  110 -
 .../sis/internal/jaxb/metadata/SV_Parameter.java   |   92 -
 .../sis/internal/jaxb/metadata/package-info.java   |   72 -
 .../internal/jaxb/metadata/replace/Parameter.java  |  177 -
 .../jaxb/metadata/replace/QualityParameter.java    |  250 --
 .../jaxb/metadata/replace/RS_Identifier.java       |  109 -
 .../metadata/replace/ReferenceSystemMetadata.java  |  151 -
 .../internal/jaxb/metadata/replace/SensorType.java |  110 -
 .../jaxb/metadata/replace/ServiceParameter.java    |  409 ---
 .../jaxb/metadata/replace/package-info.java        |   72 -
 .../org/apache/sis/internal/jaxb/package-info.java |   41 -
 .../apache/sis/internal/metadata/AxisNames.java    |  224 --
 .../apache/sis/internal/metadata/Dependencies.java |   52 -
 .../apache/sis/internal/metadata/ExcludedSet.java  |  102 -
 .../apache/sis/internal/metadata/Identifiers.java  |  276 --
 .../internal/metadata/ImplementationHelper.java    |  297 --
 .../org/apache/sis/internal/metadata/Merger.java   |  426 ---
 .../sis/internal/metadata/MetadataTypes.java       |  104 -
 .../apache/sis/internal/metadata/NameMeaning.java  |  247 --
 .../sis/internal/metadata/NameToIdentifier.java    |  320 --
 .../sis/internal/metadata/RecordSchemaSIS.java     |  109 -
 .../sis/internal/metadata/ReferencingServices.java |  306 --
 .../apache/sis/internal/metadata/Resources.java    |  216 --
 .../apache/sis/internal/metadata/Resources_en.java |   30 -
 .../apache/sis/internal/metadata/Resources_fr.java |   30 -
 .../sis/internal/metadata/ServicesForUtility.java  |  170 -
 .../sis/internal/metadata/TemporalUtilities.java   |  146 -
 .../internal/metadata/TransformationAccuracy.java  |   91 -
 .../internal/metadata/legacy/DateToTemporal.java   |  109 -
 .../metadata/legacy/LegacyPropertyAdapter.java     |  338 --
 .../internal/metadata/legacy/TemporalToDate.java   |  116 -
 .../sis/internal/metadata/legacy/package-info.java |   32 -
 .../apache/sis/internal/metadata/package-info.java |   30 -
 .../apache/sis/internal/metadata/sql/Dialect.java  |  151 -
 .../sis/internal/metadata/sql/Initializer.java     |  466 ---
 .../sis/internal/metadata/sql/LocalDataSource.java |  457 ---
 .../sis/internal/metadata/sql/Reflection.java      |  215 --
 .../sis/internal/metadata/sql/SQLBuilder.java      |  369 ---
 .../sis/internal/metadata/sql/SQLUtilities.java    |  203 --
 .../sis/internal/metadata/sql/ScriptRunner.java    |  839 -----
 .../apache/sis/internal/metadata/sql/Syntax.java   |   83 -
 .../sis/internal/metadata/sql/TypeMapper.java      |  107 -
 .../sis/internal/metadata/sql/package-info.java    |   79 -
 .../sis/internal/simple/CitationConstant.java      |  242 --
 .../sis/internal/simple/SimpleAttributeType.java   |  183 --
 .../apache/sis/internal/simple/SimpleCitation.java |   99 -
 .../apache/sis/internal/simple/SimpleDuration.java |   76 -
 .../apache/sis/internal/simple/SimpleExtent.java   |   72 -
 .../apache/sis/internal/simple/SimpleFormat.java   |   86 -
 .../internal/simple/SimpleIdentifiedObject.java    |  212 --
 .../sis/internal/simple/SimpleIdentifier.java      |  223 --
 .../apache/sis/internal/simple/SimpleMetadata.java |  222 --
 .../apache/sis/internal/simple/package-info.java   |   31 -
 .../apache/sis/internal/xml/LegacyNamespaces.java  |  125 -
 .../sis/internal/xml/StreamWriterDelegate.java     |  246 --
 .../org/apache/sis/internal/xml/XmlUtilities.java  |  336 --
 .../org/apache/sis/internal/xml/package-info.java  |   36 -
 .../main/org/apache/sis/metadata/CacheKey.java     |    2 +-
 .../org/apache/sis/metadata/MetadataCopier.java    |    2 +-
 .../org/apache/sis/metadata/MetadataFormat.java    |    2 +-
 .../org/apache/sis/metadata/MetadataStandard.java  |   16 +-
 .../org/apache/sis/metadata/MetadataVisitor.java   |    4 +-
 .../sis/metadata/MetadataVisitorException.java     |    2 +-
 .../apache/sis/metadata/ModifiableMetadata.java    |   12 +-
 .../org/apache/sis/metadata/PropertyAccessor.java  |    8 +-
 .../apache/sis/metadata/PropertyInformation.java   |    2 +-
 .../main/org/apache/sis/metadata/Pruner.java       |    2 +-
 .../main/org/apache/sis/metadata/SpecialCases.java |    2 +-
 .../sis/metadata/StandardImplementation.java       |    2 +-
 .../main/org/apache/sis/metadata/StateChanger.java |    6 +-
 .../main/org/apache/sis/metadata/TreeNode.java     |    4 +-
 .../org/apache/sis/metadata/TreeTableView.java     |   10 +-
 .../main/org/apache/sis/metadata/ValueMap.java     |    2 +-
 .../apache/sis/metadata/internal/AxisNames.java    |  224 ++
 .../apache/sis/metadata/internal/Dependencies.java |   52 +
 .../apache/sis/metadata/internal/ExcludedSet.java  |  102 +
 .../apache/sis/metadata/internal/Identifiers.java  |  276 ++
 .../metadata/internal/ImplementationHelper.java    |  297 ++
 .../org/apache/sis/metadata/internal/Merger.java   |  426 +++
 .../sis/metadata/internal/MetadataTypes.java       |  104 +
 .../apache/sis/metadata/internal/NameMeaning.java  |  247 ++
 .../sis/metadata/internal/NameToIdentifier.java    |  320 ++
 .../sis/metadata/internal/RecordSchemaSIS.java     |  109 +
 .../sis/metadata/internal/ReferencingServices.java |  306 ++
 .../apache/sis/metadata/internal/Resources.java    |  216 ++
 .../internal}/Resources.properties                 |    0
 .../apache/sis/metadata/internal/Resources_en.java |   30 +
 .../apache/sis/metadata/internal/Resources_fr.java |   30 +
 .../internal}/Resources_fr.properties              |    0
 .../sis/metadata/internal/ServicesForUtility.java  |  170 +
 .../sis/metadata/internal/TemporalUtilities.java   |  146 +
 .../metadata/internal/TransformationAccuracy.java  |   91 +
 .../apache/sis/metadata/internal/package-info.java |   30 +
 .../iso/DefaultExtendedElementInformation.java     |   16 +-
 .../apache/sis/metadata/iso/DefaultIdentifier.java |    2 +-
 .../apache/sis/metadata/iso/DefaultMetadata.java   |   30 +-
 .../org/apache/sis/metadata/iso/ISOMetadata.java   |   14 +-
 .../sis/metadata/iso/MetadataScopeAdapter.java     |    2 +-
 .../sis/metadata/iso/OnlineResourceAdapter.java    |    2 +-
 .../apache/sis/metadata/iso/URIStringAdapter.java  |    6 +-
 .../acquisition/DefaultEnvironmentalRecord.java    |    2 +-
 .../sis/metadata/iso/acquisition/DefaultEvent.java |    4 +-
 .../metadata/iso/acquisition/DefaultObjective.java |    2 +-
 .../iso/acquisition/DefaultRequestedDate.java      |    4 +-
 .../iso/acquisition/DefaultRequirement.java        |    4 +-
 .../sis/metadata/iso/acquisition/package-info.java |    8 +-
 .../sis/metadata/iso/citation/AbstractParty.java   |    2 +-
 .../sis/metadata/iso/citation/Citations.java       |   20 +-
 .../sis/metadata/iso/citation/DefaultCitation.java |   10 +-
 .../metadata/iso/citation/DefaultCitationDate.java |    4 +-
 .../sis/metadata/iso/citation/DefaultContact.java  |   14 +-
 .../iso/citation/DefaultOnlineResource.java        |    4 +-
 .../iso/citation/DefaultResponsibility.java        |    4 +-
 .../iso/citation/DefaultResponsibleParty.java      |    8 +-
 .../metadata/iso/citation/DefaultTelephone.java    |   12 +-
 .../metadata/iso/citation/LegacyTelephones.java    |    2 +-
 .../sis/metadata/iso/citation/package-info.java    |    8 +-
 .../iso/constraint/DefaultConstraints.java         |    6 +-
 .../sis/metadata/iso/constraint/package-info.java  |    6 +-
 .../sis/metadata/iso/content/DefaultBand.java      |    8 +-
 .../iso/content/DefaultCoverageDescription.java    |   16 +-
 .../DefaultFeatureCatalogueDescription.java        |   16 +-
 .../iso/content/DefaultFeatureTypeInfo.java        |    2 +-
 .../iso/content/DefaultImageDescription.java       |   10 +-
 .../iso/content/DefaultRangeDimension.java         |    8 +-
 .../iso/content/DefaultSampleDimension.java        |   12 +-
 .../sis/metadata/iso/content/package-info.java     |   10 +-
 .../metadata/iso/distribution/DefaultDataFile.java |    6 +-
 .../DefaultDigitalTransferOptions.java             |   12 +-
 .../iso/distribution/DefaultDistribution.java      |    2 +-
 .../metadata/iso/distribution/DefaultFormat.java   |   14 +-
 .../metadata/iso/distribution/DefaultMedium.java   |   22 +-
 .../distribution/DefaultStandardOrderProcess.java  |    8 +-
 .../metadata/iso/distribution/package-info.java    |    8 +-
 .../sis/metadata/iso/extent/DefaultExtent.java     |    2 +-
 .../iso/extent/DefaultGeographicBoundingBox.java   |    2 +-
 .../iso/extent/DefaultSpatialTemporalExtent.java   |    4 +-
 .../metadata/iso/extent/DefaultTemporalExtent.java |    4 +-
 .../metadata/iso/extent/DefaultVerticalExtent.java |    4 +-
 .../apache/sis/metadata/iso/extent/Extents.java    |    6 +-
 .../sis/metadata/iso/extent/package-info.java      |    8 +-
 .../iso/identification/AbstractIdentification.java |   10 +-
 .../DefaultAggregateInformation.java               |    8 +-
 .../identification/DefaultAssociatedResource.java  |    6 +-
 .../iso/identification/DefaultBrowseGraphic.java   |    4 +-
 .../iso/identification/DefaultCoupledResource.java |   10 +-
 .../identification/DefaultDataIdentification.java  |   12 +-
 .../iso/identification/DefaultKeywords.java        |    2 +-
 .../DefaultRepresentativeFraction.java             |   14 +-
 .../iso/identification/DefaultResolution.java      |   10 +-
 .../DefaultServiceIdentification.java              |    2 +-
 .../metadata/iso/identification/DefaultUsage.java  |    6 +-
 .../metadata/iso/identification/OperationName.java |    2 +-
 .../metadata/iso/identification/package-info.java  |   12 +-
 .../sis/metadata/iso/legacy/DateToTemporal.java    |  109 +
 .../metadata/iso/legacy/LegacyPropertyAdapter.java |  338 ++
 .../sis/metadata/iso/legacy/TemporalToDate.java    |  116 +
 .../sis/metadata/iso/legacy/package-info.java      |   32 +
 .../sis/metadata/iso/lineage/DefaultLineage.java   |    4 +-
 .../iso/lineage/DefaultNominalResolution.java      |    2 +-
 .../metadata/iso/lineage/DefaultProcessStep.java   |   12 +-
 .../sis/metadata/iso/lineage/DefaultSource.java    |   14 +-
 .../sis/metadata/iso/lineage/package-info.java     |    6 +-
 .../iso/maintenance/AttributeTypeAdapter.java      |    2 +-
 .../maintenance/DefaultMaintenanceInformation.java |   12 +-
 .../iso/maintenance/DefaultScopeDescription.java   |    6 +-
 .../iso/maintenance/FeatureTypeAdapter.java        |    2 +-
 .../iso/maintenance/LegacyFeatureType.java         |    2 +-
 .../sis/metadata/iso/maintenance/package-info.java |   10 +-
 .../org/apache/sis/metadata/iso/package-info.java  |   10 +-
 .../sis/metadata/iso/quality/AbstractElement.java  |   12 +-
 .../sis/metadata/iso/quality/AbstractResult.java   |    4 +-
 .../iso/quality/DefaultCoverageResult.java         |    4 +-
 .../metadata/iso/quality/DefaultDataQuality.java   |    4 +-
 .../iso/quality/DefaultEvaluationMethod.java       |    6 +-
 .../iso/quality/DefaultMeasureReference.java       |    2 +-
 .../DefaultNonQuantitativeAttributeAccuracy.java   |    2 +-
 .../iso/quality/DefaultQuantitativeResult.java     |    4 +-
 .../sis/metadata/iso/quality/DefaultScope.java     |    6 +-
 .../sis/metadata/iso/quality/DefaultUsability.java |    2 +-
 .../sis/metadata/iso/quality/package-info.java     |    8 +-
 .../iso/spatial/AbstractSpatialRepresentation.java |    2 +-
 .../sis/metadata/iso/spatial/DefaultDimension.java |    6 +-
 .../iso/spatial/DefaultGeometricObjects.java       |    2 +-
 .../metadata/iso/spatial/DefaultGeorectified.java  |    4 +-
 .../iso/spatial/DefaultGeoreferenceable.java       |    2 +-
 .../spatial/DefaultGridSpatialRepresentation.java  |    2 +-
 .../sis/metadata/iso/spatial/package-info.java     |    8 +-
 .../sis/metadata/simple/CitationConstant.java      |  242 ++
 .../sis/metadata/simple/SimpleAttributeType.java   |  183 ++
 .../apache/sis/metadata/simple/SimpleCitation.java |   99 +
 .../apache/sis/metadata/simple/SimpleDuration.java |   76 +
 .../apache/sis/metadata/simple/SimpleExtent.java   |   72 +
 .../apache/sis/metadata/simple/SimpleFormat.java   |   86 +
 .../metadata/simple/SimpleIdentifiedObject.java    |  212 ++
 .../sis/metadata/simple/SimpleIdentifier.java      |  223 ++
 .../apache/sis/metadata/simple/SimpleMetadata.java |  222 ++
 .../apache/sis/metadata/simple/package-info.java   |   31 +
 .../apache/sis/metadata/sql/CachedStatement.java   |    2 +-
 .../org/apache/sis/metadata/sql/Dispatcher.java    |    8 +-
 .../sis/metadata/sql/IdentifierGenerator.java      |    2 +-
 .../org/apache/sis/metadata/sql/Installer.java     |    2 +-
 .../apache/sis/metadata/sql/MetadataFallback.java  |    2 +-
 .../apache/sis/metadata/sql/MetadataSource.java    |   26 +-
 .../apache/sis/metadata/sql/MetadataWriter.java    |    8 +-
 .../org/apache/sis/metadata/sql/util/Dialect.java  |  151 +
 .../apache/sis/metadata/sql/util/Initializer.java  |  466 +++
 .../sis/metadata/sql/util/LocalDataSource.java     |  457 +++
 .../apache/sis/metadata/sql/util/Reflection.java   |  215 ++
 .../apache/sis/metadata/sql/util/SQLBuilder.java   |  369 +++
 .../apache/sis/metadata/sql/util/SQLUtilities.java |  203 ++
 .../apache/sis/metadata/sql/util/ScriptRunner.java |  839 +++++
 .../org/apache/sis/metadata/sql/util/Syntax.java   |   83 +
 .../apache/sis/metadata/sql/util/TypeMapper.java   |  107 +
 .../apache/sis/metadata/sql/util/package-info.java |   79 +
 .../org/apache/sis/util/iso/AbstractFactory.java   |    2 +-
 .../org/apache/sis/util/iso/DefaultLocalName.java  |    4 +-
 .../apache/sis/util/iso/DefaultNameFactory.java    |    2 +-
 .../org/apache/sis/util/iso/DefaultNameSpace.java  |    4 +-
 .../org/apache/sis/util/iso/DefaultRecord.java     |    6 +-
 .../apache/sis/util/iso/DefaultRecordSchema.java   |    6 +-
 .../org/apache/sis/util/iso/DefaultRecordType.java |    4 +-
 .../org/apache/sis/util/iso/DefaultScopedName.java |    2 +-
 .../org/apache/sis/util/iso/RecordDefinition.java  |    2 +-
 .../main/org/apache/sis/util/iso/TypeNames.java    |    2 +-
 .../main/org/apache/sis/util/iso/Types.java        |    8 +-
 .../main/org/apache/sis/util/iso/package-info.java |    2 +-
 .../main/org/apache/sis/xml/IdentifierSpace.java   |    2 +-
 .../main/org/apache/sis/xml/LegacyCodes.java       |    2 +-
 .../main/org/apache/sis/xml/MarshallerPool.java    |   16 +-
 .../main/org/apache/sis/xml/Namespaces.java        |    4 +-
 .../main/org/apache/sis/xml/NilObjectHandler.java  |    6 +-
 .../main/org/apache/sis/xml/NilReason.java         |    2 +-
 .../main/org/apache/sis/xml/OutputFactory.java     |    2 +-
 .../main/org/apache/sis/xml/Pooled.java            |    8 +-
 .../main/org/apache/sis/xml/PooledMarshaller.java  |    4 +-
 .../org/apache/sis/xml/PooledUnmarshaller.java     |    2 +-
 .../main/org/apache/sis/xml/ReferenceResolver.java |    4 +-
 .../main/org/apache/sis/xml/TransformVersion.java  |    2 +-
 .../main/org/apache/sis/xml/Transformer.java       |    2 +-
 .../org/apache/sis/xml/TransformingReader.java     |   16 +-
 .../org/apache/sis/xml/TransformingWriter.java     |    4 +-
 .../main/org/apache/sis/xml/ValueConverter.java    |    2 +-
 .../main/org/apache/sis/xml/XLink.java             |    2 +-
 .../main/org/apache/sis/xml/XML.java               |    6 +-
 .../main/org/apache/sis/xml/XPointer.java          |    2 +-
 .../apache/sis/xml/bind/AdapterReplacement.java    |   73 +
 .../main/org/apache/sis/xml/bind/Context.java      |  687 ++++
 .../org/apache/sis/xml/bind/FilterByVersion.java   |   80 +
 .../apache/sis/xml/bind/FinalClassExtensions.java  |  123 +
 .../apache/sis/xml/bind/IdentifierMapAdapter.java  |  582 ++++
 .../apache/sis/xml/bind/IdentifierMapEntry.java    |   87 +
 .../sis/xml/bind/ModifiableIdentifierMap.java      |  284 ++
 .../sis/xml/bind/NonMarshalledAuthority.java       |  298 ++
 .../apache/sis/xml/bind/SpecializedIdentifier.java |  263 ++
 .../org/apache/sis/xml/bind/TypeRegistration.java  |  267 ++
 .../org/apache/sis/xml/bind/UseLegacyMetadata.java |   42 +
 .../apache/sis/xml/bind/cat/CodeListAdapter.java   |  171 +
 .../org/apache/sis/xml/bind/cat/CodeListUID.java   |  279 ++
 .../org/apache/sis/xml/bind/cat/EnumAdapter.java   |   92 +
 .../org/apache/sis/xml/bind/cat/package-info.java  |   26 +
 .../sis/xml/bind/gco/CharSequenceAdapter.java      |  204 ++
 .../org/apache/sis/xml/bind/gco/GO_Boolean.java    |   95 +
 .../sis/xml/bind/gco/GO_CharacterString.java       |  352 ++
 .../org/apache/sis/xml/bind/gco/GO_DateTime.java   |  163 +
 .../org/apache/sis/xml/bind/gco/GO_Decimal.java    |  103 +
 .../org/apache/sis/xml/bind/gco/GO_Distance.java   |   95 +
 .../apache/sis/xml/bind/gco/GO_GenericName.java    |  216 ++
 .../org/apache/sis/xml/bind/gco/GO_Integer.java    |  117 +
 .../org/apache/sis/xml/bind/gco/GO_Integer64.java  |   91 +
 .../org/apache/sis/xml/bind/gco/GO_Measure.java    |   94 +
 .../sis/xml/bind/gco/GO_MultiplicityRange.java     |   92 +
 .../main/org/apache/sis/xml/bind/gco/GO_Real.java  |  118 +
 .../org/apache/sis/xml/bind/gco/GO_Record.java     |  111 +
 .../org/apache/sis/xml/bind/gco/GO_RecordType.java |  111 +
 .../org/apache/sis/xml/bind/gco/GO_Temporal.java   |  159 +
 .../main/org/apache/sis/xml/bind/gco/GO_URL.java   |   68 +
 .../sis/xml/bind/gco/GO_UnlimitedInteger.java      |   95 +
 .../xml/bind/gco/InternationalStringAdapter.java   |   95 +
 .../xml/bind/gco/InternationalStringConverter.java |   62 +
 .../org/apache/sis/xml/bind/gco/Multiplicity.java  |   92 +
 .../apache/sis/xml/bind/gco/MultiplicityRange.java |  106 +
 .../org/apache/sis/xml/bind/gco/NameValue.java     |  129 +
 .../sis/xml/bind/gco/ObjectIdentification.html     |   59 +
 .../apache/sis/xml/bind/gco/ObjectReference.java   |  160 +
 .../org/apache/sis/xml/bind/gco/PropertyType.java  |  635 ++++
 .../org/apache/sis/xml/bind/gco/StringAdapter.java |  131 +
 .../org/apache/sis/xml/bind/gco/URIAdapter.java    |  102 +
 .../org/apache/sis/xml/bind/gco/UnitAdapter.java   |  103 +
 .../apache/sis/xml/bind/gco/UnlimitedInteger.java  |  123 +
 .../org/apache/sis/xml/bind/gco/package-info.java  |  104 +
 .../main/org/apache/sis/xml/bind/gcx/Anchor.java   |  182 ++
 .../main/org/apache/sis/xml/bind/gcx/FileName.java |   86 +
 .../org/apache/sis/xml/bind/gcx/MimeFileType.java  |   86 +
 .../sis/xml/bind/gcx/MimeFileTypeAdapter.java      |   58 +
 .../org/apache/sis/xml/bind/gcx/package-info.java  |   45 +
 .../apache/sis/xml/bind/gmi/LE_ProcessStep.java    |   79 +
 .../org/apache/sis/xml/bind/gmi/LE_Source.java     |   74 +
 .../main/org/apache/sis/xml/bind/gmi/MI_Band.java  |   79 +
 .../sis/xml/bind/gmi/MI_CoverageDescription.java   |   76 +
 .../apache/sis/xml/bind/gmi/MI_Georectified.java   |   76 +
 .../sis/xml/bind/gmi/MI_Georeferenceable.java      |   76 +
 .../sis/xml/bind/gmi/MI_ImageDescription.java      |   76 +
 .../org/apache/sis/xml/bind/gmi/MI_Metadata.java   |   76 +
 .../org/apache/sis/xml/bind/gmi/package-info.java  |   53 +
 .../apache/sis/xml/bind/gml/CodeListAdapter.java   |  108 +
 .../org/apache/sis/xml/bind/gml/DateAdapter.java   |   91 +
 .../org/apache/sis/xml/bind/gml/GMLAdapter.java    |  110 +
 .../main/org/apache/sis/xml/bind/gml/Measure.java  |  241 ++
 .../org/apache/sis/xml/bind/gml/MeasureList.java   |  123 +
 .../apache/sis/xml/bind/gml/SC_VerticalCRS.java    |  143 +
 .../org/apache/sis/xml/bind/gml/TM_Primitive.java  |  187 ++
 .../org/apache/sis/xml/bind/gml/TimeInstant.java   |  107 +
 .../org/apache/sis/xml/bind/gml/TimePeriod.java    |  100 +
 .../apache/sis/xml/bind/gml/TimePeriodBound.java   |  172 +
 .../sis/xml/bind/gml/UniversalTimeAdapter.java     |   92 +
 .../org/apache/sis/xml/bind/gml/package-info.java  |   48 +
 .../org/apache/sis/xml/bind/gts/TM_Duration.java   |  103 +
 .../apache/sis/xml/bind/gts/TM_PeriodDuration.java |  203 ++
 .../org/apache/sis/xml/bind/gts/package-info.java  |   40 +
 .../main/org/apache/sis/xml/bind/lan/Country.java  |  216 ++
 .../org/apache/sis/xml/bind/lan/LanguageCode.java  |  171 +
 .../org/apache/sis/xml/bind/lan/LocaleAdapter.java |  138 +
 .../apache/sis/xml/bind/lan/LocaleAndCharset.java  |  404 +++
 .../sis/xml/bind/lan/LocalisedCharacterString.java |  149 +
 .../org/apache/sis/xml/bind/lan/OtherLocales.java  |  152 +
 .../org/apache/sis/xml/bind/lan/PT_FreeText.java   |  208 ++
 .../org/apache/sis/xml/bind/lan/PT_Locale.java     |  347 ++
 .../org/apache/sis/xml/bind/lan/TextGroup.java     |  138 +
 .../org/apache/sis/xml/bind/lan/package-info.java  |   42 +
 .../apache/sis/xml/bind/metadata/CI_Address.java   |   92 +
 .../apache/sis/xml/bind/metadata/CI_Citation.java  |  111 +
 .../apache/sis/xml/bind/metadata/CI_Contact.java   |   92 +
 .../org/apache/sis/xml/bind/metadata/CI_Date.java  |   92 +
 .../sis/xml/bind/metadata/CI_OnlineResource.java   |  111 +
 .../org/apache/sis/xml/bind/metadata/CI_Party.java |   91 +
 .../sis/xml/bind/metadata/CI_Responsibility.java   |  106 +
 .../sis/xml/bind/metadata/CI_ResponsibleParty.java |  127 +
 .../apache/sis/xml/bind/metadata/CI_Series.java    |   92 +
 .../apache/sis/xml/bind/metadata/CI_Telephone.java |   92 +
 .../sis/xml/bind/metadata/DQM_BasicMeasure.java    |   91 +
 .../sis/xml/bind/metadata/DQM_Description.java     |   91 +
 .../apache/sis/xml/bind/metadata/DQM_Measure.java  |   91 +
 .../sis/xml/bind/metadata/DQM_Parameter.java       |   92 +
 .../sis/xml/bind/metadata/DQM_SourceReference.java |   91 +
 .../sis/xml/bind/metadata/DQ_DataQuality.java      |   92 +
 .../apache/sis/xml/bind/metadata/DQ_Element.java   |   92 +
 .../sis/xml/bind/metadata/DQ_EvaluationMethod.java |   96 +
 .../sis/xml/bind/metadata/DQ_MeasureReference.java |   96 +
 .../xml/bind/metadata/DQ_PositionalAccuracy.java   |   91 +
 .../apache/sis/xml/bind/metadata/DQ_Result.java    |   92 +
 .../DQ_StandaloneQualityReportInformation.java     |   98 +
 .../apache/sis/xml/bind/metadata/EX_Extent.java    |   92 +
 .../sis/xml/bind/metadata/EX_GeographicExtent.java |   92 +
 .../sis/xml/bind/metadata/EX_TemporalExtent.java   |   92 +
 .../sis/xml/bind/metadata/EX_VerticalExtent.java   |   92 +
 .../apache/sis/xml/bind/metadata/LE_Algorithm.java |   93 +
 .../xml/bind/metadata/LE_NominalResolution.java    |   92 +
 .../xml/bind/metadata/LE_ProcessStepReport.java    |   92 +
 .../sis/xml/bind/metadata/LE_Processing.java       |   92 +
 .../apache/sis/xml/bind/metadata/LI_Lineage.java   |   92 +
 .../sis/xml/bind/metadata/LI_ProcessStep.java      |   93 +
 .../apache/sis/xml/bind/metadata/LI_Source.java    |   93 +
 .../xml/bind/metadata/MD_AggregateInformation.java |   95 +
 .../metadata/MD_ApplicationSchemaInformation.java  |   94 +
 .../xml/bind/metadata/MD_AssociatedResource.java   |   91 +
 .../sis/xml/bind/metadata/MD_AttributeGroup.java   |   91 +
 .../sis/xml/bind/metadata/MD_BrowseGraphic.java    |   92 +
 .../sis/xml/bind/metadata/MD_Constraints.java      |   92 +
 .../xml/bind/metadata/MD_ContentInformation.java   |  105 +
 .../xml/bind/metadata/MD_DataIdentification.java   |   94 +
 .../bind/metadata/MD_DigitalTransferOptions.java   |   94 +
 .../apache/sis/xml/bind/metadata/MD_Dimension.java |   92 +
 .../sis/xml/bind/metadata/MD_Distribution.java     |   92 +
 .../sis/xml/bind/metadata/MD_Distributor.java      |   92 +
 .../metadata/MD_ExtendedElementInformation.java    |   94 +
 .../sis/xml/bind/metadata/MD_FeatureTypeInfo.java  |   92 +
 .../apache/sis/xml/bind/metadata/MD_Format.java    |   92 +
 .../sis/xml/bind/metadata/MD_GeometricObjects.java |   92 +
 .../sis/xml/bind/metadata/MD_Identification.java   |   92 +
 .../sis/xml/bind/metadata/MD_Identifier.java       |  123 +
 .../sis/xml/bind/metadata/MD_KeywordClass.java     |  110 +
 .../apache/sis/xml/bind/metadata/MD_Keywords.java  |   92 +
 .../bind/metadata/MD_MaintenanceInformation.java   |   94 +
 .../apache/sis/xml/bind/metadata/MD_Medium.java    |  111 +
 .../apache/sis/xml/bind/metadata/MD_Metadata.java  |   91 +
 .../metadata/MD_MetadataExtensionInformation.java  |   94 +
 .../sis/xml/bind/metadata/MD_MetadataScope.java    |   91 +
 .../metadata/MD_PortrayalCatalogueReference.java   |   94 +
 .../sis/xml/bind/metadata/MD_RangeDimension.java   |   98 +
 .../sis/xml/bind/metadata/MD_Releasability.java    |  111 +
 .../bind/metadata/MD_RepresentativeFraction.java   |   94 +
 .../sis/xml/bind/metadata/MD_Resolution.java       |  111 +
 .../org/apache/sis/xml/bind/metadata/MD_Scope.java |  127 +
 .../sis/xml/bind/metadata/MD_ScopeDescription.java |   92 +
 .../bind/metadata/MD_SpatialRepresentation.java    |  105 +
 .../xml/bind/metadata/MD_StandardOrderProcess.java |   94 +
 .../org/apache/sis/xml/bind/metadata/MD_Usage.java |   92 +
 .../bind/metadata/MI_AcquisitionInformation.java   |   94 +
 .../xml/bind/metadata/MI_EnvironmentalRecord.java  |   94 +
 .../org/apache/sis/xml/bind/metadata/MI_Event.java |   92 +
 .../org/apache/sis/xml/bind/metadata/MI_GCP.java   |   92 +
 .../bind/metadata/MI_GeolocationInformation.java   |   94 +
 .../sis/xml/bind/metadata/MI_Instrument.java       |   92 +
 .../apache/sis/xml/bind/metadata/MI_Objective.java |   92 +
 .../apache/sis/xml/bind/metadata/MI_Operation.java |   92 +
 .../org/apache/sis/xml/bind/metadata/MI_Plan.java  |   92 +
 .../apache/sis/xml/bind/metadata/MI_Platform.java  |   92 +
 .../sis/xml/bind/metadata/MI_PlatformPass.java     |   92 +
 .../bind/metadata/MI_RangeElementDescription.java  |  113 +
 .../sis/xml/bind/metadata/MI_RequestedDate.java    |   92 +
 .../sis/xml/bind/metadata/MI_Requirement.java      |   92 +
 .../apache/sis/xml/bind/metadata/MX_DataFile.java  |   92 +
 .../sis/xml/bind/metadata/RS_ReferenceSystem.java  |  137 +
 .../sis/xml/bind/metadata/SV_CoupledResource.java  |   91 +
 .../bind/metadata/SV_OperationChainMetadata.java   |   91 +
 .../xml/bind/metadata/SV_OperationMetadata.java    |  110 +
 .../apache/sis/xml/bind/metadata/SV_Parameter.java |   92 +
 .../xml/bind/metadata/code/CI_DateTypeCode.java    |   89 +
 .../bind/metadata/code/CI_OnLineFunctionCode.java  |   89 +
 .../metadata/code/CI_PresentationFormCode.java     |   89 +
 .../sis/xml/bind/metadata/code/CI_RoleCode.java    |  109 +
 .../bind/metadata/code/CI_TelephoneTypeCode.java   |  108 +
 .../apache/sis/xml/bind/metadata/code/DCPList.java |   88 +
 .../xml/bind/metadata/code/DQM_ValueStructure.java |   88 +
 .../metadata/code/DQ_EvaluationMethodTypeCode.java |   90 +
 .../bind/metadata/code/DS_AssociationTypeCode.java |  108 +
 .../bind/metadata/code/DS_InitiativeTypeCode.java  |  108 +
 .../bind/metadata/code/MD_CellGeometryCode.java    |   88 +
 .../bind/metadata/code/MD_CharacterSetCode.java    |  107 +
 .../bind/metadata/code/MD_ClassificationCode.java  |   89 +
 .../metadata/code/MD_CoverageContentTypeCode.java  |   91 +
 .../xml/bind/metadata/code/MD_DatatypeCode.java    |   89 +
 .../metadata/code/MD_DimensionNameTypeCode.java    |   91 +
 .../metadata/code/MD_GeometricObjectTypeCode.java  |   90 +
 .../metadata/code/MD_ImagingConditionCode.java     |   90 +
 .../xml/bind/metadata/code/MD_KeywordTypeCode.java |   88 +
 .../metadata/code/MD_MaintenanceFrequencyCode.java |   91 +
 .../bind/metadata/code/MD_MediumFormatCode.java    |   88 +
 .../xml/bind/metadata/code/MD_MediumNameCode.java  |   88 +
 .../xml/bind/metadata/code/MD_ObligationCode.java  |   73 +
 .../metadata/code/MD_PixelOrientationCode.java     |   99 +
 .../xml/bind/metadata/code/MD_ProgressCode.java    |   88 +
 .../xml/bind/metadata/code/MD_RestrictionCode.java |  101 +
 .../sis/xml/bind/metadata/code/MD_ScopeCode.java   |   89 +
 .../code/MD_SpatialRepresentationTypeCode.java     |   90 +
 .../bind/metadata/code/MD_TopicCategoryCode.java   |   98 +
 .../bind/metadata/code/MD_TopologyLevelCode.java   |   88 +
 .../xml/bind/metadata/code/MI_BandDefinition.java  |   88 +
 .../sis/xml/bind/metadata/code/MI_ContextCode.java |   88 +
 .../bind/metadata/code/MI_GeometryTypeCode.java    |   88 +
 .../bind/metadata/code/MI_ObjectiveTypeCode.java   |   88 +
 .../bind/metadata/code/MI_OperationTypeCode.java   |   88 +
 .../code/MI_PolarisationOrientationCode.java       |   94 +
 .../xml/bind/metadata/code/MI_PriorityCode.java    |   88 +
 .../xml/bind/metadata/code/MI_SequenceCode.java    |   88 +
 .../metadata/code/MI_TransferFunctionTypeCode.java |   90 +
 .../sis/xml/bind/metadata/code/MI_TriggerCode.java |   88 +
 .../xml/bind/metadata/code/SV_CouplingType.java    |   88 +
 .../bind/metadata/code/SV_ParameterDirection.java  |   73 +
 .../sis/xml/bind/metadata/code/package-info.java   |   65 +
 .../sis/xml/bind/metadata/geometry/GM_Object.java  |   96 +
 .../xml/bind/metadata/geometry/ObjectFactory.java  |  104 +
 .../xml/bind/metadata/geometry/package-info.java   |   46 +
 .../apache/sis/xml/bind/metadata/package-info.java |   72 +
 .../sis/xml/bind/metadata/replace/Parameter.java   |  177 +
 .../bind/metadata/replace/QualityParameter.java    |  250 ++
 .../xml/bind/metadata/replace/RS_Identifier.java   |  109 +
 .../metadata/replace/ReferenceSystemMetadata.java  |  151 +
 .../sis/xml/bind/metadata/replace/SensorType.java  |  110 +
 .../bind/metadata/replace/ServiceParameter.java    |  409 +++
 .../xml/bind/metadata/replace/package-info.java    |   72 +
 .../main/org/apache/sis/xml/bind/package-info.java |   41 +
 .../org/apache/sis/xml/util/LegacyNamespaces.java  |  125 +
 .../apache/sis/xml/util/StreamWriterDelegate.java  |  246 ++
 .../main/org/apache/sis/xml/util/XmlUtilities.java |  336 ++
 .../main/org/apache/sis/xml/util/package-info.java |   36 +
 .../internal/jaxb/IdentifierMapAdapterTest.java    |   64 -
 .../internal/jaxb/ModifiableIdentifierMapTest.java |  271 --
 .../internal/jaxb/cat/CodeListMarshallingTest.java |  224 --
 .../sis/internal/jaxb/cat/EnumAdapterTest.java     |   49 -
 .../sis/internal/jaxb/cat/EnumMarshallingTest.java |   83 -
 .../sis/internal/jaxb/gco/MultiplicityTest.java    |  135 -
 .../sis/internal/jaxb/gco/PropertyTypeMock.java    |  101 -
 .../sis/internal/jaxb/gco/PropertyTypeTest.java    |  209 --
 .../sis/internal/jaxb/gco/StringAdapterTest.java   |   77 -
 .../apache/sis/internal/jaxb/gml/MeasureTest.java  |   95 -
 .../sis/internal/jaxb/gml/TimePeriodTest.java      |  254 --
 .../internal/jaxb/lan/FreeTextMarshallingTest.java |  158 -
 .../sis/internal/jaxb/lan/LanguageCodeTest.java    |  244 --
 .../sis/internal/jaxb/lan/OtherLocalesTest.java    |  117 -
 .../sis/internal/jaxb/lan/PT_LocaleTest.java       |  127 -
 .../metadata/replace/QualityParameterTest.java     |  123 -
 .../metadata/replace/ServiceParameterTest.java     |  125 -
 .../sis/internal/metadata/AxisNamesTest.java       |   64 -
 .../sis/internal/metadata/IdentifiersTest.java     |  111 -
 .../metadata/ImplementationHelperTest.java         |   86 -
 .../apache/sis/internal/metadata/MergerTest.java   |  133 -
 .../sis/internal/metadata/NameMeaningTest.java     |   85 -
 .../internal/metadata/sql/SQLUtilitiesTest.java    |   60 -
 .../internal/metadata/sql/ScriptRunnerTest.java    |   90 -
 .../sis/internal/metadata/sql/TypeMapperTest.java  |   49 -
 .../sis/internal/simple/SimpleIdentifierTest.java  |   50 -
 .../sis/internal/xml/DocumentComparatorTest.java   |  139 -
 .../apache/sis/internal/xml/XmlUtilitiesTest.java  |  118 -
 .../test/org/apache/sis/metadata/Assertions.java   |    2 +-
 .../apache/sis/metadata/MetadataCopierTest.java    |    2 +-
 .../apache/sis/metadata/MetadataStandardTest.java  |    2 +-
 .../sis/metadata/PropertyConsistencyCheck.java     |    4 +-
 .../test/org/apache/sis/metadata/PrunerTest.java   |    2 +-
 .../internal}/AxisDirectionsTest.txt               |    0
 .../sis/metadata/internal/AxisNamesTest.java       |   64 +
 .../sis/metadata/internal/IdentifiersTest.java     |  111 +
 .../internal/ImplementationHelperTest.java         |   86 +
 .../apache/sis/metadata/internal/MergerTest.java   |  133 +
 .../sis/metadata/internal/NameMeaningTest.java     |   85 +
 .../org/apache/sis/metadata/iso/APIVerifier.java   |    4 +-
 .../apache/sis/metadata/iso/AllMetadataTest.java   |    8 +-
 .../sis/metadata/iso/DefaultMetadataTest.java      |    2 +-
 .../apache/sis/metadata/iso/api-changes.properties |    2 +-
 .../sis/metadata/iso/citation/CitationsTest.java   |    6 +-
 .../metadata/iso/citation/DefaultCitationTest.java |    2 +-
 .../metadata/iso/citation/DefaultContactTest.java  |    2 +-
 .../iso/citation/DefaultResponsibilityTest.java    |    2 +-
 .../metadata/iso/citation/HardCodedCitations.java  |    4 +-
 .../constraint/DefaultLegalConstraintsTest.java    |    4 +-
 .../sis/metadata/iso/content/DefaultBandTest.java  |    2 +-
 .../sis/metadata/iso/extent/ExtentsTest.java       |    4 +-
 .../identification/DefaultCoupledResourceTest.java |    2 +-
 .../iso/identification/DefaultResolutionTest.java  |    6 +-
 .../metadata/iso/lineage/DefaultLineageTest.java   |    2 +-
 .../iso/lineage/DefaultProcessStepTest.java        |    2 +-
 .../maintenance/DefaultScopeDescriptionTest.java   |    2 +-
 .../quality/AbstractPositionalAccuracyTest.java    |    2 +-
 .../iso/quality/DefaultQuantitativeResultTest.java |    4 +-
 .../iso/spatial/DefaultGeorectifiedTest.java       |    2 +-
 .../sis/metadata/simple/SimpleIdentifierTest.java  |   50 +
 .../sis/metadata/sql/IdentifierGeneratorTest.java  |    2 +-
 .../sis/metadata/sql/MetadataFallbackVerifier.java |    4 +-
 .../sis/metadata/sql/MetadataSourceTest.java       |    2 +-
 .../sis/metadata/sql/MetadataWriterTest.java       |    2 +-
 .../sis/metadata/sql/util/SQLUtilitiesTest.java    |   60 +
 .../sis/metadata/sql/util/ScriptRunnerTest.java    |   90 +
 .../sis/metadata/sql/util/TypeMapperTest.java      |   49 +
 .../sis/metadata/xml/SchemaComplianceTest.java     |    2 +-
 .../apache/sis/test/mock/FeatureAttributeMock.java |    4 +-
 .../apache/sis/test/mock/IdentifiedObjectMock.java |    6 +-
 .../org/apache/sis/test/mock/MetadataMock.java     |    6 +-
 .../org/apache/sis/test/mock/package-info.java     |    4 +-
 .../test/org/apache/sis/test/sql/TestDatabase.java |    6 +-
 .../sis/test/xml/AnnotationConsistencyCheck.java   |    4 +-
 .../apache/sis/test/xml/DocumentComparator.java    |    4 +-
 .../org/apache/sis/test/xml/PackageVerifier.java   |    8 +-
 .../test/org/apache/sis/test/xml/TestCase.java     |    6 +-
 .../apache/sis/util/iso/DefaultLocalNameTest.java  |    2 +-
 .../sis/util/iso/DefaultRecordSchemaTest.java      |    2 +-
 .../apache/sis/util/iso/DefaultRecordTypeTest.java |    2 +-
 .../apache/sis/util/iso/NameMarshallingTest.java   |    2 +-
 .../org/apache/sis/util/iso/TypeNamesTest.java     |    2 +-
 .../sis/xml/CharSequenceSubstitutionTest.java      |    8 +-
 .../test/org/apache/sis/xml/NamespacesTest.java    |    2 +-
 .../org/apache/sis/xml/ReferenceResolverMock.java  |    2 +-
 .../org/apache/sis/xml/RenameListGenerator.java    |    2 +-
 .../test/org/apache/sis/xml/TransformerTest.java   |    2 +-
 .../apache/sis/xml/TransformingNamespacesTest.java |    2 +-
 .../org/apache/sis/xml/UUIDMarshallingTest.java    |    4 +-
 .../sis/xml/bind/IdentifierMapAdapterTest.java     |   64 +
 .../sis/xml/bind/ModifiableIdentifierMapTest.java  |  271 ++
 .../sis/xml/bind/cat/CodeListMarshallingTest.java  |  224 ++
 .../apache/sis/xml/bind/cat/EnumAdapterTest.java   |   49 +
 .../sis/xml/bind/cat/EnumMarshallingTest.java      |   83 +
 .../apache/sis/xml/bind/gco/MultiplicityTest.java  |  135 +
 .../apache/sis/xml/bind/gco/PropertyTypeMock.java  |  101 +
 .../apache/sis/xml/bind/gco/PropertyTypeTest.java  |  209 ++
 .../apache/sis/xml/bind/gco/StringAdapterTest.java |   77 +
 .../org/apache/sis/xml/bind/gml/MeasureTest.java   |   95 +
 .../apache/sis/xml/bind/gml/TimePeriodTest.java    |  254 ++
 .../sis/xml/bind/lan/FreeTextMarshallingTest.java  |  158 +
 .../apache/sis/xml/bind/lan/LanguageCodeTest.java  |  244 ++
 .../apache/sis/xml/bind/lan/OtherLocalesTest.java  |  117 +
 .../org/apache/sis/xml/bind/lan/PT_LocaleTest.java |  127 +
 .../metadata/replace/QualityParameterTest.java     |  123 +
 .../metadata/replace/ServiceParameterTest.java     |  125 +
 .../sis/xml/util/DocumentComparatorTest.java       |  139 +
 .../org/apache/sis/xml/util/XmlUtilitiesTest.java  |  118 +
 .../sis/openoffice/ReferencingFunctions.java       |    2 +-
 .../org/apache/sis/openoffice/Transformer.java     |    2 +-
 .../sis/openoffice/ReferencingFunctionsTest.java   |    4 +-
 .../org.apache.sis.portrayal/main/module-info.java |    2 +-
 .../sis/internal/map/ExceptionPresentation.java    |   65 -
 .../apache/sis/internal/map/ListChangeEvent.java   |   99 -
 .../org/apache/sis/internal/map/NotifiedList.java  |   74 -
 .../org/apache/sis/internal/map/Presentation.java  |  145 -
 .../sis/internal/map/PropertyNameCollector.java    |   59 -
 .../sis/internal/map/ResourceSymbolizer.java       |   48 -
 .../org/apache/sis/internal/map/SEPortrayer.java   |  760 -----
 .../apache/sis/internal/map/SEPresentation.java    |   87 -
 .../apache/sis/internal/map/SymbologyVisitor.java  |  353 --
 .../coverage/MultiResolutionCoverageLoader.java    |  377 ---
 .../sis/internal/map/coverage/RenderingData.java   |  904 -----
 .../internal/map/coverage/RenderingWorkaround.java |  103 -
 .../sis/internal/map/coverage/package-info.java    |   29 -
 .../org/apache/sis/internal/map/package-info.java  |   34 -
 .../org/apache/sis/map/ExceptionPresentation.java  |   65 +
 .../main/org/apache/sis/map/ListChangeEvent.java   |   99 +
 .../main/org/apache/sis/map/NotifiedList.java      |   74 +
 .../main/org/apache/sis/map/Presentation.java      |  145 +
 .../org/apache/sis/map/PropertyNameCollector.java  |   59 +
 .../org/apache/sis/map/ResourceSymbolizer.java     |   48 +
 .../main/org/apache/sis/map/SEPortrayer.java       |  760 +++++
 .../main/org/apache/sis/map/SEPresentation.java    |   87 +
 .../main/org/apache/sis/map/SymbologyVisitor.java  |  353 ++
 .../coverage/MultiResolutionCoverageLoader.java    |  377 +++
 .../org/apache/sis/map/coverage/RenderingData.java |  904 +++++
 .../sis/map/coverage/RenderingWorkaround.java      |  103 +
 .../org/apache/sis/map/coverage/package-info.java  |   29 +
 .../main/org/apache/sis/map/package-info.java      |   34 +
 .../main/org/apache/sis/portrayal/Canvas.java      |    8 +-
 .../org/apache/sis/portrayal/CanvasContext.java    |    4 +-
 .../org/apache/sis/portrayal/CanvasExtent.java     |    4 +-
 .../org/apache/sis/portrayal/CanvasFollower.java   |    2 +-
 .../main/org/apache/sis/portrayal/MapLayers.java   |    4 +-
 .../main/org/apache/sis/portrayal/Observable.java  |    2 +-
 .../org/apache/sis/portrayal/PlanarCanvas.java     |    2 +-
 .../main/org/apache/sis/style/se1/Rule.java        |    2 +-
 .../org/apache/sis/style/se1/StyleFactory.java     |    2 +-
 .../org/apache/sis/style/se1/package-info.java     |    4 +-
 .../apache/sis/internal/map/SEPortrayerTest.java   |  788 -----
 .../MultiResolutionCoverageLoaderTest.java         |  176 -
 .../test/org/apache/sis/map/SEPortrayerTest.java   |  788 +++++
 .../MultiResolutionCoverageLoaderTest.java         |  176 +
 .../org/apache/sis/portrayal/MapLayersTest.java    |    2 +-
 .../org.apache.sis.internal.jaxb.TypeRegistration  |    4 -
 .../org.apache.sis.xml.bind.TypeRegistration       |    4 +
 .../main/module-info.java                          |    6 +-
 .../sis/internal/profile/fra/Constraints.java      |  100 -
 .../internal/profile/fra/DataIdentification.java   |   99 -
 .../profile/fra/DirectReferenceSystem.java         |   88 -
 .../profile/fra/IndirectReferenceSystem.java       |   88 -
 .../sis/internal/profile/fra/LegalConstraints.java |  100 -
 .../sis/internal/profile/fra/ProfileTypes.java     |   69 -
 .../internal/profile/fra/SecurityConstraints.java  |  100 -
 .../sis/internal/profile/fra/package-info.java     |   48 -
 .../apache/sis/profile/france/FrenchProfile.java   |    2 +-
 .../org/apache/sis/xml/bind/fra/Constraints.java   |  100 +
 .../sis/xml/bind/fra/DataIdentification.java       |   99 +
 .../sis/xml/bind/fra/DirectReferenceSystem.java    |   88 +
 .../sis/xml/bind/fra/IndirectReferenceSystem.java  |   88 +
 .../apache/sis/xml/bind/fra/LegalConstraints.java  |  100 +
 .../org/apache/sis/xml/bind/fra/ProfileTypes.java  |   69 +
 .../profile => xml/bind}/fra/RenameOnImport.lst    |    0
 .../sis/xml/bind/fra/SecurityConstraints.java      |  100 +
 .../org/apache/sis/xml/bind/fra/package-info.java  |   48 +
 .../profile/fra/DataIdentificationTest.java        |   78 -
 .../profile/fra/DirectReferenceSystemTest.java     |  104 -
 .../sis/profile/france/FrenchProfileTest.java      |    8 +-
 .../sis/xml/bind/fra/DataIdentificationTest.java   |   78 +
 .../bind}/fra/DirectReferenceSystem.xml            |    0
 .../xml/bind/fra/DirectReferenceSystemTest.java    |  104 +
 .../org.apache.sis.internal.netcdf.Convention      |    5 -
 .../org.apache.sis.storage.netcdf.base.Convention  |    5 +
 .../ucar.nc2.dataset.spi.CoordSystemBuilderFactory |    2 +-
 .../main/module-info.java                          |    8 +-
 .../sis/internal/earth/netcdf/FactoryForUCAR.java  |  122 -
 .../apache/sis/internal/earth/netcdf/GCOM_C.java   |  610 ----
 .../apache/sis/internal/earth/netcdf/GCOM_W.java   |  276 --
 .../sis/internal/earth/netcdf/package-info.java    |   27 -
 .../sis/profile/japan/netcdf/FactoryForUCAR.java   |  122 +
 .../apache/sis/profile/japan/netcdf/GCOM_C.java    |  610 ++++
 .../apache/sis/profile/japan/netcdf/GCOM_W.java    |  276 ++
 .../sis/profile/japan/netcdf/package-info.java     |   27 +
 .../apache/sis/profile/japan/JapanProfileTest.java |    4 +-
 .../apache/sis/internal/gazetteer/Resources.java   |  301 --
 .../sis/internal/gazetteer/Resources_en.java       |   30 -
 .../sis/internal/gazetteer/Resources_fr.java       |   30 -
 .../gazetteer/AbstractLocationType.java            |    2 +-
 .../referencing/gazetteer/FinalLocationType.java   |    2 +-
 .../referencing/gazetteer/GazetteerFactory.java    |    4 +-
 .../gazetteer/GeohashReferenceSystem.java          |    4 +-
 .../sis/referencing/gazetteer/LocationFormat.java  |    2 +-
 .../gazetteer/MilitaryGridReferenceSystem.java     |   15 +-
 .../gazetteer/ModifiableLocationType.java          |    2 +-
 .../gazetteer/ReferencingByIdentifiers.java        |    6 +-
 .../referencing/gazetteer/internal/Resources.java  |  301 ++
 .../gazetteer/internal}/Resources.properties       |    0
 .../gazetteer/internal/Resources_en.java           |   30 +
 .../gazetteer/internal/Resources_fr.java           |   30 +
 .../gazetteer/internal}/Resources_fr.properties    |    0
 .../sis/referencing/gazetteer/LocationViewer.java  |    2 +-
 .../gazetteer/MilitaryGridReferenceSystemTest.java |    4 +-
 ...org.apache.sis.internal.jaxb.AdapterReplacement |    4 -
 .../org.apache.sis.internal.jaxb.TypeRegistration  |    4 -
 ...pache.sis.internal.metadata.ReferencingServices |    4 -
 ...rg.apache.sis.internal.metadata.sql.Initializer |    4 -
 ...pache.sis.metadata.internal.ReferencingServices |    4 +
 .../org.apache.sis.metadata.sql.util.Initializer   |    4 +
 .../org.apache.sis.xml.bind.AdapterReplacement     |    4 +
 .../org.apache.sis.xml.bind.TypeRegistration       |    4 +
 ...org.opengis.referencing.crs.CRSAuthorityFactory |    2 +-
 .../org.opengis.referencing.cs.CSAuthorityFactory  |    2 +-
 ...opengis.referencing.datum.DatumAuthorityFactory |    2 +-
 ...g.operation.CoordinateOperationAuthorityFactory |    2 +-
 ...g.opengis.referencing.operation.OperationMethod |  150 +-
 .../main/module-info.java                          |  188 +-
 .../sis/geometry/AbstractDirectPosition.java       |    6 +-
 .../org/apache/sis/geometry/AbstractEnvelope.java  |    8 +-
 .../org/apache/sis/geometry/ArrayEnvelope.java     |    2 +-
 .../org/apache/sis/geometry/CoordinateFormat.java  |   12 +-
 .../main/org/apache/sis/geometry/Envelope2D.java   |    2 +-
 .../org/apache/sis/geometry/EnvelopeReducer.java   |    4 +-
 .../main/org/apache/sis/geometry/Envelopes.java    |   12 +-
 .../org/apache/sis/geometry/GeneralEnvelope.java   |    9 +-
 .../main/org/apache/sis/geometry/Shapes2D.java     |    6 +-
 .../apache/sis/geometry/WraparoundAdjustment.java  |    6 +-
 .../internal/jaxb/referencing/CC_Conversion.java   |  136 -
 .../jaxb/referencing/CC_CoordinateOperation.java   |  107 -
 .../referencing/CC_GeneralOperationParameter.java  |  488 ---
 .../jaxb/referencing/CC_GeneralParameterValue.java |  114 -
 .../jaxb/referencing/CC_OperationMethod.java       |  241 --
 .../jaxb/referencing/CC_OperationParameter.java    |  182 --
 .../referencing/CC_OperationParameterGroup.java    |  220 --
 .../internal/jaxb/referencing/CD_Ellipsoid.java    |   94 -
 .../jaxb/referencing/CD_EngineeringDatum.java      |   92 -
 .../jaxb/referencing/CD_GeodeticDatum.java         |   94 -
 .../internal/jaxb/referencing/CD_ImageDatum.java   |   92 -
 .../jaxb/referencing/CD_ParametricDatum.java       |   92 -
 .../internal/jaxb/referencing/CD_PixelInCell.java  |   46 -
 .../jaxb/referencing/CD_PrimeMeridian.java         |   93 -
 .../jaxb/referencing/CD_TemporalDatum.java         |   93 -
 .../jaxb/referencing/CD_VerticalDatum.java         |   92 -
 .../jaxb/referencing/CD_VerticalDatumType.java     |   46 -
 .../sis/internal/jaxb/referencing/CS_AffineCS.java |   92 -
 .../jaxb/referencing/CS_AxisDirection.java         |   58 -
 .../internal/jaxb/referencing/CS_CartesianCS.java  |   92 -
 .../jaxb/referencing/CS_CoordinateSystem.java      |   92 -
 .../jaxb/referencing/CS_CoordinateSystemAxis.java  |   94 -
 .../jaxb/referencing/CS_CylindricalCS.java         |   91 -
 .../jaxb/referencing/CS_EllipsoidalCS.java         |   92 -
 .../sis/internal/jaxb/referencing/CS_LinearCS.java |   91 -
 .../internal/jaxb/referencing/CS_ParametricCS.java |   91 -
 .../sis/internal/jaxb/referencing/CS_PolarCS.java  |   91 -
 .../internal/jaxb/referencing/CS_RangeMeaning.java |   58 -
 .../internal/jaxb/referencing/CS_SphericalCS.java  |   91 -
 .../sis/internal/jaxb/referencing/CS_TimeCS.java   |   92 -
 .../jaxb/referencing/CS_UserDefinedCS.java         |   91 -
 .../internal/jaxb/referencing/CS_VerticalCS.java   |   92 -
 .../apache/sis/internal/jaxb/referencing/Code.java |  254 --
 .../internal/jaxb/referencing/RS_Identifier.java   |   93 -
 .../sis/internal/jaxb/referencing/SC_CRS.java      |  106 -
 .../jaxb/referencing/SC_DerivedCRSType.java        |   93 -
 .../internal/jaxb/referencing/SC_SingleCRS.java    |  104 -
 .../internal/jaxb/referencing/SC_VerticalCRS.java  |   89 -
 .../jaxb/referencing/SecondDefiningParameter.java  |  168 -
 .../internal/jaxb/referencing/package-info.java    |   45 -
 .../sis/internal/referencing/AnnotatedMatrix.java  |  140 -
 .../sis/internal/referencing/Arithmetic.java       |  294 --
 .../sis/internal/referencing/AxesMapper.java       |  159 -
 .../sis/internal/referencing/AxisDirections.java   |  853 -----
 .../internal/referencing/CoordinateOperations.java |  345 --
 .../sis/internal/referencing/DatabaseListener.java |   71 -
 .../referencing/DeferredCoordinateOperation.java   |   72 -
 .../internal/referencing/DefinitionVerifier.java   |  360 --
 .../sis/internal/referencing/DeprecatedCode.java   |   99 -
 .../sis/internal/referencing/DeprecatedName.java   |   91 -
 .../internal/referencing/DirectPositionView.java   |  155 -
 .../sis/internal/referencing/EPSGFactoryProxy.java |   74 -
 .../internal/referencing/EPSGFactoryProxyCOP.java  |   59 -
 .../internal/referencing/EPSGFactoryProxyCRS.java  |  109 -
 .../internal/referencing/EPSGFactoryProxyCS.java   |  107 -
 .../referencing/EPSGFactoryProxyDatum.java         |   95 -
 .../internal/referencing/EPSGParameterDomain.java  |   55 -
 .../referencing/EllipsoidalHeightCombiner.java     |  229 --
 .../referencing/ExtendedPrecisionMatrix.java       |  124 -
 .../sis/internal/referencing/ExtentSelector.java   |  561 ----
 .../apache/sis/internal/referencing/Formulas.java  |  293 --
 .../referencing/GeodeticObjectBuilder.java         |  675 ----
 .../apache/sis/internal/referencing/LazySet.java   |  252 --
 .../apache/sis/internal/referencing/Legacy.java    |  120 -
 .../referencing/MathTransformsOrFactory.java       |  140 -
 .../sis/internal/referencing/MergedProperties.java |  114 -
 .../internal/referencing/NilReferencingObject.java |   79 -
 .../internal/referencing/PositionTransformer.java  |  267 --
 .../referencing/PositionalAccuracyConstant.java    |  248 --
 .../apache/sis/internal/referencing/RTreeNode.java |  361 --
 .../referencing/ReferencingFactoryContainer.java   |  399 ---
 .../sis/internal/referencing/ReferencingTypes.java |   76 -
 .../internal/referencing/ReferencingUtilities.java |  628 ----
 .../apache/sis/internal/referencing/Resources.java |  795 -----
 .../sis/internal/referencing/Resources.properties  |  132 -
 .../sis/internal/referencing/Resources_en.java     |   30 -
 .../sis/internal/referencing/Resources_fr.java     |   30 -
 .../internal/referencing/Resources_fr.properties   |  137 -
 .../internal/referencing/ServicesForMetadata.java  |  537 ---
 .../internal/referencing/SignReversalComment.java  |   89 -
 .../sis/internal/referencing/TemporalAccessor.java |  140 -
 .../internal/referencing/VerticalDatumTypes.java   |  237 --
 .../sis/internal/referencing/WKTKeywords.java      |  301 --
 .../sis/internal/referencing/WKTUtilities.java     |  552 ----
 .../internal/referencing/WraparoundApplicator.java |  224 --
 .../internal/referencing/WraparoundAxesFinder.java |   85 -
 .../internal/referencing/j2d/AbstractShape.java    |   81 -
 .../sis/internal/referencing/j2d/AffineMatrix.java |  245 --
 .../referencing/j2d/AffineTransform2D.java         |  492 ---
 .../sis/internal/referencing/j2d/Bezier.java       |  536 ---
 .../referencing/j2d/ImmutableAffineTransform.java  |  316 --
 .../referencing/j2d/IntervalRectangle.java         |  575 ----
 .../referencing/j2d/LinearTransform2D.java         |   41 -
 .../referencing/j2d/ParameterizedAffine.java       |  173 -
 .../internal/referencing/j2d/ShapeUtilities.java   |  429 ---
 .../apache/sis/internal/referencing/j2d/Tile.java  |  684 ----
 .../internal/referencing/j2d/TileOrganizer.java    |  568 ----
 .../sis/internal/referencing/j2d/package-info.java |   32 -
 .../sis/internal/referencing/package-info.java     |   30 -
 .../referencing/provider/AbridgedMolodensky.java   |  120 -
 .../referencing/provider/AbstractLambert.java      |   92 -
 .../referencing/provider/AbstractMercator.java     |  111 -
 .../referencing/provider/AbstractProvider.java     |  384 ---
 .../provider/AbstractStereographic.java            |   96 -
 .../sis/internal/referencing/provider/Affine.java  |  357 --
 .../referencing/provider/AlbersEqualArea.java      |  264 --
 .../referencing/provider/AxisOrderReversal.java    |  103 -
 .../referencing/provider/AxisOrderReversal3D.java  |   51 -
 .../provider/AzimuthalEquidistantSpherical.java    |   74 -
 .../referencing/provider/CassiniSoldner.java       |  183 --
 .../provider/CoordinateFrameRotation.java          |   61 -
 .../provider/CoordinateFrameRotation2D.java        |   81 -
 .../provider/CoordinateFrameRotation3D.java        |   92 -
 .../provider/DatumShiftGridCompressed.java         |  270 --
 .../referencing/provider/DatumShiftGridFile.java   |  715 ----
 .../referencing/provider/DatumShiftGridGroup.java  |  312 --
 .../referencing/provider/DatumShiftGridLoader.java |  249 --
 .../referencing/provider/DatumShiftMethod.java     |   72 -
 .../internal/referencing/provider/Description.java |   54 -
 .../internal/referencing/provider/EPSGName.java    |  124 -
 .../sis/internal/referencing/provider/ESRI.java    |  158 -
 .../referencing/provider/Equirectangular.java      |  368 ---
 .../provider/FranceGeocentricInterpolation.java    |  598 ----
 .../referencing/provider/GeocentricAffine.java     |  494 ---
 .../GeocentricAffineBetweenGeographic.java         |  232 --
 .../provider/GeocentricToGeographic.java           |  133 -
 .../provider/GeocentricToTopocentric.java          |  251 --
 .../provider/GeocentricTranslation.java            |   56 -
 .../provider/GeocentricTranslation2D.java          |   80 -
 .../provider/GeocentricTranslation3D.java          |   87 -
 .../referencing/provider/GeodeticOperation.java    |  190 --
 .../referencing/provider/Geographic2Dto3D.java     |  120 -
 .../referencing/provider/Geographic3Dto2D.java     |  194 --
 .../provider/GeographicAndVerticalOffsets.java     |  115 -
 .../referencing/provider/GeographicOffsets.java    |  183 --
 .../referencing/provider/GeographicOffsets2D.java  |   84 -
 .../provider/GeographicRedimension.java            |   97 -
 .../provider/GeographicToGeocentric.java           |  200 --
 .../provider/GeographicToTopocentric.java          |  166 -
 .../provider/HyperbolicCassiniSoldner.java         |   65 -
 .../referencing/provider/Interpolation1D.java      |  114 -
 .../provider/LambertAzimuthalEqualArea.java        |  175 -
 .../LambertAzimuthalEqualAreaSpherical.java        |   76 -
 .../referencing/provider/LambertConformal1SP.java  |  135 -
 .../referencing/provider/LambertConformal2SP.java  |  259 --
 .../provider/LambertConformalBelgium.java          |   74 -
 .../provider/LambertConformalMichigan.java         |   91 -
 .../referencing/provider/LambertConformalWest.java |  100 -
 .../provider/LambertCylindricalEqualArea.java      |  178 -
 .../LambertCylindricalEqualAreaSpherical.java      |   78 -
 .../referencing/provider/LongitudeRotation.java    |  123 -
 .../referencing/provider/MapProjection.java        |  415 ---
 .../referencing/provider/MapProjection3D.java      |   94 -
 .../internal/referencing/provider/Mercator1SP.java |  155 -
 .../internal/referencing/provider/Mercator2SP.java |  157 -
 .../provider/MercatorAuxiliarySphere.java          |   84 -
 .../referencing/provider/MercatorSpherical.java    |   84 -
 .../referencing/provider/MillerCylindrical.java    |   82 -
 .../provider/ModifiedAzimuthalEquidistant.java     |  169 -
 .../internal/referencing/provider/Mollweide.java   |  126 -
 .../internal/referencing/provider/Molodensky.java  |  348 --
 .../provider/MolodenskyInterpolation.java          |  107 -
 .../sis/internal/referencing/provider/NADCON.java  |  475 ---
 .../sis/internal/referencing/provider/NTv1.java    |   82 -
 .../sis/internal/referencing/provider/NTv2.java    |  682 ----
 .../referencing/provider/NorthPoleRotation.java    |  164 -
 .../referencing/provider/ObliqueMercator.java      |  247 --
 .../provider/ObliqueMercatorCenter.java            |  140 -
 .../provider/ObliqueMercatorTwoPoints.java         |   89 -
 .../provider/ObliqueMercatorTwoPointsCenter.java   |   47 -
 .../referencing/provider/ObliqueStereographic.java |  138 -
 .../referencing/provider/Orthographic.java         |  187 --
 .../referencing/provider/PolarStereographicA.java  |  211 --
 .../referencing/provider/PolarStereographicB.java  |  160 -
 .../referencing/provider/PolarStereographicC.java  |  100 -
 .../provider/PolarStereographicNorth.java          |   70 -
 .../provider/PolarStereographicSouth.java          |   72 -
 .../internal/referencing/provider/Polyconic.java   |  150 -
 .../referencing/provider/PositionVector7Param.java |   60 -
 .../provider/PositionVector7Param2D.java           |   83 -
 .../provider/PositionVector7Param3D.java           |   90 -
 .../referencing/provider/PseudoMercator.java       |   61 -
 .../referencing/provider/PseudoPlateCarree.java    |   79 -
 .../referencing/provider/PseudoSinusoidal.java     |   58 -
 .../referencing/provider/RegionalMercator.java     |  150 -
 .../referencing/provider/SatelliteTracking.java    |  207 --
 .../internal/referencing/provider/Sinusoidal.java  |  134 -
 .../referencing/provider/SouthPoleRotation.java    |  175 -
 .../referencing/provider/TransverseMercator.java   |  475 ---
 .../provider/TransverseMercatorSouth.java          |   94 -
 .../referencing/provider/VerticalOffset.java       |  121 -
 .../internal/referencing/provider/Wraparound.java  |  138 -
 .../provider/ZonedTransverseMercator.java          |  131 -
 .../referencing/provider/package-info.java         |   31 -
 .../main/org/apache/sis/io/wkt/AbstractParser.java |    4 +-
 .../main/org/apache/sis/io/wkt/Colors.java         |    2 +-
 .../main/org/apache/sis/io/wkt/Element.java        |    4 +-
 .../org/apache/sis/io/wkt/FormattableObject.java   |    4 +-
 .../main/org/apache/sis/io/wkt/Formatter.java      |   22 +-
 .../apache/sis/io/wkt/GeodeticObjectParser.java    |   28 +-
 .../org/apache/sis/io/wkt/MathTransformParser.java |    8 +-
 .../main/org/apache/sis/io/wkt/StoredTree.java     |    2 +-
 .../main/org/apache/sis/io/wkt/Transliterator.java |    6 +-
 .../main/org/apache/sis/io/wkt/VerticalInfo.java   |    2 +-
 .../main/org/apache/sis/io/wkt/WKTDictionary.java  |   12 +-
 .../main/org/apache/sis/io/wkt/WKTFormat.java      |    8 +-
 .../sis/parameter/AbstractParameterDescriptor.java |    6 +-
 .../sis/parameter/DefaultParameterDescriptor.java  |   10 +-
 .../parameter/DefaultParameterDescriptorGroup.java |    8 +-
 .../sis/parameter/DefaultParameterValue.java       |   16 +-
 .../sis/parameter/DefaultParameterValueGroup.java  |    6 +-
 .../apache/sis/parameter/FilteredParameters.java   |    2 +-
 .../main/org/apache/sis/parameter/IntegerList.java |    2 +-
 .../sis/parameter/MapProjectionDescriptor.java     |    4 +-
 .../sis/parameter/MapProjectionParameters.java     |    4 +-
 .../org/apache/sis/parameter/MatrixParameters.java |    4 +-
 .../sis/parameter/MatrixParametersAlphaNum.java    |    8 +-
 .../org/apache/sis/parameter/ParameterFormat.java  |    6 +-
 .../apache/sis/parameter/ParameterTableRow.java    |    8 +-
 .../apache/sis/parameter/ParameterValueList.java   |    2 +-
 .../main/org/apache/sis/parameter/Parameters.java  |    4 +-
 .../org/apache/sis/parameter/TensorParameters.java |    6 +-
 .../org/apache/sis/parameter/TensorValues.java     |   12 +-
 .../sis/parameter/UninitializedParameter.java      |    2 +-
 .../sis/parameter/UnmodifiableParameterValue.java  |    2 +-
 .../parameter/UnmodifiableParameterValueGroup.java |    4 +-
 .../main/org/apache/sis/parameter/Verifier.java    |    8 +-
 .../org/apache/sis/parameter/package-info.java     |    2 +-
 .../sis/referencing/AbstractIdentifiedObject.java  |   24 +-
 .../sis/referencing/AbstractReferenceSystem.java   |    4 +-
 .../apache/sis/referencing/AuthorityFactories.java |   12 +-
 .../main/org/apache/sis/referencing/Builder.java   |    4 +-
 .../main/org/apache/sis/referencing/CRS.java       |   18 +-
 .../main/org/apache/sis/referencing/CommonCRS.java |   18 +-
 .../sis/referencing/EPSGFactoryFallback.java       |   12 +-
 .../referencing/EllipsoidalHeightSeparator.java    |   10 +-
 .../sis/referencing/GeodesicsOnEllipsoid.java      |    4 +-
 .../apache/sis/referencing/GeodeticCalculator.java |   24 +-
 .../apache/sis/referencing/IdentifiedObjects.java  |   14 +-
 .../sis/referencing/ImmutableIdentifier.java       |    8 +-
 .../org/apache/sis/referencing/NameIterator.java   |   10 +-
 .../apache/sis/referencing/NamedIdentifier.java    |    4 +-
 .../org/apache/sis/referencing/Properties.java     |    4 +-
 .../sis/referencing/PropertiesConverter.java       |    2 +-
 .../sis/referencing/StandardDefinitions.java       |   14 +-
 .../apache/sis/referencing/crs/AbstractCRS.java    |    8 +-
 .../sis/referencing/crs/AbstractDerivedCRS.java    |   10 +-
 .../sis/referencing/crs/DefaultCompoundCRS.java    |   12 +-
 .../sis/referencing/crs/DefaultDerivedCRS.java     |   12 +-
 .../sis/referencing/crs/DefaultEngineeringCRS.java |    6 +-
 .../sis/referencing/crs/DefaultGeodeticCRS.java    |   12 +-
 .../sis/referencing/crs/DefaultGeographicCRS.java  |   10 +-
 .../sis/referencing/crs/DefaultImageCRS.java       |    4 +-
 .../sis/referencing/crs/DefaultParametricCRS.java  |    4 +-
 .../sis/referencing/crs/DefaultProjectedCRS.java   |   10 +-
 .../sis/referencing/crs/DefaultTemporalCRS.java    |    8 +-
 .../sis/referencing/crs/DefaultVerticalCRS.java    |    4 +-
 .../sis/referencing/crs/ExplicitParameters.java    |    6 +-
 .../sis/referencing/crs/SC_GeographicCRS.java      |    4 +-
 .../apache/sis/referencing/crs/package-info.java   |    4 +-
 .../org/apache/sis/referencing/cs/AbstractCS.java  |   14 +-
 .../apache/sis/referencing/cs/AxesConvention.java  |    2 +-
 .../main/org/apache/sis/referencing/cs/Codes.java  |    4 +-
 .../sis/referencing/cs/CoordinateSystems.java      |    8 +-
 .../apache/sis/referencing/cs/DefaultAffineCS.java |    2 +-
 .../sis/referencing/cs/DefaultCartesianCS.java     |    2 +-
 .../sis/referencing/cs/DefaultCompoundCS.java      |    4 +-
 .../cs/DefaultCoordinateSystemAxis.java            |   14 +-
 .../sis/referencing/cs/DefaultCylindricalCS.java   |    2 +-
 .../sis/referencing/cs/DefaultEllipsoidalCS.java   |    4 +-
 .../apache/sis/referencing/cs/DefaultLinearCS.java |    2 +-
 .../apache/sis/referencing/cs/DefaultPolarCS.java  |    2 +-
 .../sis/referencing/cs/DefaultSphericalCS.java     |    2 +-
 .../apache/sis/referencing/cs/DefaultTimeCS.java   |    2 +-
 .../sis/referencing/cs/DefaultVerticalCS.java      |    2 +-
 .../sis/referencing/cs/DirectionAlongMeridian.java |    6 +-
 .../org/apache/sis/referencing/cs/Normalizer.java  |    8 +-
 .../apache/sis/referencing/cs/package-info.java    |    4 +-
 .../sis/referencing/datum/AbstractDatum.java       |    8 +-
 .../sis/referencing/datum/BursaWolfParameters.java |    6 +-
 .../sis/referencing/datum/DatumShiftGrid.java      |    4 +-
 .../sis/referencing/datum/DefaultEllipsoid.java    |   16 +-
 .../referencing/datum/DefaultEngineeringDatum.java |    2 +-
 .../referencing/datum/DefaultGeodeticDatum.java    |   18 +-
 .../sis/referencing/datum/DefaultImageDatum.java   |    4 +-
 .../referencing/datum/DefaultParametricDatum.java  |    2 +-
 .../referencing/datum/DefaultPrimeMeridian.java    |   16 +-
 .../referencing/datum/DefaultTemporalDatum.java    |    6 +-
 .../referencing/datum/DefaultVerticalDatum.java    |   10 +-
 .../sis/referencing/datum/TimeDependentBWP.java    |    4 +-
 .../apache/sis/referencing/datum/package-info.java |   10 +-
 .../factory/AuthorityFactoryIdentifier.java        |   12 +-
 .../referencing/factory/AuthorityFactoryProxy.java |    2 +-
 .../referencing/factory/CommonAuthorityCode.java   |    4 +-
 .../factory/CommonAuthorityFactory.java            |    8 +-
 .../factory/ConcurrentAuthorityFactory.java        |   16 +-
 .../sis/referencing/factory/FilteredCodes.java     |    2 +-
 .../factory/GeodeticAuthorityFactory.java          |    6 +-
 .../referencing/factory/GeodeticObjectFactory.java |    8 +-
 .../factory/IdentifiedObjectFinder.java            |    4 +-
 .../factory/LazySynchronizedIterator.java          |    2 +-
 .../factory/MultiAuthoritiesFactory.java           |   16 +-
 .../sis/referencing/factory/ReferenceKeeper.java   |    8 +-
 .../referencing/factory/sql/AuthorityCodes.java    |    2 +-
 .../sis/referencing/factory/sql/BursaWolfInfo.java |    2 +-
 .../factory/sql/CloseableReference.java            |    2 +-
 .../referencing/factory/sql/EPSGCodeFinder.java    |   10 +-
 .../referencing/factory/sql/EPSGDataAccess.java    |   42 +-
 .../sis/referencing/factory/sql/EPSGFactory.java   |   12 +-
 .../sis/referencing/factory/sql/EPSGInstaller.java |   10 +-
 .../factory/sql/InstallationScriptProvider.java    |   10 +-
 .../sis/referencing/factory/sql/SQLTranslator.java |    6 +-
 .../sis/referencing/factory/sql/TableInfo.java     |    2 +-
 .../sis/referencing/internal/AnnotatedMatrix.java  |  141 +
 .../sis/referencing/internal/Arithmetic.java       |  295 ++
 .../sis/referencing/internal/DatabaseListener.java |   71 +
 .../internal/DeferredCoordinateOperation.java      |   72 +
 .../sis/referencing/internal/DeprecatedCode.java   |   99 +
 .../sis/referencing/internal/DeprecatedName.java   |   91 +
 .../sis/referencing/internal/EPSGFactoryProxy.java |   74 +
 .../referencing/internal/EPSGFactoryProxyCOP.java  |   59 +
 .../referencing/internal/EPSGFactoryProxyCRS.java  |  109 +
 .../referencing/internal/EPSGFactoryProxyCS.java   |  107 +
 .../internal/EPSGFactoryProxyDatum.java            |   95 +
 .../referencing/internal/EPSGParameterDomain.java  |   55 +
 .../apache/sis/referencing/internal/Legacy.java    |  121 +
 .../sis/referencing/internal/MergedProperties.java |  114 +
 .../referencing/internal/PositionTransformer.java  |  267 ++
 .../apache/sis/referencing/internal/RTreeNode.java |  361 ++
 .../sis/referencing/internal/ReferencingTypes.java |   76 +
 .../apache/sis/referencing/internal/Resources.java |  785 +++++
 .../sis/referencing/internal/Resources.properties  |  130 +
 .../sis/referencing/internal/Resources_en.java     |   30 +
 .../sis/referencing/internal/Resources_fr.java     |   30 +
 .../referencing/internal/Resources_fr.properties   |  135 +
 .../referencing/internal/ServicesForMetadata.java  |  540 +++
 .../referencing/internal/SignReversalComment.java  |   89 +
 .../referencing/internal/VerticalDatumTypes.java   |  237 ++
 .../sis/referencing/internal/package-info.java     |   30 +
 .../operation/AbstractCoordinateOperation.java     |   26 +-
 .../operation/AbstractSingleOperation.java         |   14 +-
 .../apache/sis/referencing/operation/CRSPair.java  |    4 +-
 .../operation/CoordinateOperationContext.java      |    4 +-
 .../operation/CoordinateOperationFinder.java       |   30 +-
 .../operation/CoordinateOperationRegistry.java     |   22 +-
 .../operation/DefaultConcatenatedOperation.java    |    6 +-
 .../referencing/operation/DefaultConversion.java   |    4 +-
 .../DefaultCoordinateOperationFactory.java         |   14 +-
 .../sis/referencing/operation/DefaultFormula.java  |    2 +-
 .../operation/DefaultOperationMethod.java          |   20 +-
 .../operation/DefaultPassThroughOperation.java     |    4 +-
 .../operation/InverseOperationMethod.java          |    6 +-
 .../operation/MathTransformContext.java            |    2 +-
 .../operation/builder/LinearTransformBuilder.java  |   12 +-
 .../operation/builder/LocalizationGridBuilder.java |    8 +-
 .../operation/builder/ResidualGrid.java            |    6 +-
 .../operation/matrix/AffineTransforms2D.java       |    6 +-
 .../operation/matrix/GeneralMatrix.java            |    8 +-
 .../sis/referencing/operation/matrix/Matrices.java |   12 +-
 .../sis/referencing/operation/matrix/Matrix1.java  |    2 +-
 .../sis/referencing/operation/matrix/Matrix2.java  |    2 +-
 .../referencing/operation/matrix/MatrixSIS.java    |    6 +-
 .../operation/matrix/NonSquareMatrix.java          |    2 +-
 .../sis/referencing/operation/matrix/Solver.java   |   12 +-
 .../operation/matrix/UnmodifiableMatrix.java       |    2 +-
 .../sis/referencing/operation/package-info.java    |   10 +-
 .../operation/projection/AlbersEqualArea.java      |    8 +-
 .../operation/projection/AuthalicConversion.java   |    4 +-
 .../operation/projection/AzimuthalEquidistant.java |    2 +-
 .../operation/projection/CassiniSoldner.java       |    6 +-
 .../operation/projection/ConformalProjection.java  |    4 +-
 .../operation/projection/CylindricalEqualArea.java |    8 +-
 .../operation/projection/Initializer.java          |    8 +-
 .../referencing/operation/projection/Inverter.java |    2 +-
 .../projection/LambertAzimuthalEqualArea.java      |    6 +-
 .../projection/LambertConicConformal.java          |   18 +-
 .../operation/projection/LongitudeWraparound.java  |    4 +-
 .../referencing/operation/projection/Mercator.java |   14 +-
 .../operation/projection/MeridianArcBased.java     |    2 +-
 .../projection/ModifiedAzimuthalEquidistant.java   |    2 +-
 .../operation/projection/Mollweide.java            |    4 +-
 .../operation/projection/NormalizedProjection.java |   14 +-
 .../operation/projection/ObliqueMercator.java      |    8 +-
 .../operation/projection/ObliqueStereographic.java |   10 +-
 .../operation/projection/Orthographic.java         |    2 +-
 .../operation/projection/PolarStereographic.java   |   14 +-
 .../operation/projection/Polyconic.java            |    4 +-
 .../operation/projection/SatelliteTracking.java    |   12 +-
 .../operation/projection/Sinusoidal.java           |    2 +-
 .../operation/projection/TransverseMercator.java   |    8 +-
 .../operation/projection/ZonedGridSystem.java      |    6 +-
 .../operation/provider/AbridgedMolodensky.java     |  120 +
 .../operation/provider/AbstractLambert.java        |   92 +
 .../operation/provider/AbstractMercator.java       |  111 +
 .../operation/provider/AbstractProvider.java       |  384 +++
 .../operation/provider/AbstractStereographic.java  |   96 +
 .../sis/referencing/operation/provider/Affine.java |  357 ++
 .../operation/provider/AlbersEqualArea.java        |  264 ++
 .../operation/provider/AxisOrderReversal.java      |  103 +
 .../operation/provider/AxisOrderReversal3D.java    |   51 +
 .../provider/AzimuthalEquidistantSpherical.java    |   74 +
 .../operation/provider/CassiniSoldner.java         |  183 ++
 .../provider/CoordinateFrameRotation.java          |   61 +
 .../provider/CoordinateFrameRotation2D.java        |   81 +
 .../provider/CoordinateFrameRotation3D.java        |   92 +
 .../provider/DatumShiftGridCompressed.java         |  270 ++
 .../operation/provider/DatumShiftGridFile.java     |  715 ++++
 .../operation/provider/DatumShiftGridGroup.java    |  312 ++
 .../operation/provider/DatumShiftGridLoader.java   |  249 ++
 .../operation/provider/DatumShiftMethod.java       |   72 +
 .../operation/provider/Description.java            |   54 +
 .../operation}/provider/Descriptions.properties    |    0
 .../referencing/operation/provider/EPSGName.java   |  124 +
 .../sis/referencing/operation/provider/ESRI.java   |  158 +
 .../operation/provider/Equirectangular.java        |  368 +++
 .../provider/FranceGeocentricInterpolation.java    |  598 ++++
 .../operation/provider/GeocentricAffine.java       |  494 +++
 .../GeocentricAffineBetweenGeographic.java         |  232 ++
 .../operation/provider/GeocentricToGeographic.java |  133 +
 .../provider/GeocentricToTopocentric.java          |  251 ++
 .../operation/provider/GeocentricTranslation.java  |   56 +
 .../provider/GeocentricTranslation2D.java          |   80 +
 .../provider/GeocentricTranslation3D.java          |   87 +
 .../operation/provider/GeodeticOperation.java      |  190 ++
 .../operation/provider/Geographic2Dto3D.java       |  120 +
 .../operation/provider/Geographic3Dto2D.java       |  194 ++
 .../operation}/provider/Geographic3DtoVertical.txt |    0
 .../provider/GeographicAndVerticalOffsets.java     |  115 +
 .../operation/provider/GeographicOffsets.java      |  183 ++
 .../operation/provider/GeographicOffsets2D.java    |   84 +
 .../operation/provider/GeographicRedimension.java  |   97 +
 .../operation/provider/GeographicToGeocentric.java |  200 ++
 .../provider/GeographicToTopocentric.java          |  166 +
 .../provider/HyperbolicCassiniSoldner.java         |   65 +
 .../operation/provider/Interpolation1D.java        |  114 +
 .../provider/LambertAzimuthalEqualArea.java        |  175 +
 .../LambertAzimuthalEqualAreaSpherical.java        |   76 +
 .../operation/provider/LambertConformal1SP.java    |  135 +
 .../operation/provider/LambertConformal2SP.java    |  259 ++
 .../provider/LambertConformalBelgium.java          |   74 +
 .../provider/LambertConformalMichigan.java         |   91 +
 .../operation/provider/LambertConformalWest.java   |  100 +
 .../provider/LambertCylindricalEqualArea.java      |  178 +
 .../LambertCylindricalEqualAreaSpherical.java      |   78 +
 .../operation/provider/LongitudeRotation.java      |  123 +
 .../operation/provider/MapProjection.java          |  415 +++
 .../operation/provider/MapProjection3D.java        |   94 +
 .../operation/provider/Mercator1SP.java            |  155 +
 .../operation/provider/Mercator2SP.java            |  157 +
 .../provider/MercatorAuxiliarySphere.java          |   84 +
 .../operation/provider/MercatorSpherical.java      |   84 +
 .../operation/provider/MillerCylindrical.java      |   82 +
 .../provider/ModifiedAzimuthalEquidistant.java     |  169 +
 .../referencing/operation/provider/Mollweide.java  |  126 +
 .../referencing/operation/provider/Molodensky.java |  348 ++
 .../provider/MolodenskyInterpolation.java          |  107 +
 .../sis/referencing/operation/provider/NADCON.java |  475 +++
 .../sis/referencing/operation/provider/NTv1.java   |   82 +
 .../sis/referencing/operation/provider/NTv2.java   |  682 ++++
 .../operation/provider/NorthPoleRotation.java      |  164 +
 .../operation/provider/ObliqueMercator.java        |  247 ++
 .../operation/provider/ObliqueMercatorCenter.java  |  140 +
 .../provider/ObliqueMercatorTwoPoints.java         |   89 +
 .../provider/ObliqueMercatorTwoPointsCenter.java   |   47 +
 .../operation/provider/ObliqueStereographic.java   |  138 +
 .../operation/provider/Orthographic.java           |  187 ++
 .../operation/provider/PolarStereographicA.java    |  211 ++
 .../operation/provider/PolarStereographicB.java    |  160 +
 .../operation/provider/PolarStereographicC.java    |  100 +
 .../provider/PolarStereographicNorth.java          |   70 +
 .../provider/PolarStereographicSouth.java          |   72 +
 .../referencing/operation/provider/Polyconic.java  |  150 +
 .../operation/provider/PositionVector7Param.java   |   60 +
 .../operation/provider/PositionVector7Param2D.java |   83 +
 .../operation/provider/PositionVector7Param3D.java |   90 +
 .../operation/provider/PseudoMercator.java         |   61 +
 .../operation/provider/PseudoPlateCarree.java      |   79 +
 .../operation/provider/PseudoSinusoidal.java       |   58 +
 .../operation/provider/RegionalMercator.java       |  150 +
 .../operation/provider/SatelliteTracking.java      |  207 ++
 .../referencing/operation/provider/Sinusoidal.java |  134 +
 .../operation/provider/SouthPoleRotation.java      |  175 +
 .../operation/provider/TransverseMercator.java     |  475 +++
 .../provider/TransverseMercatorSouth.java          |   94 +
 .../operation/provider/VerticalOffset.java         |  121 +
 .../referencing/operation/provider/Wraparound.java |  138 +
 .../provider/ZonedTransverseMercator.java          |  131 +
 .../operation/provider/package-info.java           |   31 +
 .../transform/AbstractLinearTransform.java         |    8 +-
 .../operation/transform/AbstractMathTransform.java |    8 +-
 .../transform/AbstractMathTransform2D.java         |    4 +-
 .../operation/transform/CartesianToPolar.java      |    2 +-
 .../operation/transform/ConcatenatedTransform.java |   10 +-
 .../operation/transform/ContextualParameter.java   |    2 +-
 .../operation/transform/ContextualParameters.java  |   16 +-
 .../transform/CoordinateSystemTransform.java       |    8 +-
 .../operation/transform/DatumShiftTransform.java   |    4 +-
 .../transform/DefaultMathTransformFactory.java     |   26 +-
 .../transform/EllipsoidToCentricTransform.java     |   28 +-
 .../transform/ExponentialTransform1D.java          |    2 +-
 .../operation/transform/IdentityTransform.java     |    2 +-
 .../transform/InterpolatedGeocentricTransform.java |    6 +-
 .../transform/InterpolatedMolodenskyTransform.java |    6 +-
 .../operation/transform/InterpolatedTransform.java |    6 +-
 .../operation/transform/LinearInterpolator1D.java  |    6 +-
 .../operation/transform/LinearTransform1D.java     |   10 +-
 .../transform/LogarithmicTransform1D.java          |    2 +-
 .../operation/transform/MathTransforms.java        |    6 +-
 .../operation/transform/MolodenskyFormula.java     |    4 +-
 .../operation/transform/MolodenskyTransform.java   |    4 +-
 .../operation/transform/OperationMethodSet.java    |    2 +-
 .../operation/transform/PassThroughTransform.java  |    8 +-
 .../operation/transform/PolarToCartesian.java      |    2 +-
 .../operation/transform/PoleRotation.java          |   10 +-
 .../operation/transform/PowerTransform1D.java      |    2 +-
 .../operation/transform/ProjectiveTransform.java   |   10 +-
 .../operation/transform/ProjectiveTransform2D.java |    4 +-
 .../operation/transform/ScaleTransform.java        |    6 +-
 .../transform/SpecializableTransform.java          |    4 +-
 .../operation/transform/TransformSeparator.java    |    6 +-
 .../operation/transform/TranslationTransform.java  |    6 +-
 .../operation/transform/UnitConversion.java        |    2 +-
 .../operation/transform/WraparoundTransform.java   |    6 +-
 .../org/apache/sis/referencing/package-info.java   |    8 +-
 .../apache/sis/referencing/util/AxesMapper.java    |  159 +
 .../sis/referencing/util/AxisDirections.java       |  853 +++++
 .../sis/referencing/util/CoordinateOperations.java |  345 ++
 .../sis/referencing/util/DefinitionVerifier.java   |  361 ++
 .../sis/referencing/util/DirectPositionView.java   |  155 +
 .../util/EllipsoidalHeightCombiner.java            |  230 ++
 .../referencing/util/ExtendedPrecisionMatrix.java  |  124 +
 .../sis/referencing/util/ExtentSelector.java       |  561 ++++
 .../org/apache/sis/referencing/util/Formulas.java  |  293 ++
 .../referencing/util/GeodeticObjectBuilder.java    |  676 ++++
 .../org/apache/sis/referencing/util/LazySet.java   |  252 ++
 .../referencing/util/MathTransformsOrFactory.java  |  140 +
 .../sis/referencing/util/NilReferencingObject.java |   79 +
 .../util/PositionalAccuracyConstant.java           |  249 ++
 .../util/ReferencingFactoryContainer.java          |  399 +++
 .../sis/referencing/util/ReferencingUtilities.java |  628 ++++
 .../sis/referencing/util/TemporalAccessor.java     |  140 +
 .../apache/sis/referencing/util/WKTKeywords.java   |  301 ++
 .../apache/sis/referencing/util/WKTUtilities.java  |  552 ++++
 .../sis/referencing/util/WraparoundApplicator.java |  224 ++
 .../sis/referencing/util/WraparoundAxesFinder.java |   85 +
 .../sis/referencing/util/j2d/AbstractShape.java    |   81 +
 .../sis/referencing/util/j2d/AffineMatrix.java     |  245 ++
 .../referencing/util/j2d/AffineTransform2D.java    |  492 +++
 .../apache/sis/referencing/util/j2d/Bezier.java    |  536 +++
 .../util/j2d/ImmutableAffineTransform.java         |  316 ++
 .../referencing/util/j2d/IntervalRectangle.java    |  575 ++++
 .../referencing/util/j2d/LinearTransform2D.java    |   41 +
 .../referencing/util/j2d/ParameterizedAffine.java  |  173 +
 .../sis/referencing/util/j2d/ShapeUtilities.java   |  429 +++
 .../org/apache/sis/referencing/util/j2d/Tile.java  |  684 ++++
 .../sis/referencing/util/j2d/TileOrganizer.java    |  568 ++++
 .../sis/referencing/util/j2d/package-info.java     |   32 +
 .../apache/sis/referencing/util/package-info.java  |   32 +
 .../sis/xml/bind/referencing/CC_Conversion.java    |  136 +
 .../bind/referencing/CC_CoordinateOperation.java   |  107 +
 .../referencing/CC_GeneralOperationParameter.java  |  488 +++
 .../bind/referencing/CC_GeneralParameterValue.java |  114 +
 .../xml/bind/referencing/CC_OperationMethod.java   |  241 ++
 .../bind/referencing/CC_OperationParameter.java    |  182 ++
 .../referencing/CC_OperationParameterGroup.java    |  220 ++
 .../sis/xml/bind/referencing/CD_Ellipsoid.java     |   94 +
 .../xml/bind/referencing/CD_EngineeringDatum.java  |   92 +
 .../sis/xml/bind/referencing/CD_GeodeticDatum.java |   94 +
 .../sis/xml/bind/referencing/CD_ImageDatum.java    |   92 +
 .../xml/bind/referencing/CD_ParametricDatum.java   |   92 +
 .../sis/xml/bind/referencing/CD_PixelInCell.java   |   46 +
 .../sis/xml/bind/referencing/CD_PrimeMeridian.java |   93 +
 .../sis/xml/bind/referencing/CD_TemporalDatum.java |   93 +
 .../sis/xml/bind/referencing/CD_VerticalDatum.java |   92 +
 .../xml/bind/referencing/CD_VerticalDatumType.java |   46 +
 .../sis/xml/bind/referencing/CS_AffineCS.java      |   92 +
 .../sis/xml/bind/referencing/CS_AxisDirection.java |   58 +
 .../sis/xml/bind/referencing/CS_CartesianCS.java   |   92 +
 .../xml/bind/referencing/CS_CoordinateSystem.java  |   92 +
 .../bind/referencing/CS_CoordinateSystemAxis.java  |   94 +
 .../sis/xml/bind/referencing/CS_CylindricalCS.java |   91 +
 .../sis/xml/bind/referencing/CS_EllipsoidalCS.java |   92 +
 .../sis/xml/bind/referencing/CS_LinearCS.java      |   91 +
 .../sis/xml/bind/referencing/CS_ParametricCS.java  |   91 +
 .../sis/xml/bind/referencing/CS_PolarCS.java       |   91 +
 .../sis/xml/bind/referencing/CS_RangeMeaning.java  |   58 +
 .../sis/xml/bind/referencing/CS_SphericalCS.java   |   91 +
 .../apache/sis/xml/bind/referencing/CS_TimeCS.java |   92 +
 .../sis/xml/bind/referencing/CS_UserDefinedCS.java |   91 +
 .../sis/xml/bind/referencing/CS_VerticalCS.java    |   92 +
 .../org/apache/sis/xml/bind/referencing/Code.java  |  254 ++
 .../sis/xml/bind/referencing/RS_Identifier.java    |   93 +
 .../apache/sis/xml/bind/referencing/SC_CRS.java    |  106 +
 .../xml/bind/referencing/SC_DerivedCRSType.java    |   93 +
 .../bind}/referencing/SC_GeographicCRS.txt         |    0
 .../sis/xml/bind/referencing/SC_SingleCRS.java     |  104 +
 .../sis/xml/bind/referencing/SC_VerticalCRS.java   |   89 +
 .../bind/referencing/SecondDefiningParameter.java  |  168 +
 .../sis/xml/bind/referencing/package-info.java     |   45 +
 .../org/apache/sis/geometry/EnvelopesTest.java     |    2 +-
 .../apache/sis/geometry/GeneralEnvelopeTest.java   |    2 +-
 .../org/apache/sis/geometry/TransformTestCase.java |    4 +-
 .../sis/geometry/WraparoundAdjustmentTest.java     |    2 +-
 .../CC_GeneralOperationParameterTest.java          |  355 --
 .../CC_OperationParameterGroupTest.java            |  234 --
 .../sis/internal/jaxb/referencing/CodeTest.java    |  143 -
 .../referencing/SecondDefiningParameterTest.java   |  117 -
 .../sis/internal/referencing/AxesMapperTest.java   |  102 -
 .../internal/referencing/AxisDirectionsTest.java   |  562 ----
 .../referencing/CoordinateOperationsTest.java      |   82 -
 .../referencing/DefinitionVerifierTest.java        |  109 -
 .../referencing/EllipsoidalHeightCombinerTest.java |  175 -
 .../internal/referencing/ExtentSelectorTest.java   |  211 --
 .../sis/internal/referencing/FormulasTest.java     |  144 -
 .../referencing/GeodeticObjectBuilderTest.java     |   66 -
 .../sis/internal/referencing/LazySetTest.java      |  122 -
 .../PositionalAccuracyConstantTest.java            |   71 -
 .../referencing/ReferencingUtilitiesTest.java      |  133 -
 .../referencing/ServicesForMetadataTest.java       |  234 --
 .../referencing/VerticalDatumTypesTest.java        |   73 -
 .../sis/internal/referencing/WKTKeywordsTest.java  |  100 -
 .../sis/internal/referencing/WKTUtilitiesTest.java |  105 -
 .../referencing/WraparoundApplicatorTest.java      |   49 -
 .../referencing/j2d/AbstractShapeTest.java         |   51 -
 .../referencing/j2d/ShapeUtilitiesExt.java         |  149 -
 .../referencing/j2d/ShapeUtilitiesTest.java        |  250 --
 .../referencing/j2d/ShapeUtilitiesViewer.java      |  269 --
 .../internal/referencing/provider/AffineTest.java  |  131 -
 .../provider/CoordinateFrameRotationTest.java      |   95 -
 .../provider/DatumShiftGridCompressedTest.java     |   51 -
 .../provider/DatumShiftGridFileTest.java           |  245 --
 .../referencing/provider/DatumShiftTestCase.java   |   75 -
 .../FranceGeocentricInterpolationTest.java         |  250 --
 .../provider/GeocentricTranslationTest.java        |  430 ---
 .../referencing/provider/Geographic3Dto2DTest.java |  148 -
 .../provider/GeographicOffsetsTest.java            |  148 -
 .../provider/LongitudeRotationTest.java            |   84 -
 .../referencing/provider/MapProjectionTest.java    |  154 -
 .../referencing/provider/MolodenskyTest.java       |   61 -
 .../internal/referencing/provider/NADCONTest.java  |  241 --
 .../internal/referencing/provider/NTv2Test.java    |  339 --
 .../provider/ParameterNameTableGenerator.java      |  324 --
 .../provider/PositionVector7ParamTest.java         |  149 -
 .../referencing/provider/ProviderMock.java         |   70 -
 .../referencing/provider/ProvidersTest.java        |  294 --
 .../referencing/provider/SeismicBinGridMock.java   |   69 -
 .../provider/TransverseMercatorTest.java           |   95 -
 .../test/org/apache/sis/io/wkt/FormatterTest.java  |    2 +-
 .../sis/io/wkt/GeodeticObjectParserTest.java       |    6 +-
 .../org/apache/sis/io/wkt/TransliteratorTest.java  |    2 +-
 .../test/org/apache/sis/io/wkt/WKTParserTest.java  |    4 +-
 .../DefaultParameterDescriptorGroupTest.java       |    2 +-
 .../parameter/DefaultParameterDescriptorTest.java  |    2 +-
 .../sis/parameter/DefaultParameterValueTest.java   |    2 +-
 .../sis/parameter/MapProjectionParametersTest.java |   18 +-
 .../apache/sis/parameter/TensorParametersTest.java |    4 +-
 .../org/apache/sis/parameter/TensorValuesTest.java |    8 +-
 .../referencing/AbstractIdentifiedObjectTest.java  |    6 +-
 .../org/apache/sis/referencing/Assertions.java     |    2 +-
 .../sis/referencing/AuthorityFactoriesTest.java    |    6 +-
 .../org/apache/sis/referencing/BuilderTest.java    |    4 +-
 .../test/org/apache/sis/referencing/CRSTest.java   |    2 +-
 .../org/apache/sis/referencing/CommonCRSTest.java  |    6 +-
 .../sis/referencing/GeodesicsOnEllipsoidTest.java  |    6 +-
 .../sis/referencing/GeodeticCalculatorTest.java    |    6 +-
 .../sis/referencing/GeodeticObjectVerifier.java    |    2 +-
 .../sis/referencing/ImmutableIdentifierTest.java   |    6 +-
 .../sis/referencing/StandardDefinitionsTest.java   |    4 +-
 .../sis/referencing/crs/DefaultDerivedCRSTest.java |    2 +-
 .../referencing/crs/DefaultGeocentricCRSTest.java  |    2 +-
 .../referencing/crs/DefaultProjectedCRSTest.java   |    6 +-
 .../referencing/crs/DefaultTemporalCRSTest.java    |    4 +-
 .../sis/referencing/cs/DefaultCompoundCSTest.java  |    2 +-
 .../referencing/cs/DefaultCylindricalCSTest.java   |    2 +-
 .../sis/referencing/cs/DefaultPolarCSTest.java     |    2 +-
 .../sis/referencing/cs/DefaultSphericalCSTest.java |    2 +-
 .../referencing/cs/DirectionAlongMeridianTest.java |    2 +-
 .../apache/sis/referencing/cs/HardCodedAxes.java   |    4 +-
 .../referencing/datum/DefaultEllipsoidTest.java    |    4 +-
 .../datum/DefaultGeodeticDatumTest.java            |    4 +-
 .../datum/DefaultPrimeMeridianTest.java            |    2 +-
 .../datum/DefaultTemporalDatumTest.java            |    2 +-
 .../datum/DefaultVerticalDatumTest.java            |    4 +-
 .../sis/referencing/datum/GeodeticDatumMock.java   |    2 +-
 .../sis/referencing/datum/HardCodedDatum.java      |    4 +-
 .../referencing/datum/TimeDependentBWPTest.java    |    2 +-
 .../referencing/factory/AuthorityFactoryMock.java  |    2 +-
 .../factory/CommonAuthorityFactoryTest.java        |    4 +-
 .../factory/MultiAuthoritiesFactoryTest.java       |    2 +-
 .../sis/referencing/factory/TestFactorySource.java |    4 +-
 .../referencing/factory/sql/EPSGFactoryTest.java   |    2 +-
 .../referencing/factory/sql/EPSGInstallerTest.java |    6 +-
 .../factory/sql/epsg/DataScriptFormatter.java      |    4 +-
 .../internal/ServicesForMetadataTest.java          |  234 ++
 .../internal/VerticalDatumTypesTest.java           |   73 +
 .../operation/CoordinateOperationFinderTest.java   |    8 +-
 .../operation/CoordinateOperationRegistryTest.java |    2 +-
 .../operation/DefaultConversionTest.java           |    4 +-
 .../DefaultCoordinateOperationFactoryTest.java     |    6 +-
 .../operation/DefaultTransformationTest.java       |    2 +-
 .../operation/HardCodedConversions.java            |   10 +-
 .../operation/SingleOperationMarshallingTest.java  |    4 +-
 .../operation/matrix/GeneralMatrixTest.java        |    2 +-
 .../referencing/operation/matrix/MatricesTest.java |    2 +-
 .../operation/matrix/MatrixTestCase.java           |    4 +-
 .../operation/projection/AlbersEqualAreaTest.java  |   16 +-
 .../projection/AuthalicConversionTest.java         |    4 +-
 .../projection/AzimuthalEquidistantTest.java       |    6 +-
 .../operation/projection/Benchmark.java            |    8 +-
 .../operation/projection/CassiniSoldnerTest.java   |    8 +-
 .../projection/ConformalProjectionTest.java        |    2 +-
 .../projection/CylindricalEqualAreaTest.java       |    6 +-
 .../operation/projection/EquirectangularTest.java  |    6 +-
 .../operation/projection/InitializerTest.java      |    4 +-
 .../projection/LambertAzimuthalEqualAreaTest.java  |   12 +-
 .../projection/LambertConicConformalTest.java      |   12 +-
 .../projection/MapProjectionTestCase.java          |    6 +-
 .../projection/MercatorMethodComparison.java       |    6 +-
 .../operation/projection/MercatorTest.java         |   18 +-
 .../operation/projection/MeridianArcTest.java      |    4 +-
 .../ModifiedAzimuthalEquidistantTest.java          |    4 +-
 .../operation/projection/MollweideTest.java        |    4 +-
 .../sis/referencing/operation/projection/NoOp.java |    2 +-
 .../projection/NormalizedProjectionTest.java       |    4 +-
 .../operation/projection/ObliqueMercatorTest.java  |    2 +-
 .../projection/ObliqueStereographicTest.java       |   10 +-
 .../operation/projection/OrthographicTest.java     |    6 +-
 .../projection/PolarStereographicTest.java         |   14 +-
 .../operation/projection/PolyconicTest.java        |    6 +-
 .../projection/ProjectionResultComparator.java     |    2 +-
 .../projection/SatelliteTrackingTest.java          |    4 +-
 .../operation/projection/SinusoidalTest.java       |    4 +-
 .../projection/TransverseMercatorTest.java         |   16 +-
 .../operation/projection/ZonedGridSystemTest.java  |    6 +-
 .../referencing/operation/provider/AffineTest.java |  131 +
 .../provider/CoordinateFrameRotationTest.java      |   95 +
 .../provider/DatumShiftGridCompressedTest.java     |   51 +
 .../operation/provider/DatumShiftGridFileTest.java |  245 ++
 .../operation/provider/DatumShiftTestCase.java     |   75 +
 .../FranceGeocentricInterpolationTest.java         |  250 ++
 .../operation}/provider/GR3DF-extract.txt          |    0
 .../provider/GeocentricTranslationTest.java        |  430 +++
 .../operation/provider/Geographic3Dto2DTest.java   |  148 +
 .../operation/provider/GeographicOffsetsTest.java  |  148 +
 .../operation/provider/LongitudeRotationTest.java  |   84 +
 .../operation/provider/MapProjectionTest.java      |  154 +
 .../operation/provider/MolodenskyTest.java         |   61 +
 .../referencing/operation/provider/NADCONTest.java |  241 ++
 .../operation}/provider/NTF_R93-extract.gsb        |  Bin
 .../referencing/operation/provider/NTv2Test.java   |  339 ++
 .../provider/ParameterNameTableGenerator.java      |  324 ++
 .../provider/PositionVector7ParamTest.java         |  149 +
 .../operation/provider/ProviderMock.java           |   70 +
 .../operation/provider/ProvidersTest.java          |  294 ++
 .../operation/provider/SeismicBinGridMock.java     |   69 +
 .../operation/provider/TransverseMercatorTest.java |   95 +
 .../operation}/provider/conus-extract.laa          |    0
 .../operation}/provider/conus-extract.loa          |    0
 .../transform/AbridgedMolodenskyTransformTest.java |    2 +-
 .../transform/ConcatenatedTransformTest.java       |    2 +-
 .../operation/transform/CoordinateDomain.java      |    2 +-
 .../operation/transform/CopyTransformTest.java     |    2 +-
 .../transform/DefaultMathTransformFactoryTest.java |    8 +-
 .../operation/transform/DomainDefinitionTest.java  |    2 +-
 .../transform/EllipsoidToCentricTransformTest.java |    4 +-
 .../InterpolatedGeocentricTransformTest.java       |    6 +-
 .../InterpolatedMolodenskyTransformTest.java       |    8 +-
 .../transform/InterpolatedTransformTest.java       |   12 +-
 .../operation/transform/LinearTransformTest.java   |    2 +-
 .../transform/MolodenskyTransformTest.java         |   14 +-
 .../transform/OperationMethodSetTest.java          |    2 +-
 .../operation/transform/PoleRotationTest.java      |    2 +-
 .../transform/ProjectiveTransformTest.java         |    8 +-
 .../operation/transform/ScaleTransformTest.java    |    2 +-
 .../transform/SpecializableTransformTest.java      |    2 +-
 .../transform/TranslationTransformTest.java        |    4 +-
 .../transform/WraparoundTransformTest.java         |    2 +-
 .../report/CoordinateOperationMethods.java         |   12 +-
 .../report/CoordinateReferenceSystems.java         |    4 +-
 .../sis/referencing/report/HTMLGenerator.java      |    2 +-
 .../sis/referencing/util/AxesMapperTest.java       |  102 +
 .../sis/referencing/util/AxisDirectionsTest.java   |  562 ++++
 .../referencing/util/CoordinateOperationsTest.java |   82 +
 .../referencing/util/DefinitionVerifierTest.java   |  109 +
 .../util/EllipsoidalHeightCombinerTest.java        |  175 +
 .../sis/referencing/util/ExtentSelectorTest.java   |  211 ++
 .../apache/sis/referencing/util/FormulasTest.java  |  144 +
 .../util/GeodeticObjectBuilderTest.java            |   66 +
 .../apache/sis/referencing/util/LazySetTest.java   |  122 +
 .../util/PositionalAccuracyConstantTest.java       |   71 +
 .../referencing/util/ReferencingUtilitiesTest.java |  133 +
 .../sis/referencing/util/WKTKeywordsTest.java      |  100 +
 .../sis/referencing/util/WKTUtilitiesTest.java     |  105 +
 .../referencing/util/WraparoundApplicatorTest.java |   49 +
 .../referencing/util/j2d/AbstractShapeTest.java    |   51 +
 .../referencing/util/j2d/ShapeUtilitiesExt.java    |  149 +
 .../referencing/util/j2d/ShapeUtilitiesTest.java   |  250 ++
 .../referencing/util/j2d/ShapeUtilitiesViewer.java |  269 ++
 .../sis/test/integration/ConsistencyTest.java      |    2 +-
 .../sis/test/integration/DatumShiftTest.java       |    8 +-
 .../apache/sis/test/integration/MetadataTest.java  |   10 +-
 .../sis/test/integration/MetadataVerticalTest.java |    2 +-
 .../org/apache/sis/test/widget/package-info.java   |    2 +-
 .../CC_GeneralOperationParameterTest.java          |  355 ++
 .../CC_OperationParameterGroupTest.java            |  234 ++
 .../apache/sis/xml/bind/referencing/CodeTest.java  |  143 +
 .../referencing/SecondDefiningParameterTest.java   |  117 +
 .../main/org/apache/sis/storage/landsat/Band.java  |    6 +-
 .../org/apache/sis/storage/landsat/BandGroup.java  |    6 +-
 .../apache/sis/storage/landsat/LandsatStore.java   |    8 +-
 .../sis/storage/landsat/LandsatStoreProvider.java  |    8 +-
 .../apache/sis/storage/landsat/MetadataReader.java |   20 +-
 .../main/module-info.java                          |    2 +-
 .../apache/sis/internal/geotiff/Compression.java   |  171 -
 .../org/apache/sis/internal/geotiff/Predictor.java |   66 -
 .../org/apache/sis/internal/geotiff/Resources.java |  308 --
 .../apache/sis/internal/geotiff/Resources_en.java  |   30 -
 .../apache/sis/internal/geotiff/Resources_fr.java  |   30 -
 .../sis/internal/geotiff/SchemaModifier.java       |  122 -
 .../apache/sis/internal/geotiff/package-info.java  |   30 -
 .../sis/internal/storage/inflater/CCITTRLE.java    |  274 --
 .../storage/inflater/CompressionChannel.java       |  161 -
 .../internal/storage/inflater/CopyFromBytes.java   |  415 ---
 .../storage/inflater/HorizontalPredictor.java      |  550 ----
 .../sis/internal/storage/inflater/Inflater.java    |  323 --
 .../apache/sis/internal/storage/inflater/LZW.java  |  481 ---
 .../sis/internal/storage/inflater/PackBits.java    |  144 -
 .../internal/storage/inflater/PixelChannel.java    |   54 -
 .../storage/inflater/PredictorChannel.java         |  142 -
 .../apache/sis/internal/storage/inflater/ZIP.java  |  112 -
 .../internal/storage/inflater/package-info.java    |   48 -
 .../org/apache/sis/storage/geotiff/CRSBuilder.java |   20 +-
 .../sis/storage/geotiff/CompressedSubset.java      |    6 +-
 .../org/apache/sis/storage/geotiff/DataCube.java   |   12 +-
 .../org/apache/sis/storage/geotiff/DataSubset.java |   22 +-
 .../apache/sis/storage/geotiff/GeoKeysLoader.java  |    2 +-
 .../org/apache/sis/storage/geotiff/GeoTIFF.java    |    2 +-
 .../apache/sis/storage/geotiff/GeoTiffStore.java   |   16 +-
 .../sis/storage/geotiff/GeoTiffStoreProvider.java  |    8 +-
 .../sis/storage/geotiff/GridGeometryBuilder.java   |    6 +-
 .../sis/storage/geotiff/ImageFileDirectory.java    |   20 +-
 .../sis/storage/geotiff/ImageMetadataBuilder.java  |    6 +-
 .../sis/storage/geotiff/MultiResolutionImage.java  |    8 +-
 .../apache/sis/storage/geotiff/NativeMetadata.java |    6 +-
 .../org/apache/sis/storage/geotiff/Reader.java     |    4 +-
 .../sis/storage/geotiff/ReversedBitsChannel.java   |    2 +-
 .../main/org/apache/sis/storage/geotiff/Type.java  |    4 +-
 .../apache/sis/storage/geotiff/XMLMetadata.java    |    6 +-
 .../sis/storage/geotiff/inflater/CCITTRLE.java     |  274 ++
 .../geotiff/inflater/CompressionChannel.java       |  161 +
 .../storage/geotiff/inflater/CopyFromBytes.java    |  415 +++
 .../geotiff/inflater/HorizontalPredictor.java      |  550 ++++
 .../sis/storage/geotiff/inflater/Inflater.java     |  323 ++
 .../apache/sis/storage/geotiff/inflater/LZW.java   |  481 +++
 .../sis/storage/geotiff/inflater/PackBits.java     |  144 +
 .../sis/storage/geotiff/inflater/PixelChannel.java |   54 +
 .../storage/geotiff/inflater/PredictorChannel.java |  142 +
 .../apache/sis/storage/geotiff/inflater/ZIP.java   |  112 +
 .../sis/storage/geotiff/inflater/package-info.java |   48 +
 .../sis/storage/geotiff/internal/Compression.java  |  171 +
 .../sis/storage/geotiff/internal/Predictor.java    |   66 +
 .../sis/storage/geotiff/internal/Resources.java    |  308 ++
 .../geotiff/internal}/Resources.properties         |    0
 .../sis/storage/geotiff/internal/Resources_en.java |   30 +
 .../sis/storage/geotiff/internal/Resources_fr.java |   30 +
 .../geotiff/internal}/Resources_fr.properties      |    0
 .../sis/storage/geotiff/internal/package-info.java |   30 +
 .../sis/storage/geotiff/spi/SchemaModifier.java    |  122 +
 .../sis/storage/geotiff/spi/package-info.java      |   25 +
 .../sis/internal/geotiff/CompressionTest.java      |   48 -
 .../internal/storage/inflater/CCITTRLETest.java    |  575 ----
 .../internal/storage/inflater/InflaterTest.java    |   69 -
 .../apache/sis/storage/geotiff/GeoIdentifiers.java |    2 +-
 .../apache/sis/storage/geotiff/GeoKeysTest.java    |    6 +-
 .../org/apache/sis/storage/geotiff/TypeTest.java   |    2 +-
 .../sis/storage/geotiff/XMLMetadataTest.java       |    4 +-
 .../sis/storage/geotiff/inflater/CCITTRLETest.java |  575 ++++
 .../sis/storage/geotiff/inflater/InflaterTest.java |   69 +
 .../storage/geotiff/internal/CompressionTest.java  |   48 +
 .../main/module-info.java                          |    4 +-
 .../main/org/apache/sis/internal/netcdf/Axis.java  |  953 ------
 .../org/apache/sis/internal/netcdf/AxisType.java   |  196 --
 .../org/apache/sis/internal/netcdf/CRSBuilder.java | 1065 ------
 .../org/apache/sis/internal/netcdf/CRSMerger.java  |   75 -
 .../org/apache/sis/internal/netcdf/Convention.java |  796 -----
 .../org/apache/sis/internal/netcdf/DataType.java   |  234 --
 .../org/apache/sis/internal/netcdf/Decoder.java    |  535 ---
 .../org/apache/sis/internal/netcdf/Dimension.java  |  121 -
 .../sis/internal/netcdf/DiscreteSampling.java      |   99 -
 .../org/apache/sis/internal/netcdf/FeatureSet.java |  955 ------
 .../main/org/apache/sis/internal/netcdf/Grid.java  |  570 ----
 .../apache/sis/internal/netcdf/GridAdjustment.java |  204 --
 .../apache/sis/internal/netcdf/GridCacheKey.java   |  256 --
 .../apache/sis/internal/netcdf/GridCacheValue.java |   91 -
 .../apache/sis/internal/netcdf/GridMapping.java    |  675 ----
 .../main/org/apache/sis/internal/netcdf/HYCOM.java |  127 -
 .../org/apache/sis/internal/netcdf/Linearizer.java |  381 ---
 .../apache/sis/internal/netcdf/NamedElement.java   |  130 -
 .../main/org/apache/sis/internal/netcdf/Node.java  |  308 --
 .../org/apache/sis/internal/netcdf/Raster.java     |  107 -
 .../apache/sis/internal/netcdf/RasterResource.java |  780 -----
 .../org/apache/sis/internal/netcdf/Resources.java  |  323 --
 .../sis/internal/netcdf/Resources.properties       |   47 -
 .../apache/sis/internal/netcdf/Resources_en.java   |   30 -
 .../apache/sis/internal/netcdf/Resources_fr.java   |   30 -
 .../sis/internal/netcdf/Resources_fr.properties    |   52 -
 .../org/apache/sis/internal/netcdf/Variable.java   | 1319 --------
 .../apache/sis/internal/netcdf/VariableRole.java   |   74 -
 .../sis/internal/netcdf/impl/ChannelDecoder.java   | 1091 -------
 .../sis/internal/netcdf/impl/DimensionInfo.java    |   88 -
 .../apache/sis/internal/netcdf/impl/GridInfo.java  |  245 --
 .../sis/internal/netcdf/impl/VariableInfo.java     |  853 -----
 .../sis/internal/netcdf/impl/package-info.java     |   36 -
 .../apache/sis/internal/netcdf/package-info.java   |   44 -
 .../sis/internal/netcdf/ucar/DecoderWrapper.java   |  690 ----
 .../sis/internal/netcdf/ucar/DimensionWrapper.java |  157 -
 .../sis/internal/netcdf/ucar/FeaturesWrapper.java  |   75 -
 .../sis/internal/netcdf/ucar/GridWrapper.java      |  315 --
 .../sis/internal/netcdf/ucar/GroupWrapper.java     |   79 -
 .../sis/internal/netcdf/ucar/LogAdapter.java       |  123 -
 .../org/apache/sis/internal/netcdf/ucar/Utils.java |   85 -
 .../sis/internal/netcdf/ucar/VariableWrapper.java  |  636 ----
 .../sis/internal/netcdf/ucar/package-info.java     |   26 -
 .../apache/sis/storage/netcdf/MetadataReader.java  |   32 +-
 .../org/apache/sis/storage/netcdf/NetcdfStore.java |   10 +-
 .../sis/storage/netcdf/NetcdfStoreProvider.java    |   24 +-
 .../org/apache/sis/storage/netcdf/base/Axis.java   |  954 ++++++
 .../apache/sis/storage/netcdf/base/AxisType.java   |  196 ++
 .../apache/sis/storage/netcdf/base/CRSBuilder.java | 1066 ++++++
 .../apache/sis/storage/netcdf/base/CRSMerger.java  |   75 +
 .../apache/sis/storage/netcdf/base/Convention.java |  796 +++++
 .../apache/sis/storage/netcdf/base/DataType.java   |  234 ++
 .../apache/sis/storage/netcdf/base/Decoder.java    |  536 +++
 .../apache/sis/storage/netcdf/base/Dimension.java  |  121 +
 .../sis/storage/netcdf/base/DiscreteSampling.java  |   99 +
 .../apache/sis/storage/netcdf/base/FeatureSet.java |  956 ++++++
 .../org/apache/sis/storage/netcdf/base/Grid.java   |  571 ++++
 .../sis/storage/netcdf/base/GridAdjustment.java    |  204 ++
 .../sis/storage/netcdf/base/GridCacheKey.java      |  256 ++
 .../sis/storage/netcdf/base/GridCacheValue.java    |   91 +
 .../sis/storage/netcdf/base/GridMapping.java       |  676 ++++
 .../org/apache/sis/storage/netcdf/base/HYCOM.java  |  127 +
 .../apache/sis/storage/netcdf/base/Linearizer.java |  381 +++
 .../sis/storage/netcdf/base/NamedElement.java      |  131 +
 .../org/apache/sis/storage/netcdf/base/Node.java   |  309 ++
 .../org/apache/sis/storage/netcdf/base/Raster.java |  107 +
 .../sis/storage/netcdf/base/RasterResource.java    |  781 +++++
 .../apache/sis/storage/netcdf/base/Variable.java   | 1320 ++++++++
 .../sis/storage/netcdf/base/VariableRole.java      |   74 +
 .../sis/storage/netcdf/base/package-info.java      |   44 +
 .../sis/storage/netcdf/classic/ChannelDecoder.java | 1091 +++++++
 .../sis/storage/netcdf/classic/DimensionInfo.java  |   88 +
 .../sis/storage/netcdf/classic/GridInfo.java       |  245 ++
 .../sis/storage/netcdf/classic/VariableInfo.java   |  853 +++++
 .../sis/storage/netcdf/classic/package-info.java   |   36 +
 .../sis/storage/netcdf/internal/Resources.java     |  356 ++
 .../storage/netcdf/internal/Resources.properties   |   48 +
 .../sis/storage/netcdf/internal/Resources_en.java  |   30 +
 .../sis/storage/netcdf/internal/Resources_fr.java  |   30 +
 .../netcdf/internal/Resources_fr.properties        |   53 +
 .../sis/storage/netcdf/internal/package-info.java  |   30 +
 .../sis/storage/netcdf/ucar/DecoderWrapper.java    |  690 ++++
 .../sis/storage/netcdf/ucar/DimensionWrapper.java  |  157 +
 .../sis/storage/netcdf/ucar/FeaturesWrapper.java   |   75 +
 .../sis/storage/netcdf/ucar/GridWrapper.java       |  315 ++
 .../sis/storage/netcdf/ucar/GroupWrapper.java      |   79 +
 .../apache/sis/storage/netcdf/ucar/LogAdapter.java |  123 +
 .../org/apache/sis/storage/netcdf/ucar/Utils.java  |   85 +
 .../sis/storage/netcdf/ucar/VariableWrapper.java   |  636 ++++
 .../sis/storage/netcdf/ucar/package-info.java      |   26 +
 .../org/apache/sis/internal/netcdf/AxisTest.java   |   54 -
 .../apache/sis/internal/netcdf/DataTypeTest.java   |  130 -
 .../apache/sis/internal/netcdf/DecoderTest.java    |  132 -
 .../apache/sis/internal/netcdf/FeatureSetTest.java |  215 --
 .../org/apache/sis/internal/netcdf/GridTest.java   |  170 -
 .../org/apache/sis/internal/netcdf/TestCase.java   |  254 --
 .../apache/sis/internal/netcdf/VariableTest.java   |  325 --
 .../internal/netcdf/impl/ChannelDecoderTest.java   |   80 -
 .../sis/internal/netcdf/impl/FeatureSetTest.java   |   52 -
 .../sis/internal/netcdf/impl/GridInfoTest.java     |   78 -
 .../sis/internal/netcdf/impl/VariableInfoTest.java |   55 -
 .../sis/storage/netcdf/MetadataReaderTest.java     |    8 +-
 .../storage/netcdf/NetcdfStoreProviderTest.java    |   10 +-
 .../apache/sis/storage/netcdf/base/AxisTest.java   |   54 +
 .../sis/storage/netcdf/base/DataTypeTest.java      |  130 +
 .../sis/storage/netcdf/base/DecoderTest.java       |  132 +
 .../sis/storage/netcdf/base/FeatureSetTest.java    |  215 ++
 .../apache/sis/storage/netcdf/base/GridTest.java   |  170 +
 .../apache/sis/storage/netcdf/base/TestCase.java   |  254 ++
 .../sis/storage/netcdf/base/VariableTest.java      |  325 ++
 .../storage/netcdf/classic/ChannelDecoderTest.java |   80 +
 .../sis/storage/netcdf/classic/FeatureSetTest.java |   52 +
 .../sis/storage/netcdf/classic/GridInfoTest.java   |   78 +
 .../storage/netcdf/classic/VariableInfoTest.java   |   55 +
 .../apache/sis/internal/sql/feature/Analyzer.java  |  279 --
 .../sis/internal/sql/feature/BinaryEncoding.java   |  137 -
 .../apache/sis/internal/sql/feature/Column.java    |  306 --
 .../apache/sis/internal/sql/feature/Database.java  |  787 -----
 .../sis/internal/sql/feature/FeatureAdapter.java   |  376 ---
 .../sis/internal/sql/feature/FeatureAnalyzer.java  |  414 ---
 .../sis/internal/sql/feature/FeatureIterator.java  |  354 --
 .../sis/internal/sql/feature/FeatureStream.java    |  419 ---
 .../sis/internal/sql/feature/GeometryGetter.java   |  125 -
 .../sis/internal/sql/feature/InfoStatements.java   |  577 ----
 .../sis/internal/sql/feature/PrimaryKey.java       |  110 -
 .../sis/internal/sql/feature/QueryAnalyzer.java    |  185 --
 .../apache/sis/internal/sql/feature/Relation.java  |  471 ---
 .../apache/sis/internal/sql/feature/Resources.java |  265 --
 .../sis/internal/sql/feature/Resources_en.java     |   30 -
 .../sis/internal/sql/feature/Resources_fr.java     |   30 -
 .../sis/internal/sql/feature/SchemaModifier.java   |   77 -
 .../sis/internal/sql/feature/SelectionClause.java  |  175 -
 .../sql/feature/SelectionClauseWriter.java         |  409 ---
 .../org/apache/sis/internal/sql/feature/Table.java |  484 ---
 .../sis/internal/sql/feature/TableAnalyzer.java    |  202 --
 .../sis/internal/sql/feature/TableReference.java   |  173 -
 .../sis/internal/sql/feature/ValueGetter.java      |  519 ---
 .../sis/internal/sql/feature/package-info.java     |   37 -
 .../org/apache/sis/internal/sql/postgis/Band.java  |  340 --
 .../internal/sql/postgis/ExtendedClauseWriter.java |   67 -
 .../sis/internal/sql/postgis/ExtendedInfo.java     |  105 -
 .../sis/internal/sql/postgis/ExtentEstimator.java  |  153 -
 .../sis/internal/sql/postgis/ObjectGetter.java     |   75 -
 .../apache/sis/internal/sql/postgis/Postgres.java  |  232 --
 .../sis/internal/sql/postgis/RasterFormat.java     |   68 -
 .../sis/internal/sql/postgis/RasterGetter.java     |   89 -
 .../sis/internal/sql/postgis/RasterReader.java     |  409 ---
 .../sis/internal/sql/postgis/RasterWriter.java     |  312 --
 .../sis/internal/sql/postgis/package-info.java     |   30 -
 .../sis/internal/stream/BaseStreamWrapper.java     |   96 -
 .../apache/sis/internal/stream/DeferredStream.java |  167 -
 .../sis/internal/stream/DoubleStreamWrapper.java   |  284 --
 .../sis/internal/stream/PaginedDoubleStream.java   |  101 -
 .../apache/sis/internal/stream/PaginedStream.java  |  112 -
 .../apache/sis/internal/stream/StreamWrapper.java  |  318 --
 .../apache/sis/internal/stream/package-info.java   |   33 -
 .../apache/sis/storage/sql/ResourceDefinition.java |    2 +-
 .../main/org/apache/sis/storage/sql/SQLStore.java  |   10 +-
 .../apache/sis/storage/sql/SQLStoreProvider.java   |    8 +-
 .../apache/sis/storage/sql/feature/Analyzer.java   |  279 ++
 .../sis/storage/sql/feature/BinaryEncoding.java    |  137 +
 .../org/apache/sis/storage/sql/feature/Column.java |  306 ++
 .../apache/sis/storage/sql/feature/Database.java   |  787 +++++
 .../sis/storage/sql/feature/FeatureAdapter.java    |  376 +++
 .../sis/storage/sql/feature/FeatureAnalyzer.java   |  414 +++
 .../sis/storage/sql/feature/FeatureIterator.java   |  354 ++
 .../sis/storage/sql/feature/FeatureStream.java     |  419 +++
 .../sis/storage/sql/feature/GeometryGetter.java    |  125 +
 .../sis/storage/sql/feature/InfoStatements.java    |  577 ++++
 .../apache/sis/storage/sql/feature/PrimaryKey.java |  110 +
 .../sis/storage/sql/feature/QueryAnalyzer.java     |  185 ++
 .../apache/sis/storage/sql/feature/Relation.java   |  471 +++
 .../apache/sis/storage/sql/feature/Resources.java  |  265 ++
 .../sql/feature/Resources.properties               |    0
 .../sis/storage/sql/feature/Resources_en.java      |   30 +
 .../sis/storage/sql/feature/Resources_fr.java      |   30 +
 .../sql/feature/Resources_fr.properties            |    0
 .../sis/storage/sql/feature/SchemaModifier.java    |   77 +
 .../sis/storage/sql/feature/SelectionClause.java   |  175 +
 .../storage/sql/feature/SelectionClauseWriter.java |  409 +++
 .../org/apache/sis/storage/sql/feature/Table.java  |  484 +++
 .../sis/storage/sql/feature/TableAnalyzer.java     |  202 ++
 .../sis/storage/sql/feature/TableReference.java    |  173 +
 .../sis/storage/sql/feature/ValueGetter.java       |  519 +++
 .../sis/storage/sql/feature/package-info.java      |   37 +
 .../org/apache/sis/storage/sql/postgis/Band.java   |  340 ++
 .../storage/sql/postgis/ExtendedClauseWriter.java  |   67 +
 .../sis/storage/sql/postgis/ExtendedInfo.java      |  105 +
 .../sis/storage/sql/postgis/ExtentEstimator.java   |  153 +
 .../sis/storage/sql/postgis/ObjectGetter.java      |   75 +
 .../apache/sis/storage/sql/postgis/Postgres.java   |  232 ++
 .../sis/storage/sql/postgis/RasterFormat.java      |   68 +
 .../sis/storage/sql/postgis/RasterGetter.java      |   89 +
 .../sis/storage/sql/postgis/RasterReader.java      |  409 +++
 .../sis/storage/sql/postgis/RasterWriter.java      |  312 ++
 .../sis/storage/sql/postgis/package-info.java      |   30 +
 .../apache/sis/util/stream/BaseStreamWrapper.java  |   96 +
 .../org/apache/sis/util/stream/DeferredStream.java |  167 +
 .../sis/util/stream/DoubleStreamWrapper.java       |  284 ++
 .../sis/util/stream/PaginedDoubleStream.java       |  101 +
 .../org/apache/sis/util/stream/PaginedStream.java  |  112 +
 .../org/apache/sis/util/stream/StreamWrapper.java  |  318 ++
 .../org/apache/sis/util/stream/package-info.java   |   33 +
 .../internal/sql/feature/GeometryGetterTest.java   |  178 -
 .../sis/internal/sql/feature/ResultSetMock.java    |   67 -
 .../sql/feature/SelectionClauseWriterTest.java     |  149 -
 .../sql/feature/TemporalValueGetterTest.java       |  238 --
 .../apache/sis/internal/sql/postgis/BandTest.java  |   70 -
 .../sis/internal/sql/postgis/PostgresTest.java     |  234 --
 .../sis/internal/sql/postgis/RasterReaderTest.java |   85 -
 .../sis/internal/sql/postgis/RasterWriterTest.java |   71 -
 .../sis/internal/sql/postgis/TestRaster.java       |  150 -
 .../org/apache/sis/storage/sql/SQLStoreTest.java   |    6 +-
 .../storage/sql/feature/GeometryGetterTest.java    |  178 +
 .../sis/storage/sql/feature/ResultSetMock.java     |   67 +
 .../sql/feature/SelectionClauseWriterTest.java     |  149 +
 .../sql/feature/TemporalValueGetterTest.java       |  238 ++
 .../apache/sis/storage/sql/postgis/BandTest.java   |   70 +
 .../sis/storage/sql/postgis/PostgresTest.java      |  234 ++
 .../sis/storage/sql/postgis/RasterReaderTest.java  |   85 +
 .../sis/storage/sql/postgis/RasterWriterTest.java  |   71 +
 .../sql/postgis/SpatialFeatures.sql                |    0
 .../apache/sis/storage/sql/postgis/TestRaster.java |  150 +
 .../sql/postgis/raster-ushort.wkb                  |  Bin
 .../org.apache.sis.storage.DataStoreProvider       |    2 +-
 .../main/module-info.java                          |    6 +-
 .../sis/internal/storage/gpx/Attributes.java       |   49 -
 .../apache/sis/internal/storage/gpx/Bounds.java    |  131 -
 .../apache/sis/internal/storage/gpx/Copyright.java |  401 ---
 .../sis/internal/storage/gpx/Description.java      |   62 -
 .../org/apache/sis/internal/storage/gpx/Email.java |   78 -
 .../org/apache/sis/internal/storage/gpx/Link.java  |  236 --
 .../apache/sis/internal/storage/gpx/Metadata.java  |  550 ----
 .../apache/sis/internal/storage/gpx/Person.java    |  356 --
 .../apache/sis/internal/storage/gpx/Reader.java    |  622 ----
 .../org/apache/sis/internal/storage/gpx/Store.java |  272 --
 .../sis/internal/storage/gpx/StoreProvider.java    |  129 -
 .../org/apache/sis/internal/storage/gpx/Tags.java  |   95 -
 .../org/apache/sis/internal/storage/gpx/Types.java |  329 --
 .../apache/sis/internal/storage/gpx/Updater.java   |   88 -
 .../sis/internal/storage/gpx/WritableStore.java    |  181 -
 .../apache/sis/internal/storage/gpx/Writer.java    |  264 --
 .../sis/internal/storage/gpx/package-info.java     |   79 -
 .../storage/xml/stream/FormattedWriter.java        |  190 --
 .../sis/internal/storage/xml/stream/InputType.java |  152 -
 .../storage/xml/stream/NamespaceEraser.java        |  148 -
 .../internal/storage/xml/stream/OutputType.java    |  187 --
 .../storage/xml/stream/RewriteOnUpdate.java        |  282 --
 .../internal/storage/xml/stream/StaxDataStore.java |  624 ----
 .../storage/xml/stream/StaxDataStoreProvider.java  |   85 -
 .../internal/storage/xml/stream/StaxStreamIO.java  |  113 -
 .../storage/xml/stream/StaxStreamReader.java       |  564 ----
 .../storage/xml/stream/StaxStreamWriter.java       |  340 --
 .../internal/storage/xml/stream/package-info.java  |   30 -
 .../org/apache/sis/storage/gpx/Attributes.java     |   49 +
 .../main/org/apache/sis/storage/gpx/Bounds.java    |  131 +
 .../main/org/apache/sis/storage/gpx/Copyright.java |  401 +++
 .../storage/gpx/Definitions.properties             |    0
 .../storage/gpx/Definitions_fr.properties          |    0
 .../org/apache/sis/storage/gpx/Description.java    |   62 +
 .../storage/gpx/Designations.properties            |    0
 .../storage/gpx/Designations_fr.properties         |    0
 .../main/org/apache/sis/storage/gpx/Email.java     |   78 +
 .../main/org/apache/sis/storage/gpx/Link.java      |  236 ++
 .../main/org/apache/sis/storage/gpx/Metadata.java  |  550 ++++
 .../main/org/apache/sis/storage/gpx/Person.java    |  356 ++
 .../main/org/apache/sis/storage/gpx/Reader.java    |  622 ++++
 .../main/org/apache/sis/storage/gpx/Store.java     |  272 ++
 .../org/apache/sis/storage/gpx/StoreProvider.java  |  129 +
 .../main/org/apache/sis/storage/gpx/Tags.java      |   95 +
 .../main/org/apache/sis/storage/gpx/Types.java     |  329 ++
 .../main/org/apache/sis/storage/gpx/Updater.java   |   88 +
 .../org/apache/sis/storage/gpx/WritableStore.java  |  181 +
 .../main/org/apache/sis/storage/gpx/Writer.java    |  264 ++
 .../org/apache/sis/storage/gpx/package-info.java   |   79 +
 .../sis/storage/xml/stream/FormattedWriter.java    |  190 ++
 .../apache/sis/storage/xml/stream/InputType.java   |  152 +
 .../sis/storage/xml/stream/NamespaceEraser.java    |  148 +
 .../apache/sis/storage/xml/stream/OutputType.java  |  187 ++
 .../sis/storage/xml/stream/RewriteOnUpdate.java    |  282 ++
 .../sis/storage/xml/stream/StaxDataStore.java      |  624 ++++
 .../storage/xml/stream/StaxDataStoreProvider.java  |   85 +
 .../sis/storage/xml/stream/StaxStreamIO.java       |  113 +
 .../sis/storage/xml/stream/StaxStreamReader.java   |  564 ++++
 .../sis/storage/xml/stream/StaxStreamWriter.java   |  340 ++
 .../sis/storage/xml/stream/package-info.java       |   30 +
 .../sis/internal/storage/gpx/MetadataTest.java     |  113 -
 .../sis/internal/storage/gpx/ReaderTest.java       |  643 ----
 .../apache/sis/internal/storage/gpx/TestData.java  |   91 -
 .../apache/sis/internal/storage/gpx/TypesTest.java |   84 -
 .../sis/internal/storage/gpx/UpdaterTest.java      |  188 --
 .../sis/internal/storage/gpx/WriterTest.java       |  398 ---
 .../{internal => }/storage/gpx/1.0/metadata.xml    |    0
 .../sis/{internal => }/storage/gpx/1.0/route.xml   |    0
 .../sis/{internal => }/storage/gpx/1.0/track.xml   |    0
 .../{internal => }/storage/gpx/1.0/waypoint.xml    |    0
 .../{internal => }/storage/gpx/1.1/metadata.xml    |    0
 .../sis/{internal => }/storage/gpx/1.1/route.xml   |    0
 .../sis/{internal => }/storage/gpx/1.1/track.xml   |    0
 .../{internal => }/storage/gpx/1.1/waypoint.xml    |    0
 .../org/apache/sis/storage/gpx/MetadataTest.java   |  113 +
 .../org/apache/sis/storage/gpx/ReaderTest.java     |  643 ++++
 .../test/org/apache/sis/storage/gpx/TestData.java  |   91 +
 .../test/org/apache/sis/storage/gpx/TypesTest.java |   84 +
 .../org/apache/sis/storage/gpx/UpdaterTest.java    |  188 ++
 .../org/apache/sis/storage/gpx/WriterTest.java     |  398 +++
 .../services/java.nio.file.spi.FileTypeDetector    |    2 +-
 .../org.apache.sis.storage.DataStoreProvider       |   14 +-
 .../org.apache.sis.storage/main/module-info.java   |   26 +-
 .../apache/sis/internal/storage/Capability.java    |  135 -
 .../org/apache/sis/internal/storage/CodeType.java  |  180 -
 .../internal/storage/DocumentedStoreProvider.java  |  109 -
 .../internal/storage/FeatureCatalogBuilder.java    |   84 -
 .../sis/internal/storage/GridResourceWrapper.java  |  257 --
 .../sis/internal/storage/MemoryFeatureSet.java     |   99 -
 .../sis/internal/storage/MemoryGridResource.java   |  189 --
 .../sis/internal/storage/MetadataBuilder.java      | 3440 -------------------
 .../apache/sis/internal/storage/PRJDataStore.java  |  519 ---
 .../sis/internal/storage/ResourceLineage.java      |  151 -
 .../sis/internal/storage/ResourceOnFileSystem.java |   73 -
 .../sis/internal/storage/ResourceTransaction.java  |   54 -
 .../org/apache/sis/internal/storage/Resources.java |  603 ----
 .../apache/sis/internal/storage/Resources_en.java  |   30 -
 .../apache/sis/internal/storage/Resources_fr.java  |   30 -
 .../apache/sis/internal/storage/StoreMetadata.java |  106 -
 .../apache/sis/internal/storage/StoreResource.java |   63 -
 .../sis/internal/storage/StoreTypeDetector.java    |   63 -
 .../sis/internal/storage/StoreUtilities.java       |  413 ---
 .../sis/internal/storage/TiledDeferredImage.java   |  109 -
 .../sis/internal/storage/TiledGridCoverage.java    |  890 -----
 .../sis/internal/storage/TiledGridResource.java    |  558 ----
 .../internal/storage/TransactionalResource.java    |   46 -
 .../apache/sis/internal/storage/URIDataStore.java  |  388 ---
 .../internal/storage/WritableResourceSupport.java  |  236 --
 .../sis/internal/storage/csv/FeatureIterator.java  |  263 --
 .../sis/internal/storage/csv/FixedSizeList.java    |   87 -
 .../apache/sis/internal/storage/csv/Foliation.java |   37 -
 .../sis/internal/storage/csv/GeometryParser.java   |   68 -
 .../internal/storage/csv/MovingFeatureBuilder.java |  298 --
 .../storage/csv/MovingFeatureIterator.java         |  169 -
 .../org/apache/sis/internal/storage/csv/Store.java |  858 -----
 .../sis/internal/storage/csv/StoreProvider.java    |  212 --
 .../sis/internal/storage/csv/TimeEncoding.java     |  114 -
 .../sis/internal/storage/csv/package-info.java     |   59 -
 .../sis/internal/storage/esri/AsciiGridStore.java  |  578 ----
 .../storage/esri/AsciiGridStoreProvider.java       |  154 -
 .../sis/internal/storage/esri/CharactersView.java  |  238 --
 .../sis/internal/storage/esri/RasterStore.java     |  520 ---
 .../sis/internal/storage/esri/RawRasterLayout.java |   47 -
 .../sis/internal/storage/esri/RawRasterReader.java |  263 --
 .../sis/internal/storage/esri/RawRasterStore.java  |  568 ----
 .../storage/esri/RawRasterStoreProvider.java       |  130 -
 .../sis/internal/storage/esri/WritableStore.java   |  314 --
 .../sis/internal/storage/esri/package-info.java    |   56 -
 .../internal/storage/folder/ConcurrentCloser.java  |  113 -
 .../apache/sis/internal/storage/folder/Store.java  |  458 ---
 .../sis/internal/storage/folder/StoreProvider.java |  300 --
 .../storage/folder/UnstructuredAggregate.java      |   42 -
 .../sis/internal/storage/folder/WritableStore.java |  245 --
 .../sis/internal/storage/folder/package-info.java  |   25 -
 .../sis/internal/storage/image/FormatFilter.java   |  250 --
 .../sis/internal/storage/image/FormatFinder.java   |  315 --
 .../internal/storage/image/MultiImageStore.java    |   61 -
 .../internal/storage/image/SingleImageStore.java   |  163 -
 .../internal/storage/image/WarningListener.java    |   69 -
 .../internal/storage/image/WorldFileResource.java  |  371 ---
 .../sis/internal/storage/image/WorldFileStore.java |  843 -----
 .../storage/image/WorldFileStoreProvider.java      |  184 --
 .../internal/storage/image/WritableResource.java   |   76 -
 .../storage/image/WritableSingleImageStore.java    |  181 -
 .../sis/internal/storage/image/WritableStore.java  |  523 ---
 .../sis/internal/storage/image/package-info.java   |   49 -
 .../sis/internal/storage/io/ByteRangeChannel.java  |   46 -
 .../apache/sis/internal/storage/io/ByteWriter.java |  213 --
 .../sis/internal/storage/io/ChannelData.java       |  431 ---
 .../sis/internal/storage/io/ChannelDataInput.java  |  987 ------
 .../sis/internal/storage/io/ChannelDataOutput.java |  700 ----
 .../sis/internal/storage/io/ChannelFactory.java    |  633 ----
 .../storage/io/ChannelImageInputStream.java        |  371 ---
 .../storage/io/ChannelImageOutputStream.java       |  163 -
 .../sis/internal/storage/io/DataTransfer.java      |  103 -
 .../internal/storage/io/FileCacheByteChannel.java  |  904 -----
 .../sis/internal/storage/io/HttpByteChannel.java   |  146 -
 .../internal/storage/io/HyperRectangleReader.java  |  220 --
 .../sis/internal/storage/io/IOUtilities.java       |  779 -----
 .../internal/storage/io/InputStreamAdapter.java    |  249 --
 .../storage/io/InputStreamArrayGetter.java         |  135 -
 .../sis/internal/storage/io/InternalOptionKey.java |   58 -
 .../apache/sis/internal/storage/io/Markable.java   |   92 -
 .../internal/storage/io/MemoryDataTransfer.java    |  140 -
 .../sis/internal/storage/io/NullChannel.java       |   76 -
 .../internal/storage/io/OutputStreamAdapter.java   |  147 -
 .../org/apache/sis/internal/storage/io/Region.java |  265 --
 .../internal/storage/io/RewindableLineReader.java  |  233 --
 .../sis/internal/storage/io/package-info.java      |   30 -
 .../apache/sis/internal/storage/package-info.java  |   31 -
 .../sis/internal/storage/wkt/FirstKeywordPeek.java |  280 --
 .../org/apache/sis/internal/storage/wkt/Store.java |  216 --
 .../sis/internal/storage/wkt/StoreFormat.java      |  176 -
 .../sis/internal/storage/wkt/StoreProvider.java    |  201 --
 .../sis/internal/storage/wkt/package-info.java     |   25 -
 .../sis/internal/storage/xml/AbstractProvider.java |  152 -
 .../internal/storage/xml/GeographicEnvelope.java   |  136 -
 .../sis/internal/storage/xml/MimeTypeDetector.java |  321 --
 .../org/apache/sis/internal/storage/xml/Store.java |  239 --
 .../sis/internal/storage/xml/StoreProvider.java    |   97 -
 .../sis/internal/storage/xml/package-info.java     |   32 -
 .../org/apache/sis/io/stream/ByteRangeChannel.java |   46 +
 .../main/org/apache/sis/io/stream/ByteWriter.java  |  213 ++
 .../main/org/apache/sis/io/stream/ChannelData.java |  431 +++
 .../org/apache/sis/io/stream/ChannelDataInput.java |  987 ++++++
 .../apache/sis/io/stream/ChannelDataOutput.java    |  700 ++++
 .../org/apache/sis/io/stream/ChannelFactory.java   |  633 ++++
 .../sis/io/stream/ChannelImageInputStream.java     |  371 +++
 .../sis/io/stream/ChannelImageOutputStream.java    |  163 +
 .../org/apache/sis/io/stream/DataTransfer.java     |  103 +
 .../apache/sis/io/stream/FileCacheByteChannel.java |  904 +++++
 .../org/apache/sis/io/stream/HttpByteChannel.java  |  146 +
 .../apache/sis/io/stream/HyperRectangleReader.java |  220 ++
 .../main/org/apache/sis/io/stream/IOUtilities.java |  779 +++++
 .../apache/sis/io/stream/InputStreamAdapter.java   |  249 ++
 .../sis/io/stream/InputStreamArrayGetter.java      |  135 +
 .../apache/sis/io/stream/InternalOptionKey.java    |   58 +
 .../main/org/apache/sis/io/stream/Markable.java    |   92 +
 .../apache/sis/io/stream/MemoryDataTransfer.java   |  140 +
 .../main/org/apache/sis/io/stream/NullChannel.java |   76 +
 .../apache/sis/io/stream/OutputStreamAdapter.java  |  147 +
 .../main/org/apache/sis/io/stream/Region.java      |  265 ++
 .../apache/sis/io/stream/RewindableLineReader.java |  233 ++
 .../org/apache/sis/io/stream/package-info.java     |   30 +
 .../org/apache/sis/storage/AbstractFeatureSet.java |    2 +-
 .../sis/storage/AbstractGridCoverageResource.java  |    8 +-
 .../org/apache/sis/storage/AbstractResource.java   |    4 +-
 .../sis/storage/ConcurrentReadException.java       |    2 +-
 .../sis/storage/ConcurrentWriteException.java      |    2 +-
 .../org/apache/sis/storage/CoverageSubset.java     |   12 +-
 .../main/org/apache/sis/storage/DataStore.java     |    6 +-
 .../sis/storage/DataStoreClosedException.java      |    4 +-
 .../org/apache/sis/storage/DataStoreException.java |    4 +-
 .../org/apache/sis/storage/DataStoreProvider.java  |    8 +-
 .../org/apache/sis/storage/DataStoreRegistry.java  |   12 +-
 .../main/org/apache/sis/storage/FeatureNaming.java |    4 +-
 .../main/org/apache/sis/storage/FeatureQuery.java  |   10 +-
 .../main/org/apache/sis/storage/FeatureSubset.java |    8 +-
 .../sis/storage/ForwardOnlyStorageException.java   |    4 +-
 .../sis/storage/IllegalFeatureTypeException.java   |    2 +-
 .../apache/sis/storage/IllegalNameException.java   |    2 +-
 .../sis/storage/IllegalOpenParameterException.java |    2 +-
 .../apache/sis/storage/NoSuchDataException.java    |    2 +-
 .../org/apache/sis/storage/ProbeInputStream.java   |    2 +-
 .../main/org/apache/sis/storage/ProbeReader.java   |    4 +-
 .../main/org/apache/sis/storage/ProbeResult.java   |    2 +-
 .../main/org/apache/sis/storage/Resource.java      |    2 +-
 .../org/apache/sis/storage/StorageConnector.java   |   28 +-
 .../sis/storage/UnsupportedStorageException.java   |    4 +-
 .../storage/aggregate/AggregatedFeatureSet.java    |    2 +-
 .../aggregate/BandAggregateGridResource.java       |   10 +-
 .../storage/aggregate/ConcatenatedFeatureSet.java  |    6 +-
 .../aggregate/ConcatenatedGridCoverage.java        |    6 +-
 .../aggregate/ConcatenatedGridResource.java        |   10 +-
 .../sis/storage/aggregate/CoverageAggregator.java  |    2 +-
 .../sis/storage/aggregate/DimensionSelector.java   |    2 +-
 .../apache/sis/storage/aggregate/GridSlice.java    |    4 +-
 .../org/apache/sis/storage/aggregate/Group.java    |    2 +-
 .../sis/storage/aggregate/GroupAggregate.java      |    6 +-
 .../sis/storage/aggregate/JoinFeatureSet.java      |    4 +-
 .../sis/storage/aggregate/MergeStrategy.java       |    4 +-
 .../org/apache/sis/storage/base/Capability.java    |  135 +
 .../main/org/apache/sis/storage/base/CodeType.java |  180 +
 .../sis/storage/base/DocumentedStoreProvider.java  |  110 +
 .../sis/storage/base/FeatureCatalogBuilder.java    |   84 +
 .../sis/storage/base/GridResourceWrapper.java      |  257 ++
 .../apache/sis/storage/base/MemoryFeatureSet.java  |   99 +
 .../sis/storage/base/MemoryGridResource.java       |  189 ++
 .../apache/sis/storage/base/MetadataBuilder.java   | 3441 ++++++++++++++++++++
 .../org/apache/sis/storage/base/PRJDataStore.java  |  520 +++
 .../apache/sis/storage/base/ResourceLineage.java   |  151 +
 .../sis/storage/base/ResourceOnFileSystem.java     |   73 +
 .../sis/storage/base/ResourceTransaction.java      |   54 +
 .../org/apache/sis/storage/base/StoreMetadata.java |  106 +
 .../org/apache/sis/storage/base/StoreResource.java |   63 +
 .../apache/sis/storage/base/StoreUtilities.java    |  414 +++
 .../sis/storage/base/TiledDeferredImage.java       |  109 +
 .../apache/sis/storage/base/TiledGridCoverage.java |  891 +++++
 .../apache/sis/storage/base/TiledGridResource.java |  558 ++++
 .../sis/storage/base/TransactionalResource.java    |   46 +
 .../org/apache/sis/storage/base/URIDataStore.java  |  389 +++
 .../org/apache/sis/storage/base/package-info.java  |   31 +
 .../apache/sis/storage/csv/FeatureIterator.java    |  263 ++
 .../org/apache/sis/storage/csv/FixedSizeList.java  |   87 +
 .../main/org/apache/sis/storage/csv/Foliation.java |   37 +
 .../org/apache/sis/storage/csv/GeometryParser.java |   68 +
 .../sis/storage/csv/MovingFeatureBuilder.java      |  298 ++
 .../sis/storage/csv/MovingFeatureIterator.java     |  169 +
 .../main/org/apache/sis/storage/csv/Store.java     |  858 +++++
 .../org/apache/sis/storage/csv/StoreProvider.java  |  212 ++
 .../org/apache/sis/storage/csv/TimeEncoding.java   |  114 +
 .../org/apache/sis/storage/csv/package-info.java   |   59 +
 .../apache/sis/storage/esri/AsciiGridStore.java    |  578 ++++
 .../sis/storage/esri/AsciiGridStoreProvider.java   |  154 +
 .../apache/sis/storage/esri/CharactersView.java    |  238 ++
 .../org/apache/sis/storage/esri/RasterStore.java   |  520 +++
 .../apache/sis/storage/esri/RawRasterLayout.java   |   47 +
 .../apache/sis/storage/esri/RawRasterReader.java   |  263 ++
 .../apache/sis/storage/esri/RawRasterStore.java    |  568 ++++
 .../sis/storage/esri/RawRasterStoreProvider.java   |  130 +
 .../org/apache/sis/storage/esri/WritableStore.java |  314 ++
 .../org/apache/sis/storage/esri/package-info.java  |   56 +
 .../org/apache/sis/storage/event/StoreEvent.java   |    2 +-
 .../apache/sis/storage/event/StoreListeners.java   |    8 +-
 .../sis/storage/folder/ConcurrentCloser.java       |  113 +
 .../main/org/apache/sis/storage/folder/Store.java  |  458 +++
 .../apache/sis/storage/folder/StoreProvider.java   |  300 ++
 .../sis/storage/folder/UnstructuredAggregate.java  |   42 +
 .../apache/sis/storage/folder/WritableStore.java   |  245 ++
 .../apache/sis/storage/folder/package-info.java    |   25 +
 .../org/apache/sis/storage/image/FormatFilter.java |  250 ++
 .../org/apache/sis/storage/image/FormatFinder.java |  315 ++
 .../apache/sis/storage/image/MultiImageStore.java  |   61 +
 .../apache/sis/storage/image/SingleImageStore.java |  163 +
 .../apache/sis/storage/image/WarningListener.java  |   69 +
 .../sis/storage/image/WorldFileResource.java       |  371 +++
 .../apache/sis/storage/image/WorldFileStore.java   |  843 +++++
 .../sis/storage/image/WorldFileStoreProvider.java  |  184 ++
 .../apache/sis/storage/image/WritableResource.java |   76 +
 .../storage/image/WritableSingleImageStore.java    |  181 +
 .../apache/sis/storage/image/WritableStore.java    |  523 +++
 .../org/apache/sis/storage/image/package-info.java |   49 +
 .../org/apache/sis/storage/internal/Resources.java |  603 ++++
 .../internal}/Resources.properties                 |    0
 .../apache/sis/storage/internal/Resources_en.java  |   30 +
 .../apache/sis/storage/internal/Resources_fr.java  |   30 +
 .../internal}/Resources_fr.properties              |    0
 .../sis/storage/internal/StoreTypeDetector.java    |   63 +
 .../storage/internal/WritableResourceSupport.java  |  237 ++
 .../apache/sis/storage/internal/package-info.java  |   30 +
 .../apache/sis/storage/wkt/FirstKeywordPeek.java   |  280 ++
 .../main/org/apache/sis/storage/wkt/Store.java     |  216 ++
 .../org/apache/sis/storage/wkt/StoreFormat.java    |  176 +
 .../org/apache/sis/storage/wkt/StoreProvider.java  |  201 ++
 .../org/apache/sis/storage/wkt/package-info.java   |   25 +
 .../apache/sis/storage/xml/AbstractProvider.java   |  152 +
 .../apache/sis/storage/xml/GeographicEnvelope.java |  136 +
 .../apache/sis/storage/xml/MimeTypeDetector.java   |  321 ++
 .../main/org/apache/sis/storage/xml/Store.java     |  239 ++
 .../org/apache/sis/storage/xml/StoreProvider.java  |   97 +
 .../org/apache/sis/storage/xml/package-info.java   |   37 +
 .../apache/sis/internal/storage/CodeTypeTest.java  |  136 -
 .../internal/storage/MemoryGridResourceTest.java   |   99 -
 .../sis/internal/storage/MetadataBuilderTest.java  |  163 -
 .../sis/internal/storage/StoreUtilitiesTest.java   |   52 -
 .../internal/storage/csv/StoreProviderTest.java    |   56 -
 .../apache/sis/internal/storage/csv/StoreTest.java |  224 --
 .../internal/storage/esri/AsciiGridStoreTest.java  |  138 -
 .../internal/storage/esri/BILConsistencyTest.java  |   78 -
 .../internal/storage/esri/BIPConsistencyTest.java  |   78 -
 .../internal/storage/esri/BSQConsistencyTest.java  |   78 -
 .../internal/storage/esri/WritableStoreTest.java   |  181 -
 .../sis/internal/storage/folder/StoreTest.java     |  126 -
 .../storage/image/SelfConsistencyTest.java         |   82 -
 .../internal/storage/image/WorldFileStoreTest.java |  188 --
 .../sis/internal/storage/io/ByteArrayChannel.java  |  167 -
 .../internal/storage/io/ChannelDataInputTest.java  |  226 --
 .../internal/storage/io/ChannelDataOutputTest.java |  443 ---
 .../internal/storage/io/ChannelDataTestCase.java   |  162 -
 .../storage/io/ChannelImageInputStreamTest.java    |  190 --
 .../storage/io/ChannelImageOutputStreamTest.java   |  181 -
 .../internal/storage/io/ComputedInputStream.java   |  148 -
 .../sis/internal/storage/io/DripByteChannel.java   |  114 -
 .../storage/io/FileCacheByteChannelTest.java       |  241 --
 .../storage/io/HyperRectangleReaderTest.java       |  226 --
 .../sis/internal/storage/io/IOUtilitiesTest.java   |  237 --
 .../storage/io/ImageInputStreamComparator.java     |  426 ---
 .../storage/io/InputStreamArrayGetterTest.java     |   68 -
 .../storage/io/MemoryCacheImageOutputStream.java   |   72 -
 .../storage/io/RewindableLineReaderTest.java       |  133 -
 .../internal/storage/wkt/StoreProviderTest.java    |   95 -
 .../apache/sis/internal/storage/wkt/StoreTest.java |  106 -
 .../internal/storage/xml/MimeTypeDetectorTest.java |  134 -
 .../internal/storage/xml/StoreProviderTest.java    |   59 -
 .../apache/sis/internal/storage/xml/StoreTest.java |  118 -
 .../org/apache/sis/io/stream/ByteArrayChannel.java |  167 +
 .../apache/sis/io/stream/ChannelDataInputTest.java |  226 ++
 .../sis/io/stream/ChannelDataOutputTest.java       |  443 +++
 .../apache/sis/io/stream/ChannelDataTestCase.java  |  162 +
 .../sis/io/stream/ChannelImageInputStreamTest.java |  190 ++
 .../io/stream/ChannelImageOutputStreamTest.java    |  181 +
 .../apache/sis/io/stream/ComputedInputStream.java  |  148 +
 .../org/apache/sis/io/stream/DripByteChannel.java  |  114 +
 .../sis/io/stream/FileCacheByteChannelTest.java    |  241 ++
 .../sis/io/stream/HyperRectangleReaderTest.java    |  226 ++
 .../org/apache/sis/io/stream/IOUtilitiesTest.java  |  237 ++
 .../sis/io/stream/ImageInputStreamComparator.java  |  426 +++
 .../sis/io/stream/InputStreamArrayGetterTest.java  |   68 +
 .../io/stream/MemoryCacheImageOutputStream.java    |   72 +
 .../sis/io/stream/RewindableLineReaderTest.java    |  133 +
 .../org/apache/sis/storage/CoverageQueryTest.java  |    2 +-
 .../org/apache/sis/storage/CoverageSubsetTest.java |    2 +-
 .../org/apache/sis/storage/DataStoresTest.java     |    2 +-
 .../org/apache/sis/storage/FeatureQueryTest.java   |    2 +-
 .../org/apache/sis/storage/GridResourceMock.java   |    4 +-
 .../apache/sis/storage/StorageConnectorTest.java   |    8 +-
 .../aggregate/BandAggregateGridResourceTest.java   |    2 +-
 .../aggregate/ConcatenatedFeatureSetTest.java      |    2 +-
 .../sis/storage/aggregate/JoinFeatureSetTest.java  |    4 +-
 .../sis/storage/aggregate/OpaqueGridResource.java  |    2 +-
 .../org/apache/sis/storage/base/CodeTypeTest.java  |  136 +
 .../sis/storage/base/MemoryGridResourceTest.java   |   99 +
 .../sis/storage/base/MetadataBuilderTest.java      |  163 +
 .../sis/storage/base/StoreUtilitiesTest.java       |   52 +
 .../apache/sis/storage/csv/StoreProviderTest.java  |   56 +
 .../test/org/apache/sis/storage/csv/StoreTest.java |  224 ++
 .../sis/storage/esri/AsciiGridStoreTest.java       |  138 +
 .../apache/sis/{internal => }/storage/esri/BIL.hdr |    0
 .../apache/sis/{internal => }/storage/esri/BIL.raw |  Bin
 .../sis/storage/esri/BILConsistencyTest.java       |   78 +
 .../apache/sis/{internal => }/storage/esri/BIP.hdr |    0
 .../apache/sis/{internal => }/storage/esri/BIP.raw |  Bin
 .../apache/sis/{internal => }/storage/esri/BIP.stx |    0
 .../sis/storage/esri/BIPConsistencyTest.java       |   78 +
 .../apache/sis/{internal => }/storage/esri/BSQ.hdr |    0
 .../apache/sis/{internal => }/storage/esri/BSQ.raw |  Bin
 .../sis/storage/esri/BSQConsistencyTest.java       |   78 +
 .../apache/sis/storage/esri/WritableStoreTest.java |  181 +
 .../sis/{internal => }/storage/esri/grid.asc       |    0
 .../sis/{internal => }/storage/esri/grid.clr       |    0
 .../sis/{internal => }/storage/esri/grid.prj       |    0
 .../org/apache/sis/storage/folder/StoreTest.java   |  126 +
 .../storage/folder/test-data/README.txt            |    0
 .../storage/folder/test-data/crs.prj               |    0
 .../storage/folder/test-data/data1.xml             |    0
 .../storage/folder/test-data/data2.xml             |    0
 .../storage/folder/test-data/data3.xml             |    0
 .../storage/folder/test-data/data4/data5.xml       |    0
 .../sis/{internal => }/storage/image/README.md     |    0
 .../sis/storage/image/SelfConsistencyTest.java     |   82 +
 .../sis/storage/image/WorldFileStoreTest.java      |  188 ++
 .../sis/{internal => }/storage/image/gradient.pgw  |    0
 .../sis/{internal => }/storage/image/gradient.png  |  Bin
 .../sis/{internal => }/storage/image/gradient.prj  |    0
 .../apache/sis/storage/wkt/StoreProviderTest.java  |   95 +
 .../test/org/apache/sis/storage/wkt/StoreTest.java |  106 +
 .../sis/storage/xml/MimeTypeDetectorTest.java      |  134 +
 .../apache/sis/storage/xml/StoreProviderTest.java  |   59 +
 .../test/org/apache/sis/storage/xml/StoreTest.java |  118 +
 .../sis/test/storage/CoverageReadConsistency.java  |    4 +-
 .../apache/sis/test/storage/SubsampledImage.java   |    2 +-
 .../services/org.apache.sis.util.ObjectConverter   |   80 +-
 .../src/org.apache.sis.util/main/module-info.java  |   92 +-
 .../org/apache/sis/converter/AngleConverter.java   |  161 +
 .../org/apache/sis/converter/ArrayConverter.java   |  108 +
 .../sis/converter/CharSequenceConverter.java       |   91 +
 .../main/org/apache/sis/converter/ClassPair.java   |  166 +
 .../apache/sis/converter/CollectionConverter.java  |  110 +
 .../main/org/apache/sis/converter/Column.java      |  117 +
 .../apache/sis/converter/ConverterRegistry.java    |  607 ++++
 .../org/apache/sis/converter/DateConverter.java    |  185 ++
 .../apache/sis/converter/FallbackConverter.java    |  374 +++
 .../apache/sis/converter/FractionConverter.java    |  135 +
 .../apache/sis/converter/IdentityConverter.java    |  108 +
 .../org/apache/sis/converter/NumberConverter.java  |  186 ++
 .../org/apache/sis/converter/ObjectToString.java   |  164 +
 .../org/apache/sis/converter/PathConverter.java    |  278 ++
 .../org/apache/sis/converter/StringConverter.java  |  403 +++
 .../apache/sis/converter/SurjectiveConverter.java  |   80 +
 .../org/apache/sis/converter/SystemConverter.java  |  182 ++
 .../org/apache/sis/converter/SystemRegistry.java   |  231 ++
 .../org/apache/sis/converter/package-info.java     |   43 +
 .../sis/internal/converter/AngleConverter.java     |  161 -
 .../sis/internal/converter/ArrayConverter.java     |  108 -
 .../internal/converter/CharSequenceConverter.java  |   91 -
 .../apache/sis/internal/converter/ClassPair.java   |  166 -
 .../internal/converter/CollectionConverter.java    |  110 -
 .../org/apache/sis/internal/converter/Column.java  |  117 -
 .../sis/internal/converter/ConverterRegistry.java  |  607 ----
 .../sis/internal/converter/DateConverter.java      |  185 --
 .../sis/internal/converter/FallbackConverter.java  |  374 ---
 .../sis/internal/converter/FractionConverter.java  |  135 -
 .../sis/internal/converter/IdentityConverter.java  |  108 -
 .../sis/internal/converter/NumberConverter.java    |  186 --
 .../sis/internal/converter/ObjectToString.java     |  164 -
 .../sis/internal/converter/PathConverter.java      |  278 --
 .../sis/internal/converter/StringConverter.java    |  403 ---
 .../internal/converter/SurjectiveConverter.java    |   80 -
 .../sis/internal/converter/SystemConverter.java    |  182 --
 .../sis/internal/converter/SystemRegistry.java     |  231 --
 .../sis/internal/converter/package-info.java       |   43 -
 .../org/apache/sis/internal/jdk17/HexFormat.java   |   78 -
 .../main/org/apache/sis/internal/jdk17/JDK17.java  |   99 -
 .../main/org/apache/sis/internal/jdk17/Record.java |   34 -
 .../apache/sis/internal/jdk17/package-info.java    |   30 -
 .../apache/sis/internal/system/CommonExecutor.java |  133 -
 .../apache/sis/internal/system/Configuration.java  |   91 -
 .../apache/sis/internal/system/DaemonThread.java   |  177 -
 .../apache/sis/internal/system/DataDirectory.java  |  227 --
 .../sis/internal/system/DelayedExecutor.java       |  173 -
 .../sis/internal/system/DelayedRunnable.java       |  143 -
 .../sis/internal/system/Descriptions.properties    |    7 -
 .../sis/internal/system/Descriptions_fr.properties |    7 -
 .../org/apache/sis/internal/system/Fallback.java   |   43 -
 .../sis/internal/system/LocalizedStaticObject.java |   42 -
 .../org/apache/sis/internal/system/Loggers.java    |  224 --
 .../org/apache/sis/internal/system/Modules.java    |  138 -
 .../sis/internal/system/OptionalDependency.java    |   88 -
 .../internal/system/ReferenceQueueConsumer.java    |  137 -
 .../org/apache/sis/internal/system/Reflect.java    |  106 -
 .../org/apache/sis/internal/system/Semaphores.java |  150 -
 .../org/apache/sis/internal/system/Shutdown.java   |  208 --
 .../org/apache/sis/internal/system/Supervisor.java |  233 --
 .../sis/internal/system/SupervisorMBean.java       |   55 -
 .../apache/sis/internal/system/SystemListener.java |  154 -
 .../org/apache/sis/internal/system/Threads.java    |  103 -
 .../apache/sis/internal/system/package-info.java   |   30 -
 .../sis/internal/temporal/DefaultInstant.java      |   65 -
 .../sis/internal/temporal/DefaultPeriod.java       |   71 -
 .../internal/temporal/DefaultPeriodDuration.java   |   87 -
 .../internal/temporal/DefaultTemporalFactory.java  |  155 -
 .../apache/sis/internal/temporal/Primitive.java    |   74 -
 .../apache/sis/internal/temporal/package-info.java |   26 -
 .../apache/sis/internal/util/AbstractIterator.java |   66 -
 .../org/apache/sis/internal/util/AbstractMap.java  |  714 ----
 .../apache/sis/internal/util/AbstractMapEntry.java |  103 -
 .../main/org/apache/sis/internal/util/Acyclic.java |   41 -
 .../internal/util/ArgumentCheckByAssertion.java    |   39 -
 .../sis/internal/util/AutoMessageFormat.java       |  113 -
 .../main/org/apache/sis/internal/util/Bag.java     |  103 -
 .../apache/sis/internal/util/CheckedArrayList.java |  334 --
 .../apache/sis/internal/util/CheckedHashSet.java   |  123 -
 .../org/apache/sis/internal/util/CloneAccess.java  |   48 -
 .../main/org/apache/sis/internal/util/Cloner.java  |  271 --
 .../org/apache/sis/internal/util/CodeLists.java    |  162 -
 .../apache/sis/internal/util/CollectionsExt.java   |  895 -----
 .../org/apache/sis/internal/util/Constants.java    |  263 --
 .../apache/sis/internal/util/DefinitionURI.java    |  735 -----
 .../org/apache/sis/internal/util/DoubleDouble.java |  920 ------
 .../org/apache/sis/internal/util/EmptyQueue.java   |   71 -
 .../sis/internal/util/ListOfUnknownSize.java       |  262 --
 .../sis/internal/util/LocalizedParseException.java |  197 --
 .../apache/sis/internal/util/MetadataServices.java |  209 --
 .../org/apache/sis/internal/util/Numerics.java     |  672 ----
 .../apache/sis/internal/util/PropertyFormat.java   |  238 --
 .../apache/sis/internal/util/SetOfUnknownSize.java |  202 --
 .../sis/internal/util/SimpleCharacterIterator.java |  196 --
 .../sis/internal/util/StandardDateFormat.java      |  551 ----
 .../main/org/apache/sis/internal/util/Strings.java |  413 ---
 .../sis/internal/util/TreeFormatCustomization.java |   53 -
 .../main/org/apache/sis/internal/util/URLs.java    |   66 -
 .../sis/internal/util/UnmodifiableArrayList.java   |  437 ---
 .../main/org/apache/sis/internal/util/X364.java    |  308 --
 .../org/apache/sis/internal/util/package-info.java |   36 -
 .../main/org/apache/sis/io/CompoundFormat.java     |    6 +-
 .../main/org/apache/sis/io/DefaultFormat.java      |    2 +-
 .../org/apache/sis/io/IdentifiedObjectFormat.java  |    4 +-
 .../main/org/apache/sis/io/LineAppender.java       |    2 +-
 .../main/org/apache/sis/io/TableAppender.java      |    2 +-
 .../main/org/apache/sis/math/ArrayVector.java      |    2 +-
 .../main/org/apache/sis/math/DecimalFunctions.java |    4 +-
 .../main/org/apache/sis/math/Fraction.java         |    2 +-
 .../main/org/apache/sis/math/Line.java             |    6 +-
 .../org/apache/sis/math/LinearlyDerivedVector.java |    2 +-
 .../main/org/apache/sis/math/MathFunctions.java    |    6 +-
 .../main/org/apache/sis/math/Plane.java            |    6 +-
 .../main/org/apache/sis/math/Statistics.java       |    4 +-
 .../main/org/apache/sis/math/StatisticsFormat.java |    2 +-
 .../main/org/apache/sis/math/Vector.java           |    4 +-
 .../main/org/apache/sis/measure/AbstractUnit.java  |    4 +-
 .../main/org/apache/sis/measure/Angle.java         |    2 +-
 .../main/org/apache/sis/measure/AngleFormat.java   |    4 +-
 .../sis/measure/FormattedCharacterIterator.java    |    4 +-
 .../org/apache/sis/measure/LinearConverter.java    |    4 +-
 .../main/org/apache/sis/measure/NumberRange.java   |    2 +-
 .../main/org/apache/sis/measure/Prefixes.java      |    2 +-
 .../main/org/apache/sis/measure/Range.java         |    4 +-
 .../main/org/apache/sis/measure/RangeFormat.java   |    6 +-
 .../main/org/apache/sis/measure/Scalar.java        |    2 +-
 .../apache/sis/measure/SexagesimalConverter.java   |    2 +-
 .../main/org/apache/sis/measure/SystemUnit.java    |    2 +-
 .../main/org/apache/sis/measure/UnitDimension.java |    4 +-
 .../main/org/apache/sis/measure/UnitFormat.java    |    6 +-
 .../main/org/apache/sis/measure/UnitServices.java  |    2 +-
 .../main/org/apache/sis/measure/Units.java         |    2 +-
 .../main/org/apache/sis/pending/jdk/HexFormat.java |   78 +
 .../main/org/apache/sis/pending/jdk/JDK17.java     |   99 +
 .../main/org/apache/sis/pending/jdk/Record.java    |   34 +
 .../org/apache/sis/pending/jdk/package-info.java   |   30 +
 .../sis/pending/temporal/DefaultInstant.java       |   65 +
 .../apache/sis/pending/temporal/DefaultPeriod.java |   71 +
 .../pending/temporal/DefaultPeriodDuration.java    |   87 +
 .../pending/temporal/DefaultTemporalFactory.java   |  155 +
 .../org/apache/sis/pending/temporal/Primitive.java |   74 +
 .../apache/sis/pending/temporal/package-info.java  |   26 +
 .../main/org/apache/sis/setup/About.java           |   16 +-
 .../main/org/apache/sis/setup/Configuration.java   |    2 +-
 .../apache/sis/setup/InstallationResources.java    |    8 +-
 .../main/org/apache/sis/setup/OptionKey.java       |    2 +-
 .../apache/sis/setup/OptionalInstallations.java    |    6 +-
 .../main/org/apache/sis/system/CommonExecutor.java |  133 +
 .../main/org/apache/sis/system/Configuration.java  |   91 +
 .../main/org/apache/sis/system/DaemonThread.java   |  177 +
 .../main/org/apache/sis/system/DataDirectory.java  |  227 ++
 .../org/apache/sis/system/DelayedExecutor.java     |  173 +
 .../org/apache/sis/system/DelayedRunnable.java     |  143 +
 .../org/apache/sis/system/Descriptions.properties  |    7 +
 .../apache/sis/system/Descriptions_fr.properties   |    7 +
 .../main/org/apache/sis/system/Fallback.java       |   43 +
 .../apache/sis/system/LocalizedStaticObject.java   |   42 +
 .../main/org/apache/sis/system/Loggers.java        |  224 ++
 .../main/org/apache/sis/system/Modules.java        |  138 +
 .../org/apache/sis/system/OptionalDependency.java  |   88 +
 .../apache/sis/system/ReferenceQueueConsumer.java  |  137 +
 .../main/org/apache/sis/system/Reflect.java        |  106 +
 .../main/org/apache/sis/system/Semaphores.java     |  150 +
 .../main/org/apache/sis/system/Shutdown.java       |  208 ++
 .../main/org/apache/sis/system/Supervisor.java     |  233 ++
 .../org/apache/sis/system/SupervisorMBean.java     |   55 +
 .../main/org/apache/sis/system/SystemListener.java |  154 +
 .../main/org/apache/sis/system/Threads.java        |  103 +
 .../main/org/apache/sis/system/package-info.java   |   30 +
 .../sis/util/AbstractInternationalString.java      |    2 +-
 .../main/org/apache/sis/util/ArgumentChecks.java   |    2 +-
 .../main/org/apache/sis/util/Characters.java       |    4 +-
 .../main/org/apache/sis/util/Classes.java          |    2 +-
 .../main/org/apache/sis/util/Numbers.java          |    4 +-
 .../main/org/apache/sis/util/ObjectConverters.java |    4 +-
 .../main/org/apache/sis/util/Version.java          |    4 +-
 .../main/org/apache/sis/util/collection/Cache.java |    6 +-
 .../apache/sis/util/collection/CodeListSet.java    |    4 +-
 .../org/apache/sis/util/collection/Containers.java |    2 +-
 .../sis/util/collection/DefaultTreeTable.java      |    6 +-
 .../org/apache/sis/util/collection/DerivedSet.java |    2 +-
 .../apache/sis/util/collection/IntegerList.java    |    2 +-
 .../sis/util/collection/TreeTableFormat.java       |    8 +-
 .../org/apache/sis/util/collection/WeakEntry.java  |    4 +-
 .../apache/sis/util/collection/WeakHashSet.java    |    2 +-
 .../sis/util/collection/WeakValueHashMap.java      |    2 +-
 .../apache/sis/util/internal/AbstractIterator.java |   66 +
 .../org/apache/sis/util/internal/AbstractMap.java  |  714 ++++
 .../apache/sis/util/internal/AbstractMapEntry.java |  103 +
 .../main/org/apache/sis/util/internal/Acyclic.java |   41 +
 .../util/internal/ArgumentCheckByAssertion.java    |   39 +
 .../sis/util/internal/AutoMessageFormat.java       |  113 +
 .../main/org/apache/sis/util/internal/Bag.java     |  103 +
 .../apache/sis/util/internal/CheckedArrayList.java |  334 ++
 .../apache/sis/util/internal/CheckedHashSet.java   |  123 +
 .../org/apache/sis/util/internal/CloneAccess.java  |   48 +
 .../main/org/apache/sis/util/internal/Cloner.java  |  271 ++
 .../org/apache/sis/util/internal/CodeLists.java    |  162 +
 .../apache/sis/util/internal/CollectionsExt.java   |  895 +++++
 .../org/apache/sis/util/internal/Constants.java    |  263 ++
 .../apache/sis/util/internal/DefinitionURI.java    |  735 +++++
 .../org/apache/sis/util/internal/DoubleDouble.java |  920 ++++++
 .../org/apache/sis/util/internal/EmptyQueue.java   |   71 +
 .../sis/util/internal/ListOfUnknownSize.java       |  262 ++
 .../sis/util/internal/LocalizedParseException.java |  197 ++
 .../apache/sis/util/internal/MetadataServices.java |  209 ++
 .../org/apache/sis/util/internal/Numerics.java     |  672 ++++
 .../apache/sis/util/internal/PropertyFormat.java   |  238 ++
 .../apache/sis/util/internal/SetOfUnknownSize.java |  202 ++
 .../sis/util/internal/SimpleCharacterIterator.java |  196 ++
 .../sis/util/internal/StandardDateFormat.java      |  551 ++++
 .../main/org/apache/sis/util/internal/Strings.java |  413 +++
 .../sis/util/internal/TreeFormatCustomization.java |   53 +
 .../main/org/apache/sis/util/internal/URLs.java    |   66 +
 .../sis/util/internal/UnmodifiableArrayList.java   |  437 +++
 .../main/org/apache/sis/util/internal/X364.java    |  308 ++
 .../org/apache/sis/util/internal/package-info.java |   36 +
 .../org/apache/sis/util/logging/Initializer.java   |    4 +-
 .../main/org/apache/sis/util/logging/Logging.java  |    4 +-
 .../apache/sis/util/logging/MonolineFormatter.java |   12 +-
 .../apache/sis/util/logging/PerformanceLevel.java  |    2 +-
 .../main/org/apache/sis/util/resources/Errors.java |    5 +
 .../apache/sis/util/resources/Errors.properties    |    1 +
 .../apache/sis/util/resources/Errors_fr.properties |    1 +
 .../sis/util/resources/IndexedResourceBundle.java  |   10 +-
 .../apache/sis/converter/AngleConverterTest.java   |   58 +
 .../apache/sis/converter/ArrayConverterTest.java   |   72 +
 .../sis/converter/ConverterRegistryTest.java       |  429 +++
 .../sis/converter/FallbackConverterTest.java       |  186 ++
 .../apache/sis/converter/NumberConverterTest.java  |  227 ++
 .../apache/sis/converter/PathConverterTest.java    |  192 ++
 .../apache/sis/converter/StringConverterTest.java  |  334 ++
 .../apache/sis/converter/SystemRegistryTest.java   |  203 ++
 .../sis/internal/converter/AngleConverterTest.java |   58 -
 .../sis/internal/converter/ArrayConverterTest.java |   72 -
 .../internal/converter/ConverterRegistryTest.java  |  429 ---
 .../internal/converter/FallbackConverterTest.java  |  186 --
 .../internal/converter/NumberConverterTest.java    |  227 --
 .../sis/internal/converter/PathConverterTest.java  |  192 --
 .../internal/converter/StringConverterTest.java    |  334 --
 .../sis/internal/converter/SystemRegistryTest.java |  203 --
 .../apache/sis/internal/system/LoggersTest.java    |   49 -
 .../system/ReferenceQueueConsumerTest.java         |   57 -
 .../org/apache/sis/internal/test/AssertTest.java   |   72 -
 .../sis/internal/test/TestUtilitiesTest.java       |   61 -
 .../org/apache/sis/internal/test/package-info.java |   25 -
 .../apache/sis/internal/util/AbstractMapTest.java  |  202 --
 .../test/org/apache/sis/internal/util/BagTest.java |   85 -
 .../sis/internal/util/CheckedArrayListTest.java    |  167 -
 .../sis/internal/util/CollectionsExtTest.java      |  182 --
 .../sis/internal/util/DefinitionURITest.java       |  252 --
 .../apache/sis/internal/util/DoubleDoubleTest.java |  423 ---
 .../sis/internal/util/ListOfUnknownSizeTest.java   |   65 -
 .../internal/util/LocalizedParseExceptionTest.java |   79 -
 .../org/apache/sis/internal/util/NumericsTest.java |  240 --
 .../sis/internal/util/StandardDateFormatTest.java  |  157 -
 .../org/apache/sis/internal/util/StringsTest.java  |   58 -
 .../org/apache/sis/internal/util/X364Test.java     |   72 -
 .../test/org/apache/sis/io/LineAppenderTest.java   |    2 +-
 .../test/org/apache/sis/io/TableAppenderTest.java  |    2 +-
 .../test/org/apache/sis/io/WordWrapTest.java       |    2 +-
 .../org/apache/sis/math/DecimalFunctionsTest.java  |    2 +-
 .../test/org/apache/sis/math/LineTest.java         |    2 +-
 .../org/apache/sis/math/MathFunctionsTest.java     |    4 +-
 .../test/org/apache/sis/math/PlaneTest.java        |    2 +-
 .../measure/FormattedCharacterIteratorTest.java    |    2 +-
 .../org/apache/sis/measure/RangeFormatTest.java    |    2 +-
 .../test/org/apache/sis/measure/UnitsTest.java     |    2 +-
 .../test/org/apache/sis/system/LoggersTest.java    |   49 +
 .../sis/system/ReferenceQueueConsumerTest.java     |   57 +
 .../test/org/apache/sis/test/Assume.java           |    2 +-
 .../org/apache/sis/test/LogRecordCollector.java    |    2 +-
 .../test/org/apache/sis/test/OptionalTestData.java |    2 +-
 .../test/org/apache/sis/test/TestCase.java         |    2 +-
 .../test/org/apache/sis/test/TestUtilities.java    |    4 +-
 .../test/org/apache/sis/test/self/AssertTest.java  |   72 +
 .../apache/sis/test/self/TestUtilitiesTest.java    |   61 +
 .../org/apache/sis/test/self/package-info.java     |   25 +
 .../org/apache/sis/util/collection/CacheTest.java  |    2 +-
 .../sis/util/collection/CodeListSetTest.java       |   26 +-
 .../apache/sis/util/collection/RangeSetTest.java   |    4 +-
 .../apache/sis/util/internal/AbstractMapTest.java  |  202 ++
 .../test/org/apache/sis/util/internal/BagTest.java |   85 +
 .../sis/util/internal/CheckedArrayListTest.java    |  167 +
 .../sis/util/internal/CollectionsExtTest.java      |  182 ++
 .../sis/util/internal/DefinitionURITest.java       |  252 ++
 .../apache/sis/util/internal/DoubleDoubleTest.java |  423 +++
 .../sis/util/internal/ListOfUnknownSizeTest.java   |   65 +
 .../util/internal/LocalizedParseExceptionTest.java |   79 +
 .../org/apache/sis/util/internal/NumericsTest.java |  240 ++
 .../sis/util/internal/StandardDateFormatTest.java  |  157 +
 .../org/apache/sis/util/internal/StringsTest.java  |   58 +
 .../org/apache/sis/util/internal/X364Test.java     |   72 +
 .../sis/util/logging/MonolineFormatterTest.java    |    2 +-
 geoapi/README.md                                   |    4 +-
 .../main/antlr/org/apache/sis/cql/internal/CQL.g4  |  301 ++
 .../main/antlr/org/apache/sis/internal/cql/CQL.g4  |  301 --
 .../main/org/apache/sis/cql/CQL.java               |   32 +-
 .../org/apache/sis/cql/FilterToCQLVisitor.java     |   10 +-
 .../sis/{internal/cql => cql/internal}/.gitignore  |    0
 .../main/org/apache/sis/cql/internal/AntlrCQL.java |  113 +
 .../main/org/apache/sis/internal/cql/AntlrCQL.java |  113 -
 .../test/org/apache/sis/cql/CQLTestCase.java       |    2 +-
 .../test/org/apache/sis/cql/FilterReadingTest.java |    2 +-
 .../test/org/apache/sis/cql/FilterWritingTest.java |    2 +-
 .../apache/sis/internal/shapefile/AutoChecker.java |  184 --
 ...nvalidRecordNumberForDirectAccessException.java |   64 -
 .../SQLNoDirectAccessAvailableException.java       |   49 -
 .../shapefile/SQLShapefileNotFoundException.java   |   49 -
 .../internal/shapefile/ShapefileByteReader.java    |  465 ---
 .../internal/shapefile/ShapefileDescriptor.java    |  200 --
 .../shapefile/jdbc/AbstractDbase3ByteReader.java   |  282 --
 .../sis/internal/shapefile/jdbc/AbstractJDBC.java  |  161 -
 .../internal/shapefile/jdbc/CommonByteReader.java  |  131 -
 .../sis/internal/shapefile/jdbc/DBFDriver.java     |  144 -
 .../shapefile/jdbc/DBase3FieldDescriptor.java      |  149 -
 .../sis/internal/shapefile/jdbc/DBaseDataType.java |  102 -
 .../internal/shapefile/jdbc/Dbase3ByteReader.java  |  130 -
 .../internal/shapefile/jdbc/MappedByteReader.java  |  308 --
 .../jdbc/SQLConnectionClosedException.java         |   63 -
 .../jdbc/SQLDbaseFileNotFoundException.java        |   49 -
 .../jdbc/SQLInvalidDbaseFileFormatException.java   |   49 -
 .../jdbc/connection/AbstractConnection.java        |  417 ---
 .../shapefile/jdbc/connection/DBFConnection.java   |  335 --
 .../connection/SQLClosingIOFailureException.java   |   63 -
 .../shapefile/jdbc/connection/package-info.java    |   19 -
 .../jdbc/metadata/AbstractDatabaseMetaData.java    |  202 --
 .../jdbc/metadata/DBFDatabaseMetaData.java         | 1300 --------
 .../jdbc/metadata/DBFResultSetMataData.java        |  473 ---
 .../shapefile/jdbc/metadata/package-info.java      |   21 -
 .../sis/internal/shapefile/jdbc/package-info.java  |   25 -
 .../jdbc/resultset/AbstractResultSet.java          |  706 ----
 .../jdbc/resultset/BuiltInMemoryResultSet.java     |  195 --
 ...iltInMemoryResultSetForCatalogNamesListing.java |   51 -
 ...DBFBuiltInMemoryResultSetForColumnsListing.java |  460 ---
 .../DBFBuiltInMemoryResultSetForSchemaListing.java |   51 -
 .../DBFBuiltInMemoryResultSetForTablesListing.java |   88 -
 ...uiltInMemoryResultSetForTablesTypesListing.java |   74 -
 .../jdbc/resultset/DBFRecordBasedResultSet.java    |  609 ----
 .../shapefile/jdbc/resultset/DBFResultSet.java     |  965 ------
 .../resultset/SQLIllegalColumnIndexException.java  |   76 -
 .../jdbc/resultset/SQLNoResultException.java       |   63 -
 .../jdbc/resultset/SQLNoSuchFieldException.java    |   76 -
 .../jdbc/resultset/SQLNotDateException.java        |   89 -
 .../jdbc/resultset/SQLNotNumericException.java     |   89 -
 .../shapefile/jdbc/resultset/package-info.java     |   21 -
 .../shapefile/jdbc/sql/ClauseResolver.java         |  391 ---
 .../jdbc/sql/ConditionalClauseResolver.java        |   38 -
 .../shapefile/jdbc/sql/CrudeSQLParser.java         |  137 -
 .../jdbc/sql/SQLIllegalParameterException.java     |   89 -
 .../jdbc/sql/SQLInvalidStatementException.java     |   63 -
 .../sql/SQLUnsupportedParsingFeatureException.java |   63 -
 .../internal/shapefile/jdbc/sql/package-info.java  |   20 -
 .../jdbc/statement/AbstractStatement.java          |  307 --
 .../shapefile/jdbc/statement/DBFStatement.java     |  243 --
 .../shapefile/jdbc/statement/package-info.java     |   19 -
 .../sis/internal/shapefile/package-info.java       |   24 -
 .../sis/storage/shapefile/InputFeatureStream.java  |   24 +-
 .../apache/sis/storage/shapefile/ShapeFile.java    |    4 +-
 .../storage/shapefile/internal/AutoChecker.java    |  184 ++
 ...nvalidRecordNumberForDirectAccessException.java |   64 +
 .../SQLNoDirectAccessAvailableException.java       |   49 +
 .../internal/SQLShapefileNotFoundException.java    |   49 +
 .../shapefile/internal/ShapefileByteReader.java    |  465 +++
 .../internal}/ShapefileByteReader.properties       |    0
 .../internal}/ShapefileByteReader_fr.properties    |    0
 .../shapefile/internal/ShapefileDescriptor.java    |  200 ++
 .../storage/shapefile/internal/package-info.java   |   24 +
 .../shapefile/jdbc/AbstractDbase3ByteReader.java   |  282 ++
 .../jdbc/AbstractDbase3ByteReader.properties       |    0
 .../jdbc/AbstractDbase3ByteReader_fr.properties    |    0
 .../sis/storage/shapefile/jdbc/AbstractJDBC.java   |  161 +
 .../shapefile/jdbc/AbstractJDBC.properties         |    0
 .../shapefile/jdbc/AbstractJDBC_fr.properties      |    0
 .../storage/shapefile/jdbc/CommonByteReader.java   |  131 +
 .../shapefile/jdbc/CommonByteReader.properties     |    0
 .../sis/storage/shapefile/jdbc/DBFDriver.java      |  144 +
 .../shapefile/jdbc/DBase3FieldDescriptor.java      |  149 +
 .../jdbc/DBase3FieldDescriptor.properties          |    0
 .../jdbc/DBase3FieldDescriptor_fr.properties       |    0
 .../sis/storage/shapefile/jdbc/DBaseDataType.java  |  102 +
 .../storage/shapefile/jdbc/Dbase3ByteReader.java   |  130 +
 .../storage/shapefile/jdbc/MappedByteReader.java   |  308 ++
 .../shapefile/jdbc/MappedByteReader.properties     |    0
 .../shapefile/jdbc/MappedByteReader_fr.properties  |    0
 .../jdbc/SQLConnectionClosedException.java         |   63 +
 .../jdbc/SQLDbaseFileNotFoundException.java        |   49 +
 .../jdbc/SQLInvalidDbaseFileFormatException.java   |   49 +
 .../jdbc/connection/AbstractConnection.java        |  417 +++
 .../jdbc/connection/AbstractConnection.properties  |    0
 .../connection/AbstractConnection_fr.properties    |    0
 .../shapefile/jdbc/connection/DBFConnection.java   |  335 ++
 .../jdbc/connection/DBFConnection.properties       |    0
 .../jdbc/connection/DBFConnection_fr.properties    |    0
 .../connection/SQLClosingIOFailureException.java   |   63 +
 .../shapefile/jdbc/connection/package-info.java    |   19 +
 .../jdbc/metadata/AbstractDatabaseMetaData.java    |  202 ++
 .../jdbc/metadata/DBFDatabaseMetaData.java         | 1300 ++++++++
 .../jdbc/metadata/DBFResultSetMataData.java        |  473 +++
 .../jdbc/metadata/DBFResultSetMataData.properties  |    0
 .../metadata/DBFResultSetMataData_fr.properties    |    0
 .../shapefile/jdbc/metadata/package-info.java      |   21 +
 .../sis/storage/shapefile/jdbc/package-info.java   |   25 +
 .../jdbc/resultset/AbstractResultSet.java          |  706 ++++
 .../jdbc/resultset/AbstractResultSet.properties    |    0
 .../jdbc/resultset/AbstractResultSet_fr.properties |    0
 .../jdbc/resultset/BuiltInMemoryResultSet.java     |  195 ++
 ...iltInMemoryResultSetForCatalogNamesListing.java |   51 +
 ...DBFBuiltInMemoryResultSetForColumnsListing.java |  460 +++
 ...ltInMemoryResultSetForColumnsListing.properties |    0
 ...nMemoryResultSetForColumnsListing_fr.properties |    0
 .../DBFBuiltInMemoryResultSetForSchemaListing.java |   51 +
 .../DBFBuiltInMemoryResultSetForTablesListing.java |   88 +
 ...iltInMemoryResultSetForTablesListing.properties |    0
 ...uiltInMemoryResultSetForTablesTypesListing.java |   74 +
 ...MemoryResultSetForTablesTypesListing.properties |    0
 .../jdbc/resultset/DBFRecordBasedResultSet.java    |  609 ++++
 .../resultset/DBFRecordBasedResultSet.properties   |    0
 .../DBFRecordBasedResultSet_fr.properties          |    0
 .../shapefile/jdbc/resultset/DBFResultSet.java     |  965 ++++++
 .../jdbc/resultset/DBFResultSet.properties         |    0
 .../jdbc/resultset/DBFResultSet_fr.properties      |    0
 .../resultset/SQLIllegalColumnIndexException.java  |   76 +
 .../jdbc/resultset/SQLNoResultException.java       |   63 +
 .../jdbc/resultset/SQLNoSuchFieldException.java    |   76 +
 .../jdbc/resultset/SQLNotDateException.java        |   89 +
 .../jdbc/resultset/SQLNotNumericException.java     |   89 +
 .../shapefile/jdbc/resultset/package-info.java     |   21 +
 .../storage/shapefile/jdbc/sql/ClauseResolver.java |  391 +++
 .../shapefile/jdbc/sql/ClauseResolver.properties   |    0
 .../jdbc/sql/ClauseResolver_fr.properties          |    0
 .../jdbc/sql/ConditionalClauseResolver.java        |   38 +
 .../storage/shapefile/jdbc/sql/CrudeSQLParser.java |  137 +
 .../shapefile/jdbc/sql/CrudeSQLParser.properties   |    0
 .../jdbc/sql/SQLIllegalParameterException.java     |   89 +
 .../jdbc/sql/SQLInvalidStatementException.java     |   63 +
 .../sql/SQLUnsupportedParsingFeatureException.java |   63 +
 .../storage/shapefile/jdbc/sql/package-info.java   |   20 +
 .../jdbc/statement/AbstractStatement.java          |  307 ++
 .../shapefile/jdbc/statement/DBFStatement.java     |  243 ++
 .../jdbc/statement/DBFStatement.properties         |    0
 .../jdbc/statement/DBFStatement_fr.properties      |    0
 .../shapefile/jdbc/statement/package-info.java     |   19 +
 .../jdbc/AbstractTestBaseForInternalJDBC.java      |   72 -
 .../internal/shapefile/jdbc/DBFConnectionTest.java |   95 -
 .../internal/shapefile/jdbc/DBFResultSetTest.java  |  208 --
 .../internal/shapefile/jdbc/DBFStatementTest.java  |  100 -
 .../shapefile/jdbc/sql/WhereClauseTest.java        |  146 -
 .../jdbc/AbstractTestBaseForInternalJDBC.java      |   72 +
 .../storage/shapefile/jdbc/DBFConnectionTest.java  |   95 +
 .../storage/shapefile/jdbc/DBFResultSetTest.java   |  208 ++
 .../storage/shapefile/jdbc/DBFStatementTest.java   |  100 +
 .../shapefile/jdbc/readme.txt                      |    0
 .../shapefile/jdbc/sql/WhereClauseTest.java        |  146 +
 .../org/apache/sis/services/OSGiActivator.java     |    4 +-
 .../org/apache/sis/services/ServletListener.java   |    2 +-
 netbeans-project/README.md                         |    4 +-
 netbeans-project/nbproject/project.properties      |   13 +-
 .../test/module-info.java                          |    4 +-
 optional/build.gradle.kts                          |    2 +-
 optional/src/org.apache.sis.gui/bundle/README      |    2 +-
 optional/src/org.apache.sis.gui/bundle/bin/sisfx   |    2 +-
 .../src/org.apache.sis.gui/bundle/bin/sisfx.bat    |    2 +-
 .../org.apache.sis.setup.InstallationResources     |    2 +-
 .../src/org.apache.sis.gui/main/module-info.java   |    2 +-
 .../main/org/apache/sis/gui/AboutDialog.java       |    2 +-
 .../main/org/apache/sis/gui/DataViewer.java        |   22 +-
 .../main/org/apache/sis/gui/RecentFiles.java       |    6 +-
 .../main/org/apache/sis/gui/SystemMonitor.java     |    8 +-
 .../org/apache/sis/gui/controls/ColorCell.java     |  467 +++
 .../sis/gui/controls/ColorColumnHandler.java       |  123 +
 .../org/apache/sis/gui/controls/ColorRamp.java     |  264 ++
 .../apache/sis/gui/controls/FormatApplicator.java  |  252 ++
 .../apache/sis/gui/controls/FormatTableCell.java   |  260 ++
 .../apache/sis/gui/controls/SyncWindowList.java    |  251 ++
 .../org/apache/sis/gui/controls/TabularWidget.java |   98 +
 .../apache/sis/gui/controls/ValueColorMapper.java  |  535 +++
 .../org/apache/sis/gui/controls/package-info.java  |   30 +
 .../apache/sis/gui/coverage/BandRangeTable.java    |    2 +-
 .../org/apache/sis/gui/coverage/CellFormat.java    |    4 +-
 .../apache/sis/gui/coverage/CoverageCanvas.java    |   16 +-
 .../apache/sis/gui/coverage/CoverageControls.java  |   10 +-
 .../apache/sis/gui/coverage/CoverageExplorer.java  |   10 +-
 .../apache/sis/gui/coverage/CoverageStyling.java   |    8 +-
 .../org/apache/sis/gui/coverage/GridControls.java  |    2 +-
 .../org/apache/sis/gui/coverage/GridError.java     |    4 +-
 .../apache/sis/gui/coverage/GridSliceSelector.java |    2 +-
 .../main/org/apache/sis/gui/coverage/GridTile.java |    2 +-
 .../org/apache/sis/gui/coverage/GridTileCache.java |    4 +-
 .../main/org/apache/sis/gui/coverage/GridView.java |   10 +-
 .../org/apache/sis/gui/coverage/GridViewSkin.java  |    6 +-
 .../sis/gui/coverage/ImagePropertyExplorer.java    |   10 +-
 .../apache/sis/gui/coverage/IsolineRenderer.java   |   12 +-
 .../gui/coverage/MultiResolutionImageLoader.java   |    2 +-
 .../sis/gui/coverage/StyledRenderingData.java      |    4 +-
 .../apache/sis/gui/coverage/ViewAndControls.java   |    2 +-
 .../org/apache/sis/gui/dataset/ExpandableList.java |    4 +-
 .../org/apache/sis/gui/dataset/FeatureList.java    |    4 +-
 .../org/apache/sis/gui/dataset/FeatureLoader.java  |    4 +-
 .../org/apache/sis/gui/dataset/FeatureTable.java   |   11 +-
 .../main/org/apache/sis/gui/dataset/LogViewer.java |   10 +-
 .../org/apache/sis/gui/dataset/PathAction.java     |    8 +-
 .../org/apache/sis/gui/dataset/ResourceCell.java   |   14 +-
 .../apache/sis/gui/dataset/ResourceExplorer.java   |    6 +-
 .../org/apache/sis/gui/dataset/ResourceItem.java   |   10 +-
 .../org/apache/sis/gui/dataset/ResourceTree.java   |   12 +-
 .../org/apache/sis/gui/dataset/TreeViewType.java   |    2 +-
 .../org/apache/sis/gui/dataset/WindowHandler.java  |   12 +-
 .../org/apache/sis/gui/dataset/WindowManager.java  |    4 +-
 .../apache/sis/gui/internal/BackgroundThreads.java |  199 ++
 .../org/apache/sis/gui/internal/ColorName.java     |   86 +
 .../org/apache/sis/gui/internal/DataFormats.java   |   46 +
 .../apache/sis/gui/internal/DataStoreOpener.java   |  377 +++
 .../apache/sis/gui/internal/ExceptionReporter.java |  354 ++
 .../sis/gui/internal/FixedHeaderColumnSize.java    |   88 +
 .../org/apache/sis/gui/internal/GUIUtilities.java  |  459 +++
 .../sis/gui/internal/IdentityValueFactory.java     |   74 +
 .../apache/sis/gui/internal/ImageConverter.java    |  260 ++
 .../sis/gui/internal/ImmutableObjectProperty.java  |  114 +
 .../org/apache/sis/gui/internal/LogHandler.java    |  402 +++
 .../org/apache/sis/gui/internal/MouseDrags.java    |   54 +
 .../sis/gui/internal/NonNullObjectProperty.java    |   54 +
 .../org/apache/sis/gui/internal/PrivateAccess.java |   53 +
 .../sis/gui/internal/PropertyValueFormats.java     |  132 +
 .../sis/gui/internal/PropertyValueFormatter.java   |   84 +
 .../org/apache/sis/gui/internal/PropertyView.java  |  396 +++
 .../org/apache/sis/gui/internal/RecentChoices.java |  269 ++
 .../org/apache/sis/gui/internal/Resources.java     |  585 ++++
 .../gui => gui/internal}/Resources.properties      |    0
 .../org/apache/sis/gui/internal/Resources_en.java  |   30 +
 .../org/apache/sis/gui/internal/Resources_fr.java  |   30 +
 .../gui => gui/internal}/Resources_fr.properties   |    0
 .../main/org/apache/sis/gui/internal/Styles.java   |  212 ++
 .../org/apache/sis/gui/internal/ToolbarButton.java |  113 +
 .../apache/sis/gui/internal/io/FileAccessItem.java |  658 ++++
 .../apache/sis/gui/internal/io/FileAccessView.java |  186 ++
 .../gui/internal/io/OptionalDataDownloader.java    |  113 +
 .../apache/sis/gui/internal/io/package-info.java   |   33 +
 .../org/apache/sis/gui/internal/package-info.java  |   31 +
 .../org/apache/sis/gui/map/GestureFollower.java    |    2 +-
 .../main/org/apache/sis/gui/map/MapCanvas.java     |   24 +-
 .../main/org/apache/sis/gui/map/MapCanvasAWT.java  |    4 +-
 .../main/org/apache/sis/gui/map/MapMenu.java       |    4 +-
 .../org/apache/sis/gui/map/OperationFinder.java    |    2 +-
 .../main/org/apache/sis/gui/map/StatusBar.java     |   14 +-
 .../org/apache/sis/gui/map/ValuesFormatter.java    |    4 +-
 .../org/apache/sis/gui/map/ValuesFromCoverage.java |    4 +-
 .../org/apache/sis/gui/map/ValuesUnderCursor.java  |    2 +-
 .../sis/gui/metadata/IdentificationInfo.java       |    6 +-
 .../apache/sis/gui/metadata/MetadataSummary.java   |    8 +-
 .../org/apache/sis/gui/metadata/MetadataTree.java  |   12 +-
 .../sis/gui/metadata/RepresentationInfo.java       |    2 +-
 .../main/org/apache/sis/gui/metadata/Section.java  |    4 +-
 .../sis/gui/metadata/StandardMetadataTree.java     |   10 +-
 .../apache/sis/gui/metadata/VerboseFormats.java    |    2 +-
 .../apache/sis/gui/referencing/AuthorityCodes.java |    8 +-
 .../org/apache/sis/gui/referencing/CRSChooser.java |   12 +-
 .../main/org/apache/sis/gui/referencing/Code.java  |    2 +-
 .../org/apache/sis/gui/referencing/CodeFilter.java |    2 +-
 .../org/apache/sis/gui/referencing/MenuSync.java   |    6 +-
 .../sis/gui/referencing/ObjectStringConverter.java |    2 +-
 .../gui/referencing/PositionableProjection.java    |    8 +-
 .../gui/referencing/RecentReferenceSystems.java    |   18 +-
 .../main/org/apache/sis/gui/referencing/Utils.java |    4 +-
 .../org/apache/sis/gui/referencing/WKTPane.java    |    2 +-
 .../main/org/apache/sis/gui/setup/FXFinder.java    |  439 +++
 .../main/org/apache/sis/gui/setup/Inflater.java    |  174 +
 .../main/org/apache/sis/gui/setup/Wizard.java      |  756 +++++
 .../main/org/apache/sis/gui/setup/WizardPage.java  |  113 +
 .../org/apache/sis/gui/setup/package-info.java     |   28 +
 .../apache/sis/internal/gui/BackgroundThreads.java |  199 --
 .../org/apache/sis/internal/gui/ColorName.java     |   86 -
 .../org/apache/sis/internal/gui/DataFormats.java   |   46 -
 .../apache/sis/internal/gui/DataStoreOpener.java   |  377 ---
 .../apache/sis/internal/gui/ExceptionReporter.java |  354 --
 .../sis/internal/gui/FixedHeaderColumnSize.java    |   88 -
 .../org/apache/sis/internal/gui/GUIUtilities.java  |  459 ---
 .../sis/internal/gui/IdentityValueFactory.java     |   74 -
 .../apache/sis/internal/gui/ImageConverter.java    |  260 --
 .../sis/internal/gui/ImmutableObjectProperty.java  |  114 -
 .../org/apache/sis/internal/gui/LogHandler.java    |  402 ---
 .../org/apache/sis/internal/gui/MouseDrags.java    |   54 -
 .../sis/internal/gui/NonNullObjectProperty.java    |   54 -
 .../sis/internal/gui/OptionalDataDownloader.java   |  110 -
 .../org/apache/sis/internal/gui/PrivateAccess.java |   53 -
 .../sis/internal/gui/PropertyValueFormats.java     |  132 -
 .../sis/internal/gui/PropertyValueFormatter.java   |   84 -
 .../org/apache/sis/internal/gui/PropertyView.java  |  396 ---
 .../org/apache/sis/internal/gui/RecentChoices.java |  269 --
 .../org/apache/sis/internal/gui/Resources.java     |  585 ----
 .../org/apache/sis/internal/gui/Resources_en.java  |   30 -
 .../org/apache/sis/internal/gui/Resources_fr.java  |   30 -
 .../main/org/apache/sis/internal/gui/Styles.java   |  212 --
 .../org/apache/sis/internal/gui/ToolbarButton.java |  113 -
 .../apache/sis/internal/gui/control/ColorCell.java |  467 ---
 .../internal/gui/control/ColorColumnHandler.java   |  123 -
 .../apache/sis/internal/gui/control/ColorRamp.java |  264 --
 .../sis/internal/gui/control/FormatApplicator.java |  252 --
 .../sis/internal/gui/control/FormatTableCell.java  |  260 --
 .../sis/internal/gui/control/SyncWindowList.java   |  251 --
 .../sis/internal/gui/control/TabularWidget.java    |   98 -
 .../sis/internal/gui/control/ValueColorMapper.java |  535 ---
 .../sis/internal/gui/control/package-info.java     |   30 -
 .../apache/sis/internal/gui/io/FileAccessItem.java |  658 ----
 .../apache/sis/internal/gui/io/FileAccessView.java |  186 --
 .../apache/sis/internal/gui/io/package-info.java   |   33 -
 .../org/apache/sis/internal/gui/package-info.java  |   31 -
 .../org/apache/sis/internal/setup/FXFinder.java    |  439 ---
 .../org/apache/sis/internal/setup/Inflater.java    |  174 -
 .../main/org/apache/sis/internal/setup/Wizard.java |  756 -----
 .../org/apache/sis/internal/setup/WizardPage.java  |  113 -
 .../apache/sis/internal/setup/package-info.java    |   28 -
 .../sis/gui/controls/ValueColorMapperApp.java      |   89 +
 .../apache/sis/gui/coverage/CoverageCanvasApp.java |    2 +-
 .../sis/gui/coverage/CoverageStylingApp.java       |    4 +-
 .../org/apache/sis/gui/coverage/GridViewApp.java   |    2 +-
 .../apache/sis/gui/internal/GUIUtilitiesTest.java  |  155 +
 .../apache/sis/gui/referencing/CRSChooserApp.java  |    2 +-
 .../apache/sis/internal/gui/GUIUtilitiesTest.java  |  155 -
 .../internal/gui/control/ValueColorMapperApp.java  |   89 -
 parent/LicenseHeader.txt                           |   16 -
 3521 files changed, 238822 insertions(+), 238619 deletions(-)

diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/PropertyInformation.java
index a3f1086453,221fa29ea2..113a08cec0
--- 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
@@@ -21,14 -21,14 +21,14 @@@ import java.util.Collection
  import java.util.Collections;
  import java.lang.reflect.Method;
  import org.opengis.annotation.UML;
 -import org.opengis.annotation.Obligation;
  import org.opengis.metadata.Datatype;
 +import org.opengis.metadata.Obligation;
  import org.opengis.metadata.citation.Citation;
  import org.opengis.metadata.ExtendedElementInformation;
 -import org.opengis.metadata.citation.Responsibility;
 +import org.opengis.metadata.citation.ResponsibleParty;
  import org.opengis.util.CodeList;
  import org.opengis.util.InternationalString;
- import org.apache.sis.internal.simple.SimpleIdentifier;
+ import org.apache.sis.metadata.simple.SimpleIdentifier;
  import org.apache.sis.measure.ValueRange;
  import org.apache.sis.util.iso.Types;
  import org.apache.sis.util.Numbers;
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/internal/NameToIdentifier.java
index 0000000000,e83b5d3132..949a195c49
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,319 +1,320 @@@
+ /*
+  * 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.internal;
+ 
+ import java.util.Locale;
+ import java.util.Objects;
+ import java.util.Collection;
+ import org.opengis.util.NameSpace;
+ import org.opengis.util.GenericName;
+ import org.opengis.util.InternationalString;
+ import org.opengis.referencing.IdentifiedObject;
+ import org.opengis.metadata.Identifier;
+ import org.opengis.metadata.citation.Citation;
++import org.opengis.referencing.ReferenceIdentifier;
+ import org.apache.sis.metadata.iso.citation.Citations;
+ import org.apache.sis.util.iso.DefaultNameSpace;
+ import org.apache.sis.util.CharSequences;
+ 
+ import static org.apache.sis.util.ArgumentChecks.ensureNonNull;
+ import static org.apache.sis.util.Characters.Filter.LETTERS_AND_DIGITS;
+ 
+ 
+ /**
+  * Does the unobvious mapping between {@link Identifier} properties and {@link GenericName} ones.
+  * This class also implements the {@link #isHeuristicMatchForName(Identifier, Collection, CharSequence, Simplifier)}
+  * method since that method involves a mix of names and identifiers.
+  *
+  * <h2>Limitations</h2>
+  * Current version does not yet work with URN or HTTP syntax.
+  *
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 0.8
+  * @since   0.4
+  */
 -public final class NameToIdentifier implements Identifier {
++public final class NameToIdentifier implements ReferenceIdentifier {
+     /**
+      * The name from which to infer the identifier attributes.
+      */
+     private final GenericName name;
+ 
+     /**
+      * Infers the attributes from the given name.
+      *
+      * @param  name  the name from which to infer the identifier properties.
+      */
+     public NameToIdentifier(final GenericName name) {
+         ensureNonNull("name", name);
+         this.name = name;
+     }
+ 
+     /**
+      * Returns the scope of the given name if it is not global.
+      * This method is null-safe, including paranoiac checks against null scope.
+      *
+      * @param  name  the name from which to get the scope, or {@code null}.
+      * @return the scope of the given name, or {@code null} if the given name was null or has a global scope.
+      */
+     private static GenericName scope(final GenericName name) {
+         if (name != null) {
+             final NameSpace scope = name.scope();
+             if (scope != null && !scope.isGlobal()) {
+                 return scope.name();
+             }
+         }
+         return null;
+     }
+ 
+     /**
+      * Infers the authority from the scope if any, or from the code space otherwise.
+      *
+      * @return the authority, or {@code null} if none.
+      */
+     @Override
+     public Citation getAuthority() {
+         GenericName scope = scope(name);
+         if (scope == null) {
+             scope = scope(name.tip());
+             if (scope == null) {
+                 return null;
+             }
+         }
+         return Citations.fromName(scope.head().toString());
+     }
+ 
+     /**
+      * Takes the element before the tip as the code space.
+      *
+      * @param  name    the name from which to get the code space, or {@code null}.
+      * @param  locale  the locale, or {@code null} for a call to {@code name.toString()}.
+      * @return the code space, or {@code null} if none.
+      */
+     public static String getCodeSpace(final GenericName name, final Locale locale) {
+         final GenericName scope = scope(name.tip());
+         return (scope != null) ? toString(scope.tip(), locale) : null;
+     }
+ 
+     /**
+      * Takes everything except the tip as the code space.
+      */
+     @Override
+     public String getCodeSpace() {
+         return getCodeSpace(name, null);
+     }
+ 
+     /**
+      * Takes the last element as the code.
+      */
+     @Override
+     public String getCode() {
+         return name.tip().toString();
+     }
+ 
+     /**
+      * Returns a hash code value for this object.
+      */
+     @Override
+     public int hashCode() {
+         return ~Objects.hashCode(name);
+     }
+ 
+     /**
+      * Compares this object with the given one for equality.
+      *
+      * @param  object  the object to compare with this identifier.
+      * @return {@code true} if both objects are equal.
+      */
+     @Override
+     public boolean equals(final Object object) {
+         if (object == this) {
+             return true;
+         }
+         if (object != null && object.getClass() == getClass()) {
+             return Objects.equals(name, ((NameToIdentifier) object).name);
+         }
+         return false;
+     }
+ 
+     /**
+      * Returns the string representation of this identifier.
+      *
+      * @return the string representation of this identifier.
+      */
+     @Override
+     public String toString() {
+         final String code = getCode();
+         final String cs = getCodeSpace();
+         if (cs != null && !cs.isEmpty()) {
+             return cs + DefaultNameSpace.DEFAULT_SEPARATOR + code;
+         }
+         return code;
+     }
+ 
+     /**
+      * Returns a string representation of the given name in the given locale, with paranoiac checks against null value.
+      * Such null values should never happen since the properties used here are mandatory, but we try to make this class
+      * robust to broken implementations.
+      *
+      * @param  name    the name from which to get the localized string, or {@code null}.
+      * @param  locale  the locale, or {@code null} for a call to {@code name.toString()}.
+      * @return the localized string representation, or {@code null} if the given name was null.
+      */
+     public static String toString(final GenericName name, final Locale locale) {
+         if (name != null) {
+             if (locale != null) {
+                 final InternationalString i18n = name.toInternationalString();
+                 if (i18n != null) {
+                     final String s = i18n.toString(locale);
+                     if (s != null) {
+                         return s;
+                     }
+                 }
+             }
+             return name.toString();
+         }
+         return null;
+     }
+ 
+     /**
+      * Returns {@code true} if the given identifier to search matches one of the object identifiers.
+      *
+      * @param  identifiers  the identifiers to compare against {@code toSearch}.
+      * @param  toSearch     the identifier to check for equality.
+      * @return {@code true} if the identifier to search is found in the given set of identifiers.
+      *
+      * @since 0.8
+      */
+     public static boolean isHeuristicMatchForIdentifier(final Iterable<? extends Identifier> identifiers, final String toSearch) {
+         if (toSearch != null && identifiers != null) {
+             int s = toSearch.indexOf(DefaultNameSpace.DEFAULT_SEPARATOR);
+             if (s < 0) {
+                 // no codespace in searched name
+                 for (final Identifier id : identifiers) {
+                     if (toSearch.equalsIgnoreCase(id.getCode())) {
+                         return true;
+                     }
+                 }
+                 return false;
+             }
+             do {
+                 final String codespace = toSearch.substring(0, s).trim();
+                 final String code = toSearch.substring(++s).trim();
+                 for (final Identifier id : identifiers) {
+                     if (codespace.equalsIgnoreCase(id.getCodeSpace()) && code.equalsIgnoreCase(id.getCode())) {
+                         return true;
+                     }
+                 }
+                 s = toSearch.indexOf(DefaultNameSpace.DEFAULT_SEPARATOR, s);
+             } while (s >= 0);
+         }
+         return false;
+     }
+ 
+     /**
+      * Returns {@code true} if the given {@linkplain org.apache.sis.referencing.AbstractIdentifiedObject#getName()
+      * primary name} or one of the given aliases matches the given name. The comparison ignores case, some Latin
+      * diacritical signs and any characters that are not letters or digits.
+      *
+      * @param  name        the name of the {@code IdentifiedObject} to check.
+      * @param  aliases     the list of aliases in the {@code IdentifiedObject} (may be {@code null}).
+      *                     This method will never modify that list, so the given list can be a direct
+      *                     reference to an internal list.
+      * @param  toSearch    the name for which to check for equality.
+      * @param  simplifier  a function for simplifying the names before comparison.
+      * @return {@code true} if the primary name or at least one alias matches the given {@code name}.
+      */
+     public static boolean isHeuristicMatchForName(final Identifier name, final Collection<GenericName> aliases,
+             CharSequence toSearch, final Simplifier simplifier)
+     {
+         if (toSearch != null) {
+             CharSequence code = (name != null) ? name.getCode() : null;
+             if (toSearch.equals(code)) {
+                 return true;                                                    // Optimization for a common case.
+             }
+             toSearch = simplifier.apply(toSearch);
+             code     = simplifier.apply(code);
+             if (CharSequences.equalsFiltered(toSearch, code, LETTERS_AND_DIGITS, true)) {
+                 return true;
+             }
+             if (aliases != null) {
+                 for (final GenericName alias : aliases) {
+                     if (alias != null) {                                                        // Paranoiac check.
+                         final CharSequence tip = simplifier.apply(alias.tip().toString());
+                         if (CharSequences.equalsFiltered(toSearch, tip, LETTERS_AND_DIGITS, true)) {
+                             return true;
+                         }
+                         /*
+                          * Note: a previous version compared also the scoped names. We removed that part,
+                          * because experience has shown that this method is used only for the "code" part
+                          * of an object name. If we really want to compare scoped name, it would probably
+                          * be better to take a GenericName argument instead of String.
+                          */
+                     }
+                 }
+             }
+         }
+         return false;
+     }
+ 
+     /**
+      * Returns {@code true} if the {@linkplain org.apache.sis.referencing.AbstractIdentifiedObject#getName()
+      * primary name} or an aliases of the given object matches the given name. The comparison ignores case,
+      * some Latin diacritical signs and any characters that are not letters or digits.
+      *
+      * @param  object  the object for which to check the name or alias.
+      * @param  name    the name to compare with the object name or aliases.
+      * @return {@code true} if the primary name of at least one alias matches the specified {@code name}.
+      */
+     public static boolean isHeuristicMatchForName(final IdentifiedObject object, final String name) {
+         return isHeuristicMatchForName(object.getName(), object.getAlias(), name, Simplifier.DEFAULT);
+     }
+ 
+     /**
+      * A function for simplifying an {@link org.opengis.referencing.IdentifiedObject} name before comparison with
+      * {@link NameToIdentifier#isHeuristicMatchForName(Identifier, Collection, CharSequence, Simplifier)}.
+      *
+      * @since 1.0
+      */
+     public static class Simplifier {
+         /**
+          * The prefix used by ESRI at the beginning of datum names.
+          * This prefix should be omitted when simplifying a datum name.
+          */
+         public static final String ESRI_DATUM_PREFIX = "D_";
+ 
+         /**
+          * The default instance, which replaces some non-ASCII characters by ASCII ones.
+          */
+         public static final Simplifier DEFAULT = new Simplifier();
+ 
+         /**
+          * For subclasses and default instance only.
+          */
+         protected Simplifier() {
+         }
+ 
+         /**
+          * Simplifies the given name.
+          *
+          * @param  name  the object name (may be {@code null}).
+          * @return the name to use for comparison purpose, or {@code null}.
+          */
+         protected CharSequence apply(final CharSequence name) {
+             return CharSequences.toASCII(name);
+         }
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/OnlineResourceAdapter.java
index d531a6fd5d,0000000000..a9c64877e3
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,66 @@@
 +/*
 + * 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;
 +
 +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.internal.jaxb.metadata.CI_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 b35da1dfd3,0000000000..f5c5ec3960
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,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;
 +
 +import java.net.URI;
 +import java.net.URISyntaxException;
 +import jakarta.xml.bind.annotation.adapters.XmlAdapter;
- import org.apache.sis.internal.jaxb.Context;
- import org.apache.sis.internal.jaxb.gco.CharSequenceAdapter;
- import org.apache.sis.internal.jaxb.gco.GO_CharacterString;
++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/DefaultRequirement.java
index d8b6a050ad,3d28eef286..340c28d223
--- 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
@@@ -27,11 -27,11 +27,11 @@@ import org.opengis.metadata.acquisition
  import org.opengis.metadata.acquisition.RequestedDate;
  import org.opengis.metadata.acquisition.Requirement;
  import org.opengis.metadata.citation.Citation;
 -import org.opengis.metadata.citation.Responsibility;
 +import org.opengis.metadata.citation.ResponsibleParty;
  import org.apache.sis.metadata.iso.ISOMetadata;
  
- import static org.apache.sis.internal.metadata.ImplementationHelper.toDate;
- import static org.apache.sis.internal.metadata.ImplementationHelper.toMilliseconds;
+ import static org.apache.sis.metadata.internal.ImplementationHelper.toDate;
+ import static org.apache.sis.metadata.internal.ImplementationHelper.toMilliseconds;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/content/DefaultBand.java
index 674c23a1cc,3ddeb5c7dc..d0a593255a
--- 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
@@@ -25,13 -25,13 +25,13 @@@ import jakarta.xml.bind.annotation.XmlT
  import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  import org.opengis.metadata.content.Band;
  import org.opengis.metadata.content.BandDefinition;
 -import org.opengis.metadata.content.PolarisationOrientation;
 +import org.opengis.metadata.content.PolarizationOrientation;
  import org.opengis.metadata.content.TransferFunctionType;
  import org.apache.sis.measure.ValueRange;
- import org.apache.sis.internal.jaxb.gco.GO_Real;
- import org.apache.sis.internal.jaxb.gco.UnitAdapter;
+ import org.apache.sis.xml.bind.gco.GO_Real;
+ import org.apache.sis.xml.bind.gco.UnitAdapter;
  
- import static org.apache.sis.internal.metadata.ImplementationHelper.ensurePositive;
+ import static org.apache.sis.metadata.internal.ImplementationHelper.ensurePositive;
  
  
  /**
@@@ -68,11 -68,11 +68,11 @@@
      "bandBoundaryDefinition",
      "nominalSpatialResolution",
      "transferFunctionType",
 -    "transmittedPolarisation",
 -    "detectedPolarisation"
 +    "transmittedPolarization",
 +    "detectedPolarization"
  })
  @XmlRootElement(name = "MD_Band")
- @XmlSeeAlso(org.apache.sis.internal.jaxb.gmi.MI_Band.class)
+ @XmlSeeAlso(org.apache.sis.xml.bind.gmi.MI_Band.class)
  public class DefaultBand extends DefaultSampleDimension implements Band {
      /**
       * Serial number for inter-operability with different versions.
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/distribution/DefaultMedium.java
index ede1c32605,eccccdcecb..086b79613b
--- 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
@@@ -32,18 -31,17 +32,18 @@@ 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.internal.jaxb.gco.GO_Real;
- import org.apache.sis.internal.jaxb.FilterByVersion;
- import org.apache.sis.internal.jaxb.metadata.CI_Citation;
- import org.apache.sis.internal.jaxb.metadata.MD_Identifier;
- import org.apache.sis.internal.metadata.Dependencies;
- import org.apache.sis.internal.metadata.legacy.LegacyPropertyAdapter;
- import org.apache.sis.internal.xml.LegacyNamespaces;
- import org.apache.sis.internal.util.CollectionsExt;
- import org.apache.sis.internal.util.CodeLists;
+ import org.apache.sis.xml.bind.gco.GO_Real;
+ import org.apache.sis.xml.bind.FilterByVersion;
+ 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.MediumName;
+ 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.internal.metadata.ImplementationHelper.ensurePositive;
+ import static org.apache.sis.metadata.internal.ImplementationHelper.ensurePositive;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/DefaultDataIdentification.java
index 2cbc6a2774,2009bc2869..d462942792
--- 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
@@@ -27,15 -26,14 +27,15 @@@ import jakarta.xml.bind.annotation.XmlE
  import jakarta.xml.bind.annotation.XmlRootElement;
  import org.opengis.util.InternationalString;
  import org.opengis.metadata.citation.Citation;
 +import org.opengis.metadata.identification.CharacterSet;
  import org.opengis.metadata.identification.TopicCategory;
  import org.opengis.metadata.identification.DataIdentification;
- import org.apache.sis.internal.jaxb.lan.LocaleAndCharset;
- import org.apache.sis.internal.jaxb.lan.OtherLocales;
- import org.apache.sis.internal.jaxb.lan.PT_Locale;
- import org.apache.sis.internal.jaxb.FilterByVersion;
- import org.apache.sis.internal.xml.LegacyNamespaces;
- import org.apache.sis.internal.metadata.Dependencies;
+ import org.apache.sis.xml.bind.lan.LocaleAndCharset;
+ import org.apache.sis.xml.bind.lan.OtherLocales;
+ import org.apache.sis.xml.bind.lan.PT_Locale;
+ import org.apache.sis.xml.bind.FilterByVersion;
+ import org.apache.sis.xml.util.LegacyNamespaces;
+ import org.apache.sis.metadata.internal.Dependencies;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/identification/DefaultUsage.java
index 9c5550eab5,a6c7d77cbf..2cb4071fe3
--- 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
@@@ -23,9 -23,9 +23,9 @@@ import jakarta.xml.bind.annotation.XmlE
  import jakarta.xml.bind.annotation.XmlRootElement;
  import org.opengis.util.InternationalString;
  import org.opengis.metadata.citation.Citation;
 -import org.opengis.metadata.citation.Responsibility;
 +import org.opengis.metadata.citation.ResponsibleParty;
  import org.opengis.metadata.identification.Usage;
- import org.apache.sis.internal.jaxb.FilterByVersion;
+ import org.apache.sis.xml.bind.FilterByVersion;
  import org.apache.sis.metadata.iso.ISOMetadata;
  import org.apache.sis.metadata.TitleProperty;
  import org.apache.sis.util.iso.Types;
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/AttributeTypeAdapter.java
index 7619b889e5,0000000000..b4a00cfa6a
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,51 @@@
 +/*
 + * 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;
 +
 +import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 +import org.opengis.feature.type.AttributeType;
- import org.apache.sis.internal.jaxb.gco.GO_CharacterString;
++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/DefaultScopeDescription.java
index 5e42274fbf,086c106a72..16c3f27489
--- 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
@@@ -25,11 -25,12 +25,11 @@@ import org.opengis.util.InternationalSt
  import org.opengis.metadata.maintenance.ScopeCode;
  import org.opengis.metadata.maintenance.ScopeDescription;
  import org.apache.sis.metadata.iso.ISOMetadata;
- import org.apache.sis.internal.metadata.ExcludedSet;
- import org.apache.sis.internal.jaxb.Context;
- import org.apache.sis.internal.system.Semaphores;
+ import org.apache.sis.metadata.internal.ExcludedSet;
+ import org.apache.sis.xml.bind.Context;
+ import org.apache.sis.system.Semaphores;
  import org.apache.sis.util.collection.CheckedContainer;
  import org.apache.sis.util.resources.Messages;
 -import org.apache.sis.util.iso.Types;
  import org.apache.sis.xml.Namespaces;
  
  import static org.apache.sis.util.collection.Containers.isNullOrEmpty;
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/iso/maintenance/FeatureTypeAdapter.java
index c3ef65d804,0000000000..2aaf55c1ac
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,51 @@@
 +/*
 + * 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;
 +
 +import jakarta.xml.bind.annotation.adapters.XmlAdapter;
 +import org.opengis.feature.type.FeatureType;
- import org.apache.sis.internal.jaxb.gco.GO_CharacterString;
++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 c9cef03754,0000000000..1735a1aa68
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,97 @@@
 +/*
 + * 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;
 +
 +import java.util.Set;
 +import java.util.LinkedHashSet;
 +import org.opengis.feature.type.FeatureType;
 +import org.opengis.feature.type.AttributeType;
- import org.apache.sis.internal.jaxb.gco.CharSequenceAdapter;
++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 f810366c97,37ebbd968f..4ea8ed0949
--- 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
@@@ -25,11 -25,12 +25,11 @@@ import org.opengis.metadata.quality.Dat
  import org.opengis.metadata.quality.Element;
  import org.opengis.metadata.quality.StandaloneQualityReportInformation;
  import org.opengis.metadata.maintenance.ScopeCode;
- import org.apache.sis.internal.jaxb.FilterByVersion;
- import org.apache.sis.internal.xml.LegacyNamespaces;
+ import org.apache.sis.xml.bind.FilterByVersion;
+ import org.apache.sis.xml.util.LegacyNamespaces;
  
  // Branch-dependent imports
 -import org.opengis.metadata.maintenance.Scope;
 -import org.apache.sis.metadata.iso.maintenance.DefaultScope;
 +import org.opengis.metadata.quality.Scope;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/CitationConstant.java
index 0000000000,d3eec4c8da..e49c30b222
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,242 +1,242 @@@
+ /*
+  * 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.simple;
+ 
+ import java.util.Date;
+ import java.util.Collection;
+ import java.util.logging.Logger;
+ import java.io.ObjectStreamException;
+ import org.opengis.metadata.Identifier;
+ import org.opengis.metadata.citation.Citation;
+ import org.opengis.metadata.citation.CitationDate;
+ import org.opengis.metadata.citation.OnlineResource;
+ import org.opengis.metadata.citation.PresentationForm;
 -import org.opengis.metadata.citation.Responsibility;
++import org.opengis.metadata.citation.ResponsibleParty;
+ import org.opengis.metadata.citation.Series;
+ import org.opengis.metadata.identification.BrowseGraphic;
+ import org.opengis.util.InternationalString;
+ import org.apache.sis.xml.IdentifierSpace;
+ import org.apache.sis.metadata.sql.MetadataSource;
+ import org.apache.sis.metadata.sql.MetadataStoreException;
+ import org.apache.sis.metadata.iso.citation.Citations;
+ import org.apache.sis.system.Loggers;
+ import org.apache.sis.util.internal.Strings;
+ import org.apache.sis.util.logging.Logging;
+ 
+ 
+ /**
+  * Base class for the {@code public static final Citation} constants defined in some SIS classes.
+  * This base class contains only an abbreviation (e.g. {@code "OGC"} or {@code "EPSG"}) which can
+  * be used as the primary key where to search for more information in a database. If no database
+  * is available, then that simple primary key will be used as the citation title.
+  *
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  *
+  * @see IdentifierSpace
+  * @see Citations
+  *
+  * @since 0.6
+  */
+ public class CitationConstant extends SimpleCitation {
+     /**
+      * For cross-version compatibility.
+      */
+     private static final long serialVersionUID = -8429121584437634107L;
+ 
+     /**
+      * Where to log warnings when searching for an entry in the database.
+      */
+     private static final Logger LOGGER = Logger.getLogger(Loggers.SQL);
+ 
+     /**
+      * Class of {@code public static final Citation} constants which are also used as namespace for identifiers.
+      * The most typical example is the "EPSG" authority which manage the codes identifying Coordinate Reference
+      * System (CRS) objects in the EPSG namespace.
+      *
+      * @param <T>  the type of object used as identifier values.
+      */
+     public static class Authority<T> extends CitationConstant implements IdentifierSpace<T> {
+         /**
+          * For cross-version compatibility.
+          */
+         private static final long serialVersionUID = 2067932813561130294L;
+ 
+         /**
+          * Creates a new citation for an authority managing codes in the given namespace.
+          * This constructor assumes that the namespace is the same as the abbreviation given as citation title.
+          *
+          * @param  namespace  the namespace of codes managed by this authority (e.g. "EPSG").
+          */
+         public Authority(final String namespace) {
+             super(namespace);
+         }
+ 
+         /**
+          * Creates a new citation for an authority managing codes in the given namespace.
+          *
+          * @param  name       a human-understandable primary key for fetching more information.
+          * @param  namespace  the namespace of codes managed by this authority (e.g. "EPSG").
+          */
+         public Authority(final String name, final String namespace) {
+             super(name, namespace);
+         }
+ 
+         /**
+          * Returns the name space given at construction time. Can be one of the following:
+          * <ul>
+          *   <li>Abbreviation of the authority managing the codes (e.g. {@code "EPSG"} or {@code "ISBN"}).</li>
+          *   <li>XML attribute name with its prefix (e.g. {@code "gml:id"}, {@code "gco:uuid"} or {@code "xlink:href"}).</li>
+          * </ul>
+          */
+         @Override
+         public final String getName() {
+             return namespace;
+         }
+ 
+         /**
+          * Returns a string representation of this identifier space.
+          */
+         @Override
+         public final String toString() {
+             return Strings.bracket(IdentifierSpace.class, title);
+         }
+     }
+ 
+     /**
+      * The name by which this citation is known to {@link Citations#fromName(String)}.
+      * Often the same than the abbreviation that {@link CitationConstant} uses as the title.
+      * If this {@code CitationConstant} is a {@link Authority} subtype, then this is also
+      * the authority namespace.
+      */
+     public final String namespace;
+ 
+     /**
+      * The citation which contain the "real" data, or {@code null} if not yet created.
+      * This is usually an instance created by {@link MetadataSource}. Those instances
+      * manage their own caching, so accesses to the database should not occur often.
+      */
+     private transient volatile Citation delegate;
+ 
+     /**
+      * Creates a new proxy for the given primary key.
+      * The key should be readable enough for being usable as a fallback if the database is not available.
+      *
+      * @param  name  a human-understandable primary key for fetching more information.
+      */
+     public CitationConstant(final String name) {
+         super(name);
+         this.namespace = name;
+     }
+ 
+     /**
+      * Creates a new proxy for the given primary key but a different programmatic name.
+      * The key should be readable enough for being usable as a fallback if the database is not available.
+      *
+      * @param  name       a human-understandable primary key for fetching more information.
+      * @param  namespace  the name by which this citation is known to {@link Citations#fromName(String)}.
+      */
+     public CitationConstant(final String name, final String namespace) {
+         super(name);
+         this.namespace = namespace;
+     }
+ 
+     /**
+      * Notify this instance that the database content may have changed, or that the module path has changed.
+      */
+     public final void refresh() {
+         delegate = null;
+     }
+ 
+     /**
+      * Returns the citation instance which contain the actual data. That instance is provided by the
+      * {@code org.apache.sis.metadata} module, which is optional. If that module is not on the module path,
+      * then this {@code delegate()} method will use the few information provided by the current instance.
+      *
+      * <p>Note that it should be very rare to not have {@code org.apache.sis.metadata} on the module path,
+      * since that module is required by {@code org.apache.sis.referencing} which is itself required by
+      * almost all other SIS modules.</p>
+      */
+     @SuppressWarnings("DoubleCheckedLocking")
+     private Citation delegate() {
+         Citation c = delegate;
+         if (c == null) {
+             synchronized (this) {
+                 c = delegate;
+                 if (c == null) {
+                     try {
+                         c = MetadataSource.getProvided().lookup(Citation.class, title);
+                     } catch (MetadataStoreException e) {
+                         /*
+                          * If no database was available, MetadataSource.getProvided() was supposed to fallback on
+                          * the MetadataFallback class. So if we get this exception, a more serious error occurred.
+                          * It is still not fatal however, since most of Citation content is informative.
+                          */
+                         Logging.unexpectedException(LOGGER, CitationConstant.class, "delegate", e);
+                         c = new SimpleCitation(title);
+                     }
+                     delegate = c;
+                 }
+             }
+         }
+         return c;
+     }
+ 
+     /**
+      * Returns the title, which is mandatory.
+      */
+     @Override
+     public InternationalString getTitle() {
+         InternationalString title = delegate().getTitle();
+         return (title != null) ? title : super.getTitle();
+     }
+ 
+     /**
+      * Redirects the call to the delegate citation (the instance which actually contain the data).
+      *
+      * @return the value returned by the delegate.
+      */
+     @Override public Collection<? extends InternationalString>  getAlternateTitles()         {return delegate().getAlternateTitles();}
+     @Override public Collection<? extends CitationDate>         getDates()                   {return delegate().getDates();}
+     @Override public InternationalString                        getEdition()                 {return delegate().getEdition();}
+     @Override public Date                                       getEditionDate()             {return delegate().getEditionDate();}
+     @Override public Collection<? extends Identifier>           getIdentifiers()             {return delegate().getIdentifiers();}
 -    @Override public Collection<? extends Responsibility>       getCitedResponsibleParties() {return delegate().getCitedResponsibleParties();}
++    @Override public Collection<? extends ResponsibleParty>     getCitedResponsibleParties() {return delegate().getCitedResponsibleParties();}
+     @Override public Collection<PresentationForm>               getPresentationForms()       {return delegate().getPresentationForms();}
+     @Override public Series                                     getSeries()                  {return delegate().getSeries();}
 -    @Override public Collection<? extends InternationalString>  getOtherCitationDetails()    {return delegate().getOtherCitationDetails();}
++    @Override public InternationalString                        getOtherCitationDetails()    {return delegate().getOtherCitationDetails();}
+     @Override public Collection<? extends OnlineResource>       getOnlineResources()         {return delegate().getOnlineResources();}
+     @Override public Collection<? extends BrowseGraphic>        getGraphics()                {return delegate().getGraphics();}
+     @Override public String                                     getISBN()                    {return delegate().getISBN();}
+     @Override public String                                     getISSN()                    {return delegate().getISSN();}
+ 
+     /**
+      * Invoked at deserialization time in order to replace the deserialized instance by the existing
+      * instance defined in the {@link org.apache.sis.metadata.iso.citation.Citations} class.
+      *
+      * @return the instance to use, as an unique instance if possible.
+      * @throws ObjectStreamException never thrown.
+      */
+     protected Object readResolve() throws ObjectStreamException {
+         final Citation c = Citations.fromName(title);
+         return (c instanceof CitationConstant) ? c : this;
+         /*
+          * Returns 'this' should happen only if the Citation has been serialized
+          * on a more recent version of Apache SIS than the current version.
+          */
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifiedObject.java
index 0000000000,ed3d7f342b..2da13c9f3b
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,211 +1,212 @@@
+ /*
+  * 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.simple;
+ 
+ import java.util.Objects;
+ import java.io.Serializable;
+ import org.opengis.util.InternationalString;
+ import org.opengis.metadata.Identifier;
+ import org.opengis.metadata.citation.Citation;
+ import org.opengis.metadata.extent.Extent;
+ import org.opengis.referencing.IdentifiedObject;
++import org.opengis.referencing.ReferenceIdentifier;
+ import org.apache.sis.metadata.internal.Identifiers;
+ import org.apache.sis.util.internal.Constants;
+ import org.apache.sis.util.LenientComparable;
+ import org.apache.sis.util.ComparisonMode;
+ 
+ import static org.apache.sis.util.collection.Containers.isNullOrEmpty;
+ 
+ 
+ /**
+  * A trivial implementation of {@link IdentifiedObject} containing only a primary name.
+  *
+  * @author  Guilhem Legal (Geomatys)
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  *
+  * @see org.apache.sis.referencing.AbstractIdentifiedObject
+  *
+  * @since 0.5
+  */
+ public class SimpleIdentifiedObject implements IdentifiedObject, LenientComparable, Serializable {
+     /**
+      * For cross-version compatibility.
+      */
+     private static final long serialVersionUID = 5297493321524903545L;
+ 
+     /**
+      * The primary name by which this object is identified.
+      */
+     @SuppressWarnings("serial")         // Most SIS implementations are serializable.
 -    protected Identifier name;
++    protected ReferenceIdentifier name;
+ 
+     /**
+      * Creates an identified object without identifier.
+      * This constructor is mainly for JAXB.
+      */
+     protected SimpleIdentifiedObject() {
+     }
+ 
+     /**
+      * Creates an identified object with the same identifier than the given one.
+      *
+      * @param  object  the identified object to partially copy.
+      */
+     public SimpleIdentifiedObject(final IdentifiedObject object) {
+         name = object.getName();
+     }
+ 
+     /**
+      * Creates an identified object with the given identifier.
+      *
+      * @param  name  the primary name by which this object is identified.
+      */
 -    public SimpleIdentifiedObject(final Identifier name) {
++    public SimpleIdentifiedObject(final ReferenceIdentifier name) {
+         this.name = name;
+     }
+ 
+     /**
+      * Returns the primary name by which this object is identified.
+      *
+      * @return the identifier given at construction time.
+      */
+     @Override
 -    public Identifier getName() {
++    public ReferenceIdentifier getName() {
+         return name;
+     }
+ 
+     /**
+      * Method required by most {@link IdentifiedObject} sub-interfaces.
+      * Current implementation returns {@code null}.
+      *
+      * <p>If a future version allows this method to returns a non-null value,
+      * revisit {@link #equals(Object, ComparisonMode)} in subclasses.</p>
+      *
+      * @return the domain of validity, or {@code null} if none.
+      */
+     public final Extent getDomainOfValidity() {
+         return null;
+     }
+ 
+     /**
+      * Method required by most {@link IdentifiedObject} sub-interfaces.
+      * Current implementation returns {@code null}.
+      *
+      * <p>If a future version allows this method to returns a non-null value,
+      * revisit {@link #equals(Object, ComparisonMode)} in subclasses.</p>
+      *
+      * @return the scope, or {@code null} if none.
+      */
+     public final InternationalString getScope() {
+         return null;
+     }
+ 
+     /**
+      * Returns a narrative explanation of the role of this object.
+      * The default implementation returns {@link Identifier#getDescription()}.
+      *
+      * @return a narrative explanation of the role of this object, or {@code null} if none.
+      */
+     public InternationalString getDescription() {
+         final Identifier name = this.name;
+         return (name != null) ? name.getDescription() : null;
+     }
+ 
+     /**
+      * Returns a hash code value for this object.
+      */
+     @Override
+     public int hashCode() {
+         int code = (int) serialVersionUID;
+         final Identifier name = getName();
+         if (name != null) {
+             code ^= name.hashCode();
+         }
+         return code;
+     }
+ 
+     /**
+      * Compares this object with the given one for equality.
+      *
+      * @param  object  the object to compare with this reference system.
+      * @return {@code true} if both objects are equal.
+      */
+     @Override
+     public final boolean equals(final Object object) {
+         return equals(object, ComparisonMode.STRICT);
+     }
+ 
+     /**
+      * Compares this object with the given one for equality.
+      * This method compares the {@linkplain #name} only in "strict" or "by contract" modes.
+      * If name is a critical component of this object, then it shall be compared by the subclass.
+      * This behavior is consistent with {@link org.apache.sis.referencing.AbstractIdentifiedObject}.
+      *
+      * @param  object  the object to compare with this identified object.
+      * @param  mode    the strictness level of the comparison.
+      * @return {@code true} if both objects are equal.
+      */
+     @Override
+     public boolean equals(final Object object, final ComparisonMode mode) {
+         if (object == this) {
+             return true;
+         }
+         if (object instanceof IdentifiedObject) {
+             if (mode != ComparisonMode.STRICT || object.getClass() == getClass()) {
+                 if (mode.isIgnoringMetadata()) {
+                     return true;
+                 }
+                 final IdentifiedObject that = (IdentifiedObject) object;
+                 return Objects.equals(getName(), that.getName()) &&
+                         isNullOrEmpty(that.getIdentifiers()) &&
+                         isNullOrEmpty(that.getAlias()) &&
+                         that.getRemarks() == null;
+             }
+         }
+         return false;
+     }
+ 
+     /**
+      * Returns a pseudo-WKT representation for debugging purpose.
+      */
+     @Override
+     public String toString() {
+         final String code, codespace;
+         final Citation authority;
+         final Identifier name = this.name;
+         if (name != null) {
+             code      = name.getCode();
+             codespace = name.getCodeSpace();
+             authority = name.getAuthority();
+         } else {
+             code      = null;
+             codespace = null;
+             authority = null;
+         }
+         final StringBuilder buffer = new StringBuilder("IdentifiedObject[\"");
+         if (codespace != null) {
+             buffer.append(codespace).append(Constants.DEFAULT_SEPARATOR);
+         }
+         buffer.append(code).append('"');
+         final String identifier = Identifiers.getIdentifier(authority, true);
+         if (identifier != null) {
+             buffer.append(", Id[\"").append(identifier).append("\"]");   // "Id" should be consistent with WKTKeywords.Id.
+         }
+         return buffer.append(']').toString();
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleIdentifier.java
index 0000000000,10f856cecd..2121b7321d
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,223 +1,223 @@@
+ /*
+  * 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.simple;
+ 
+ import java.util.Objects;
+ import java.io.Serializable;
+ import org.opengis.util.InternationalString;
 -import org.opengis.metadata.Identifier;
++import org.opengis.referencing.ReferenceIdentifier;
+ import org.opengis.metadata.citation.Citation;
+ import org.apache.sis.util.internal.Constants;
+ import org.apache.sis.util.CharSequences;
+ import org.apache.sis.util.Classes;
+ import org.apache.sis.util.Deprecable;
+ 
+ 
+ /**
 - * An implementation of {@link Identifier} as a wrapper around a {@link Citation}.
++ * An implementation of {@link ReferenceIdentifier} as a wrapper around a {@link Citation}.
+  *
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.0
+  * @since   0.3
+  */
 -public class SimpleIdentifier implements Identifier, Deprecable, Serializable {
++public class SimpleIdentifier implements ReferenceIdentifier, Deprecable, Serializable {
+     /**
+      * For cross-version compatibility.
+      */
+     private static final long serialVersionUID = -3544709943777129514L;
+ 
+     /**
+      * Organization or party responsible for definition and maintenance of the
+      * {@linkplain #code}, or {@code null} if none. It can be a bibliographical
+      * reference to an international standard such as ISO 19115.
+      *
+      * @see #getAuthority()
+      * @see #getCodeSpace()
+      * @see #getVersion()
+      */
+     @SuppressWarnings("serial")         // Most SIS implementations are serializable.
+     protected final Citation authority;
+ 
+     /**
+      * Alphanumeric value identifying an instance in the namespace.
+      * It can be for example the name of a class defined by the international standard
+      * referenced by the {@linkplain #authority} citation.
+      *
+      * @see #getCode()
+      */
+     protected final String code;
+ 
+     /**
+      * {@code true} if this identifier is deprecated.
+      */
+     protected final boolean isDeprecated;
+ 
+     /**
+      * Creates a new reference identifier.
+      *
+      * @param authority     responsible party for definition and maintenance of the code, or null.
+      * @param code          alphanumeric value identifying an instance in the namespace.
+      * @param isDeprecated  {@code true} if this identifier is deprecated.
+      */
+     public SimpleIdentifier(final Citation authority, final String code, final boolean isDeprecated) {
+         this.authority    = authority;
+         this.code         = code;
+         this.isDeprecated = isDeprecated;
+     }
+ 
+     /**
+      * Returns the organization or party responsible for definition and maintenance
+      * of the {@linkplain #getCode() code}, or {@code null} if none. It can be a
+      * bibliographical reference to an international standard such as ISO 19115.
+      *
+      * <p>The default implementation returns the citation specified at construction time.</p>
+      *
+      * @return the authority given at construction time, or {@code null} if none.
+      */
+     @Override
+     public Citation getAuthority() {
+         return authority;
+     }
+ 
+     /**
+      * Returns the identifier or namespace in which the code is valid, or {@code null} if none.
+      * The default implementation returns the shortest identifier of the {@linkplain #getAuthority() authority},
+      * if any.
+      *
+      * @return a code space inferred from the authority given at construction time, or {@code null} if none.
+      */
+     @Override
+     public String getCodeSpace() {
+         return org.apache.sis.metadata.iso.citation.Citations.toCodeSpace(authority);
+     }
+ 
+     /**
+      * Returns the alphanumeric value identifying an instance in the namespace.
+      * It can be for example the name of a class defined by the international standard
+      * referenced by the {@linkplain #getAuthority() authority} citation.
+      *
+      * <p>The default implementation returns the code specified at construction time.</p>
+      *
+      * @return the code given at construction time, or {@code null} if none.
+      */
+     @Override
+     public String getCode() {
+         return code;
+     }
+ 
+     /**
+      * Version identifier for the namespace, as specified by the code authority.
+      * When appropriate, the edition is identified by the effective date, coded
+      * using ISO 8601 date format.
+      *
+      * @return a version inferred from the authority given at construction time, or {@code null} if none.
+      */
+     @Override
+     public String getVersion() {
+         if (authority != null) {
+             final InternationalString version = authority.getEdition();
+             if (version != null) {
+                 return version.toString();
+             }
+         }
+         return null;
+     }
+ 
+     /**
+      * An optional free text.
+      *
+      * @since 0.6
+      */
+     @Override
+     public InternationalString getRemarks() {
+         return null;
+     }
+ 
+     /**
+      * {@code true} if this identifier is deprecated.
+      *
+      * @since 0.6
+      */
+     @Override
+     public boolean isDeprecated() {
+         return isDeprecated;
+     }
+ 
+     /**
+      * Returns {@code true} if the given object is of the same class than this
+      * {@code SimpleIdentifier} and has the same values.
+      *
+      * @param  obj  the object to compare with this {@code SimpleIdentifier} for equality.
+      * @return {@code true} if both objects are equal.
+      */
+     @Override
+     public boolean equals(final Object obj) {
+         if (obj != null && obj.getClass() == getClass()) {
+             final SimpleIdentifier that = (SimpleIdentifier) obj;
+             return Objects.equals(code, that.code) &&
+                    Objects.equals(authority, that.authority) &&
+                    isDeprecated == that.isDeprecated;
+         }
+         return false;
+     }
+ 
+     /**
+      * Returns a hash code value for this identifier.
+      *
+      * @return a hash code value for this identifier.
+      */
+     @Override
+     public int hashCode() {
+         return Objects.hash(authority, code, isDeprecated) ^ (int) serialVersionUID;
+     }
+ 
+     /**
+      * Returns a string representation of this identifier.
+      *
+      * <p>For customizing this string representation, see {@link #appendStringTo(StringBuilder)}.</p>
+      */
+     @Override
+     public final String toString() {
+         final String classname = Classes.getShortClassName(this);
+         final StringBuilder buffer = new StringBuilder(classname.length() + CharSequences.length(code) + 10);
+         buffer.append(classname).append('[');
+         final String codespace = getCodeSpace();                // Subclasses may have overridden this method.
+         boolean open = false;
+         if (codespace != null) {
+             buffer.append('“').append(codespace);
+             open = true;
+         }
+         if (code != null) {
+             buffer.append(open ? Constants.DEFAULT_SEPARATOR : '“').append(code);
+             open = true;
+         }
+         if (open) {
+             buffer.append('”');
+         }
+         appendStringTo(buffer);
+         return buffer.append(']').toString();
+     }
+ 
+     /**
+      * Invoked by {@link #toString()} in order to allow subclasses to add additional information.
+      * This method is invoked just before the final {@code ']'} is appended to the buffer.
+      *
+      * @param  buffer  a buffer filled with the {@link #toString()} characters, that subclasses can update.
+      */
+     protected void appendStringTo(final StringBuilder buffer) {
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/simple/SimpleMetadata.java
index 0000000000,b317e5b7b0..34b3ce50d2
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,222 +1,222 @@@
+ /*
+  * 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.simple;
+ 
+ import java.nio.charset.Charset;
+ import java.util.Collection;
+ import java.util.Collections;
+ import java.util.Locale;
+ import java.util.Map;
+ import org.opengis.metadata.Metadata;
+ import org.opengis.metadata.MetadataScope;
+ import org.opengis.metadata.citation.Citation;
+ import org.opengis.metadata.citation.CitationDate;
+ import org.opengis.metadata.citation.PresentationForm;
 -import org.opengis.metadata.citation.Responsibility;
++import org.opengis.metadata.citation.ResponsibleParty;
+ import org.opengis.metadata.extent.Extent;
+ import org.opengis.metadata.identification.*;
+ import org.opengis.metadata.maintenance.ScopeCode;
+ import org.opengis.metadata.spatial.SpatialRepresentationType;
+ import org.opengis.util.InternationalString;
+ 
+ 
+ /**
+  * An empty implementation of ISO 19115 metadata for dataset (not for services).
+  * This simple implementation presumes that the metadata describes exactly one dataset,
+  * which is described by implementing methods from the {@link DataIdentification} interface.
+  * The identification information itself presumes that the dataset is referenced by exactly one citation.
+  *
+  * <p>Unless specified otherwise, all methods in this class returns {@code null} or an empty collection by default.
+  * The exceptions to this rules are the following methods:</p>
+  * <ul>
+  *   <li>{@link #getMetadataScopes()} returns {@code this}</li>
+  *   <li>{@link #getResourceScope()} returns {@link ScopeCode#DATASET}</li>
+  *   <li>{@link #getIdentificationInfo()} returns {@code this}</li>
+  *   <li>{@link #getCitation()} returns {@code this}</li>
+  *   <li>{@link #getSpatialRepresentationTypes()} returns {@link SpatialRepresentationType#VECTOR}</li>
+  *   <li>{@link #getTopicCategories()} returns {@link TopicCategory#LOCATION}</li>
+  *   <li>{@link #getPresentationForms()} returns {@link PresentationForm#TABLE_DIGITAL}</li>
+  * </ul>
+  *
+  * Subclasses are encouraged to override the following methods (typically with hard-coded values):
+  *
+  * <ul>
+  *   <li>{@link #getSpatialRepresentationTypes()} if the metadata describe gridded data instead of vector data.</li>
+  *   <li>{@link #getTopicCategories()} if the data represent something else than locations.</li>
+  *   <li>{@link #getResourceFormats()} with a hard-coded value provided by the data store implementation.</li>
+  *   <li>{@link #getPresentationForms()} if the data represent something else than tabular data.</li>
+  * </ul>
+  *
+  * @author  Johann Sorel (Geomatys)
+  * @version 1.0
+  * @since   0.8
+  */
+ public class SimpleMetadata implements Metadata, MetadataScope, DataIdentification, Citation {
+     /**
+      * Creates a new metadata object.
+      */
+     protected SimpleMetadata() {
+     }
+ 
+     /**
+      * Language(s) used for documenting metadata.
+      * Also the language(s) used within the data.
+      */
+     @Override
+     public Map<Locale,Charset> getLocalesAndCharsets() {
+         return Collections.emptyMap();
+     }
+ 
+     /**
+      * The scope or type of resource for which metadata is provided.
+      * This method returns {@code this} for allowing call to {@link #getResourceScope()}.
+      *
+      * @see #getResourceScope()
+      * @see #getName()
+      */
+     @Override
+     public Collection<MetadataScope> getMetadataScopes() {
+         return Collections.singleton(this);
+     }
+ 
+     /**
+      * Code for the metadata scope, fixed to {@link ScopeCode#DATASET} by default. This is part of the information
+      * provided by {@link #getMetadataScopes()}. The {@code DATASET} default value is consistent with the fact that
+      * {@code SimpleMetadata} implements {@link DataIdentification}.
+      */
+     @Override
+     public ScopeCode getResourceScope() {
+         return ScopeCode.DATASET;
+     }
+ 
+     /**
+      * Parties responsible for the metadata information.
+      */
+     @Override
 -    public Collection<Responsibility> getContacts() {
++    public Collection<ResponsibleParty> getContacts() {
+         return Collections.emptyList();
+     }
+ 
+     /**
+      * Date(s) associated with the metadata.
+      */
+     @Override
+     public Collection<CitationDate> getDateInfo() {
+         return Collections.emptyList();
+     }
+ 
+     /**
+      * Basic information about the resource(s) to which the metadata applies.
+      * This method returns {@code this} for allowing call to {@link #getCitation()}.
+      * and other methods.
+      *
+      * @see #getCitation()
+      * @see #getAbstract()
+      * @see #getPointOfContacts()
+      * @see #getSpatialRepresentationTypes()
+      * @see #getSpatialResolutions()
+      * @see #getTemporalResolutions()
+      * @see #getTopicCategories()
+      * @see #getExtents()
+      * @see #getResourceFormats()
+      * @see #getDescriptiveKeywords()
+      */
+     @Override
+     public Collection<DataIdentification> getIdentificationInfo() {
+         return Collections.singleton(this);
+     }
+ 
+ 
+     /* -------------------------------------------------------------------------------------------------
+      * Implementation of the DataIdentification object returned by Metadata.getIdentificationInfo().
+      * ------------------------------------------------------------------------------------------------- */
+ 
+     /**
+      * Citation for the resource.
+      * This is part of the information returned by {@link #getIdentificationInfo()}.
+      * This method returns {@code this} for allowing call to {@link #getTitle()} and other methods.
+      */
+     @Override
+     public Citation getCitation() {
+         return this;
+     }
+ 
+     /**
+      * Brief narrative summary of the resource.
+      * This is part of the information returned by {@link #getIdentificationInfo()}.
+      */
+     @Override
+     public InternationalString getAbstract() {
+         return null;
+     }
+ 
+     /**
+      * Methods used to spatially represent geographic information.
+      * This is part of the information returned by {@link #getIdentificationInfo()}.
+      * Default implementation returns {@link SpatialRepresentationType#VECTOR}.
+      * Subclasses should override this method if they represent gridded data instead of vector data.
+      */
+     @Override
+     public Collection<SpatialRepresentationType> getSpatialRepresentationTypes() {
+         return Collections.singleton(SpatialRepresentationType.VECTOR);
+     }
+ 
+     /**
+      * Main theme(s) of the resource.
+      * This is part of the information returned by {@link #getIdentificationInfo()}.
+      * Default implementation returns {@link TopicCategory#LOCATION}.
+      * Subclasses should override this method if they represent other kind of data.
+      */
+     @Override
+     public Collection<TopicCategory> getTopicCategories() {
+         return Collections.singleton(TopicCategory.LOCATION);
+     }
+ 
+     /**
+      * Spatial and temporal extent of the resource.
+      * This is part of the information returned by {@link #getIdentificationInfo()}.
+      */
+     @Override
+     public Collection<Extent> getExtents() {
+         return Collections.emptyList();
+     }
+ 
+ 
+     /* -------------------------------------------------------------------------------------------------
+      * Implementation of the Citation object returned by DataIdentification.getCitation().
+      * ------------------------------------------------------------------------------------------------- */
+ 
+     /**
+      * Name by which the cited resource is known.
+      * This is part of the information returned by {@link #getCitation()}.
+      */
+     @Override
+     public InternationalString getTitle() {
+         return null;
+     }
+ 
+     /**
+      * Mode in which the resource is represented.
+      * This is part of the information returned by {@link #getCitation()}.
+      * Default implementation returns {@link PresentationForm#TABLE_DIGITAL}.
+      * Subclasses should override this method if they represent other kind of data.
+      */
+     @Override
+     public Collection<PresentationForm> getPresentationForms() {
+         return Collections.singleton(PresentationForm.TABLE_DIGITAL);
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/metadata/sql/Dispatcher.java
index 0cee77b607,ed50b6d3db..d2b45b1dd8
--- 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
@@@ -29,14 -29,10 +29,14 @@@ import org.apache.sis.metadata.Modifiab
  import org.apache.sis.metadata.MetadataStandard;
  import org.apache.sis.metadata.KeyNamePolicy;
  import org.apache.sis.metadata.ValueExistencePolicy;
- import org.apache.sis.internal.system.Semaphores;
- import org.apache.sis.internal.metadata.Dependencies;
- import org.apache.sis.internal.util.Numerics;
+ 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;
 +import org.opengis.metadata.citation.ResponsibleParty;
 +
  
  /**
   * 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 faa16b0d7e,6847c67d4a..fa37f24312
--- 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
@@@ -23,7 -23,8 +23,7 @@@ import org.opengis.metadata.citation.Pr
  import org.apache.sis.metadata.iso.DefaultIdentifier;
  import org.apache.sis.metadata.iso.citation.DefaultCitation;
  import org.apache.sis.metadata.iso.citation.DefaultOrganisation;
- import org.apache.sis.internal.util.Constants;
 -import org.apache.sis.metadata.iso.citation.DefaultResponsibility;
+ import org.apache.sis.util.internal.Constants;
  import org.apache.sis.util.iso.Types;
  import org.apache.sis.util.ArgumentChecks;
  import org.apache.sis.xml.NilReason;
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/cat/CodeListAdapter.java
index 0000000000,4bd0f5c13e..b297128fe0
mode 000000,100644..100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/cat/CodeListAdapter.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/cat/CodeListAdapter.java
@@@ -1,0 -1,145 +1,171 @@@
+ /*
+  * 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.xml.bind.cat;
+ 
+ import jakarta.xml.bind.annotation.adapters.XmlAdapter;
+ import org.opengis.util.CodeList;
+ import org.apache.sis.util.iso.Types;
+ import org.apache.sis.xml.bind.Context;
+ import org.apache.sis.xml.bind.FilterByVersion;
+ 
+ 
+ /**
+  * An adapter for {@link CodeList}, in order to implement the ISO 19115-3 standard.
+  * This object wraps a {@link CodeListUID}, which contain {@link CodeListUID#codeList codeList}
+  * and {@link CodeListUID#codeListValue codeListValue} attributes. The result looks like below:
+  *
+  * {@snippet lang="xml" :
+  *   <dateType>
+  *     <CI_DateTypeCode codeList="../Codelist/ML_gmxCodelists.xml#CI_DateTypeCode" codeListValue="revision" codeSpace="fra">
+  *       révision
+  *     </CI_DateTypeCode>
+  *   </dateType>
+  * }
+  *
+  * A subclass must exist for each code list, with a {@link #getElement()} method having a
+  * {@code @XmlElement} annotation.
+  *
+  * @author  Cédric Briançon (Geomatys)
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  *
+  * @param <ValueType> The subclass implementing this adapter.
+  * @param <BoundType> The code list being adapted.
+  *
+  * @since 0.3
+  */
+ public abstract class CodeListAdapter<ValueType extends CodeListAdapter<ValueType,BoundType>,
+         BoundType extends CodeList<BoundType>> extends XmlAdapter<ValueType,BoundType>
+ {
+     /**
+      * The value of the {@link CodeList}.
+      */
+     protected CodeListUID identifier;
+ 
+     /**
+      * Empty constructor for subclasses only.
+      */
+     protected CodeListAdapter() {
+     }
+ 
+     /**
+      * Creates a wrapper for a {@link CodeList}, in order to handle the format specified in ISO 19115-3.
+      *
+      * @param  value  the value of {@link CodeList} to be marshalled.
+      */
+     protected CodeListAdapter(final CodeListUID value) {
+         identifier = value;
+     }
+ 
+     /**
+      * Wraps the given value.
+      * Most implementations will be like below:
+      *
+      * {@snippet lang="java" :
+      *     return new ValueType(value);
+      *     }
+      *
+      * However, is some cases, the {@code value} argument may be inspected.
+      * For example, {@link org.apache.sis.xml.bind.metadata.code.MD_RestrictionCode}
+      * replaces {@code "licence"} by {@code "license"} for ISO 19115:2003 compatibility.
+      *
+      * @param  value  the value of {@link CodeList}, to be marshalled.
+      * @return the wrapper for the code list value.
+      */
+     protected abstract ValueType wrap(CodeListUID value);
+ 
+     /**
+      * Returns the class of code list wrapped by this adapter.
+      *
+      * @return the code list class.
+      */
+     protected abstract Class<BoundType> getCodeListClass();
+ 
+     /**
+      * Returns {@code true} if a {@code Since2014} subclasses should return a non-null value.
+      * This is a convenience method for {@code FilterByVersion.CURRENT_METADATA.accept()}.
+      *
+      * @return whether {@code Since2014} subclasses should return a non-null value.
+      */
+     protected final boolean accept2014() {
+         return FilterByVersion.CURRENT_METADATA.accept();
+     }
+ 
+     /**
+      * Substitutes the adapter value read from an XML stream by the object which will
+      * contain the value. JAXB calls automatically this method at unmarshalling time.
+      *
+      * @param  adapter  the adapter for this metadata value.
+      * @return a code list which represents the metadata value.
+      */
+     @Override
+     public final BoundType unmarshal(final ValueType adapter) {
+         return (adapter != null) ? Types.forCodeName(getCodeListClass(), adapter.identifier.toString(), true) : null;
+     }
+ 
+     /**
+      * Substitutes the code list by the adapter to be marshalled into an XML file
+      * or stream. JAXB calls automatically this method at marshalling time.
+      *
+      * @param  code  the code list value.
+      * @return the adapter for the given code list.
+      */
+     @Override
+     public final ValueType marshal(final BoundType code) {
 -        return (code != null) ? wrap(new CodeListUID(Context.current(), code)) : null;
++        if (code == null) {
++            return null;
++        }
++        final CodeListUID p;
++        if (isEnum()) {
++            // To be removed after GEO-199 resolution.
++            p = new CodeListUID();
++            p.value = Types.getCodeName(code);
++        } else {
++            p = new CodeListUID(Context.current(), code);
++        }
++        return wrap(p);
++    }
++
++    /**
++     * Returns {@code true} if this code list is actually an enum. The default implementation
++     * returns {@code false} in every cases, since there is very few enums in ISO 19115.
++     *
++     * @return {@code true} if this code list is actually an enum.
++     *
++     * @todo Remove this method after we refactored enum wrappers as {@code EnumAdapter} subclasses
++     *       instead of {@code CodeListAdapter}. This requires the resolution of GEO-199 first.
++     *
++     * @see <a href="http://jira.codehaus.org/browse/GEO-199">GEO-199</a>
++     */
++    protected boolean isEnum() {
++        return false;
+     }
+ 
+     /**
+      * Invoked by JAXB on marshalling. Subclasses must override this
+      * method with the appropriate {@code @XmlElement} annotation.
+      *
+      * @return the {@code CodeList} value to be marshalled.
+      */
+     public abstract CodeListUID getElement();
+ 
+     /*
+      * We do not define setter method (even abstract) since it seems to confuse JAXB.
+      * It is subclasses responsibility to define the setter method. The existence of
+      * this setter will be tested by MetadataAnnotationsTest.
+      */
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/PropertyType.java
index 0000000000,e0b5ec6741..9a222aca7b
mode 000000,100644..100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/PropertyType.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gco/PropertyType.java
@@@ -1,0 -1,634 +1,635 @@@
+ /*
+  * 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.xml.bind.gco;
+ 
+ import java.util.UUID;
+ import java.net.URI;
+ import java.net.URISyntaxException;
+ import jakarta.xml.bind.annotation.XmlAttribute;
+ import jakarta.xml.bind.annotation.XmlSchemaType;
+ import jakarta.xml.bind.annotation.adapters.XmlAdapter;
+ import org.apache.sis.xml.XLink;
+ import org.apache.sis.xml.NilObject;
+ import org.apache.sis.xml.NilReason;
+ import org.apache.sis.xml.Namespaces;
+ import org.apache.sis.xml.IdentifierMap;
+ import org.apache.sis.xml.IdentifierSpace;
+ import org.apache.sis.xml.IdentifiedObject;
+ import org.apache.sis.xml.ReferenceResolver;
+ import org.apache.sis.util.internal.Strings;
+ import org.apache.sis.xml.bind.Context;
+ import org.apache.sis.xml.bind.FilterByVersion;
+ import org.apache.sis.util.SimpleInternationalString;
+ import org.apache.sis.util.resources.Errors;
+ 
+ 
+ /**
+  * Base class for adapters from GeoAPI interfaces to their SIS implementations.
+  * Implementation subclasses are actually both JAXB adapters and wrappers around
+  * the value to be marshalled. Wrappers exist because ISO 19139 have the strange
+  * habit to wrap every properties in an extra level, for example:
+  *
+  * {@snippet lang="xml" :
+  *   <CI_ResponsibleParty>
+  *     <contactInfo>
+  *       <CI_Contact>
+  *         ...
+  *       </CI_Contact>
+  *     </contactInfo>
+  *   </CI_ResponsibleParty>
+  *   }
+  *
+  * The {@code <CI_Contact>} level is not really necessary, and JAXB is not designed for inserting
+  * such level since it is not the usual way to write XML. In order to get this output with JAXB,
+  * we have to wrap metadata object in an additional object. So each {@code PropertyType} subclass
+  * is both a JAXB adapter and a wrapper. We have merged those functionalities in order to avoid
+  * doubling the amount of classes, which is already large.
+  *
+  * <p>In ISO 19139 terminology:</p>
+  * <ul>
+  *   <li>the public classes defined in the {@code org.apache.sis.metadata.iso} packages are defined
+  *       as {@code Foo_Type} in ISO 19139, where <var>Foo</var> is the ISO name of a class.</li>
+  *   <li>the {@code PropertyType} subclasses are defined as {@code Foo_PropertyType} in
+  *       ISO 19139 schemas.</li>
+  * </ul>
+  *
+  * <h2>Guidlines for subclasses</h2>
+  * Subclasses shall provide a method returning the SIS implementation class for the metadata value.
+  * This method will be systematically called at marshalling time by JAXB. Typical implementation
+  * ({@code BoundType} and {@code ValueType} need to be replaced by the concrete class):
+  *
+  * {@snippet lang="java" :
+  *     @XmlElementRef
+  *     public BoundType getElement() {
+  *         if (skip()) return null;
+  *         final ValueType metadata = this.metadata;
+  *         return (metadata instanceof BoundType) ? (BoundType) metadata : new BoundType(metadata);
+  *     }
+  *
+  *     public void getElement(final BoundType metadata) {
+  *         this.metadata = metadata;
+  *     }
+  * }
+  *
+  * The actual implementation may be slightly more complicated than the above if there is
+  * various subclasses to check.
+  *
+  * <h2>Implementation note</h2>
+  * A previous version provided an abstract {@code getElement()} method in this class
+  * for enforcing its definition in subclasses. But this has been removed for two reasons:
+  * <ul>
+  *   <li>While the return value is usually {@code BoundType}, in some situations it is
+  *       rather another type like {@code String}. For this reason the return type must
+  *       be declared as {@code Object}, and subclasses have to restrict it to a more
+  *       specific type.</li>
+  *   <li>The parameterized return type forces the compiler to generate bridge methods under
+  *       the hood. In the particular case of typical {@code PropertyType} subclasses,
+  *       this increases the size of {@code .class} files by approximately 4.5%.
+  *       While quite small, this is a useless overhead since we never need to invoke the
+  *       abstract {@code getElement()} from this class.</li>
+  * </ul>
+  *
+  * @author  Cédric Briançon (Geomatys)
+  * @author  Martin Desruisseaux (Geomatys)
+  * @author  Cullen Rombach (Image Matters)
+  * @version 1.4
+  *
+  * @param <ValueType>  the adapter subclass.
+  * @param <BoundType>  the interface being adapted.
+  *
+  * @see XmlAdapter
+  *
+  * @since 0.3
+  */
+ public abstract class PropertyType<ValueType extends PropertyType<ValueType,BoundType>, BoundType>
+         extends XmlAdapter<ValueType,BoundType>
+ {
+     /**
+      * The wrapped GeoAPI metadata instance, or {@code null} if the metadata shall not be marshalled.
+      * Metadata are not marshalled when replaced by {@code xlink:href} or {@code uuidref} attributes.
+      */
+     protected BoundType metadata;
+ 
+     /**
+      * Either {@code null}, an {@link ObjectReference} or a {@link String}.
+      *
+      * <ul>
+      *   <li>{@link ObjectReference} defines the {@code uuidref}, {@code xlink:href}, {@code xlink:role},
+      *       {@code xlink:arcrole}, {@code xlink:title}, {@code xlink:show} and {@code xlink:actuate} attributes.</li>
+      *   <li>{@link String} defines the {@code nilReason} attribute.</li>
+      * </ul>
+      *
+      * Those two properties are exclusive (if the user defines an object reference,
+      * then the attribute is not nil).
+      */
+     private Object reference;
+ 
+     /**
+      * Empty constructor for subclasses only.
+      */
+     protected PropertyType() {
+     }
+ 
+     /**
+      * Builds a {@code PropertyType} wrapper for an instance of a final class.
+      * This constructor checks for nil reasons only if {@code check} is {@code true}.
+      *
+      * @param  value     the primitive type wrapper.
+      * @param  mayBeNil  {@code true} if we should check for nil reasons.
+      */
+     protected PropertyType(final BoundType value, final boolean mayBeNil) {
+         metadata = value;
+         if (mayBeNil) {
+             final NilReason property = NilReason.forObject(value);
+             if (property != null) {
+                 reference = property.toString();
+                 metadata  = null;
+             }
+         }
+     }
+ 
+     /**
+      * Builds a wrapper for the given GeoAPI interface. This constructor checks if the given metadata
+      * implements the {@link NilObject} or {@link IdentifiedObject} interface. If the object implements
+      * both of them (should not happen, but we never know), then the identifiers will have precedence.
+      *
+      * @param  value  the interface to wrap.
+      */
+     protected PropertyType(final BoundType value) {
+         /*
+          * Do not invoke NilReason.forObject(metadata) in order to avoid unnecessary synchronization.
+          * Subclasses will use the PropertyType(BoundType, boolean) constructor instead when a check
+          * for primitive type is required.
+          */
+         if (value instanceof NilObject) {
+             final NilReason reason = ((NilObject) value).getNilReason();
+             if (reason != null) {
+                 reference = reason.toString();
+                 return;
+             }
+         }
+         /*
+          * Verifies if the object to marshal can be replaced by a xlink or uuidref.
+          * First, check if we can use a xlink:href="#foo" reference to a gml:id="foo".
+          * Only if no gml:id was found, check for user-defined xlink or uuidref.
+          */
+         @SuppressWarnings("OverridableMethodCallInConstructor")
+         final Class<BoundType>  type     = getBoundType();
+         final Context           context  = Context.current();
+         final ReferenceResolver resolver = Context.resolver(context);
+         final String id = Context.getObjectID(context, value);
+         if (id != null && resolver.canSubstituteByReference(context, type, value, id)) try {
+             final XLink link = new XLink();
+             link.setHRef(new URI(null, null, id));
+             reference = new ObjectReference(null, link);
+             return;
+         } catch (URISyntaxException e) {
+             Context.warningOccured(context, getClass(), "<init>", e, true);
+         }
+         metadata = value;   // Non-null only after we verified that not a NilObject or xlink:href="#foo".
+         if (value instanceof IdentifiedObject) {
+             /*
+              * Get the identifiers as full UUID or XLink objects. We do not use the more permissive methods
+              * working with arbitrary strings -- e.g. map.get(IdentifierSpace.HREF) -- because we are going
+              * to use those values for marshalling REFERENCES to an externally-defined metadata object, not
+              * for declaring the attributes to marshal together with the metadata. Since references REPLACE
+              * the original metadata object, we are better to ensure that they are well formed - in case of
+              * doubt, we are better to marshal the full object. We are not loosing information since in the
+              * later case, the identifiers will be marshalled as Strings by ISOMetadata. Example:
+              *
+              *   <cit:CI_Citation>
+              *     <cit:series uuidref="f8f5fcb1-d57b-4013-b3a4-4eaa40df6dcf">      ☚ marshalled by this
+              *       <cit:CI_Series uuid="f8f5fcb1-d57b-4013-b3a4-4eaa40df6dcf">    ☚ marshalled by ISOMetadata
+              *         ...
+              *       </cit:CI_Series>
+              *     </cit:series>
+              *   </cit:CI_Citation>
+              *
+              * We do not try to parse UUID or XLink objects from String because it should be the job of
+              * org.apache.sis.xml.bind.ModifiableIdentifierMap.put(Citation, String).
+              */
+             final IdentifierMap map = ((IdentifiedObject) value).getIdentifierMap();
+             XLink link = map.getSpecialized(IdentifierSpace.XLINK);
+             UUID  uuid = map.getSpecialized(IdentifierSpace.UUID);
+             if (uuid != null || link != null) {
+                 /*
+                  * Check if the user gives us the permission to use reference to those identifiers.
+                  * If not, forget them in order to avoid marshalling the identifiers twice (see the
+                  * example in the above comment).
+                  */
+                 if (uuid != null) {
+                     if (resolver.canSubstituteByReference(context, type, value, uuid)) {
+                         metadata = null;
+                     } else {
+                         uuid = null;
+                     }
+                 }
+                 /*
+                  * There is no risk of duplication for 'xlink' because there is no such attribute in ISOMetadata.
+                  * So if the user does not allow us to omit the metadata object, we will still keep the xlink for
+                  * informative purpose.
+                  */
+                 if (link != null && resolver.canSubstituteByReference(context, type, value, link)) {
+                     metadata = null;
+                 }
+                 if (uuid != null || link != null) {
+                     reference = new ObjectReference(uuid, link);
+                 }
+             }
+         }
+     }
+ 
+     /**
+      * Returns the object reference, or {@code null} if none and the {@code create} argument is {@code false}.
+      * If the {@code create} argument is {@code true}, then this method will create the object reference when
+      * first needed. In the latter case, any previous {@code gco:nilReason} will be overwritten since
+      * the object is not nil.
+      */
+     private ObjectReference reference(final boolean create) {
+         final Object ref = reference;
+         if (ref instanceof ObjectReference) {
+             return (ObjectReference) ref;
+         } else if (create) {
+             final ObjectReference newRef = new ObjectReference();
+             reference = newRef;
+             return newRef;
+         } else {
+             return null;
+         }
+     }
+ 
+     /**
+      * Returns the {@code xlink}, or {@code null} if none and {@code create} is {@code false}.
+      * If the {@code create} argument is {@code true}, then this method will create the XLink
+      * when first needed. In the latter case, any previous {@code gco:nilReason} will be
+      * overwritten since the object is not nil.
+      */
+     private XLink xlink(final boolean create) {
+         final ObjectReference ref = reference(create);
+         if (ref == null) {
+             return null;
+         }
+         XLink xlink = ref.xlink;
+         if (create && xlink == null) {
+             ref.xlink = xlink = new XLink();
+             xlink.setType(XLink.Type.SIMPLE);           // The "simple" type is fixed in the "gco" schema.
+         }
+         return xlink;
+     }
+ 
+     /**
+      * The reason why a mandatory attribute if left unspecified.
+      *
+      * @return the current value, or {@code null} if none.
+      * @category gco:PropertyType
+      */
+     @XmlAttribute(name = "nilReason", namespace = Namespaces.GCO)
+     public final String getNilReason() {
+         final Object ref = reference;
+         return (ref instanceof String) ? (String) ref : null;
+     }
+ 
+     /**
+      * Sets the {@code nilReason} attribute value. This method does nothing if a
+      * non-null {@linkplain #reference} exists, since in such case the object can
+      * not be nil.
+      *
+      * @param nilReason the new attribute value.
+      * @category gco:PropertyType
+      */
+     public final void setNilReason(final String nilReason) {
+         if (!(reference instanceof ObjectReference)) {
+             reference = nilReason;
+         }
+     }
+ 
+     /**
+      * A URN to an external resources, or to another part of a XML document, or an identifier.
+      * The {@code uuidref} attribute is used to refer to an XML element that has a corresponding
+      * {@code uuid} attribute.
+      *
+      * @return the current value, or {@code null} if none.
+      * @category gco:ObjectReference
+      */
+     @XmlAttribute(name = "uuidref")                 // Defined in "gco" as unqualified attribute.
+     public final String getUUIDREF() {
+         final ObjectReference ref = reference(false);
+         return (ref != null) ? toString(ref.uuid) : null;
+     }
+ 
+     /**
+      * Sets the {@code uuidref} attribute value.
+      *
+      * @param  uuid  the new attribute value.
+      * @throws IllegalArgumentException if the given UUID cannot be parsed.
+      * @category gco:ObjectReference
+      */
+     public final void setUUIDREF(final String uuid) throws IllegalArgumentException {
+         final Context context = Context.current();
+         reference(true).uuid = Context.converter(context).toUUID(context, uuid);
+     }
+ 
+     /**
+      * Returns the given URI as a string, or returns {@code null} if the given argument is null.
+      */
+     private static String toString(final Object text) {
+         return (text != null) ? text.toString() : null;
+     }
+ 
+     /**
+      * Parses the given URI, or returns {@code null} if the given argument is null or empty.
+      */
+     private static URI toURI(final String uri) throws URISyntaxException {
+         final Context context = Context.current();
+         return Context.converter(context).toURI(context, uri);
+     }
+ 
+     /**
+      * A URN to an external resources, or to another part of a XML document, or an identifier.
+      * The {@code xlink:href} attribute allows an XML element to refer to another XML element
+      * that has a corresponding {@code id} attribute.
+      *
+      * @return the current value, or {@code null} if none.
+      * @category xlink
+      */
+     @XmlSchemaType(name = "anyURI")
+     @XmlAttribute(name = "href", namespace = Namespaces.XLINK)
+     public final String getHRef() {
+         final XLink link = xlink(false);
+         return (link != null) ? toString(link.getHRef()) : null;
+     }
+ 
+     /**
+      * Sets the {@code href} attribute value.
+      *
+      * @param  href  the new attribute value.
+      * @throws URISyntaxException if the given string cannot be parsed as a URI.
+      * @category xlink
+      */
+     public final void setHRef(final String href) throws URISyntaxException {
+         xlink(true).setHRef(toURI(href));
+     }
+ 
+     /**
+      * A URI reference for some description of the arc role.
+      *
+      * @return the current value, or {@code null} if none.
+      * @category xlink
+      */
+     @XmlSchemaType(name = "anyURI")
+     @XmlAttribute(name = "role", namespace = Namespaces.XLINK)
+     public final String getRole() {
+         final XLink link = xlink(false);
+         return (link != null) ? toString(link.getRole()) : null;
+     }
+ 
+     /**
+      * Sets the {@code role} attribute value.
+      *
+      * @param  role  the new attribute value.
+      * @throws URISyntaxException if the given string cannot be parsed as a URI.
+      * @category xlink
+      */
+     public final void setRole(final String role) throws URISyntaxException {
+         xlink(true).setRole(toURI(role));
+     }
+ 
+     /**
+      * A URI reference for some description of the arc role.
+      *
+      * @return the current value, or {@code null} if none.
+      * @category xlink
+      */
+     @XmlSchemaType(name = "anyURI")
+     @XmlAttribute(name = "arcrole", namespace = Namespaces.XLINK)
+     public final String getArcRole() {
+         final XLink link = xlink(false);
+         return (link != null) ? toString(link.getArcRole()) : null;
+     }
+ 
+     /**
+      * Sets the {@code arcrole} attribute value.
+      *
+      * @param  arcrole  the new attribute value.
+      * @throws URISyntaxException if the given string cannot be parsed as a URI.
+      * @category xlink
+      */
+     public final void setArcRole(final String arcrole) throws URISyntaxException {
+         xlink(true).setArcRole(toURI(arcrole));
+     }
+ 
+     /**
+      * Just as with resources, this is simply a human-readable string with a short description
+      * for the arc.
+      *
+      * @return the current value, or {@code null} if none.
+      * @category xlink
+      */
+     @XmlAttribute(name = "title", namespace = Namespaces.XLINK)
+     public final String getTitle() {
+         final XLink link = xlink(false);
+         return (link != null) ? StringAdapter.toString(link.getTitle()) : null;
+     }
+ 
+     /**
+      * Sets the {@code title} attribute value.
+      *
+      * @param  title  the new attribute value.
+      * @category xlink
+      */
+     public final void setTitle(String title) {
+         title = Strings.trimOrNull(title);
+         if (title != null) {
+             xlink(true).setTitle(new SimpleInternationalString(title));
+         }
+     }
+ 
+     /**
+      * Communicates the desired presentation of the ending resource on traversal
+      * from the starting resource. It's value should be treated as follows:
+      *
+      * <ul>
+      *   <li>new: load ending resource in a new window, frame, pane, or other presentation context</li>
+      *   <li>replace: load the resource in the same window, frame, pane, or other presentation context</li>
+      *   <li>embed: load ending resource in place of the presentation of the starting resource</li>
+      *   <li>other: behavior is unconstrained; examine other markup in the link for hints</li>
+      *   <li>none: behavior is unconstrained</li>
+      * </ul>
+      *
+      * @return the current value, or {@code null} if none.
+      * @category xlink
+      */
+     @XmlAttribute(name = "show", namespace = Namespaces.XLINK)
+     public final XLink.Show getShow() {
+         final XLink link = xlink(false);
+         return (link != null) ? link.getShow() : null;
+     }
+ 
+     /**
+      * Sets the {@code show} attribute value.
+      *
+      * @param  show  the new attribute value.
+      * @category xlink
+      */
+     public final void setShow(final XLink.Show show) {
+         xlink(true).setShow(show);
+     }
+ 
+     /**
+      * Communicates the desired timing of traversal from the starting resource to the ending resource.
+      * It's value should be treated as follows:
+      *
+      * <ul>
+      *   <li>onLoad: traverse to the ending resource immediately on loading the starting resource</li>
+      *   <li>onRequest: traverse from the starting resource to the ending resource only on a post-loading event triggered for this purpose</li>
+      *   <li>other: behavior is unconstrained; examine other markup in link for hints</li>
+      *   <li>none: behavior is unconstrained</li>
+      * </ul>
+      *
+      * @return the current value, or {@code null} if none.
+      * @category xlink
+      */
+     @XmlAttribute(name = "actuate", namespace = Namespaces.XLINK)
+     public final XLink.Actuate getActuate() {
+         final XLink link = xlink(false);
+         return (link != null) ? link.getActuate() : null;
+     }
+ 
+     /**
+      * Sets the {@code actuate} attribute value.
+      *
+      * @param  actuate  the new attribute value.
+      * @category xlink
+      */
+     public final void setActuate(final XLink.Actuate actuate) {
+         xlink(true).setActuate(actuate);
+     }
+ 
+     // Do NOT declare attributes xlink:label, xlink:from and xlink:to,
+     // because they are not part of the xlink:simpleLink group.
+ 
+ 
+     // ======== XmlAdapter methods ===============================================================
+ 
+ 
+     /**
+      * Returns the bound type, which is typically the GeoAPI interface.
+      * Subclasses need to return a hard-coded value. They shall not compute
+      * a value from the object fields, because this method is invoked from
+      * the constructor.
+      *
+      * @return the bound type, which is typically the GeoAPI interface.
+      */
+     protected abstract Class<BoundType> getBoundType();
+ 
+     /**
+      * Returns {@code true} if a {@code Since2014} subclasses should return a non-null value.
+      * This is a convenience method for {@code FilterByVersion.CURRENT_METADATA.accept()}.
+      *
+      * @return whether {@code Since2014} subclasses should return a non-null value.
+      */
+     protected final boolean accept2014() {
+         return FilterByVersion.CURRENT_METADATA.accept();
+     }
+ 
+     /**
+      * Creates a new instance of this class wrapping the given metadata.
+      * This method is invoked by {@link #marshal} after making sure that
+      * {@code value} is not null.
+      *
+      * @param  value  the GeoAPI interface to wrap.
+      * @return the adapter.
+      */
+     protected abstract ValueType wrap(final BoundType value);
+ 
+     /**
+      * Converts a GeoAPI interface to the appropriate adapter for the way it will be
+      * marshalled into an XML file or stream. JAXB calls automatically this method at
+      * marshalling time.
+      *
+      * @param  value  the bound type value, here the interface.
+      * @return the adapter for the given value.
+      */
+     @Override
+     public final ValueType marshal(final BoundType value) {
+         if (value == null) {
+             return null;
+         }
+         return wrap(value);
+     }
+ 
+     /**
+      * Converts an adapter read from an XML stream to the GeoAPI interface which will
+      * contains this value. JAXB calls automatically this method at unmarshalling time.
+      *
+      * @param  value  the adapter for a metadata value.
+      * @return an instance of the GeoAPI interface which represents the metadata value.
+      * @throws URISyntaxException if a URI cannot be parsed.
+      */
+     @Override
 -    public final BoundType unmarshal(final ValueType value) throws URISyntaxException {
++    // Overridden by `MD_Scope` on the geoapi-3.x branches only.
++    public BoundType unmarshal(final ValueType value) throws URISyntaxException {
+         return (value != null) ? value.resolve(Context.current()) : null;
+     }
+ 
+     /**
+      * If the {@linkplain #metadata} is still null, tries to resolve it using UUID, XLink
+      * or NilReason information. This method is invoked at unmarshalling time.
+      *
+      * @throws URISyntaxException if a nil reason is present and cannot be parsed.
+      */
+     final BoundType resolve(final Context context) throws URISyntaxException {
+         final ObjectReference ref = reference(false);
+         if (ref != null) {
+             metadata = ref.resolve(context, getBoundType(), metadata);
+         }
+         if (metadata == null) {
+             final String value = getNilReason();
+             if (value != null) {
+                 final NilReason nilReason = Context.converter(context).toNilReason(context, value);
+                 if (nilReason != null) {
+                     metadata = nilReason.createNilObject(getBoundType());
+                 }
+             }
+         }
+         return metadata;
+     }
+ 
+     /**
+      * Invoked by subclasses when the unmarshalled object is missing a component.
+      * This method is invoked when the missing component is essential to SIS working.
+      * This method is not invoked if the missing component is flagged as mandatory by GML,
+      * but is not mandatory for SIS working.
+      *
+      * @param  missing  the name of the missing XML component.
+      * @throws IllegalArgumentException always thrown.
+      *
+      * @since 0.7
+      */
+     protected final void incomplete(final String missing) throws IllegalArgumentException {
+         throw new IllegalArgumentException(Errors.format(Errors.Keys.MissingComponentInElement_2, getBoundType(), missing));
+     }
+ 
+     /*
+      * Do not provide the following method here:
+      *
+      *     public abstract BountType getElement();
+      *
+      * as it adds a small but unnecessary overhead.
+      * See class Javadoc for more information.
+      */
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gmi/MI_Band.java
index 0000000000,55a589cf9d..db1df9a10d
mode 000000,100644..100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gmi/MI_Band.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/gmi/MI_Band.java
@@@ -1,0 -1,79 +1,79 @@@
+ /*
+  * 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.xml.bind.gmi;
+ 
+ import jakarta.xml.bind.annotation.XmlType;
+ import jakarta.xml.bind.annotation.XmlRootElement;
+ import org.opengis.metadata.content.Band;
+ import org.apache.sis.metadata.iso.content.DefaultBand;
+ import org.apache.sis.xml.Namespaces;
+ 
+ 
+ /**
+  * A wrapper for a metadata using the {@code "gmi"} namespace.
+  *
+  * @author  Guilhem Legal (Geomatys)
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  * @since   0.3
+  */
+ @XmlType(name = "MI_Band_Type", namespace = Namespaces.MRC)
+ @XmlRootElement(name = "MI_Band", namespace = Namespaces.MRC)
+ public class MI_Band extends DefaultBand {
+     /**
+      * For cross-version compatibility.
+      */
+     private static final long serialVersionUID = -6839213923457158942L;
+ 
+     /**
+      * Creates an initially empty metadata.
+      * This is also the default constructor used by JAXB.
+      */
+     public MI_Band() {
+     }
+ 
+     /**
+      * Creates a new metadata as a copy of the given one.
+      * This is a shallow copy constructor.
+      *
+      * @param original  the original metadata to copy.
+      */
+     public MI_Band(final Band original) {
+         super(original);
+     }
+ 
+     /**
+      * Wraps the given metadata into a SIS implementation that can be marshalled,
+      * using the {@code "gmi"} namespace if necessary.
+      *
+      * @param  original  the original metadata provided by the user.
+      * @return the metadata to marshal.
+      */
+     public static DefaultBand castOrCopy(final Band original) {
+         if (original != null && !(original instanceof MI_Band)) {
+             if (original.getBandBoundaryDefinition()   != null ||
+                 original.getNominalSpatialResolution() != null ||
+                 original.getTransferFunctionType()     != null ||
 -                original.getTransmittedPolarisation()  != null ||
 -                original.getDetectedPolarisation()     != null)
++                original.getTransmittedPolarization()  != null ||
++                original.getDetectedPolarization()     != null)
+             {
+                 return new MI_Band(original);
+             }
+         }
+         return DefaultBand.castOrCopy(original);
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_ResponsibleParty.java
index 0000000000,d6a308b673..149b2a5db5
mode 000000,100644..100644
--- a/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_ResponsibleParty.java
+++ b/endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/CI_ResponsibleParty.java
@@@ -1,0 -1,131 +1,127 @@@
+ /*
+  * 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.xml.bind.metadata;
+ 
+ import jakarta.xml.bind.annotation.XmlElementRef;
+ import org.opengis.util.InternationalString;
+ import org.opengis.metadata.citation.Contact;
+ import org.opengis.metadata.citation.ResponsibleParty;
+ import org.apache.sis.metadata.iso.citation.AbstractParty;
+ import org.apache.sis.metadata.iso.citation.DefaultIndividual;
+ import org.apache.sis.metadata.iso.citation.DefaultOrganisation;
+ import org.apache.sis.metadata.iso.citation.DefaultResponsibility;
+ import org.apache.sis.metadata.iso.citation.DefaultResponsibleParty;
+ import org.apache.sis.xml.bind.gco.PropertyType;
+ import org.apache.sis.xml.bind.FilterByVersion;
+ 
+ 
+ /**
+  * JAXB adapter mapping implementing class to a legacy GeoAPI interface.
+  * See package documentation for more information about JAXB and interface.
+  *
 - * @deprecated This adapter is not used anymore for ISO 19115-3:2014 metadata.
 - * However, it is needed for branches that depend on GeoAPI 3.x, and is also needed
 - * for implementing web services that have not yet been upgraded to latest ISO standard.
 - *
+  * @author  Cédric Briançon (Geomatys)
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  * @since   0.3
+  */
 -@Deprecated(since="1.0")
++@SuppressWarnings("deprecation")
+ public final class CI_ResponsibleParty extends PropertyType<CI_ResponsibleParty, ResponsibleParty> {
+     /**
+      * Empty constructor for JAXB only.
+      */
+     public CI_ResponsibleParty() {
+     }
+ 
+     /**
+      * Returns the GeoAPI interface which is bound by this adapter.
+      * This method is indirectly invoked by the private constructor
+      * below, so it shall not depend on the state of this object.
+      *
+      * @return {@code ResponsibleParty.class}
+      */
+     @Override
+     protected Class<ResponsibleParty> getBoundType() {
+         return ResponsibleParty.class;
+     }
+ 
+     /**
+      * Constructor for the {@link #wrap} method only.
+      */
+     private CI_ResponsibleParty(final ResponsibleParty value) {
+         super(value);
+     }
+ 
+     /**
+      * Invoked by {@link PropertyType} at marshalling time for wrapping the given metadata value
+      * in a {@code <gmd:CI_ResponsibleParty>} XML element.
+      *
+      * @param  value  the metadata element to marshal.
+      * @return a {@code PropertyType} wrapping the given the metadata element.
+      */
+     @Override
+     protected CI_ResponsibleParty wrap(final ResponsibleParty value) {
+         return new CI_ResponsibleParty(value);
+     }
+ 
+     /**
+      * Invoked by JAXB at marshalling time for getting the actual metadata to write
+      * inside the {@code <gmd:CI_ResponsibleParty>} XML element.
+      * This is the value or a copy of the value given in argument to the {@code wrap} method.
+      *
+      * @return the metadata to be marshalled.
+      */
+     @XmlElementRef
+     public DefaultResponsibility getElement() {
+         if (FilterByVersion.LEGACY_METADATA.accept()) {
+             return DefaultResponsibleParty.castOrCopy(metadata);
+         } else if (metadata != null) {
+             final DefaultIndividual individual;
+             final String name = metadata.getIndividualName();
+             Contact contact = metadata.getContactInfo();
+             AbstractParty party;
+             if (name != null) {
+                 individual = new DefaultIndividual(name, metadata.getPositionName(), contact);
+                 party      = individual;
+                 contact    = null;
+             } else {
+                 individual = null;
+                 party      = null;
+             }
+             final InternationalString organisation = metadata.getOrganisationName();
+             if (organisation != null) {
+                 party = new DefaultOrganisation(organisation, null, individual, contact);
+             }
+             if (party != null) {
+                 return new DefaultResponsibility(metadata.getRole(), null, party);
+             }
+         }
+         return null;
+     }
+ 
+     /**
+      * Invoked by JAXB at unmarshalling time for storing the result temporarily.
+      *
+      * @param  value  the unmarshalled metadata.
+      */
+     public void setElement(final DefaultResponsibility value) {
+         if (value instanceof DefaultResponsibleParty) {
+             metadata = (DefaultResponsibleParty) value;
+         } else if (value != null) {
+             metadata = new DefaultResponsibleParty(value);
+         }
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/MD_Scope.java
index 0000000000,2698419fde..0c3f741ea9
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,111 +1,127 @@@
+ /*
+  * 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.xml.bind.metadata;
+ 
++import java.net.URISyntaxException;
+ import jakarta.xml.bind.annotation.XmlElementRef;
+ import org.opengis.metadata.maintenance.Scope;
+ import org.apache.sis.metadata.iso.maintenance.DefaultScope;
+ import org.apache.sis.xml.bind.gco.PropertyType;
+ 
+ 
+ /**
+  * JAXB adapter in order to map implementing class with the GeoAPI interface.
+  * See package documentation for more information about JAXB and interface.
+  *
+  * @author  Guilhem Legal (Geomatys)
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  * @since   0.3
+  */
+ public class MD_Scope extends PropertyType<MD_Scope, Scope> {
+     /**
+      * Empty constructor for JAXB only.
+      */
+     public MD_Scope() {
+     }
+ 
+     /**
+      * Returns the GeoAPI interface which is bound by this adapter.
+      * This method is indirectly invoked by the private constructor
+      * below, so it shall not depend on the state of this object.
+      *
+      * @return {@code Scope.class}
+      */
+     @Override
+     protected final Class<Scope> getBoundType() {
+         return Scope.class;
+     }
+ 
+     /**
+      * Constructor for the {@link #wrap} method only.
+      */
+     private MD_Scope(final Scope value) {
+         super(value);
+     }
+ 
+     /**
+      * Invoked by {@link PropertyType} at marshalling time for wrapping the given metadata value
+      * in a {@code <mcc:MD_Scope>} XML element.
+      *
+      * @param  value  the metadata element to marshal.
+      * @return a {@code PropertyType} wrapping the given the metadata element.
+      */
+     @Override
+     protected MD_Scope wrap(final Scope value) {
+         return new MD_Scope(value);
+     }
+ 
+     /**
+      * Invoked by JAXB at marshalling time for getting the actual metadata to write
+      * inside the {@code <mcc:MD_Scope>} XML element.
+      * This is the value or a copy of the value given in argument to the {@code wrap} method.
+      *
+      * @return the metadata to be marshalled.
+      */
+     @XmlElementRef
+     public final DefaultScope getElement() {
+         return DefaultScope.castOrCopy(metadata);
+     }
+ 
+     /**
+      * Invoked by JAXB at unmarshalling time for storing the result temporarily.
+      *
+      * @param  value  the unmarshalled metadata.
+      */
+     public final void setElement(final DefaultScope value) {
+         metadata = value;
+     }
+ 
++    /**
++     * On unmarshalling, creates an instance of the deprecated
++     * {@link org.apache.sis.metadata.iso.quality.DefaultScope} subclass.
++     */
++    public static final class Legacy extends MD_Scope {
++        /** Empty constructor used only by JAXB. */
++        public Legacy() {
++        }
++
++        /** Converts an adapter read from an XML stream. */
++        @Override public Scope unmarshal(final MD_Scope value) throws URISyntaxException {
++            return org.apache.sis.metadata.iso.quality.DefaultScope.castOrCopy(super.unmarshal(value));
++        }
++    }
++
+     /**
+      * Wraps the value only if marshalling an element from the ISO 19115:2014 metadata model.
+      * Otherwise (i.e. if marshalling according legacy ISO 19115:2003 model), omits the element.
+      */
+     public static final class Since2014 extends MD_Scope {
+         /** Empty constructor used only by JAXB. */
+         public Since2014() {
+         }
+ 
+         /**
+          * Wraps the given value in an ISO 19115-3 element, unless we are marshalling an older document.
+          *
+          * @return a non-null value only if marshalling ISO 19115-3 or newer.
+          */
+         @Override protected MD_Scope wrap(final Scope value) {
+             return accept2014() ? super.wrap(value) : null;
+         }
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_MediumNameCode.java
index 0000000000,cafacc9a24..b92aea6dd9
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,88 +1,88 @@@
+ /*
+  * 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.xml.bind.metadata.code;
+ 
+ import jakarta.xml.bind.annotation.XmlElement;
++import org.opengis.metadata.distribution.MediumName;
+ import org.apache.sis.xml.bind.cat.CodeListAdapter;
+ import org.apache.sis.xml.bind.cat.CodeListUID;
+ import org.apache.sis.xml.util.LegacyNamespaces;
 -import org.apache.sis.metadata.iso.legacy.MediumName;
+ 
+ 
+ /**
+  * JAXB adapter for legacy {@link MediumName}
+  * in order to wrap the value in an XML element as specified by ISO 19115-3 standard.
+  * See package documentation for more information about the handling of {@code CodeList} in ISO 19115-3.
+  *
+  * @author  Cédric Briançon (Geomatys)
+  * @version 1.4
+  * @since   0.3
+  */
+ public final class MD_MediumNameCode extends CodeListAdapter<MD_MediumNameCode, MediumName> {
+     /**
+      * Empty constructor for JAXB only.
+      */
+     public MD_MediumNameCode() {
+     }
+ 
+     /**
+      * Creates a new adapter for the given value.
+      */
+     private MD_MediumNameCode(final CodeListUID value) {
+         super(value);
+     }
+ 
+     /**
+      * {@inheritDoc}
+      *
+      * @return the wrapper for the code list value.
+      */
+     @Override
+     protected MD_MediumNameCode wrap(final CodeListUID value) {
+         return new MD_MediumNameCode(value);
+     }
+ 
+     /**
+      * {@inheritDoc}
+      *
+      * @return the code list class.
+      */
+     @Override
+     protected Class<MediumName> getCodeListClass() {
+         return MediumName.class;
+     }
+ 
+     /**
+      * Invoked by JAXB on marshalling.
+      *
+      * @return the value to be marshalled.
+      */
+     @Override
+     @XmlElement(name = "MD_MediumNameCode", namespace = LegacyNamespaces.GMD)
+     public CodeListUID getElement() {
+         return identifier;
+     }
+ 
+     /**
+      * Invoked by JAXB on unmarshalling.
+      *
+      * @param  value  the unmarshalled value.
+      */
+     public void setElement(final CodeListUID value) {
+         identifier = value;
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_PixelOrientationCode.java
index 0000000000,3d95801801..dfc8eb77bb
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,74 +1,99 @@@
+ /*
+  * 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.xml.bind.metadata.code;
+ 
+ import jakarta.xml.bind.annotation.XmlElement;
+ import org.opengis.metadata.spatial.PixelOrientation;
 -import org.apache.sis.xml.bind.cat.EnumAdapter;
++import org.apache.sis.xml.bind.cat.CodeListAdapter;
++import org.apache.sis.xml.bind.cat.CodeListUID;
+ import org.apache.sis.xml.Namespaces;
+ 
+ 
+ /**
+  * JAXB adapter for {@link PixelOrientation}
+  * in order to wrap the value in an XML element as specified by ISO 19115-3 standard.
+  * See package documentation for more information about the handling of {@code CodeList} in ISO 19115-3.
+  *
+  * @author  Cédric Briançon (Geomatys)
+  * @author  Cullen Rombach (Image Matters)
+  * @version 1.4
+  * @since   0.3
+  */
 -public final class MD_PixelOrientationCode extends EnumAdapter<MD_PixelOrientationCode, PixelOrientation> {
++public final class MD_PixelOrientationCode
++        extends CodeListAdapter<MD_PixelOrientationCode, PixelOrientation>
++{
+     /**
 -     * The enumeration value.
++     * Empty constructor for JAXB only.
+      */
 -    @XmlElement(name = "MD_PixelOrientationCode", namespace = Namespaces.MSR)
 -    public String value;
++    public MD_PixelOrientationCode() {
++    }
+ 
+     /**
 -     * Empty constructor for JAXB only.
++     * Creates a new adapter for the given proxy.
+      */
 -    public MD_PixelOrientationCode() {
++    private MD_PixelOrientationCode(final CodeListUID value) {
++        super(value);
+     }
+ 
+     /**
 -     * Returns the wrapped value.
++     * {@inheritDoc}
+      *
 -     * @param  wrapper  the wrapper.
 -     * @return the wrapped value.
++     * @return the wrapper for the code list value.
+      */
+     @Override
 -    public final PixelOrientation unmarshal(final MD_PixelOrientationCode wrapper) {
 -        return PixelOrientation.valueOf(name(wrapper.value));
++    protected MD_PixelOrientationCode wrap(final CodeListUID value) {
++        return new MD_PixelOrientationCode(value);
+     }
+ 
+     /**
 -     * Wraps the given value.
++     * {@inheritDoc}
+      *
 -     * @param  e  the value to wrap.
 -     * @return the wrapped value.
++     * @return the code list class.
+      */
+     @Override
 -    public final MD_PixelOrientationCode marshal(final PixelOrientation e) {
 -        if (e == null) {
 -            return null;
 -        }
 -        final MD_PixelOrientationCode wrapper = new MD_PixelOrientationCode();
 -        wrapper.value = value(e);
 -        return wrapper;
++    protected Class<PixelOrientation> getCodeListClass() {
++        return PixelOrientation.class;
++    }
++
++    /**
++     * Returns {@code true} since this code list is actually an enum.
++     */
++    @Override
++    protected boolean isEnum() {
++        return true;
++    }
++
++    /**
++     * Invoked by JAXB on marshalling.
++     *
++     * @return The value to be marshalled.
++     */
++    @Override
++    @XmlElement(name = "MD_PixelOrientationCode", namespace = Namespaces.MSR)
++    public CodeListUID getElement() {
++        return identifier;
++    }
++
++    /**
++     * Invoked by JAXB on unmarshalling.
++     *
++     * @param value The unmarshalled value.
++     */
++    public void setElement(final CodeListUID value) {
++        identifier = value;
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MD_TopicCategoryCode.java
index 0000000000,d1645f2d5e..b223559faf
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,75 +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.xml.bind.metadata.code;
+ 
+ import jakarta.xml.bind.annotation.XmlElement;
+ import org.opengis.metadata.identification.TopicCategory;
 -import org.apache.sis.xml.bind.cat.EnumAdapter;
++import org.apache.sis.xml.bind.cat.CodeListAdapter;
++import org.apache.sis.xml.bind.cat.CodeListUID;
+ import org.apache.sis.xml.Namespaces;
+ 
+ 
+ /**
+  * JAXB adapter for {@link TopicCategory}
+  * in order to wrap the value in an XML element as specified by ISO 19115-3 standard.
+  * See package documentation for more information about the handling of {@code CodeList} in ISO 19115-3.
+  *
+  * @author  Cédric Briançon (Geomatys)
+  * @author  Guihem Legal (Geomatys)
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  * @since   0.3
+  */
 -public final class MD_TopicCategoryCode extends EnumAdapter<MD_TopicCategoryCode, TopicCategory> {
++public final class MD_TopicCategoryCode extends CodeListAdapter<MD_TopicCategoryCode, TopicCategory> {
+     /**
 -     * The enumeration value.
++     * Empty constructor for JAXB only.
+      */
 -    @XmlElement(name = "MD_TopicCategoryCode", namespace = Namespaces.MRI)
 -    public String value;
++    public MD_TopicCategoryCode() {
++    }
+ 
+     /**
 -     * Empty constructor for JAXB only.
++     * Creates a new adapter for the given proxy.
+      */
 -    public MD_TopicCategoryCode() {
++    private MD_TopicCategoryCode(final CodeListUID value) {
++        super(value);
+     }
+ 
+     /**
 -     * Returns the wrapped value.
++     * {@inheritDoc}
+      *
 -     * @param  wrapper  the wrapper.
 -     * @return the wrapped value.
++     * @return the wrapper for the code list value.
+      */
+     @Override
 -    public final TopicCategory unmarshal(final MD_TopicCategoryCode wrapper) {
 -        return TopicCategory.valueOf(name(wrapper.value));
++    protected MD_TopicCategoryCode wrap(final CodeListUID value) {
++        return new MD_TopicCategoryCode(value);
+     }
+ 
+     /**
 -     * Wraps the given value.
++     * {@inheritDoc}
+      *
 -     * @param  e  the value to wrap.
 -     * @return the wrapped value.
++     * @return the code list class.
+      */
+     @Override
 -    public final MD_TopicCategoryCode marshal(final TopicCategory e) {
 -        if (e == null) {
 -            return null;
 -        }
 -        final MD_TopicCategoryCode wrapper = new MD_TopicCategoryCode();
 -        wrapper.value = value(e);
 -        return wrapper;
++    protected Class<TopicCategory> getCodeListClass() {
++        return TopicCategory.class;
++    }
++
++    /**
++     * Returns {@code true} since this code list is actually an enum.
++     */
++    @Override
++    protected boolean isEnum() {
++        return true;
++    }
++
++    /**
++     * Invoked by JAXB on marshalling.
++     *
++     * @return The value to be marshalled.
++     */
++    @Override
++    @XmlElement(name = "MD_TopicCategoryCode", namespace = Namespaces.MRI)
++    public CodeListUID getElement() {
++        return identifier;
++    }
++
++    /**
++     * Invoked by JAXB on unmarshalling.
++     *
++     * @param value The unmarshalled value.
++     */
++    public void setElement(final CodeListUID value) {
++        identifier = value;
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/code/MI_PolarisationOrientationCode.java
index 0000000000,ff078426aa..67552494dd
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,94 +1,94 @@@
+ /*
+  * 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.xml.bind.metadata.code;
+ 
+ import jakarta.xml.bind.annotation.XmlElement;
 -import org.opengis.metadata.content.PolarisationOrientation;
++import org.opengis.metadata.content.PolarizationOrientation;
+ import org.apache.sis.xml.bind.cat.CodeListAdapter;
+ import org.apache.sis.xml.bind.cat.CodeListUID;
+ import org.apache.sis.xml.Namespaces;
+ 
+ 
+ /**
 - * JAXB adapter for {@link PolarisationOrientation}
++ * JAXB adapter for {@link PolarizationOrientation}
+  * in order to wrap the value in an XML element as specified by ISO 19115-3 standard.
+  * See package documentation for more information about the handling of {@code CodeList} in ISO 19115-3.
+  *
+  * @author  Cédric Briançon (Geomatys)
+  * @author  Guilhem Legal (Geomatys)
+  * @version 1.4
+  *
+  * @see <a href="https://issues.apache.org/jira/browse/SIS-398">SIS-398</a>
+  *
+  * @since 0.3
+  */
+ public final class MI_PolarisationOrientationCode
 -        extends CodeListAdapter<MI_PolarisationOrientationCode, PolarisationOrientation>
++        extends CodeListAdapter<MI_PolarisationOrientationCode, PolarizationOrientation>
+ {
+     /**
+      * Empty constructor for JAXB only.
+      */
+     public MI_PolarisationOrientationCode() {
+     }
+ 
+     /**
+      * Creates a new adapter for the given value.
+      */
+     private MI_PolarisationOrientationCode(final CodeListUID value) {
+         super(value);
+     }
+ 
+     /**
+      * {@inheritDoc}
+      *
+      * @return the wrapper for the code list value.
+      */
+     @Override
+     protected MI_PolarisationOrientationCode wrap(final CodeListUID value) {
+         return new MI_PolarisationOrientationCode(value);
+     }
+ 
+     /**
+      * {@inheritDoc}
+      *
+      * @return the code list class.
+      */
+     @Override
 -    protected Class<PolarisationOrientation> getCodeListClass() {
 -        return PolarisationOrientation.class;
++    protected Class<PolarizationOrientation> getCodeListClass() {
++        return PolarizationOrientation.class;
+     }
+ 
+     /**
+      * Invoked by JAXB on marshalling.
+      *
+      * @return the value to be marshalled.
+      */
+     @Override
+     @XmlElement(name = "MI_PolarisationOrientationCode", namespace = Namespaces.MRC)
+     public CodeListUID getElement() {
+         return identifier;
+     }
+ 
+     /**
+      * Invoked by JAXB on unmarshalling.
+      *
+      * @param  value  the unmarshalled value.
+      */
+     public void setElement(final CodeListUID value) {
+         identifier = value;
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/QualityParameter.java
index 0000000000,1415758f1b..7758780544
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,249 +1,250 @@@
+ /*
+  * 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.xml.bind.metadata.replace;
+ 
+ import java.util.Map;
+ import jakarta.xml.bind.annotation.XmlType;
+ import jakarta.xml.bind.annotation.XmlElement;
+ import jakarta.xml.bind.annotation.XmlRootElement;
+ import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+ import org.opengis.util.TypeName;
+ import org.opengis.util.InternationalString;
+ import org.opengis.metadata.Identifier;
+ import org.opengis.parameter.ParameterDescriptor;
+ import org.opengis.referencing.operation.Matrix;
+ import org.apache.sis.metadata.iso.DefaultIdentifier;
+ import org.apache.sis.metadata.iso.quality.DefaultMeasureDescription;
+ 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;
++import org.opengis.referencing.ReferenceIdentifier;
+ import org.opengis.metadata.quality.Description;
+ import org.opengis.metadata.quality.ValueStructure;
+ 
+ 
+ /**
+  * Parameter information conform to the ISO 19157:2013 specification.
+  * GeoAPI tries to provides a single API for the parameter classes defined in various specifications
+  * (ISO 19111, ISO 19115, ISO 19157, Web Processing Service).
+  * But we still need separated representations at XML (un)marshalling time.
+  * This class is for the ISO 19157:2013 case.
+  *
+  * <p>Note that this implementation is simple and serves no other purpose than being a container for XML
+  * parsing and formatting. For real parameter framework, consider using {@link org.apache.sis.parameter}
+  * package instead.</p>
+  *
+  * <h2>Note about raw-type usage</h2>
+  * We use raw type (i.e. we implement {@code ParameterDescriptor} instead of {@code ParameterDescriptor<T>})
+  * because there is no way we can know {@code <T>} for sure at unmarshalling time. This is not a recommended
+  * practice, so <strong>this class shall not be in public API</strong>. However, it should be okay to create
+  * {@code QualityParameter} instances in Apache SIS internal code if all methods creating such instances
+  * declare {@code ParameterDescriptor<?>} as their return type.
+  *
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  * @since   1.3
+  */
+ @SuppressWarnings("rawtypes")   // For the omission of <T> in Parameter<T> - see javadoc.
+ @XmlType(name = "DQM_Parameter_Type", namespace = Namespaces.DQM, propOrder = {
+     "code",
+     "definition",
+     "description",
+     "valueType",
+     "valueStructure"
+ })
+ @XmlRootElement(name = "DQM_Parameter", namespace = Namespaces.DQM)
+ public final class QualityParameter extends Parameter {
+     /**
+      * For cross-version compatibility.
+      */
+     private static final long serialVersionUID = 4333632866772665659L;
+ 
+     /**
+      * Name of the data quality parameter, to be represented as identifier code.
+      *
+      * @see #getName()
+      */
+     @XmlElement(name="name", required=true)
+     public String code;
+ 
+     /**
+      * Definition of the data quality parameter.
+      * Stored in {@link Identifier#getDescription()}.
+      *
+      * @see #getName()
+      */
+     @XmlElement(required = true)
+     @SuppressWarnings("serial")                 // Most Apache SIS implementations are serializable.
+     public InternationalString definition;
+ 
+     /**
+      * Description of the data quality parameter.
+      *
+      * @see #getDescription()
+      */
+     @XmlElement
+     @SuppressWarnings("serial")                 // Most Apache SIS implementations are serializable.
+     public Description description;
+ 
+     /**
+      * Value type of the data quality parameter (shall be one of the data types defined in ISO/TS 19103:2005).
+      *
+      * @see #getValueType()
+      * @see #getValueClass()
+      */
+     @XmlElement(required = true)
+     @XmlJavaTypeAdapter(GO_GenericName.class)   // Not in package-info because shall not be applied to getLegacyName().
+     @SuppressWarnings("serial")                 // Most Apache SIS implementations are serializable.
+     public TypeName valueType;
+ 
+     /**
+      * Structure of the data quality parameter.
+      *
+      * @see #getValueClass()
+      */
+     @XmlElement
+     public ValueStructure valueStructure;
+ 
+     /**
+      * Creates an initially empty parameter.
+      * This constructor is needed by JAXB at unmarshalling time.
+      */
+     public QualityParameter() {
+     }
+ 
+     /**
+      * Creates a parameter initialized to the values of the given one.
+      * This is used for marshalling an arbitrary parameter as an ISO 19157 parameter.
+      */
+     @SuppressWarnings("unchecked")
+     private QualityParameter(final ParameterDescriptor<?> parameter) {
+         super(parameter);
+         final Identifier id = parameter.getName();
+         if (id != null) {
+             code = id.getCode();
+             definition = id.getDescription();
+         }
+         InternationalString text = parameter.getDescription();
+         if (text != null) {
+             description = new DefaultMeasureDescription(text);
+         }
+         valueType = parameter.getValueType();
+         valueStructure = ValueStructure.valueOf(parameter.getValueClass()).orElse(null);
+     }
+ 
+     /**
+      * Returns the given parameter as an instance of {@code QualityParameter}.
+      *
+      * @param  parameter  the parameter (may be {@code null}).
+      * @return the service parameter, or {@code null} if the given argument was null.
+      */
+     public static QualityParameter castOrCopy(final ParameterDescriptor<?> parameter) {
+         if (parameter == null || parameter instanceof QualityParameter) {
+             return (QualityParameter) parameter;
+         }
+         return new QualityParameter(parameter);
+     }
+ 
+     /**
+      * Returns the name as an {@code Identifier}, which is the type requested by ISO 19111.
+      * Note that this is different than the type requested by ISO 19157, which is {@link String}.
+      *
+      * @return the parameter name as an identifier (the type specified by ISO 19111).
+      */
+     @Override
 -    public synchronized Identifier getName() {
++    public synchronized ReferenceIdentifier getName() {
+         if (name == null && code != null) {
 -            final DefaultIdentifier id = new DefaultIdentifier(code);
++            final RS_Identifier id = new RS_Identifier(null, code, null);
+             id.setDescription(definition);
+             id.transitionTo(DefaultIdentifier.State.FINAL);
+             name = id;
+         }
+         return name;
+     }
+ 
+     /**
+      * Returns a narrative explanation of the role of the parameter.
+      *
+      * @return a narrative explanation of the role of the parameter, or {@code null} if none.
+      */
+     @Override
+     public InternationalString getDescription() {
+         final Description description = this.description;
+         return (description != null) ? description.getTextDescription() : null;
+     }
+ 
+     /**
+      * Infers the value class from the type name.
+      * This method is the reason why we cannot parameterize this {@code QualityParameter} class
+      * (see <cite>Note about raw-type usage</cite> in class javadoc), because there is no way we
+      * can ensure that the class inferred from {@link #valueType} is really for type {@code <T>}.
+      *
+      * @return the value class inferred from the attribute type, or {@code null} if unknown.
+      */
+     @Override
+     public Class<?> getValueClass() {
+         Class<?> type = super.getValueClass();
+         if (type == null) {
+             final ValueStructure s = valueStructure;
+             type = (s != null) ? s.toJavaType().orElse(null) : Names.toClass(valueType);
+         }
+         return type;
+     }
+ 
+     /**
+      * Returns the name that describes the type of parameter values.
+      *
+      * @return the type name of value component(s) in this parameter.
+      */
+     @Override
+     public TypeName getValueType() {
+         return valueType;
+     }
+ 
+     /**
+      * Suggests a type name for the components of given collection or array class.
+      * The component type is fetched on a <cite>best effort</cite> basis only.
+      * This method does the following checks:
+      * <ul>
+      *   <li>If the given class is a class, then its {@linkplain Class#getComponentType() component type} is used.</li>
+      *   <li>Otherwise if the class is an {@link Iterable}, then the upper bound of elements is fetched.</li>
+      *   <li>Otherwise if the class is a {@link Map}, then the upper bound of keys is fetched.</li>
+      *   <li>Otherwise if the class is a {@link Matrix} or {@link Coverage}, then {@link Double} components is assumed.</li>
+      *   <li>Otherwise the given class is used as if it was already a component type (i.e. a singleton item).</li>
+      * </ul>
+      *
+      * This method is used for mapping {@link Class} to ({@link ValueStructure}, {@link TypeName}) pair.
+      * The other member of the pair is given by {@link ValueStructure#valueOf(Class)}.
+      *
+      * @param  valueClass  the type of values for which to infer a {@link TypeName} instance.
+      * @return a type name for components of the given type.
+      */
+     public static TypeName getValueType(Class<?> valueClass) {
+         if (valueClass.isArray()) {
+             valueClass = valueClass.getComponentType();
+         } else if (Iterable.class.isAssignableFrom(valueClass) || Map.class.isAssignableFrom(valueClass)) {
+             valueClass = Classes.boundOfParameterizedDeclaration(valueClass);
+         } else if (Matrix.class.isAssignableFrom(valueClass) || Coverage.class.isAssignableFrom(valueClass)) {
+             valueClass = Double.class;
+         }
+         return Names.createTypeName(valueClass);
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/RS_Identifier.java
index 0000000000,32ae4bb4df..436b606db0
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,86 +1,109 @@@
+ /*
+  * 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.xml.bind.metadata.replace;
+ 
+ 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.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.
+  * This is used for (un)marshalling legacy metadata only. Example:
+  *
+  * {@snippet lang="xml" :
+  *   <gmd:RS_Identifier>
+  *     <gmd:authority>
+  *       <gmd:CI_Citation>
+  *         <gmd:title>
+  *           <gco:CharacterString>EPSG</gco:CharacterString>
+  *         </gmd:title>
+  *       </gmd:CI_Citation>
+  *     </gmd:authority>
+  *     <gmd:code>
+  *       <gco:CharacterString>4326</gco:CharacterString>
+  *     </gmd:code>
+  *   </gmd:RS_Identifier>
+  *   }
+  *
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  * @since   1.0
+  */
+ @TitleProperty(name = "code")
+ @XmlType(name = "RS_Identifier_Type", namespace = LegacyNamespaces.GMD)
+ @XmlRootElement(name = "RS_Identifier", namespace = LegacyNamespaces.GMD)
 -public final class RS_Identifier extends DefaultIdentifier {
++public final class RS_Identifier extends DefaultIdentifier implements ReferenceIdentifier {
+     /**
+      * For cross-version compatibility.
+      */
+     private static final long serialVersionUID = 1297774369491643461L;
+ 
+     /**
+      * Constructor for JAXB.
+      */
+     public RS_Identifier() {
+     }
+ 
++    /**
++     * Creates a new identifier initialized to the given code, code space and version number.
++     *
++     * @param codeSpace  identifier or namespace in which the code is valid, or {@code null} if not available.
++     * @param code       alphanumeric value identifying an instance in the namespace, or {@code null} if none.
++     * @param version    the version identifier for the namespace as specified by the code authority, or {@code null} if none.
++     */
++    public RS_Identifier(final String codeSpace, final String code, final String version) {
++        super(codeSpace, code, version);
++    }
++
++    /**
++     * Creates an identifier initialized to the given authority and code.
++     *
++     * @param authority  the the person or party responsible for maintenance of the namespace, or {@code null} if none.
++     * @param code       the alphanumeric value identifying an instance in the namespace, or {@code null} if none.
++     */
++    public RS_Identifier(final Citation authority, final String code) {
++        super(authority, code);
++    }
++
+     /**
+      * Creates a new identifier from the specified one.
+      *
+      * @see #wrap(Identifier)
+      */
+     private RS_Identifier(final Identifier identifier) {
+         super(identifier);
+     }
+ 
+     /**
+      * Returns the given identifier as a {@code RS_Identifier} instance.
+      *
+      * @param  object  the identifier to wrap, or {@code null} if none.
+      * @return the wrapped object, or {@code null}.
+      */
+     public static RS_Identifier wrap(final Identifier object) {
+         if (object == null || object instanceof RS_Identifier) {
+             return (RS_Identifier) object;
+         }
+         return new RS_Identifier(object);
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/ReferenceSystemMetadata.java
index 0000000000,773cb7eafe..a753d9b656
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,151 +1,151 @@@
+ /*
+  * 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.xml.bind.metadata.replace;
+ 
+ import jakarta.xml.bind.Marshaller;
+ import jakarta.xml.bind.annotation.XmlType;
+ import jakarta.xml.bind.annotation.XmlElement;
+ import jakarta.xml.bind.annotation.XmlRootElement;
 -import org.opengis.metadata.Identifier;
+ import org.opengis.referencing.ReferenceSystem;
++import org.opengis.referencing.ReferenceIdentifier;
+ import org.apache.sis.metadata.simple.SimpleIdentifiedObject;
+ 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;
+ 
+ 
+ /**
+  * An implementation of {@link ReferenceSystem} marshalled as specified in ISO 19115.
+  * This is different than the {@code ReferenceSystem} implementation provided in the
+  * referencing module, since the latter marshals the CRS as specified in GML (close
+  * to ISO 19111 model). This class contains only CRS identification as below:
+  *
+  * <pre class="text">
+  *   mrs:MD_ReferenceSystem
+  *   ├─mrs:referenceSystemIdentifier  :  mcc:MD_Identifier
+  *   └─mrs:referenceSystemType        :  mrs:MD_ReferenceSystemTypeCode</pre>
+  *
+  * The {@code referenceSystemType} attribute is currently missing.
+  * See <a href="https://issues.apache.org/jira/browse/SIS-470">SIS-470</a>.
+  *
+  * <p>Note that this implementation is very simple and serves no other purpose than being
+  * a container for XML parsing or formatting. For real referencing service, consider using
+  * {@link org.apache.sis.referencing.AbstractReferenceSystem} subclasses instead.</p>
+  *
+  * @author  Guilhem Legal (Geomatys)
+  * @author  Martin Desruisseaux (Geomatys)
+  * @author  Cullen Rombach (Image Matters)
+  * @version 1.4
+  *
+  * @see org.apache.sis.referencing.AbstractReferenceSystem
+  * @see <a href="https://issues.apache.org/jira/browse/SIS-431">SIS-431</a>
+  *
+  * @since 0.3
+  */
+ @XmlType(name = "MD_ReferenceSystem_Type", namespace = Namespaces.MRS)
+ @XmlRootElement(name = "MD_ReferenceSystem", namespace = Namespaces.MRS)
+ public class ReferenceSystemMetadata extends SimpleIdentifiedObject implements ReferenceSystem {
+     /**
+      * For cross-version compatibility.
+      */
+     private static final long serialVersionUID = 2810145397032096087L;
+ 
+     /**
+      * {@code true} if marshalling ISO 19115:2003 model, or {@code false} if marshalling ISO 19115:2014 model.
+      */
+     private boolean isLegacyMetadata;
+ 
+     /**
+      * Creates a reference system without identifier.
+      * This constructor is mainly for JAXB.
+      */
+     public ReferenceSystemMetadata() {
+     }
+ 
+     /**
+      * Creates a new reference system from the given one.
+      *
+      * @param  crs  the reference system to partially copy.
+      */
+     public ReferenceSystemMetadata(final ReferenceSystem crs) {
+         super(crs);
+     }
+ 
+     /**
+      * Creates a new reference system from the given identifier.
+      *
+      * @param  name  the primary name by which this object is identified.
+      */
 -    public ReferenceSystemMetadata(final Identifier name) {
++    public ReferenceSystemMetadata(final ReferenceIdentifier name) {
+         super(name);
+     }
+ 
+     /**
+      * Invoked by JAXB {@code Marshaller} before this object is marshalled to XML.
+      *
+      * @param  marshaller  the invoker.
+      */
+     public void beforeMarshal(final Marshaller marshaller) {
+         isLegacyMetadata = !FilterByVersion.CURRENT_METADATA.accept();
+     }
+ 
+     /**
+      * Returns the primary name by which this object is identified.
+      * This method can be invoked during ISO 19115-3 marshalling.
+      *
+      * @return the identifier given at construction time.
+      */
+     @Override
+     @XmlElement(name = "referenceSystemIdentifier")
 -    public final Identifier getName() {
 -        Identifier name = super.getName();
++    public final ReferenceIdentifier getName() {
++        ReferenceIdentifier name = super.getName();
+         if (isLegacyMetadata) {
+             name = RS_Identifier.wrap(name);
+         }
+         return name;
+     }
+ 
+     /**
+      * Sets the primary name by which this object is identified.
+      *
+      * @param  name  the new primary name.
+      */
 -    public final void setName(final Identifier name) {
++    public final void setName(final ReferenceIdentifier name) {
+         this.name = name;
+     }
+ 
+     /**
+      * Compares this object with the given one for equality.
+      *
+      * @param  object  the object to compare with this reference system.
+      * @param  mode    the strictness level of the comparison.
+      * @return {@code true} if both objects are equal.
+      */
+     @Override
+     public boolean equals(final Object object, final ComparisonMode mode) {
+         if (super.equals(object, mode) && (object instanceof ReferenceSystem)) {
+             final ReferenceSystem that = (ReferenceSystem) object;
+             if (mode.isIgnoringMetadata()) {
+                 // Compare the name because it was ignored by super.equals(…) in "ignore metadata" mode.
+                 return Utilities.deepEquals(getName(), that.getName(), mode);
+             }
+             return that.getDomainOfValidity() == null && that.getScope() == null;
+         }
+         return false;
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/main/org/apache/sis/xml/bind/metadata/replace/ServiceParameter.java
index 0000000000,a94c4148c8..898432cea4
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,406 +1,409 @@@
+ /*
+  * 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.xml.bind.metadata.replace;
+ 
+ import jakarta.xml.bind.annotation.XmlType;
+ import jakarta.xml.bind.annotation.XmlElement;
+ import jakarta.xml.bind.annotation.XmlRootElement;
+ import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+ import org.opengis.util.TypeName;
+ import org.opengis.util.MemberName;
+ import org.opengis.util.GenericName;
+ import org.opengis.util.InternationalString;
+ import org.opengis.metadata.Identifier;
+ import org.opengis.parameter.ParameterDirection;
+ import org.opengis.parameter.ParameterDescriptor;
+ import org.apache.sis.xml.bind.FilterByVersion;
+ import org.apache.sis.xml.util.LegacyNamespaces;
+ import org.apache.sis.xml.bind.gco.GO_GenericName;
+ import org.apache.sis.metadata.internal.NameToIdentifier;
+ import org.apache.sis.util.iso.DefaultMemberName;
+ import org.apache.sis.util.iso.Names;
+ import org.apache.sis.xml.Namespaces;
+ 
+ import static org.apache.sis.util.internal.CollectionsExt.nonNull;
+ 
++// Branch-dependent imports
++import org.opengis.referencing.ReferenceIdentifier;
++
+ 
+ /**
+  * Parameter information conform to the ISO 19115:2014 specification.
+  * GeoAPI tries to provides a single API for the parameter classes defined in various specifications
+  * (ISO 19111, ISO 19115, ISO 19157, Web Processing Service).
+  * But we still need separated representations at XML (un)marshalling time.
+  * This class is for the ISO 19115:2014 case.
+  *
+  * <p>Note that this implementation is simple and serves no other purpose than being a container for XML
+  * parsing and formatting. For real parameter framework, consider using {@link org.apache.sis.parameter}
+  * package instead.</p>
+  *
+  * <h2>Note about raw-type usage</h2>
+  * We use raw type (i.e. we implement {@code ParameterDescriptor} instead of {@code ParameterDescriptor<T>})
+  * because there is no way we can know {@code <T>} for sure at unmarshalling time. This is not a recommended
+  * practice, so <strong>this class shall not be in public API</strong>. However, it should be okay to create
+  * {@code ServiceParameter} instances in Apache SIS internal code if all methods creating such instances
+  * declare {@code ParameterDescriptor<?>} as their return type.
+  *
+  * @author  Rémi Maréchal (Geomatys)
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  * @since   0.5
+  */
+ @SuppressWarnings("rawtypes")   // For the omission of <T> in Parameter<T> - see javadoc.
+ @XmlType(name = "SV_Parameter_Type", namespace = Namespaces.SRV, propOrder = {
+     "memberName",           // The  ISO 19115-3:2016 way to marshal name.
+     "legacyName",           // Legacy ISO 19139:2007 way to marshal name.
+     "direction",
+     "description",
+     "optionality",
+     "optionalityLabel",     // Legacy ISO 19139:2007 way to marshal optionality.
+     "repeatability",
+     "legacyValueType"
+ })
+ @XmlRootElement(name = "SV_Parameter", namespace = Namespaces.SRV)
+ public final class ServiceParameter extends Parameter {
+     /**
+      * For cross-version compatibility.
+      */
+     private static final long serialVersionUID = 8979265876109276877L;
+ 
+     /**
+      * The name, as used by the service for this parameter. Note that in ISO 19115-3:2016, this element is
+      * inside a {@code <gco:MemberName>} element  (i.e. ISO inserts the same kind of {@code Property_Type}
+      * element as it does for all other attributes) while in ISO 19139:2007 it was not (i.e. name attributes
+      * like {@code <gco:aName>} were marshalled directly, without wrapper). Example:
+      *
+      * {@snippet lang="xml" :
+      *   <srv:name>
+      *     <gco:MemberName>
+      *       <gco:aName>
+      *         <gco:CharacterString>A parameter name</gco:CharacterString>
+      *       </gco:aName>
+      *     </gco:MemberName>
+      *   </srv:name>
+      * }
+      *
+      * @see #getName()
+      * @see #getLegacyName()
+      * @see #getValueType()
+      */
+     @XmlElement(required=true, name="name")
+     @XmlJavaTypeAdapter(GO_GenericName.Since2014.class)
+     @SuppressWarnings("serial")                 // Most Apache SIS implementations are serializable.
+     public MemberName memberName;
+ 
+     /**
+      * Indication if the parameter is an input to the service, an output or both.
+      *
+      * @see #getDirection()
+      */
+     @XmlElement(required = true)
+     public ParameterDirection direction;
+ 
+     /**
+      * A narrative explanation of the role of the parameter.
+      *
+      * @see #getDescription()
+      */
+     @XmlElement
+     @SuppressWarnings("serial")                 // Most Apache SIS implementations are serializable.
+     public InternationalString description;
+ 
+     /**
+      * Indication if the parameter is required.
+      *
+      * <ul>
+      *   <li>In ISO 19115-3:2016, this is represented by "{@code true}" or "{@code false}".</li>
+      *   <li>In ISO 19139:2007, this was marshalled as "{@code Optional}" or "{@code Mandatory}".</li>
+      * </ul>
+      *
+      * @see #getOptionality()
+      * @see #setOptionality(Boolean)
+      * @see #getMinimumOccurs()
+      */
+     boolean optionality;
+ 
+     /**
+      * Indication if more than one value of the parameter may be provided.
+      *
+      * @see #getMaximumOccurs()
+      */
+     @XmlElement(required = true)
+     public boolean repeatability;
+ 
+     /**
+      * Creates an initially empty parameter.
+      * This constructor is needed by JAXB at unmarshalling time.
+      */
+     public ServiceParameter() {
+     }
+ 
+     /**
+      * Creates a parameter initialized to the values of the given one.
+      * This is used for marshalling an arbitrary parameter as an ISO 19115 parameter.
+      *
+      * @see #castOrCopy(ParameterDescriptor)
+      */
+     @SuppressWarnings("unchecked")
+     private ServiceParameter(final ParameterDescriptor<?> parameter) {
+         super(parameter);
+         memberName    = getMemberName(parameter);
+         direction     = parameter.getDirection();
+         description   = parameter.getDescription();
+         optionality   = parameter.getMinimumOccurs() > 0;
+         repeatability = parameter.getMaximumOccurs() > 1;
+     }
+ 
+     /**
+      * Returns the given parameter as an instance of {@code ServiceParameter}.
+      *
+      * @param  parameter  the parameter (may be {@code null}).
+      * @return the service parameter, or {@code null} if the given argument was null.
+      */
+     public static ServiceParameter castOrCopy(final ParameterDescriptor<?> parameter) {
+         if (parameter == null || parameter instanceof ServiceParameter) {
+             return (ServiceParameter) parameter;
+         }
+         return new ServiceParameter(parameter);
+     }
+ 
+     /**
+      * Gets the parameter name as an instance of {@code MemberName}.
+      * This method performs the following checks:
+      *
+      * <ul>
+      *   <li>If the {@linkplain ParameterDescriptor#getName() primary name} is an instance of {@code MemberName},
+      *       returns that primary name.</li>
+      *   <li>Otherwise this method searches for the first {@linkplain ParameterDescriptor#getAlias() alias}
+      *       which is an instance of {@code MemberName}. If found, that alias is returned.</li>
+      *   <li>If no alias is found, then this method tries to build a member name from the primary name and the
+      *       {@linkplain ParameterDescriptor#getValueType() value type} (if available) or the
+      *       {@linkplain ParameterDescriptor#getValueClass() value class}.</li>
+      * </ul>
+      *
+      * This method can be used as a bridge between the parameter object
+      * defined by ISO 19111 (namely {@code CC_OperationParameter}) and the one
+      * defined by ISO 19115 (namely {@code SV_Parameter}).
+      *
+      * @param  parameter  the parameter from which to get the name (may be {@code null}).
+      * @return the member name, or {@code null} if none.
+      */
+     public static MemberName getMemberName(final ParameterDescriptor<?> parameter) {
+         if (parameter != null) {
+             final Identifier id = parameter.getName();
+             if (id instanceof MemberName) {
+                 return (MemberName) id;
+             }
+             for (final GenericName alias : nonNull(parameter.getAlias())) {
+                 if (alias instanceof MemberName) {
+                     return (MemberName) alias;
+                 }
+             }
+             if (id != null) {
+                 final String code = id.getCode();
+                 if (code != null) {
+                     final String namespace = id.getCodeSpace();
+                     final TypeName type = parameter.getValueType();
+                     if (type != null) {
+                         return Names.createMemberName(namespace, null, code, type);
+                     } else {
+                         final Class<?> valueClass = parameter.getValueClass();
+                         if (valueClass != null) {
+                             return Names.createMemberName(namespace, null, code, valueClass);
+                         }
+                     }
+                 }
+             }
+         }
+         return null;
+     }
+ 
+     /**
+      * Returns the name as an {@code Identifier}, which is the type requested by ISO 19111.
+      * Note that this is different than the type requested by ISO 19115, which is {@link MemberName}.
+      *
+      * This method is the converse of {@link #getMemberName(ParameterDescriptor)}.
+      *
+      * @return the parameter name as an identifier (the type specified by ISO 19111).
+      */
+     @Override
 -    public synchronized Identifier getName() {
++    public synchronized ReferenceIdentifier getName() {
+         if (name == null && memberName != null) {
 -            if (memberName instanceof Identifier) {
 -                name = (Identifier) memberName;
++            if (memberName instanceof ReferenceIdentifier) {
++                name = (ReferenceIdentifier) memberName;
+             } else {
+                 name = new NameToIdentifier(memberName);
+             }
+         }
+         return name;
+     }
+ 
+     /**
+      * Returns the name to be marshalled in the ISO 19139:2007 way. Example:
+      *
+      * {@snippet lang="xml" :
+      *   <srv:name>
+      *     <gco:aName>
+      *       <gco:CharacterString>A parameter name</gco:CharacterString>
+      *     </gco:aName>
+      *   </srv:name>
+      * }
+      *
+      * @return the name if marshalling legacy ISO 19139:2007 format, or {@code null} otherwise.
+      */
+     @XmlElement(name = "name", namespace = LegacyNamespaces.SRV)
+     public DefaultMemberName getLegacyName() {
+         return FilterByVersion.LEGACY_METADATA.accept() ? DefaultMemberName.castOrCopy(memberName) : null;
+     }
+ 
+     /**
+      * Sets the value from the {@code <gco:aName>} (legacy ISO 19139:2007 format).
+      * This method is called at unmarshalling-time by JAXB.
+      *
+      * @param  value  the new name.
+      * @throws IllegalStateException if a name is already defined.
+      */
+     public void setLegacyName(final DefaultMemberName value) {
+         if (memberName == null) {
+             memberName = value;
+         }
+     }
+ 
+     /**
+      * For JAXB marshalling of ISO 19139:2007 document only.
+      * Note that there is not setter method, because we expect that
+      * the same information is provided in the {@link #memberName} attribute type.
+      *
+      * @return the type name of value component(s) in this parameter.
+      */
+     @XmlElement(name = "valueType", namespace = LegacyNamespaces.SRV)
+     @XmlJavaTypeAdapter(GO_GenericName.class)    // Not in package-info because shall not be applied to getLegacyName().
+     public TypeName getLegacyValueType() {
+         return FilterByVersion.LEGACY_METADATA.accept() ? getValueType() : null;
+     }
+ 
+     /**
+      * Returns the name that describes the type of parameter values.
+      *
+      * @return the type name of value component(s) in this parameter.
+      */
+     @Override
+     public TypeName getValueType() {
+         TypeName type = super.getValueType();
+         if (type == null && memberName != null) {
+             type = memberName.getAttributeType();
+         }
+         return type;
+     }
+ 
+     /**
+      * Infers the value class from the attribute type.
+      * This method is the reason why we cannot parameterize this {@code ServiceParameter} class
+      * (see <cite>Note about raw-type usage</cite> in class javadoc), because there is no way we
+      * can ensure that the class inferred from {@link MemberName#getAttributeType()} is really
+      * for type {@code <T>}.
+      *
+      * @return the value class inferred from the attribute type, or {@code null} if unknown.
+      */
+     @Override
+     public Class<?> getValueClass() {
+         final Class<?> type = super.getValueClass();
+         return (type != null) ? type : Names.toClass(getValueType());
+     }
+ 
+     /**
+      * Returns an indication if the parameter is an input to the service, an output or both.
+      *
+      * @return indication if the parameter is an input or output to the service, or {@code null} if unspecified.
+      */
+     @Override
+     public ParameterDirection getDirection() {
+         return direction;
+     }
+ 
+     /**
+      * Returns a narrative explanation of the role of the parameter.
+      *
+      * @return a narrative explanation of the role of the parameter, or {@code null} if none.
+      */
+     @Override
+     public InternationalString getDescription() {
+         return description;
+     }
+ 
+     /**
+      * Returns the optionality as a boolean (ISO 19115-3:2016 way).
+      *
+      * @return optionality of this parameter.
+      */
+     @XmlElement(name = "optionality", required = true)
+     public Boolean getOptionality() {
+         return FilterByVersion.CURRENT_METADATA.accept() ? optionality : null;
+     }
+ 
+     /**
+      * Sets whether this parameter is optional.
+      *
+      * @param  optional  optionality of this parameter.
+      */
+     public void setOptionality(final Boolean optional) {
+         if (optional != null) optionality = optional;
+     }
+ 
+     /**
+      * Returns {@code "Optional"} if {@link #optionality} is {@code true} or {@code "Mandatory"} otherwise.
+      * This is the legacy ISO 19139:2007 way to marshal optionality.
+      *
+      * @return optionality of this parameter.
+      */
+     @XmlElement(name = "optionality", namespace = LegacyNamespaces.SRV)
+     public String getOptionalityLabel() {
+         return FilterByVersion.LEGACY_METADATA.accept() ? (optionality ? "Optional" : "Mandatory") : null;
+     }
+ 
+     /**
+      * Sets whether this parameter is optional.
+      *
+      * @param  optional  optionality of this parameter.
+      */
+     public void setOptionalityLabel(final String optional) {
+         if (optional != null) {
+             optionality = Boolean.parseBoolean(optional) || optional.equalsIgnoreCase("Optional");
+         }
+     }
+ 
+     /**
+      * The minimum number of times that values for this parameter group or parameter are required.
+      *
+      * @return the minimum occurrence.
+      */
+     @Override
+     public int getMinimumOccurs() {
+         return optionality ? 0 : 1;
+     }
+ 
+     /**
+      * The maximum number of times that values for this parameter group or parameter can be included.
+      *
+      * @return the maximum occurrence.
+      */
+     @Override
+     public int getMaximumOccurs() {
+         return repeatability ? Integer.MAX_VALUE : 1;
+     }
+ }
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/citation/HardCodedCitations.java
index 16e90e7f72,edb25c2302..86f58055b4
--- 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,12 @@@ 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.internal.util.Constants;
- import org.apache.sis.internal.util.URLs;
+ import org.apache.sis.util.internal.Constants;
+ import org.apache.sis.util.internal.URLs;
  import org.apache.sis.util.Static;
  
 +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/maintenance/DefaultScopeDescriptionTest.java
index 5d232f4917,e349513f50..3c41d1395d
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescriptionTest.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/metadata/iso/maintenance/DefaultScopeDescriptionTest.java
@@@ -16,7 -16,8 +16,7 @@@
   */
  package org.apache.sis.metadata.iso.maintenance;
  
- import org.apache.sis.internal.jaxb.Context;
 -import org.apache.sis.util.SimpleInternationalString;
+ import org.apache.sis.xml.bind.Context;
  import org.apache.sis.test.LoggingWatcher;
  import org.apache.sis.test.TestCase;
  import org.junit.After;
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/test/mock/IdentifiedObjectMock.java
index f8e2d07538,d5161bf17c..b833548fa1
--- 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
@@@ -23,11 -23,11 +23,11 @@@ import jakarta.xml.bind.annotation.XmlE
  import jakarta.xml.bind.annotation.XmlRootElement;
  import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
  import org.opengis.util.GenericName;
 -import org.opengis.metadata.Identifier;
  import org.opengis.referencing.IdentifiedObject;
 +import org.opengis.referencing.ReferenceIdentifier;
- import org.apache.sis.internal.util.Strings;
- import org.apache.sis.internal.util.CollectionsExt;
- import org.apache.sis.internal.jaxb.gco.GO_GenericName;
+ import org.apache.sis.util.internal.Strings;
+ import org.apache.sis.util.internal.CollectionsExt;
+ import org.apache.sis.xml.bind.gco.GO_GenericName;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/cat/EnumMarshallingTest.java
index 0000000000,8b69d5b1d8..11faf95c65
mode 000000,100644..100644
--- a/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/cat/EnumMarshallingTest.java
+++ b/endorsed/src/org.apache.sis.metadata/test/org/apache/sis/xml/bind/cat/EnumMarshallingTest.java
@@@ -1,0 -1,85 +1,83 @@@
+ /*
+  * 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.xml.bind.cat;
+ 
+ import java.util.List;
 -import java.util.EnumSet;
+ import java.util.Collection;
+ import jakarta.xml.bind.JAXBException;
+ import org.opengis.metadata.identification.TopicCategory;
+ import org.apache.sis.metadata.iso.identification.DefaultDataIdentification;
+ import org.apache.sis.xml.Namespaces;
+ import org.apache.sis.test.xml.TestCase;
+ import org.junit.Test;
+ 
+ import static org.opengis.test.Assert.assertInstanceOf;
+ import static org.apache.sis.test.Assertions.assertSetEquals;
+ import static org.apache.sis.metadata.Assertions.assertXmlEquals;
+ 
+ 
+ /**
+  * Tests the XML marshalling of {@code Enum}.
+  *
+  * @author  Martin Desruisseaux (Geomatys)
+  * @author  Cullen Rombach (Image Matters)
+  * @version 1.4
+  * @since   0.5
+  */
+ public final class EnumMarshallingTest extends TestCase {
+     /**
+      * Creates a new test case.
+      */
+     public EnumMarshallingTest() {
+     }
+ 
+     /**
+      * Tests (un)marshalling of an enumeration.
+      *
+      * @throws JAXBException if an error occurred while (un)marshalling the XML.
+      */
+     @Test
+     public void testTopicCategories() throws JAXBException {
+         final List<TopicCategory> topics = List.of(
+                 TopicCategory.OCEANS,
+                 TopicCategory.ENVIRONMENT,
+                 TopicCategory.IMAGERY_BASE_MAPS_EARTH_COVER);   // We need to test at least one enum with many words.
+ 
+         final DefaultDataIdentification id = new DefaultDataIdentification();
+         id.setTopicCategories(topics);
+         String expected =
+                 "<mri:MD_DataIdentification xmlns:mri=\"" + Namespaces.MRI + "\">\n" +
+                 "  <mri:topicCategory>\n" +
+                 "    <mri:MD_TopicCategoryCode>environment</mri:MD_TopicCategoryCode>\n" +
+                 "  </mri:topicCategory>\n" +
+                 "  <mri:topicCategory>\n" +
+                 "    <mri:MD_TopicCategoryCode>imageryBaseMapsEarthCover</mri:MD_TopicCategoryCode>\n" +
+                 "  </mri:topicCategory>\n" +
+                 "  <mri:topicCategory>\n" +
+                 "    <mri:MD_TopicCategoryCode>oceans</mri:MD_TopicCategoryCode>\n" +
+                 "  </mri:topicCategory>\n" +
+                 "</mri:MD_DataIdentification>";
+ 
+         final String xml = marshal(id, VERSION_2014);
+         assertXmlEquals(expected, xml, "xmlns:*");
+         /*
+          * Unmarshal the above XML and verify that we find all the topic categories.
+          */
+         final Collection<TopicCategory> unmarshalled = unmarshal(DefaultDataIdentification.class, expected).getTopicCategories();
 -        assertInstanceOf("topicCategory", EnumSet.class, unmarshalled);
+         assertSetEquals(topics, unmarshalled);
+     }
+ }
diff --cc endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/DirectReferenceSystem.java
index 0000000000,d2e8e66eb2..f2b20f94be
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,88 +1,88 @@@
+ /*
+  * 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.xml.bind.fra;
+ 
+ import jakarta.xml.bind.annotation.XmlType;
+ import jakarta.xml.bind.annotation.XmlRootElement;
 -import org.opengis.metadata.Identifier;
+ import org.opengis.referencing.ReferenceSystem;
++import org.opengis.referencing.ReferenceIdentifier;
+ import org.apache.sis.xml.bind.metadata.replace.ReferenceSystemMetadata;
+ import org.apache.sis.util.ComparisonMode;
+ 
+ 
+ /**
+  * AFNOR extension to ISO {@link ReferenceSystem}.
+  * The following schema fragment specifies the expected content contained within this class.
+  *
+  * {@snippet lang="xml" :
+  *   <complexType name="FRA_DirectReferenceSystem_Type">
+  *     <complexContent>
+  *       <extension base="{http://www.isotc211.org/2005/gmd}MD_ReferenceSystem_Type">
+  *       </extension>
+  *     </complexContent>
+  *   </complexType>
+  *   }
+  *
+  * @author  Cédric Briançon (Geomatys)
+  * @author  Guilhem Legal (Geomatys)
+  * @version 1.4
+  * @since   0.4
+  */
+ @XmlType(name = "FRA_DirectReferenceSystem_Type")
+ @XmlRootElement(name= "FRA_DirectReferenceSystem")
+ public class DirectReferenceSystem extends ReferenceSystemMetadata {
+     /**
+      * For serialization purpose.
+      */
+     private static final long serialVersionUID = 5184347269686376148L;
+ 
+     /**
+      * Empty constructor for JAXB.
+      */
+     public DirectReferenceSystem() {
+     }
+ 
+     /**
+      * Creates a new reference system from the given one.
+      *
+      * @param  crs  the reference system to partially copy.
+      */
+     public DirectReferenceSystem(final ReferenceSystem crs) {
+         super(crs);
+     }
+ 
+     /**
+      * Creates a new reference system from the given code.
+      *
+      * @param  identifier  the reference system identifier.
+      */
 -    public DirectReferenceSystem(final Identifier identifier) {
++    public DirectReferenceSystem(final ReferenceIdentifier identifier) {
+         super(identifier);
+     }
+ 
+     /**
+      * Compares this object with the given one for equality.
+      *
+      * @param  object  the object to compare with this reference system.
+      * @param  mode    the strictness level of the comparison.
+      * @return {@code true} if both objects are equal.
+      */
+     @Override
+     public boolean equals(final Object object, final ComparisonMode mode) {
+         return super.equals(object, mode) && (object instanceof DirectReferenceSystem);
+     }
+ }
diff --cc endorsed/src/org.apache.sis.profile.france/main/org/apache/sis/xml/bind/fra/IndirectReferenceSystem.java
index 0000000000,a37952da68..229182974b
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,88 +1,88 @@@
+ /*
+  * 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.xml.bind.fra;
+ 
+ import jakarta.xml.bind.annotation.XmlType;
+ import jakarta.xml.bind.annotation.XmlRootElement;
 -import org.opengis.metadata.Identifier;
+ import org.opengis.referencing.ReferenceSystem;
++import org.opengis.referencing.ReferenceIdentifier;
+ import org.apache.sis.xml.bind.metadata.replace.ReferenceSystemMetadata;
+ import org.apache.sis.util.ComparisonMode;
+ 
+ 
+ /**
+  * AFNOR extension to ISO {@link ReferenceSystem}.
+  * The following schema fragment specifies the expected content contained within this class.
+  *
+  * {@snippet lang="xml" :
+  *   <complexType name="FRA_IndirectReferenceSystem_Type">
+  *     <complexContent>
+  *       <extension base="{http://www.isotc211.org/2005/gmd}MD_ReferenceSystem_Type">
+  *       </extension>
+  *     </complexContent>
+  *   </complexType>
+  *   }
+  *
+  * @author  Cédric Briançon (Geomatys)
+  * @author  Guilhem Legal (Geomatys)
+  * @version 1.4
+  * @since   0.4
+  */
+ @XmlType(name = "FRA_IndirectReferenceSystem_Type")
+ @XmlRootElement(name= "FRA_IndirectReferenceSystem")
+ public class IndirectReferenceSystem extends ReferenceSystemMetadata {
+     /**
+      * For serialization purpose.
+      */
+     private static final long serialVersionUID = 177802130150613930L;
+ 
+     /**
+      * Empty constructor for JAXB.
+      */
+     public IndirectReferenceSystem() {
+     }
+ 
+     /**
+      * Creates a new reference system from the given one.
+      *
+      * @param  crs  the reference system to partially copy.
+      */
+     public IndirectReferenceSystem(final ReferenceSystem crs) {
+         super(crs);
+     }
+ 
+     /**
+      * Creates a new reference system from the given code.
+      *
+      * @param  identifier  the reference system identifier.
+      */
 -    public IndirectReferenceSystem(final Identifier identifier) {
++    public IndirectReferenceSystem(final ReferenceIdentifier identifier) {
+         super(identifier);
+     }
+ 
+     /**
+      * Compares this object with the given one for equality.
+      *
+      * @param  object  the object to compare with this reference system.
+      * @param  mode    the strictness level of the comparison.
+      * @return {@code true} if both objects are equal.
+      */
+     @Override
+     public boolean equals(final Object object, final ComparisonMode mode) {
+         return super.equals(object, mode) && (object instanceof IndirectReferenceSystem);
+     }
+ }
diff --cc endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/profile/france/FrenchProfileTest.java
index 33a36ae8a7,360b551b31..348d9b06a6
--- 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
@@@ -23,10 -23,10 +23,10 @@@ import org.opengis.metadata.constraint.
  import org.apache.sis.metadata.iso.constraint.DefaultConstraints;
  import org.apache.sis.metadata.iso.constraint.DefaultLegalConstraints;
  import org.apache.sis.metadata.iso.constraint.DefaultSecurityConstraints;
- import org.apache.sis.internal.jaxb.metadata.replace.ReferenceSystemMetadata;
- import org.apache.sis.internal.profile.fra.IndirectReferenceSystem;
- import org.apache.sis.internal.profile.fra.DirectReferenceSystem;
- import org.apache.sis.internal.jaxb.metadata.replace.RS_Identifier;
+ import org.apache.sis.xml.bind.metadata.replace.ReferenceSystemMetadata;
+ import org.apache.sis.xml.bind.fra.IndirectReferenceSystem;
+ import org.apache.sis.xml.bind.fra.DirectReferenceSystem;
 -import org.apache.sis.metadata.iso.DefaultIdentifier;
++import org.apache.sis.xml.bind.metadata.replace.RS_Identifier;
  import org.apache.sis.test.TestCase;
  import org.junit.Test;
  
diff --cc endorsed/src/org.apache.sis.profile.france/test/org/apache/sis/xml/bind/fra/DirectReferenceSystemTest.java
index 0000000000,882d6c883b..6f08ea8bb7
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,104 +1,104 @@@
+ /*
+  * 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.xml.bind.fra;
+ 
+ import java.util.Set;
+ import java.util.Collection;
+ import java.io.InputStream;
+ import jakarta.xml.bind.JAXBException;
 -import org.opengis.metadata.citation.Responsibility;
++import org.opengis.metadata.citation.ResponsibleParty;
+ import org.apache.sis.metadata.iso.DefaultMetadata;
 -import org.apache.sis.metadata.iso.DefaultIdentifier;
+ import org.apache.sis.metadata.iso.citation.DefaultCitation;
+ import org.apache.sis.metadata.iso.citation.DefaultResponsibleParty;
+ import org.apache.sis.metadata.iso.citation.HardCodedCitations;
++import org.apache.sis.xml.bind.metadata.replace.RS_Identifier;
+ import org.apache.sis.util.ComparisonMode;
+ import org.apache.sis.test.TestUtilities;
+ import org.apache.sis.test.xml.TestCase;
+ import org.junit.Test;
+ 
+ import static org.junit.Assert.*;
+ 
+ 
+ /**
+  * Tests (un)marshalling of French profile of reference system.
+  *
+  * @author  Cédric Briançon (Geomatys)
+  * @author  Guilhem Legal (Geomatys)
+  * @version 1.4
+  * @since   0.5
+  */
+ public final class DirectReferenceSystemTest extends TestCase {
+     /**
+      * Creates a new test case.
+      */
+     public DirectReferenceSystemTest() {
+     }
+ 
+     /**
+      * Opens the stream to the XML file in this package containing a reference system definition.
+      *
+      * @return stream opened on the XML document to use for testing purpose.
+      */
+     private static InputStream openTestFile() {
+         return DirectReferenceSystemTest.class.getResourceAsStream("DirectReferenceSystem.xml");
+     }
+ 
+     /**
+      * Creates the metadata object to be tested.
+      *
+      * @param  legacy  {@code true} for using the legacy {@code ResponsibleParty} instead of {@code Responsibility}.
+      *                 This is sometimes needed for comparison purpose with unmarshalled metadata.
+      */
+     @SuppressWarnings("deprecation")
+     private static DefaultMetadata createMetadata(final boolean legacy) {
+         final DefaultMetadata metadata = new DefaultMetadata();
+         final DefaultCitation citation = new DefaultCitation("EPSG Geodetic Parameter Dataset");
 -        Collection<Responsibility> r = HardCodedCitations.EPSG.getCitedResponsibleParties();
++        Collection<ResponsibleParty> r = HardCodedCitations.EPSG.getCitedResponsibleParties();
+         if (legacy) {
+             r = Set.of(new DefaultResponsibleParty(TestUtilities.getSingleton(r)));
+         }
+         citation.setCitedResponsibleParties(r);
 -        final DirectReferenceSystem refSys = new DirectReferenceSystem(new DefaultIdentifier(citation, "4326"));
++        final DirectReferenceSystem refSys = new DirectReferenceSystem(new RS_Identifier(citation, "4326"));
+         metadata.setReferenceSystemInfo(Set.of(refSys));
+         return metadata;
+     }
+ 
+     /**
+      * Ensures that the marshalling process of a {@link DefaultMetadata} produces
+      * an XML document which complies with the one expected.
+      *
+      * @throws JAXBException if the marshalling process fails.
+      */
+     @Test
+     public void marshallingTest() throws JAXBException {
+         assertMarshalEqualsFile(openTestFile(), createMetadata(false), VERSION_2007, "xmlns:*", "xsi:schemaLocation");
+     }
+ 
+     /**
+      * Ensures that the unmarshalling process of a {@link DefaultMetadata} stored in an XML
+      * document produces an object containing all the information.
+      *
+      * @throws JAXBException if the unmarshalling process fails.
+      */
+     @Test
+     public void unmarshallingTest() throws JAXBException {
+         final DefaultMetadata expected = createMetadata(true);
+         final DefaultMetadata result = unmarshalFile(DefaultMetadata.class, openTestFile());
+         assertTrue(expected.equals(result, ComparisonMode.DEBUG));
+     }
+ }
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/AbstractIdentifiedObject.java
index 51b6608e62,36e19ad039..57c20a589f
--- 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
@@@ -64,13 -64,10 +64,13 @@@ import org.apache.sis.util.resources.Er
  
  import static org.apache.sis.util.ArgumentChecks.*;
  import static org.apache.sis.util.Utilities.deepEquals;
- import static org.apache.sis.internal.util.CollectionsExt.nonNull;
- import static org.apache.sis.internal.util.CollectionsExt.nonEmpty;
- import static org.apache.sis.internal.util.CollectionsExt.immutableSet;
+ import static org.apache.sis.util.internal.CollectionsExt.nonNull;
+ import static org.apache.sis.util.internal.CollectionsExt.nonEmpty;
+ import static org.apache.sis.util.internal.CollectionsExt.immutableSet;
  
 +// Branch-dependent imports
 +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/NameIterator.java
index bd9234674e,40b25c22bb..0c23140a37
--- 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
@@@ -19,13 -19,13 +19,13 @@@ package org.apache.sis.referencing
  import java.util.Iterator;
  import java.util.Collection;
  import org.opengis.util.GenericName;
 -import org.opengis.metadata.Identifier;
  import org.opengis.referencing.IdentifiedObject;
 +import org.opengis.referencing.ReferenceIdentifier;
- import org.apache.sis.internal.jaxb.Context;
- import org.apache.sis.internal.metadata.NameMeaning;
- import org.apache.sis.internal.referencing.NilReferencingObject;
+ import org.apache.sis.xml.bind.Context;
+ import org.apache.sis.metadata.internal.NameMeaning;
+ import org.apache.sis.referencing.util.NilReferencingObject;
  
- import static org.apache.sis.internal.util.Strings.appendUnicodeIdentifier;
+ import static org.apache.sis.util.internal.Strings.appendUnicodeIdentifier;
  
  
  /**
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/NamedIdentifier.java
index cf1d9cb42a,1b4373f5dd..becb105fb1
--- 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
@@@ -32,9 -32,8 +32,9 @@@ import org.opengis.util.InternationalSt
  import org.apache.sis.util.resources.Errors;
  import org.opengis.metadata.citation.Citation;
  import org.opengis.metadata.Identifier;
 +import org.opengis.referencing.ReferenceIdentifier;
  import org.opengis.parameter.InvalidParameterValueException;
- import org.apache.sis.internal.metadata.NameToIdentifier;
+ 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;
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/AbstractProvider.java
index 0000000000,bb4b71febf..c62658b5f5
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,382 +1,384 @@@
+ /*
+  * 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.referencing.operation.provider;
+ 
+ import java.util.Map;
+ import java.util.HashMap;
+ import java.util.Collection;
+ import java.util.logging.Logger;
+ import jakarta.xml.bind.annotation.XmlTransient;
+ import org.opengis.util.GenericName;
 -import org.opengis.metadata.Identifier;
+ import org.opengis.parameter.ParameterDescriptor;
+ import org.opengis.parameter.ParameterDescriptorGroup;
+ import org.opengis.referencing.IdentifiedObject;
+ import org.opengis.referencing.cs.CoordinateSystem;
+ import org.opengis.referencing.operation.MathTransform;
+ import org.opengis.referencing.operation.SingleOperation;
+ import org.apache.sis.util.internal.Constants;
+ import org.apache.sis.measure.Units;
+ import org.apache.sis.measure.Latitude;
+ import org.apache.sis.measure.Longitude;
+ import org.apache.sis.measure.MeasurementRange;
+ import org.apache.sis.metadata.iso.citation.Citations;
+ import org.apache.sis.parameter.ParameterBuilder;
+ import org.apache.sis.referencing.operation.DefaultOperationMethod;
+ import org.apache.sis.referencing.operation.transform.MathTransformProvider;
+ import org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory;
+ import org.apache.sis.util.resources.Vocabulary;
+ import org.apache.sis.util.ArgumentChecks;
+ import org.apache.sis.util.Workaround;
+ import org.apache.sis.util.logging.Logging;
+ import org.apache.sis.system.Loggers;
+ import org.apache.sis.referencing.internal.Resources;
+ 
++// Branch-dependent imports
++import org.opengis.referencing.ReferenceIdentifier;
++
+ 
+ /**
+  * Base class for all providers defined in this package.
+  *
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  * @since   0.6
+  */
+ @XmlTransient
+ public abstract class AbstractProvider extends DefaultOperationMethod implements MathTransformProvider {
+     /**
+      * For cross-version compatibility.
+      */
+     private static final long serialVersionUID = 1165868434518724597L;
+ 
+     /**
+      * The logger for coordinate operations.
+      */
+     static final Logger LOGGER = Logger.getLogger(Loggers.COORDINATE_OPERATION);
+ 
+     /**
+      * The base interface of the {@code CoordinateOperation} instances that use this method.
+      *
+      * @see #getOperationType()
+      */
+     private final Class<? extends SingleOperation> operationType;
+ 
+     /**
+      * The base interface of the coordinate system of source/target coordinates.
+      * This is used for resolving some ambiguities at WKT parsing time.
+      */
+     public final Class<? extends CoordinateSystem> sourceCSType, targetCSType;
+ 
+     /**
+      * Flags whether the source and/or target ellipsoid are concerned by this operation. Those flags are read by
+      * {@link org.apache.sis.referencing.operation.transform.DefaultMathTransformFactory} for determining if this
+      * operation has {@code "semi_major"}, {@code "semi_minor"}, {@code "src_semi_major"}, {@code "src_semi_minor"}
+      * parameters that may need to be filled with values inferred from the source or target
+      * {@link org.apache.sis.referencing.datum.DefaultGeodeticDatum}.
+      * Meaning of return values:
+      *
+      * <ul>
+      *   <li>({@code false},{@code false}) if neither the source coordinate system or the destination
+      *       coordinate system is ellipsoidal. There are no parameters that need to be completed.</li>
+      *   <li>({@code true},{@code false}) if this operation has {@code "semi_major"} and {@code "semi_minor"}
+      *       parameters that need to be set to the axis lengths of the source ellipsoid.</li>
+      *   <li>({@code false},{@code true}) if this operation has {@code "semi_major"} and {@code "semi_minor"}
+      *       parameters that need to be set to the axis lengths of the target ellipsoid.</li>
+      *   <li>({@code true},{@code true}) if this operation has {@code "src_semi_major"}, {@code "src_semi_minor"},
+      *       {@code "tgt_semi_major"} and {@code "tgt_semi_minor"} parameters that need to be set to the axis lengths
+      *       of the source and target ellipsoids.</li>
+      * </ul>
+      *
+      * Those flags are only hints. If the information is not provided, {@code DefaultMathTransformFactory}
+      * will try to infer it from the type of user-specified source and target CRS.
+      */
+     public final boolean sourceOnEllipsoid, targetOnEllipsoid;
+ 
+     /**
+      * Constructs a math transform provider from the given properties and a set of parameters.
+      *
+      * @param properties  set of properties. Shall contain at least {@code "name"}.
+      * @param parameters  the set of parameters (never {@code null}).
+      */
+     protected AbstractProvider(final Map<String,?> properties,
+                                final ParameterDescriptorGroup parameters)
+     {
+         super(properties, parameters);
+         operationType = SingleOperation.class;
+         sourceCSType  = CoordinateSystem.class;
+         targetCSType  = CoordinateSystem.class;
+         sourceOnEllipsoid = false;
+         targetOnEllipsoid = false;
+     }
+ 
+     /**
+      * Constructs a math transform provider from a set of parameters. The provider name and
+      * {@linkplain #getIdentifiers() identifiers} will be the same than the parameter ones.
+      *
+      * @param operationType      base interface of the {@code CoordinateOperation} instances that use this method.
+      * @param parameters         description of parameters expected by this operation.
+      * @param sourceCSType       base interface of the coordinate system of source coordinates.
+      * @param sourceOnEllipsoid  whether the operation needs source ellipsoid axis lengths.
+      * @param targetCSType       base interface of the coordinate system of target coordinates.
+      * @param targetOnEllipsoid  whether the operation needs target ellipsoid axis lengths.
+      */
+     AbstractProvider(final Class<? extends SingleOperation> operationType, final ParameterDescriptorGroup parameters,
+                      final Class<? extends CoordinateSystem> sourceCSType, final boolean sourceOnEllipsoid,
+                      final Class<? extends CoordinateSystem> targetCSType, final boolean targetOnEllipsoid)
+     {
+         super(toMap(parameters), parameters);
+         this.operationType     = operationType;
+         this.sourceCSType      = sourceCSType;
+         this.targetCSType      = targetCSType;
+         this.sourceOnEllipsoid = sourceOnEllipsoid;
+         this.targetOnEllipsoid = targetOnEllipsoid;
+     }
+ 
+     /**
+      * Creates a copy of this provider.
+      *
+      * @deprecated This is a temporary constructor before replacement by a {@code provider()} method with JDK9.
+      */
+     @Deprecated
+     AbstractProvider(final AbstractProvider copy) {
+         super(copy);
+         operationType     = copy.operationType;
+         sourceCSType      = copy.sourceCSType;
+         targetCSType      = copy.targetCSType;
+         sourceOnEllipsoid = copy.sourceOnEllipsoid;
+         targetOnEllipsoid = copy.targetOnEllipsoid;
+     }
+ 
+     /**
+      * Work around for RFE #4093999 in Sun's bug database
+      * ("Relax constraint on placement of this()/super() call in constructors").
+      */
+     @Workaround(library="JDK", version="1.7")
+     private static Map<String,Object> toMap(final IdentifiedObject parameters) {
+         ArgumentChecks.ensureNonNull("parameters", parameters);
+         final Map<String,Object> properties = new HashMap<>(4);
+         properties.put(NAME_KEY, parameters.getName());
 -        final Collection<Identifier> identifiers = parameters.getIdentifiers();
++        final Collection<ReferenceIdentifier> identifiers = parameters.getIdentifiers();
+         int size = identifiers.size();
+         if (size != 0) {
 -            properties.put(IDENTIFIERS_KEY, identifiers.toArray(new Identifier[size]));
++            properties.put(IDENTIFIERS_KEY, identifiers.toArray(new ReferenceIdentifier[size]));
+         }
+         final Collection<GenericName> aliases = parameters.getAlias();
+         size = aliases.size();
+         if (size != 0) {
+             properties.put(ALIAS_KEY, aliases.toArray(new GenericName[size]));
+         }
+         return properties;
+     }
+ 
+     /**
+      * Creates the parameter builder with the default namespace set to EPSG.
+      */
+     static ParameterBuilder builder() {
+         return new ParameterBuilder().setCodeSpace(Citations.EPSG, Constants.EPSG).setRequired(true);
+     }
+ 
+     /**
+      * Adds a name together with its previous (legacy) name.
+      * The legacy name will be added as a deprecated alias.
+      */
+     static ParameterBuilder addNameAndLegacy(final ParameterBuilder builder, final String name, final String legacy) {
+         return builder.addName(name).setDeprecated(true)
+                 .setRemarks(Vocabulary.formatInternational(Vocabulary.Keys.SupersededBy_1, name))
+                 .addName(legacy).setDeprecated(false).setRemarks(null);
+     }
+ 
+     /**
+      * Adds an identifier code together with its previous (legacy) code.
+      * The legacy code will be added as a deprecated identifier.
+      */
+     static ParameterBuilder addIdentifierAndLegacy(final ParameterBuilder builder, final String code, final String legacy) {
+         return builder.addIdentifier(code).setDeprecated(true)
+                 .setRemarks(Vocabulary.formatInternational(Vocabulary.Keys.SupersededBy_1, code))
+                 .addIdentifier(legacy).setDeprecated(false).setRemarks(null);
+     }
+ 
+     /**
+      * Creates a descriptor for a 0 constant value in degrees.
+      *
+      * @see MapProjection#validate(ParameterDescriptor, double)
+      */
+     static ParameterDescriptor<Double> createZeroConstant(final ParameterBuilder builder) {
+         final Double zero = +0.0;
+         return builder.createBounded(MeasurementRange.create(-0.0, true, zero, true, Units.DEGREE), zero);
+     }
+ 
+     /**
+      * Creates a descriptor for a latitude parameter in degrees without default value.
+      * This method is used for latitude of origin that cannot be zero, of for standard parallels
+      * where the default value should be the value of another parameter instead of 0°.
+      */
+     static ParameterDescriptor<Double> createMandatoryLatitude(final ParameterBuilder builder) {
+         return builder.createBounded(Latitude.MIN_VALUE, Latitude.MAX_VALUE, Double.NaN, Units.DEGREE);
+     }
+ 
+     /**
+      * Creates a descriptor for a latitude parameter in degrees with a default value of 0°.
+      */
+     static ParameterDescriptor<Double> createLatitude(final ParameterBuilder builder, final boolean includePoles) {
+         return builder.createBounded(MeasurementRange.create(
+                 Latitude.MIN_VALUE, includePoles,
+                 Latitude.MAX_VALUE, includePoles,
+                 Units.DEGREE), 0.0);
+     }
+ 
+     /**
+      * Creates a descriptor for a longitude parameter in degrees with a default value of 0°.
+      */
+     static ParameterDescriptor<Double> createLongitude(final ParameterBuilder builder) {
+         return builder.createBounded(Longitude.MIN_VALUE, Longitude.MAX_VALUE, 0.0, Units.DEGREE);
+     }
+ 
+     /**
+      * Creates a descriptor for a scale parameter with a default value of 1.
+      */
+     static ParameterDescriptor<Double> createScale(final ParameterBuilder builder) {
+         return builder.createStrictlyPositive(1.0, Units.UNITY);
+     }
+ 
+     /**
+      * Creates a false easting, false northing or height parameter in metre with a default value of 0.
+      */
+     static ParameterDescriptor<Double> createShift(final ParameterBuilder builder) {
+         return builder.create(0.0, Units.METRE);
+     }
+ 
+     /**
+      * If an operation method is ambiguous according Apache SIS, returns the name of the method that SIS should use.
+      * Otherwise returns {@code null}. The ambiguities that need to be resolved are:
+      *
+      * <ul>
+      *   <li>Method <cite>"Geographic/geocentric conversions"</cite> (EPSG:9602) can be either:
+      *     <ul>
+      *       <li>{@code "Ellipsoid_To_Geocentric"} (implemented by {@link GeographicToGeocentric}</li>
+      *       <li>{@code "Geocentric_To_Ellipsoid"} (implemented by {@link GeocentricToGeographic}</li>
+      *     </ul>
+      *   </li>
+      * </ul>
+      *
+      * @param  context   the potentially ambiguous context.
+      * @return name of the provider to use, or {@code null} if there is nothing to change.
+      *
+      * @since 0.8
+      */
+     public String resolveAmbiguity(final DefaultMathTransformFactory.Context context) {
+         return null;
+     }
+ 
+     /**
+      * Returns the interface implemented by the coordinate operation.
+      * This method returns the type specified at construction time.
+      *
+      * @return interface implemented by all coordinate operations that use this method.
+      */
+     @Override
+     public final Class<? extends SingleOperation> getOperationType() {
+         return operationType;
+     }
+ 
+     /**
+      * If this provider has a variant for the specified transform, returns that variant. Otherwise returns {@code this}.
+      * For example the operation method may have different names depending on the number of dimensions.
+      *
+      * @param  transform  the transform for which to get a variant of the operation method.
+      * @return the operation method for the given transform, or {@code this} if there is no specialized variant.
+      */
+     public AbstractProvider variantFor(final MathTransform transform) {
+         return redimension(transform.getSourceDimensions(), transform.getTargetDimensions());
+     }
+ 
+     /**
+      * Returns an operation method equivalent to this one but with the specified number dimensions.
+      * The default implementation verifies that the arguments are valid, then returns {@code this}.
+      * Subclasses may override this method when the name or the parameters of the operation method
+      * depend on the number of dimensions.
+      *
+      * <h4>Example</h4>
+      * The EPSG database defines the following as two distinct operations.
+      * However they can be understood as two variants of the same operation.
+      *
+      * <ul>
+      *   <li>EPSG:9603 — Geocentric translations (geog2D domain)</li>
+      *   <li>EPSG:1035 — Geocentric translations (geog3D domain)</li>
+      * </ul>
+      *
+      * @param  sourceDimensions  the desired number of input dimensions.
+      * @param  targetDimensions  the desired number of output dimensions.
+      * @return the redimensioned operation method, or {@code this} if no change is needed.
+      * @throws IllegalArgumentException if the given dimensions are illegal for this operation method.
+      */
+     public AbstractProvider redimension(final int sourceDimensions, final int targetDimensions) {
+         ArgumentChecks.ensureStrictlyPositive("sourceDimensions", sourceDimensions);
+         ArgumentChecks.ensureStrictlyPositive("targetDimensions", targetDimensions);
+         @SuppressWarnings("deprecation") final Integer src = getSourceDimensions();
+         @SuppressWarnings("deprecation") final Integer tgt = getTargetDimensions();
+         if ((src == null || src == sourceDimensions) &&
+             (tgt == null || tgt == targetDimensions))
+         {
+             return this;
+         }
+         throw new IllegalArgumentException(Resources.format(Resources.Keys.IllegalOperationDimension_3,
+                     getName().getCode(), sourceDimensions, targetDimensions));
+     }
+ 
+     /**
+      * Returns the operation method which is the inverse of this method.
+      * <ul>
+      *   <li>If {@code null}, no inverse method is easily available. This is the default.</li>
+      *   <li>If {@code this}, the inverse of this operation method is the same operation method
+      *       with some parameter values changed (typically with sign inverted).</li>
+      *   <li>If another method, it should take the same parameter values.</li>
+      * </ul>
+      *
+      * <p>This is a SIS-specific information which may be changed in any future SIS version.
+      * Current implementation provides this information in a "all or nothing" way: either all parameter values
+      * can have their sign reversed, or either the operation is considered not revertible at all.
+      * This is different than the EPSG dataset in two way:</p>
+      *
+      * <ul class="verbose">
+      *   <li>EPSG provides an equivalent information in the {@code PARAM_SIGN_REVERSAL} column of the
+      *       {@code [Coordinate_Operation Parameter Usage]} table, but on a parameter-by-parameter basis
+      *       instead of for the whole operation (which is probably better).</li>
+      *
+      *   <li>EPSG provides another information in the {@code REVERSE_OP} column of the
+      *       {@code [Coordinate_Operation Method]} table, but this is not equivalent to this method because it
+      *       does not differentiate the map projection methods from <em>inverse</em> map projection methods.</li>
+      * </ul>
+      *
+      * @return the inverse of this operation method (possibly {@code this}), or {@code null} if none.
+      *
+      * @see org.apache.sis.referencing.internal.SignReversalComment
+      */
+     public AbstractProvider inverse() {
+         return null;
+     }
+ 
+     /**
+      * Convenience method for reporting a non-fatal error at transform construction time.
+      * This method assumes that the error occurred (indirectly) during execution of
+      * {@link #createMathTransform(MathTransformFactory, ParameterValueGroup)}.
+      *
+      * @param  caller  the provider class in which the error occurred.
+      * @param  e       the error that occurred.
+      */
+     static void recoverableException(final Class<? extends AbstractProvider> caller, Exception e) {
+         Logging.recoverableException(LOGGER, caller, "createMathTransform", e);
+     }
+ }
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/MapProjection.java
index 0000000000,89fb9bd4e8..d2720d2818
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,414 +1,415 @@@
+ /*
+  * 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.referencing.operation.provider;
+ 
+ import java.util.Map;
+ import java.util.HashMap;
+ import java.util.NoSuchElementException;
+ import jakarta.xml.bind.annotation.XmlTransient;
+ import javax.measure.Unit;
+ import org.opengis.util.GenericName;
+ import org.opengis.util.FactoryException;
+ import org.opengis.util.InternationalString;
+ import org.opengis.metadata.Identifier;
+ import org.opengis.metadata.citation.Citation;
+ import org.opengis.parameter.ParameterDescriptor;
+ import org.opengis.parameter.GeneralParameterDescriptor;
+ import org.opengis.parameter.ParameterValueGroup;
+ import org.opengis.parameter.ParameterDescriptorGroup;
+ import org.opengis.parameter.ParameterNotFoundException;
+ import org.opengis.referencing.cs.CartesianCS;
+ import org.opengis.referencing.cs.EllipsoidalCS;
+ import org.opengis.referencing.operation.MathTransform;
+ import org.opengis.referencing.operation.MathTransformFactory;
+ import org.opengis.referencing.operation.Projection;
++import org.opengis.referencing.ReferenceIdentifier;
+ import org.apache.sis.referencing.internal.Resources;
+ import org.apache.sis.util.internal.Constants;
+ import org.apache.sis.measure.MeasurementRange;
+ import org.apache.sis.measure.Units;
+ import org.apache.sis.referencing.NamedIdentifier;
+ import org.apache.sis.referencing.IdentifiedObjects;
+ import org.apache.sis.referencing.operation.projection.NormalizedProjection;
+ import org.apache.sis.referencing.ImmutableIdentifier;
+ import org.apache.sis.metadata.iso.citation.Citations;
+ import org.apache.sis.parameter.DefaultParameterDescriptor;
+ import org.apache.sis.parameter.ParameterBuilder;
+ import org.apache.sis.parameter.Parameters;
+ import org.apache.sis.util.resources.Errors;
+ 
+ import static org.opengis.metadata.Identifier.AUTHORITY_KEY;
+ 
+ 
+ /**
+  * Base class for most two-dimensional map projection providers defined in this package.
+  * This base class defines some descriptors for the most commonly used parameters.
+  * Subclasses will declare additional parameters and group them in a
+  * {@linkplain ParameterDescriptorGroup descriptor group} named {@code PARAMETERS}.
+  *
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  * @since   0.6
+  */
+ @XmlTransient
+ public abstract class MapProjection extends AbstractProvider {
+     /**
+      * Serial number for inter-operability with different versions.
+      */
+     private static final long serialVersionUID = 6280666068007678702L;
+ 
+     /**
+      * All names known to Apache SIS for the <cite>semi-major</cite> parameter.
+      * This parameter is mandatory and has no default value. The range of valid values is (0 … ∞).
+      *
+      * <p>Some names for this parameter are {@code "semi_major"}, {@code "SemiMajorAxis"} and {@code "a"}.</p>
+      *
+      * <!-- Generated by ParameterNameTableGenerator -->
+      * <table class="sis">
+      *   <caption>Parameter names</caption>
+      *   <tr><td> OGC:     </td><td> semi_major </td></tr>
+      *   <tr><td> ESRI:    </td><td> Semi_Major </td></tr>
+      *   <tr><td> NetCDF:  </td><td> semi_major_axis </td></tr>
+      *   <tr><td> GeoTIFF: </td><td> SemiMajorAxis </td></tr>
+      *   <tr><td> Proj4:   </td><td> a </td></tr>
+      * </table>
+      * <b>Notes:</b>
+      * <ul>
+      *   <li>Value domain: (0.0 … ∞) m</li>
+      *   <li>No default value</li>
+      * </ul>
+      */
+     public static final DefaultParameterDescriptor<Double> SEMI_MAJOR;
+ 
+     /**
+      * All names known to Apache SIS for the <cite>semi-minor</cite> parameter.
+      * This parameter is mandatory and has no default value. The range of valid values is (0 … ∞).
+      *
+      * <p>Some names for this parameter are {@code "semi_minor"}, {@code "SemiMinorAxis"} and {@code "b"}.</p>
+      *
+      * <!-- Generated by ParameterNameTableGenerator -->
+      * <table class="sis">
+      *   <caption>Parameter names</caption>
+      *   <tr><td> OGC:     </td><td> semi_minor </td></tr>
+      *   <tr><td> ESRI:    </td><td> Semi_Minor </td></tr>
+      *   <tr><td> NetCDF:  </td><td> semi_minor_axis </td></tr>
+      *   <tr><td> GeoTIFF: </td><td> SemiMinorAxis </td></tr>
+      *   <tr><td> Proj4:   </td><td> b </td></tr>
+      * </table>
+      * <b>Notes:</b>
+      * <ul>
+      *   <li>Value domain: (0.0 … ∞) m</li>
+      *   <li>No default value</li>
+      * </ul>
+      */
+     public static final DefaultParameterDescriptor<Double> SEMI_MINOR;
+ 
+     /**
+      * The ellipsoid eccentricity, computed from the semi-major and semi-minor axis lengths.
+      * This a SIS-specific parameter.
+      *
+      * <!-- Generated by ParameterNameTableGenerator -->
+      * <table class="sis">
+      *   <caption>Parameter names</caption>
+      *   <tr><td> SIS:     </td><td> eccentricity </td></tr>
+      * </table>
+      * <b>Notes:</b>
+      * <ul>
+      *   <li>Value domain: [0.0 … 1.0]</li>
+      *   <li>No default value</li>
+      * </ul>
+      */
+     public static final DefaultParameterDescriptor<Double> ECCENTRICITY;
+     static {
+         final MeasurementRange<Double> valueDomain = MeasurementRange.createGreaterThan(0, Units.METRE);
+         final GenericName[] aliases = {
+             new NamedIdentifier(Citations.ESRI,    "Semi_Major"),
+             new NamedIdentifier(Citations.NETCDF,  "semi_major_axis"),
+             new NamedIdentifier(Citations.GEOTIFF, "SemiMajorAxis"),
+             new NamedIdentifier(Citations.PROJ4,   "a")
+         };
+         final Map<String,Object> properties = new HashMap<>(4);
+         properties.put(AUTHORITY_KEY,  Citations.OGC);
+         properties.put(NAME_KEY,       Constants.SEMI_MAJOR);
+         properties.put(ALIAS_KEY,      aliases);
+         properties.put(IDENTIFIERS_KEY, new ImmutableIdentifier(Citations.GEOTIFF, null, "2057"));
+         SEMI_MAJOR = new DefaultParameterDescriptor<>(properties, 1, 1, Double.class, valueDomain, null, null);
+         /*
+          * Change in-place the name and aliases (we do not need to create new objects)
+          * before to create the SEMI_MINOR descriptor.
+          */
+         properties.put(NAME_KEY, Constants.SEMI_MINOR);
+         aliases[0] = new NamedIdentifier(Citations.ESRI,    "Semi_Minor");
+         aliases[1] = new NamedIdentifier(Citations.NETCDF,  "semi_minor_axis");
+         aliases[2] = new NamedIdentifier(Citations.GEOTIFF, "SemiMinorAxis");
+         aliases[3] = new NamedIdentifier(Citations.PROJ4,   "b");
+         properties.put(IDENTIFIERS_KEY, new ImmutableIdentifier(Citations.GEOTIFF, null, "2058"));
+         SEMI_MINOR = new DefaultParameterDescriptor<>(properties, 1, 1, Double.class, valueDomain, null, null);
+         /*
+          * SIS-specific parameter for debugging purpose only.
+          */
+         properties.clear();
+         properties.put(AUTHORITY_KEY, Citations.SIS);
+         properties.put(NAME_KEY, "eccentricity");
+         ECCENTRICITY = new DefaultParameterDescriptor<>(properties, 1, 1, Double.class,
+                 MeasurementRange.create(0d, true, 1d, true, null), null, null);
+     }
+ 
+     /**
+      * The three-dimensional counterpart of this two-dimensional map projection.
+      * This is created when first needed.
+      *
+      * @see #redimension(int, int)
+      */
+     private AbstractProvider redimensioned;
+ 
+     /**
+      * Constructs a math transform provider from a set of parameters. The provider
+      * {@linkplain #getIdentifiers() identifiers} will be the same than the parameter ones.
+      *
+      * @param  operationType  interface of the {@code CoordinateOperation} instances that use this projection.
+      * @param  parameters     the set of parameters (never {@code null}).
+      */
+     protected MapProjection(final Class<? extends Projection> operationType,
+                             final ParameterDescriptorGroup parameters)
+     {
+         super(operationType, parameters,
+               EllipsoidalCS.class, true,
+               CartesianCS.class,   false);
+     }
+ 
+     /**
+      * Returns the number of source dimensions of the transforms created by this provider.
+      */
+     @Override
+     @SuppressWarnings("deprecation")
+     public final Integer getSourceDimensions() {
+         return 2;
+     }
+ 
+     /**
+      * Returns the number of target dimensions of the transforms created by this provider.
+      */
+     @Override
+     @SuppressWarnings("deprecation")
+     public final Integer getTargetDimensions() {
+         return 2;
+     }
+ 
+     /**
+      * Returns this operation method with the specified number of dimensions.
+      * The number of dimensions can be only 2 or 3, and must be the same for source and target CRS.
+      *
+      * @return the redimensioned projection method, or {@code this} if no change is needed.
+      *
+      * @since 0.8
+      */
+     @Override
+     public final AbstractProvider redimension(final int sourceDimensions, final int targetDimensions) {
+         if (sourceDimensions != 3 || targetDimensions != 3) {
+             return super.redimension(sourceDimensions, targetDimensions);
+         } else synchronized (this) {
+             if (redimensioned == null) {
+                 redimensioned = new MapProjection3D(this);
+             }
+             return redimensioned;
+         }
+     }
+ 
+     /**
+      * Validates the given parameter value. This method duplicates the verification already
+      * done by {@link org.apache.sis.parameter.DefaultParameterValue#setValue(Object, Unit)}.
+      * But we check again because we have no guarantee that the parameters given by the user
+      * were instances of {@code DefaultParameterValue}, or that the descriptor associated to
+      * the user-specified {@code ParameterValue} has sufficient information.
+      *
+      * @param  descriptor  the descriptor that specify the parameter to validate.
+      * @param  value       the parameter value in the units given by the descriptor.
+      * @throws IllegalArgumentException if the given value is out of bounds.
+      *
+      * @see #createZeroConstant(ParameterBuilder)
+      */
+     public static void validate(final ParameterDescriptor<? extends Number> descriptor, final double value)
+             throws IllegalArgumentException
+     {
+         if (!Double.isFinite(value)) {
+             throw new IllegalArgumentException(Resources.format(Resources.Keys.IllegalParameterValue_2,
+                     descriptor.getName(), value));
+         }
+         final Comparable<? extends Number> min = descriptor.getMinimumValue();
+         final Comparable<? extends Number> max = descriptor.getMaximumValue();
+         final double minValue = (min instanceof Number) ? ((Number) min).doubleValue() : Double.NaN;
+         final double maxValue = (max instanceof Number) ? ((Number) max).doubleValue() : Double.NaN;
+         if (value < minValue || value > maxValue) {
+             /*
+              * RATIONAL: why we do not check the bounds if (min == max):
+              * The only case when our descriptor have (min == max) is when a parameter can only be zero,
+              * because of the way the map projection is defined (see e.g. Mercator1SP.LATITUDE_OF_ORIGIN).
+              * But in some cases, it would be possible to deal with non-zero values, even if in principle
+              * we should not. In such case we let the caller decides.
+              *
+              * Above check should be revisited if createZeroConstant(ParameterBuilder) is modified.
+              */
+             if (minValue != maxValue) {   // Compare as 'double' because we want (-0 == +0) to be true.
+                 throw new IllegalArgumentException(Errors.format(Errors.Keys.ValueOutOfRange_4,
+                         descriptor.getName(), min, max, value));
+             }
+         }
+     }
+ 
+     /**
+      * Creates a map projection from the specified group of parameter values.
+      *
+      * @param  factory     the factory to use for creating and concatenating the (de)normalization transforms.
+      * @param  parameters  the group of parameter values.
+      * @return the map projection created from the given parameter values.
+      * @throws ParameterNotFoundException if a required parameter was not found.
+      * @throws FactoryException if the map projection cannot be created.
+      */
+     @Override
+     public final MathTransform createMathTransform(final MathTransformFactory factory, final ParameterValueGroup parameters)
+             throws ParameterNotFoundException, FactoryException
+     {
+         return createProjection(Parameters.castOrWrap(parameters)).createMapProjection(factory);
+     }
+ 
+     /**
+      * Creates a map projection on an ellipsoid having a semi-major axis length of 1.
+      *
+      * @param  parameters  the group of parameter values.
+      * @return the map projection created from the given parameter values.
+      * @throws ParameterNotFoundException if a required parameter was not found.
+      */
+     protected abstract NormalizedProjection createProjection(final Parameters parameters) throws ParameterNotFoundException;
+ 
+ 
+ 
+ 
+     //////////////////////////////////////////////////////////////////////////////////////////
+     ////////                                                                          ////////
+     ////////                       HELPER METHODS FOR SUBCLASSES                      ////////
+     ////////                                                                          ////////
+     ////////    Following methods are defined for sharing the same GenericName or     ////////
+     ////////    Identifier instances when possible.                                   ////////
+     //////////////////////////////////////////////////////////////////////////////////////////
+ 
+     /**
+      * Returns the name of the given authority declared in the given parameter descriptor.
+      * This method is used only as a way to avoid creating many instances of the same name.
+      *
+      * @param  authority   the authority for which to get the name.
+      * @param  parameters  where to get name for the given authority.
+      * @throws NoSuchElementException if the given authority has not been found.
+      */
+     private static GenericName sameNameAs(final Citation authority, final GeneralParameterDescriptor parameters) {
+         for (final GenericName candidate : parameters.getAlias()) {
+             if (candidate instanceof Identifier && ((Identifier) candidate).getAuthority() == authority) {
+                 return candidate;
+             }
+         }
+         throw new NoSuchElementException();
+     }
+ 
+     /**
+      * Copies name, aliases and identifiers of the given {@code template}, except the alias and identifiers of the
+      * given authority which are replaced by the alias and identifiers of the same authority in {@code replacement}.
+      *
+      * @param  builder      an initially clean builder where to add the names and identifiers.
+      * @param  template     the parameter from which to copy names and identifiers.
+      * @param  toRename     authority of the alias to rename.
+      * @param  replacement  the parameter from which to get the new name for the alias to rename.
+      * @return the given {@code builder}, for method call chaining.
+      *
+      * @since 0.8
+      */
+     static ParameterBuilder renameAlias(final ParameterBuilder builder, final ParameterDescriptor<Double> template,
+                                         final Citation toRename, final ParameterDescriptor<Double> replacement)
+     {
+         renameAliases(builder, template, new Citation[] {toRename}, new ParameterDescriptor<?>[] {replacement});
+         return builder;
+     }
+ 
+     /**
+      * Same as above {@link #renameAlias(ParameterBuilder, ParameterDescriptor, Citation, ParameterDescriptor)
+      * renameAlias(…)} but with two aliases to rename.
+      *
+      * @param  builder      an initially clean builder where to add the names and identifiers.
+      * @param  template     the parameter from which to copy names and identifiers.
+      * @param  s1           authority of the first alias to rename.
+      * @param  r1           the parameter from which to get the new name for the first alias to rename.
+      * @param  s2           authority of the second alias to rename.
+      * @param  r2           the parameter from which to get the new name for the second alias to rename.
+      * @return the given {@code builder}, for method call chaining.
+      *
+      * @since 1.1
+      */
+     static ParameterBuilder renameAlias(final ParameterBuilder builder, final ParameterDescriptor<Double> template,
+                                         final Citation s1, final ParameterDescriptor<Double> r1,
+                                         final Citation s2, final ParameterDescriptor<Double> r2)
+     {
+         renameAliases(builder, template, new Citation[] {s1, s2}, new ParameterDescriptor<?>[] {r1, r2});
+         return builder;
+     }
+ 
+     /**
+      * Implementation of {@code renameAlias(…)} methods.
+      */
+     private static void renameAliases(final ParameterBuilder builder, final ParameterDescriptor<Double> template,
+             final Citation[] toRename, final ParameterDescriptor<?>[] replacement)
+     {
+         builder.addName(template.getName());
+         final GenericName[] newNames = new GenericName[toRename.length];
+         final Identifier[]  newCodes = new Identifier [toRename.length];
+         for (int i=0; i<toRename.length; i++) {
+             newNames[i] = sameNameAs(toRename[i], replacement[i]);
+             newCodes[i] = IdentifiedObjects.getIdentifier(replacement[i], toRename[i]);
+         }
+         for (GenericName alias : template.getAlias()) {
+             final Citation authority = ((Identifier) alias).getAuthority();
+             for (int i=0; i<toRename.length; i++) {
+                 if (authority == toRename[i]) {
+                     if (newNames[i] == null) continue;
+                     alias = newNames[i];
+                     newNames[i] = null;
+                     break;
+                 }
+             }
+             builder.addName(alias);
+         }
 -        for (Identifier id : template.getIdentifiers()) {
++        for (ReferenceIdentifier id : template.getIdentifiers()) {
+             final Citation authority = id.getAuthority();
+             for (int i=0; i<toRename.length; i++) {
+                 if (authority == toRename[i]) {
+                     if (newCodes[i] == null) continue;
 -                    id = newCodes[i];
++                    id = (ReferenceIdentifier) newCodes[i];
+                     newCodes[i] = null;
+                     break;
+                 }
+             }
+             builder.addIdentifier(id);
+         }
+     }
+ 
+     /**
+      * Creates a remarks for parameters that are not formally EPSG parameter.
+      *
+      * @param  origin  the name of the projection for where the parameter is formally used.
+      * @return a remarks saying that the parameter is actually defined in {@code origin}.
+      */
+     static InternationalString notFormalParameter(final String origin) {
+         return Resources.formatInternational(Resources.Keys.NotFormalProjectionParameter_1, origin);
+     }
+ }
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/operation/provider/ObliqueMercatorCenter.java
index 0000000000,67476259f7..10877e9184
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,137 +1,140 @@@
+ /*
+  * 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.referencing.operation.provider;
+ 
+ import jakarta.xml.bind.annotation.XmlTransient;
+ import org.opengis.parameter.ParameterDescriptor;
+ import org.opengis.parameter.ParameterDescriptorGroup;
+ import org.apache.sis.parameter.ParameterBuilder;
+ import org.apache.sis.metadata.iso.citation.Citations;
+ 
+ import static org.apache.sis.referencing.IdentifiedObjects.getIdentifier;
+ 
++// Branch-dependent imports
++import org.opengis.referencing.ReferenceIdentifier;
++
+ 
+ /**
+  * The provider for <cite>"Hotine Oblique Mercator (variant B)"</cite> projection (EPSG:9815).
+  *
+  * @author  Rueben Schulz (UBC)
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  *
+  * @see <a href="http://geotiff.maptools.org/proj_list/oblique_mercator.html">GeoTIFF parameters for Oblique Mercator</a>
+  *
+  * @since 1.0
+  */
+ @XmlTransient
+ public final class ObliqueMercatorCenter extends ObliqueMercator {
+     /**
+      * For compatibility with different versions during deserialization.
+      */
+     private static final long serialVersionUID = 1404490143062736127L;
+ 
+     /**
+      * The {@value} EPSG identifier for <cite>"Hotine Oblique Mercator (variant B)"</cite>.
+      * Should be preferred to the name when available.
+      */
+     public static final String IDENTIFIER = "9815";
+ 
+     /**
+      * The operation parameter descriptor for the <cite>Easting at projection centre</cite> (Ec) parameter value.
+      * Valid values range is unrestricted and default value is 0 metre.
+      *
+      * <!-- Generated by ParameterNameTableGenerator -->
+      * <table class="sis">
+      *   <caption>Parameter names</caption>
+      *   <tr><td> EPSG:    </td><td> Easting at projection centre </td></tr>
+      *   <tr><td> OGC:     </td><td> false_easting </td></tr>
+      *   <tr><td> ESRI:    </td><td> False_Easting </td></tr>
+      *   <tr><td> GeoTIFF: </td><td> CenterEasting </td></tr>
+      *   <tr><td> Proj4:   </td><td> x_0 </td></tr>
+      * </table>
+      */
+     public static final ParameterDescriptor<Double> EASTING_AT_CENTRE;
+ 
+     /**
+      * The operation parameter descriptor for the <cite>Northing at projection centre</cite> (Nc) parameter value.
+      * Valid values range is unrestricted and default value is 0 metre.
+      *
+      * <!-- Generated by ParameterNameTableGenerator -->
+      * <table class="sis">
+      *   <caption>Parameter names</caption>
+      *   <tr><td> EPSG:    </td><td> Northing at projection centre </td></tr>
+      *   <tr><td> OGC:     </td><td> false_northing </td></tr>
+      *   <tr><td> ESRI:    </td><td> False_Northing </td></tr>
+      *   <tr><td> GeoTIFF: </td><td> CenterNorthing </td></tr>
+      *   <tr><td> Proj4:   </td><td> y_0 </td></tr>
+      * </table>
+      */
+     public static final ParameterDescriptor<Double> NORTHING_AT_CENTRE;
+ 
+     /**
+      * The group of all parameters expected by this coordinate operation.
+      */
+     private static final ParameterDescriptorGroup PARAMETERS;
+     static {
+         final ParameterBuilder builder = builder();
+ 
+         EASTING_AT_CENTRE = createShift(builder
+                 .addNamesAndIdentifiers(FALSE_EASTING)
+                 .reidentify(Citations.EPSG,    "8816")
+                 .reidentify(Citations.GEOTIFF, "3090")
+                 .rename(Citations.EPSG, "Easting at projection centre")
+                 .rename(Citations.GEOTIFF, "CenterEasting")
+                 .rename(Citations.NETCDF));                                 // Delete the netCDF name.
+ 
+         NORTHING_AT_CENTRE = createShift(builder
+                 .addNamesAndIdentifiers(FALSE_NORTHING)
+                 .reidentify(Citations.EPSG,    "8817")
+                 .reidentify(Citations.GEOTIFF, "3091")
+                 .rename(Citations.EPSG, "Northing at projection centre")
+                 .rename(Citations.GEOTIFF, "CenterNorthing")
+                 .rename(Citations.NETCDF));                                 // Delete the netCDF name.
+ 
+         PARAMETERS = builder
+                 .addIdentifier(IDENTIFIER)
+                 .addName("Hotine Oblique Mercator (variant B)")             // Starting from EPSG version 7.6
+                 .addName("Rectified Skew Orthomorphic (RSO)")               // Alias
+                 .addName("Oblique Mercator")                                // Prior to EPSG version 7.6
+                 .addName      (Citations.OGC,     "Oblique_Mercator")
+                 .addName      (Citations.ESRI,    "Hotine_Oblique_Mercator_Azimuth_Center")
+                 .addName      (Citations.ESRI,    "Rectified_Skew_Orthomorphic_Center")
+                 .addName      (Citations.S57,     "Oblique Mercator")
+                 .addName      (Citations.S57,     "OME")
+                 .addIdentifier(Citations.S57,     "9")
+                 .addName      (Citations.GEOTIFF, "CT_ObliqueMercator")
 -                .addIdentifier(getIdentifier(PARAMETERS_A, Citations.GEOTIFF))      // Same GeoTIFF identifier.
++                .addIdentifier((ReferenceIdentifier) getIdentifier(PARAMETERS_A, Citations.GEOTIFF))      // Same GeoTIFF identifier.
+                 .addName      (Citations.PROJ4,   "omerc")
+                 .createGroupForMapProjection(
+                         LATITUDE_OF_CENTRE,
+                         LONGITUDE_OF_CENTRE,
+                         AZIMUTH,
+                         RECTIFIED_GRID_ANGLE,
+                         SCALE_FACTOR,
+                         EASTING_AT_CENTRE,
+                         NORTHING_AT_CENTRE);
+     }
+ 
+     /**
+      * Constructs a new provider.
+      */
+     public ObliqueMercatorCenter() {
+         super(PARAMETERS);
+     }
+ }
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/referencing/util/NilReferencingObject.java
index 0000000000,9db54f9053..e5f4cc467a
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,79 +1,79 @@@
+ /*
+  * 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.referencing.util;
+ 
+ import org.opengis.util.InternationalString;
+ import org.opengis.referencing.ReferenceSystem;
 -import org.opengis.metadata.Identifier;
++import org.opengis.referencing.ReferenceIdentifier;
+ import org.apache.sis.xml.NilReason;
+ import org.apache.sis.xml.NilObject;
+ import org.apache.sis.referencing.NamedIdentifier;
+ import org.apache.sis.util.resources.Vocabulary;
+ 
+ 
+ /**
+  * A referencing object for which every methods return {@code null} or a neutral value.
+  * <strong>This is not a valid object</strong>. It is used only for initialization of
+  * objects to be used by JAXB at unmarshalling time, as a way to simulate "no-argument"
+  * constructor required by JAXB.
+  *
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 0.6
+  * @since   0.4
+  */
+ public final class NilReferencingObject implements NilObject, ReferenceSystem {
+     /**
+      * The default name of {@code NilReferencingObject} instances.
+      * We use this value because {@link ReferenceSystem#getName()}
+      * is a mandatory property and not all code is tolerant to null name.
+      *
+      * <h4>Usage note</h4>
+      * In theory we do not need a default name because it will be replaced by
+      * the value of the {@code <gml:name>} element anyway at XML unmarshalling time.
+      * But not all XML documents are valid, so the {@code <gml:name>} may be missing.
+      *
+      * @since 0.6
+      */
 -    public static final Identifier UNNAMED = new NamedIdentifier(null, Vocabulary.format(Vocabulary.Keys.Unnamed));
++    public static final ReferenceIdentifier UNNAMED = new NamedIdentifier(null, Vocabulary.format(Vocabulary.Keys.Unnamed));
+ 
+     /**
+      * The unique instance.
+      */
+     public static final NilReferencingObject INSTANCE = new NilReferencingObject();
+ 
+     /**
+      * Do not allow other instantiation of {@link #INSTANCE}.
+      */
+     private NilReferencingObject() {
+     }
+ 
+     /**
+      * This object is empty because the value will be provided later.
+      */
+     @Override
+     public NilReason getNilReason() {
+         return NilReason.TEMPLATE;
+     }
+ 
+     /*
+      * Simple properties. Not all of them are optional, but SIS is tolerant to null values.
+      * Returning null for collection are okay in the particular case of SIS implementation,
+      * because the constructor will replace empty collections by null references anyway.
+      */
 -    @Override public Identifier          getName()  {return UNNAMED;}
++    @Override public ReferenceIdentifier getName()  {return UNNAMED;}
+     @Override public InternationalString getScope() {return null;}
+ }
diff --cc endorsed/src/org.apache.sis.referencing/main/org/apache/sis/xml/bind/referencing/CC_GeneralOperationParameter.java
index 0000000000,76df20036a..0d1340be55
mode 000000,100644..100644
--- 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
@@@ -1,0 -1,487 +1,488 @@@
+ /*
+  * 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.xml.bind.referencing;
+ 
+ import java.util.List;
+ import java.util.Map;
+ import java.util.Set;
+ import java.util.HashMap;
+ import java.util.HashSet;
+ import java.util.Collection;
+ import java.util.LinkedHashMap;
+ import jakarta.xml.bind.annotation.XmlElementRef;
+ import org.opengis.util.GenericName;
+ import org.opengis.metadata.Identifier;
++import org.opengis.referencing.ReferenceIdentifier;
+ import org.opengis.parameter.ParameterDescriptor;
+ import org.opengis.parameter.ParameterDescriptorGroup;
+ import org.opengis.parameter.GeneralParameterDescriptor;
+ import org.opengis.parameter.ParameterNotFoundException;
+ import org.apache.sis.parameter.AbstractParameterDescriptor;
+ import org.apache.sis.parameter.DefaultParameterDescriptor;
+ import org.apache.sis.parameter.DefaultParameterDescriptorGroup;
+ import org.apache.sis.parameter.DefaultParameterValueGroup;
+ import org.apache.sis.parameter.Parameters;
+ 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.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;
+ 
+ 
+ /**
+  * JAXB adapter mapping implementing class to the GeoAPI interface. See
+  * package documentation for more information about JAXB and interface.
+  *
+  * <p>This class provides additional {@code merge(…)} methods for building a unique descriptor
+  * instance when the same descriptor is declared in more than one place in the GML document.
+  * Some examples of duplications are:</p>
+  *
+  * <ul>
+  *   <li>The descriptors listed under the {@code <gml:group>} element, which duplicate the descriptors listed
+  *       under each {@code <gml:parameterValue>} element.</li>
+  *   <li>The descriptors declared in each parameter value of a {@code SingleOperation}, which duplicate the
+  *       descriptors declared in the associated {@code OperationMethod}.</li>
+  * </ul>
+  *
+  * @author  Martin Desruisseaux (Geomatys)
+  * @version 1.4
+  * @since   0.6
+  */
+ public final class CC_GeneralOperationParameter extends PropertyType<CC_GeneralOperationParameter, GeneralParameterDescriptor> {
+     /**
+      * The default value of {@code minimumOccurs} and {@code maximumOccurs} if the XML element is not provided.
+      */
+     public static final short DEFAULT_OCCURRENCE = 1;
+ 
+     /**
+      * The properties to ignore in the descriptor parsed from GML when this descriptor is merged with a
+      * predefined descriptor. Remarks:
+      *
+      * <ul>
+      *   <li>We ignore the name because the comparisons shall be performed by the caller with
+      *       {@link IdentifiedObjects#isHeuristicMatchForName} or something equivalent.</li>
+      *   <li>We ignore aliases and identifiers because they are collections, which require
+      *       handling in a special way.</li>
+      * </ul>
+      */
+     private static final String[] IGNORE_DURING_MERGE = {
+         GeneralParameterDescriptor.NAME_KEY,
+         GeneralParameterDescriptor.ALIAS_KEY,
+         GeneralParameterDescriptor.IDENTIFIERS_KEY
+     };
+ 
+     /**
+      * Empty constructor for JAXB only.
+      */
+     public CC_GeneralOperationParameter() {
+     }
+ 
+     /**
+      * Returns the GeoAPI interface which is bound by this adapter.
+      * This method is indirectly invoked by the private constructor
+      * below, so it shall not depend on the state of this object.
+      *
+      * @return {@code GeneralParameterDescriptor.class}
+      */
+     @Override
+     protected Class<GeneralParameterDescriptor> getBoundType() {
+         return GeneralParameterDescriptor.class;
+     }
+ 
+     /**
+      * Constructor for the {@link #wrap(GeneralParameterDescriptor)} method only.
+      */
+     private CC_GeneralOperationParameter(final GeneralParameterDescriptor parameter) {
+         super(parameter);
+     }
+ 
+     /**
+      * Invoked by {@link PropertyType} at marshalling time for wrapping the given value in a
+      * {@code <gml:OperationParameter>} or {@code <gml:OperationParameterGroup>} XML element.
+      *
+      * @param  parameter  the element to marshal.
+      * @return a {@code PropertyType} wrapping the given the element.
+      */
+     @Override
+     protected CC_GeneralOperationParameter wrap(final GeneralParameterDescriptor parameter) {
+         return new CC_GeneralOperationParameter(parameter);
+     }
+ 
+     /**
+      * Invoked by JAXB at marshalling time for getting the actual element to write
+      * inside the {@code <gml:parameter>} XML element.
+      * This is the value or a copy of the value given in argument to the {@code wrap} method.
+      *
+      * @return the element to be marshalled.
+      *
+      * @see CC_GeneralParameterValue#getElement()
+      */
+     @XmlElementRef
+     public AbstractParameterDescriptor getElement() {
+         final GeneralParameterDescriptor metadata = this.metadata;
+         if (metadata instanceof AbstractParameterDescriptor) {
+             return (AbstractParameterDescriptor) metadata;
+         }
+         if (metadata instanceof ParameterDescriptor) {
+             return DefaultParameterDescriptor.castOrCopy((ParameterDescriptor<?>) metadata);
+         }
+         if (metadata instanceof ParameterDescriptorGroup) {
+             return DefaultParameterDescriptorGroup.castOrCopy((ParameterDescriptorGroup) metadata);
+         }
+         return null;    // Unknown types are currently not marshalled (we may revisit that in a future SIS version).
+     }
+ 
+     /**
+      * Invoked by JAXB at unmarshalling time for storing the result temporarily.
+      *
+      * @param  parameter  the unmarshalled element.
+      */
+     public void setElement(final AbstractParameterDescriptor parameter) {
+         metadata = parameter;
+     }
+ 
+     /**
+      * Verifies that the given descriptor is non-null and contains at least a name.
+      * This method is used after unmarshalling.
+      * We do this validation because parameter descriptors are mandatory and SIS classes need them.
+      * So we provide an error message here instead of waiting for a {@link NullPointerException}
+      * to occur in some arbitrary place.
+      *
+      * @param  descriptor  the descriptor to validate.
+      * @param  parent      the name of the element to report as the parent of {@code property}.
+      * @param  property    the name of the property to report as missing if an exception is thrown.
+      * @throws GeodeticException if the parameters are missing or invalid.
+      */
+     static void validate(final GeneralParameterDescriptor descriptor, final String parent, final String property) {
+         if (descriptor == null || descriptor.getName() == null) {
+             short key = Errors.Keys.MissingComponentInElement_2;
+             String[] args = {parent, property};
+             /*
+              * The exception thrown by this method must be unchecked,
+              * otherwise JAXB just reports is without propagating it.
+              */
+             if (descriptor instanceof IdentifiedObject) {
+                 final String link = ((IdentifiedObject) descriptor).getIdentifierMap().get(IdentifierSpace.XLINK);
+                 if (link != null) {
+                     key = Errors.Keys.NotABackwardReference_1;
+                     args = new String[] {link};
+                 }
+             }
+             throw new GeodeticException(Errors.format(key, args));
+         }
+     }
+ 
+     /**
+      * Returns {@code true} if the given descriptor is restricted to a constant value.
+      * This constraint exists in some predefined map projections.
+      *
+      * <h4>Example</h4>
+      * The <cite>"Latitude of natural origin"</cite> parameter of <cite>"Mercator (1SP)"</cite> projection
+      * is provided for completeness, but should never be different than zero in this particular projection
+      * (otherwise it would be a <cite>"Mercator (variant C)"</cite> projection).  But if this parameter is
+      * nevertheless provided, the SIS implementation will use it. From this point of view, SIS is tolerant
+      * to non-zero value.
+      *
+      * <p>If the GML document declares explicitly a restricted parameter, maybe it intends to use it with
+      * a non-zero value. Consequently, the {@code merge(…)} method will not propagate this restriction.</p>
+      */
+     private static boolean isRestricted(final ParameterDescriptor<?> descriptor) {
+         final Comparable<?> min = descriptor.getMinimumValue();
+         if (min instanceof Number) {
+             final Comparable<?> max = descriptor.getMaximumValue();
+             if (max instanceof Number) {
+                 // Compare as `double` because we want (-0 == +0) to be true.
+                 return ((Number) min).doubleValue() == ((Number) max).doubleValue();
+             }
+         }
+         return false;
+     }
+ 
+     /**
+      * Returns a descriptor with the same properties than the {@code provided} one, but completed with information
+      * not found in GML. Those missing information are given by the {@code complete} descriptor, which may come from
+      * two sources:
+      *
+      * <ul>
+      *   <li>The descriptor for a {@code <gml:ParameterValue>} element. Those descriptors are more complete than the
+      *       ones provided by {@code <gml:OperationParameter>} elements alone because the parameter value allows SIS
+      *       to infer the {@code valueClass}.</li>
+      *   <li>A predefined parameter descriptor from the {@code org.apache.sis.referencing.operation.provider} package.</li>
+      * </ul>
+      *
+      * @param  provided  the descriptor unmarshalled from the GML document.
+      * @param  complete  the descriptor to use for completing missing information.
+      * @return the descriptor to use. May be one of the arguments given to this method, or a new instance.
+      *
+      * @see <a href="http://issues.apache.org/jira/browse/SIS-290">SIS-290</a>
+      */
+     static GeneralParameterDescriptor merge(final GeneralParameterDescriptor provided,
+                                             final GeneralParameterDescriptor complete)
+     {
+         if (provided == complete) {
+             return complete;
+         }
+         final boolean isGroup;
+         if (provided instanceof ParameterDescriptor<?> && complete instanceof ParameterDescriptor<?>) {
+             isGroup = false;    // This is by far the most usual case.
+         } else if (provided instanceof ParameterDescriptorGroup && complete instanceof ParameterDescriptorGroup) {
+             isGroup = true;
+         } else {
+             /*
+              * Mismatched or unknown type. It should not happen with descriptors parsed by JAXB and with
+              * predefined descriptors provided by SIS. But it could happen with a predefined descriptor
+              * found in a user-provided OperationMethod with malformed parameters.
+              * Return the descriptor found in the GML document as-is.
+              */
+             return provided;
+         }
+         final int minimumOccurs = provided.getMinimumOccurs();
+         final int maximumOccurs = provided.getMaximumOccurs();
+         final Map<String,?> expected = IdentifiedObjects.getProperties(complete);
+         final Map<String,?> actual   = IdentifiedObjects.getProperties(provided, IGNORE_DURING_MERGE);
+         final boolean canSubstitute  = complete.getMinimumOccurs() == minimumOccurs
+                                     && complete.getMaximumOccurs() == maximumOccurs
+                                     && expected.entrySet().containsAll(actual.entrySet())
+                                     && containsAll(complete.getAlias(), provided.getAlias())
+                                     && containsAll(complete.getIdentifiers(), provided.getIdentifiers());
+         if (canSubstitute && !isGroup) {
+             /*
+              * The predefined or ParameterValue descriptor contains at least all the information found
+              * in the descriptor parsed from the GML document. We can use the existing instance directly,
+              * assuming that the additional properties are acceptable.
+              *
+              * We make an exception to the above rule if the existing instance put a possibly too strong
+              * restriction on the parameter values. See `isRestricted(…)` for more information.
+              */
+             if (!isRestricted((ParameterDescriptor<?>) complete)) {
+                 return complete;
+             }
+         }
+         /*
+          * Collect the properties specified in the GML document and complete with the properties provided
+          * by the `complete` descriptor. If the descriptor is a group, then this `replacement` method will
+          * be invoked recursively for each parameter in the group.
+          */
+         final Map<String,Object> merged = new HashMap<>(expected);
+         merged.putAll(actual);                                      // May overwrite predefined properties.
+         mergeArrays(GeneralParameterDescriptor.ALIAS_KEY,       GenericName.class, provided.getAlias(), merged, complete.getName());
 -        mergeArrays(GeneralParameterDescriptor.IDENTIFIERS_KEY, Identifier.class,  provided.getIdentifiers(), merged, null);
++        mergeArrays(GeneralParameterDescriptor.IDENTIFIERS_KEY, ReferenceIdentifier.class, provided.getIdentifiers(), merged, null);
+         if (isGroup) {
+             final List<GeneralParameterDescriptor> descriptors = ((ParameterDescriptorGroup) provided).descriptors();
+             return merge(DefaultParameterValueGroup.class, merged, merged, minimumOccurs, maximumOccurs,
+                     descriptors.toArray(GeneralParameterDescriptor[]::new),
+                     (ParameterDescriptorGroup) complete, canSubstitute);
+         } else {
+             return create(merged, (ParameterDescriptor<?>) provided, (ParameterDescriptor<?>) complete);
+         }
+     }
+ 
+     /**
+      * Returns a descriptor with the given properties, completed with information not found in GML.
+      * Those extra information are given by the {@code complete} descriptor.
+      *
+      * @param  caller         the public source class to report if a log message need to be emitted.
+      * @param  properties     properties as declared in the GML document, to be used if {@code complete} is incompatible.
+      * @param  merged         more complete properties, to be used if {@code complete} is compatible.
+      * @param  minimumOccurs  value to assign to {@link DefaultParameterDescriptorGroup#getMinimumOccurs()}.
+      * @param  maximumOccurs  value to assign to {@link DefaultParameterDescriptorGroup#getMaximumOccurs()}.
+      * @param  provided       parameter descriptors declared in the GML document. This array will be overwritten.
+      * @param  complete       more complete parameter descriptors.
+      * @param  canSubstitute  {@code true} if this method is allowed to return {@code complete}.
+      * @return the parameter descriptor group to use (may be the {@code complete} instance).
+      *
+      * @see <a href="http://issues.apache.org/jira/browse/SIS-290">SIS-290</a>
+      */
+     static ParameterDescriptorGroup merge(final Class<?>                     caller,
+                                           final Map<String,?>                properties,
+                                           final Map<String,?>                merged,
+                                           final int                          minimumOccurs,
+                                           final int                          maximumOccurs,
+                                           final GeneralParameterDescriptor[] provided,
+                                           final ParameterDescriptorGroup     complete,
+                                           boolean                            canSubstitute)
+     {
+         boolean isCompatible = true;
+         final Set<GeneralParameterDescriptor> included = new HashSet<>(Containers.hashMapCapacity(provided.length));
+         for (int i=0; i<provided.length; i++) {
+             final GeneralParameterDescriptor p = provided[i];
+             try {
+                 /*
+                  * Replace the descriptors provided in the GML document by descriptors from the `complete` instance,
+                  * if possible. Keep trace of the complete descriptors that we found in this process.
+                  */
+                 GeneralParameterDescriptor predefined = complete.descriptor(p.getName().getCode());
+                 if (predefined != null) {   // Safety in case `complete` is a user's implementation.
+                     canSubstitute &= (provided[i] = merge(p, predefined)) == predefined;
+                     if (!included.add(predefined)) {
+                         throw new CorruptedObjectException(predefined);  // Broken hashCode/equals, or object mutated.
+                     }
+                     continue;
+                 }
+             } catch (ParameterNotFoundException e) {
+                 /*
+                  * Log at Level.WARNING for the first parameter (canSubstitute == true) and at Level.FINE
+                  * for all other (canSubstitute == false).  We do not use CC_GeneralOperationParameter as
+                  * the source class because this is an internal class. We rather use the first public class
+                  * in the caller hierarchy, which is either DefaultParameterValueGroup or DefaultOperationMethod.
+                  */
+                 Context.warningOccured(Context.current(), caller,
+                         (caller == DefaultParameterValueGroup.class) ? "setValues" : "setDescriptors", e, canSubstitute);
+             }
+             /*
+              * If a parameter was not found in the `complete` descriptor, we will not be able to use that descriptor.
+              * But we may still be able to use its properties (name, alias, identifier) provided that the parameter
+              * not found was optional.
+              */
+             isCompatible &= p.getMinimumOccurs() == 0;
+             canSubstitute = false;
+         }
+         if (isCompatible) {
+             /*
+              * At this point, we determined that all mandatory parameters in the GML document exist in the `complete`
+              * descriptor. However, the converse is not necessarily true. Verify that all parameters missing in the GML
+              * document were optional.
+              */
+             for (final GeneralParameterDescriptor descriptor : complete.descriptors()) {
+                 if (!included.contains(descriptor) && descriptor.getMinimumOccurs() != 0
+                         && !CC_OperationMethod.isImplicitParameter(descriptor))
+                 {
+                     canSubstitute = false;
+                     isCompatible  = false;
+                     break;
+                 }
+             }
+         }
+         if (canSubstitute) {
+             return complete;
+         } else {
+             return new DefaultParameterDescriptorGroup(isCompatible ? merged : properties,
+                     minimumOccurs, maximumOccurs, provided);
+         }
+     }
+ 
+     /**
+      * Creates a new descriptor with the same properties than the {@code provided} one, but completed with
+      * information not found in GML. Those extra information are given by the {@code complete} descriptor.
+      *
+      * <p>It is the caller's responsibility to construct the {@code merged} properties as a merge of the properties
+      * of the two given descriptors. This can be done with the help of {@link #mergeArrays(String, Class, Collection,
+      * Map, Identifier)} among others.</p>
+      */
+     private static <T> ParameterDescriptor<T> create(final Map<String,?>          merged,
+                                                      final ParameterDescriptor<?> provided,
+                                                      final ParameterDescriptor<T> complete)
+     {
+         final Class<T> valueClass = complete.getValueClass();
+         return new DefaultParameterDescriptor<>(merged,
+                 provided.getMinimumOccurs(),
+                 provided.getMaximumOccurs(),
+                 // Values below this point are not provided in GML documents,
+                 // so they must be inferred from the predefined descriptor.
+                 valueClass,
+                 Parameters.getValueDomain(complete),
+                 CollectionsExt.toArray(complete.getValidValues(), valueClass),
+                 complete.getDefaultValue());
+     }
+ 
+     /**
+      * Returns {@code true} if the {@code complete} collection contains all elements in the {@code provided}
+      * collection, where each element have been converted to the canonical {@link NamedIdentifier} implementation
+      * for comparison purpose.
+      *
+      * @param  <T>       the type of elements in the collection.
+      * @param  complete  the collection which is expected to contains all elements.
+      * @param  provided  the collection which may be a subset of {@code complete}.
+      * @return {@code true} if {@code complete} contains all {@code provided} elements.
+      */
+     private static <T> boolean containsAll(final Collection<T> complete, final Collection<T> provided) {
+         if (!provided.isEmpty()) {
+             final int size = complete.size();
+             if (size == 0) {
+                 return false;
+             }
+             final Set<NamedIdentifier> c = new HashSet<>(Containers.hashMapCapacity(size));
+             for (final T e : complete) {
+                 c.add(toNamedIdentifier(e));
+             }
+             for (final T e : provided) {
+                 if (!c.contains(toNamedIdentifier(e))) {
+                     return false;
+                 }
+             }
+         }
+         return true;
+     }
... 5198 lines suppressed ...