/// <summary>
        /// Gets a legacy Id based on the alias
        /// </summary>
        /// <param name="alias"></param>
        /// <param name="notFoundBehavior"></param>
        /// <returns>Returns the legacy GUID of a property editor if found, otherwise returns null</returns>
        public static Guid?GetLegacyIdFromAlias(string alias, NotFoundLegacyIdResponseBehavior notFoundBehavior)
        {
            var found = _map.FirstOrDefault(x => x.Value.Item2 == alias);

            if (found.Equals(default(KeyValuePair <string, Tuple <Guid, string> >)))
            {
                switch (notFoundBehavior)
                {
                case NotFoundLegacyIdResponseBehavior.ThrowException:
                    throw new ObjectNotFoundException("Could not find a map for a property editor with an alias of " + alias + ". Consider using the new business logic APIs instead of the old obsoleted ones.");

                case NotFoundLegacyIdResponseBehavior.ReturnNull:
                    return(null);

                case NotFoundLegacyIdResponseBehavior.GenerateId:
                    var generated = alias.EncodeAsGuid();
                    CreateMap(generated, alias);

                    LogHelper.Warn(typeof(LegacyPropertyEditorIdToAliasConverter), "A legacy GUID id was generated for property editor " + alias + ". This occurs when the legacy APIs are used and done to attempt to maintain backwards compatibility. Consider upgrading all code to use the new Services APIs instead to avoid any potential issues.");

                    return(generated);
                }
            }
            return(found.Value.Item1);
        }
        /// <summary>
        /// Gets a legacy Id based on the alias
        /// </summary>
        /// <param name="alias"></param>
        /// <param name="notFoundBehavior"></param>
        /// <returns>Returns the legacy GUID of a property editor if found, otherwise returns null</returns>
        public static Guid? GetLegacyIdFromAlias(string alias, NotFoundLegacyIdResponseBehavior notFoundBehavior)
        {
            var found = _map.FirstOrDefault(x => x.Value.Item2 == alias);
            if (found.Equals(default(KeyValuePair<string, Tuple<Guid, string>>)))
            {
                switch (notFoundBehavior)
                {
                    case NotFoundLegacyIdResponseBehavior.ThrowException:
                        throw new ObjectNotFoundException("Could not find a map for a property editor with an alias of " + alias + ". Consider using the new business logic APIs instead of the old obsoleted ones.");
                    case NotFoundLegacyIdResponseBehavior.ReturnNull:
                        return null;
                    case NotFoundLegacyIdResponseBehavior.GenerateId:
                        var generated = alias.EncodeAsGuid();
                        CreateMap(generated, alias);

                        LogHelper.Warn(typeof(LegacyPropertyEditorIdToAliasConverter), "A legacy GUID id was generated for property editor " + alias + ". This occurs when the legacy APIs are used and done to attempt to maintain backwards compatibility. Consider upgrading all code to use the new Services APIs instead to avoid any potential issues.");

                        return generated;
                }
            }
            return found.Value.Item1;
        }