/// <summary>
        /// Gets geographic region name.
        /// </summary>
        /// <param name="request">Discovery request.</param>
        /// <param name="knownTypes">Collection of known types to parse result.</param>
        /// <returns>Returns empty string.</returns>
        /// <exception cref="T:System.ArgumentNullException">
        /// <paramref name="request"/> or <paramref name="knownTypes"/> is null reference.
        /// </exception>
        public string GetRegionName(SubmitDiscoveryRequest request, IEnumerable<Type> knownTypes)
        {
            // Validate inputs.
            if (request == null)
                throw new ArgumentNullException("request");

            if (knownTypes == null)
                throw new ArgumentNullException("knownTypes");

            return string.Empty;
        }
        /// <summary>
        /// Method collects information from solve request data for planned date and
        /// builds request object.
        /// </summary>
        /// <param name="data">Required data to get information from.</param>
        /// <exception cref="T:System.ArgumentNullException">
        /// <paramref name="data"/> is null reference.</exception>
        /// <returns>Request object with filled information for request.</returns>
        public SubmitDiscoveryRequest BuildRequest(DiscoveryRequestData data)
        {
            // Validate inputs.
            if (data == null)
                throw new ArgumentNullException("data");

            // Build request object.
            SubmitDiscoveryRequest req = new SubmitDiscoveryRequest();

            if (data.RegionPoint != null)
            {
                int wkid = data.MapExtent.SpatialReference.WKID;

                // Get depot point converted with correct spatial reference.
                Point depotPoint = (Point)data.RegionPoint;
                Point wmPoint = WebMercatorUtil.ProjectPointToWebMercator(depotPoint, wkid);
                GPPoint gpPoint = GPObjectHelper.PointToGPPoint(wmPoint);
                gpPoint.SpatialReference = new GPSpatialReference(wkid);

                // Fill required options.
                req.Geometry = gpPoint;
                req.GeometryType = NAGeometryType.esriGeometryPoint;
                req.SpatialReference = wkid;
                req.ResponseFormat = NAOutputFormat.JSON;
                req.Layers = NAIdentifyOperationLayers.AllLayers;
                req.Tolerance = DEFAULT_TOLERANCE;

                req.ImageDisplay = _GetImageDisplayParameter(data.MapExtent);

                req.MapExtent = string.Format(MAP_EXTENT_PARAMETER_FORMAT, data.MapExtent.XMin,
                    data.MapExtent.YMin, data.MapExtent.XMax, data.MapExtent.YMax);

                // Do not return geometry to optimize request.
                req.ReturnGeometry = false;
                req.ReturnZ = false;
                req.ReturnM = false;

                // Fill non-required options.
                req.LayerDefinitions = string.Empty;
                req.Time = string.Empty;
                req.LayerTimeOptions = string.Empty;
                req.MaxAllowableOffset = string.Empty;
                req.DynamicLayers = string.Empty;
            }

            return req;
        }