/// <summary>
        /// Initializes a new instance of the GeometryFactory class
        /// </summary>
        /// <param name="coordinateSystem">The coordinate system</param>
        internal GeometryFactory(CoordinateSystem coordinateSystem)
        {
            var builder = SpatialBuilder.Create();

            this.provider   = builder;
            this.buildChain = SpatialValidator.Create().ChainTo(builder).StartingLink;
            this.buildChain.SetCoordinateSystem(coordinateSystem);
        }
 /// <summary>
 /// Initialize the pipeline
 /// </summary>
 private void EnsureParsePipeline()
 {
     if (this.parsePipeline == null)
     {
         this.builder       = this.creator.CreateBuilder();
         this.parsePipeline = this.creator.CreateValidator().ChainTo(this.builder);
     }
     else
     {
         this.parsePipeline.GeographyPipeline.Reset();
         this.parsePipeline.GeometryPipeline.Reset();
     }
 }