/// <summary>
        /// Initializes a new instance of the <see cref="MolodenskyBadekasTransformation" /> class.
        /// </summary>
        /// <param name="identifier">The identifier.</param>
        /// <param name="name">The name.</param>
        /// <param name="remarks">The remarks.</param>
        /// <param name="aliases">The aliases.</param>
        /// <param name="parameters">The parameters of the operation.</param>
        /// <param name="source">The source coordinate reference system.</param>
        /// <param name="target">The target coordinate reference system.</param>
        /// <param name="areaOfUse">The area of use.</param>
        /// <exception cref="System.ArgumentNullException">
        /// The identifier is null.
        /// or
        /// The source coordinate reference system is null.
        /// or
        /// The target coordinate reference system is null.
        /// or
        /// The area of use is null.
        /// </exception>
        protected MolodenskyBadekasTransformation(String identifier, String name, String remarks, String[] aliases, IDictionary <CoordinateOperationParameter, Object> parameters,
                                                  GeocentricCoordinateReferenceSystem source, GeocentricCoordinateReferenceSystem target, AreaOfUse areaOfUse)
            : base(identifier, name, remarks, aliases, CoordinateOperationMethods.MolodenskyBadekasTransformation, parameters, source, target, areaOfUse)
        {
            this.xAxisTranslation           = this.GetParameterValue(CoordinateOperationParameters.XAxisTranslation);
            this.yAxisTranslation           = this.GetParameterValue(CoordinateOperationParameters.YAxisTranslation);
            this.zAxisTranslation           = this.GetParameterValue(CoordinateOperationParameters.ZAxisTranslation);
            this.xAxisRotation              = this.GetParameterValue(CoordinateOperationParameters.XAxisRotation);
            this.yAxisRotation              = this.GetParameterValue(CoordinateOperationParameters.YAxisRotation);
            this.zAxisRotation              = this.GetParameterValue(CoordinateOperationParameters.ZAxisRotation);
            this.scaleDifference            = this.GetParameterValue(CoordinateOperationParameters.ScaleDifference);
            this.ordinate1OfEvaluationPoint = this.GetParameterValue(CoordinateOperationParameters.Ordinate1OfEvaluationPoint);
            this.ordinate2OfEvaluationPoint = this.GetParameterValue(CoordinateOperationParameters.Ordinate2OfEvaluationPoint);
            this.ordinate3OfEvaluationPoint = this.GetParameterValue(CoordinateOperationParameters.Ordinate3OfEvaluationPoint);

            this.m = 1 + this.scaleDifference * 1E-6;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="MolodenskyBadekasTransformation" /> class.
 /// </summary>
 /// <param name="identifier">The identifier.</param>
 /// <param name="name">The name.</param>
 /// <param name="parameters">The parameters of the operation.</param>
 /// <param name="source">The source coordinate reference system.</param>
 /// <param name="target">The target coordinate reference system.</param>
 /// <param name="areaOfUse">The area of use.</param>
 /// <exception cref="System.ArgumentNullException">
 /// The identifier is null.
 /// or
 /// The source coordinate reference system is null.
 /// or
 /// The target coordinate reference system is null.
 /// or
 /// The area of use is null.
 /// </exception>
 protected MolodenskyBadekasTransformation(String identifier, String name, IDictionary <CoordinateOperationParameter, Object> parameters,
                                           GeocentricCoordinateReferenceSystem source, GeocentricCoordinateReferenceSystem target, AreaOfUse areaOfUse)
     : this(identifier, name, null, null, parameters, source, target, areaOfUse)
 {
 }