public bool Equals(StorageName other)
 {
     if (ReferenceEquals(null, other))
     {
         return(false);
     }
     if (ReferenceEquals(this, other))
     {
         return(true);
     }
     return(Equals(other.Value, Value));
 }
		public bool Contains(StorageName storageName, ProfileId profileId, TypeNameWithoutVersion key, object item)
		{
			return FindBy(storageName, profileId, key, item) != null;
		}
		public ProfileStorage FindBy(StorageName storageName, ProfileId profileId, TypeNameWithoutVersion key, object item)
		{
			var itemsToSearch = FindBy(profileId, key, storageName);
			return itemsToSearch.Where(profileStorage => profileStorage.GetValue().Equals(item)).FirstOrDefault();
		}
		public bool Equals(StorageName other)
		{
			if (ReferenceEquals(null, other)) return false;
			if (ReferenceEquals(this, other)) return true;
			return Equals(other.Value, Value);
		}
		public ProfileStorage FindBy(StorageName storageName, ProfileId profileId, TypeNameWithoutVersion key, object item)
		{
			return FindBy(profileId, key).Where(x => x.GetValue() == item && storageName.Value == x.Name).FirstOrDefault();
		}
 public bool Contains(StorageName storageName, ProfileId profileId, TypeNameWithoutVersion key, object item)
 {
     return(FindBy(storageName, profileId, key, item) != null);
 }
        public ProfileStorage FindBy(StorageName storageName, ProfileId profileId, TypeNameWithoutVersion key, object item)
        {
            var itemsToSearch = FindBy(profileId, key, storageName);

            return(itemsToSearch.Where(profileStorage => profileStorage.GetValue().Equals(item)).FirstOrDefault());
        }