private async Task ValidateRouteAsync(IEnumerable <TKey> ids, QueryString queryString, bool forceValidation = false)
        {
            if (forceValidation || queryString.ValidateRoute)
            {
                var result = await RouteValidator.ValidateRouteAsync(GetType(), ids.Select(p => p as object));

                if (result != null)
                {
                    switch (result.ErrorType)
                    {
                    case RecordErrorType.RecordNotExist:
                        if (result.EntityType != typeof(TEntity))
                        {
                            AddRecordNotFoundError(result);
                        }
                        break;

                    case RecordErrorType.RecordRelationNotValid:
                        AddRecordNotBelongToParentError(result);
                        break;
                    }
                }
            }
        }