private Type GetImplementation(VersionedEventAttribute attribute)
        {
            var versionedEvents = GetVersionedEventTypes();

            return versionedEvents.Where(x =>
            {
                var attributes = x.GetCustomAttributes(typeof(VersionedEventAttribute), false).Cast<VersionedEventAttribute>();

                if (attributes.Where(y => y.Version == attribute.Version &&
                    y.Identifier == attribute.Identifier)
                    .Any())
                    return true;
                return false;
            })
                .FirstOrDefault();
        }
        private Type GetImplementation(VersionedEventAttribute attribute)
        {
            var versionedEvents = GetVersionedEventTypes();

            return(versionedEvents.Where(x =>
            {
                var attributes = x.GetCustomAttributes(typeof(VersionedEventAttribute), false).Cast <VersionedEventAttribute>();

                if (attributes.Where(y => y.Version == attribute.Version &&
                                     y.Identifier == attribute.Identifier)
                    .Any())
                {
                    return true;
                }
                return false;
            })
                   .FirstOrDefault());
        }