        /// Gets the guid identifier of an object, which has the name "Id".
        /// </summary>
        /// <param name="item">The item.</param>
        /// <returns>The guid identifier of an object, which has the name "Id".</returns>
        public static Guid GetId(this object item)
        {
            // TODO: Add cache
            var idProperty = item.GetType().GetProperties().FirstOrDefault(p => p.Name.Equals("Id") && p.PropertyType == typeof(Guid));
            if (idProperty == null)
            {