```
class Clothing
{
bool CanReceiveItemIntoCargoClothingConditions(EntityAI item)
{
EntityAI hierarchyParent = GetHierarchyParent();
return !hierarchyParent || hierarchyParent.IsMan() || SmershException(hierarchyParent) || parent.HasClothingCargoException();
}
bool CanLoadItemIntoCargoClothingConditions(EntityAI item)
{
EntityAI parent = GetHierarchyParent();
return !parent || parent.IsMan() || SmershException(parent) || parent.HasClothingCargoException();
}
// obsolte, but for now we need to keep it for backwards compatibility
bool SmershException(EntityAI hierarchyParent)
{
EntityAI hp = hierarchyParent.GetHierarchyParent();
return hp && hp.IsMan() && hierarchyParent.HasClothingCargoException();
}
}
class EntityAI
{
bool HasClothingCargoException()
{
return false;
}
}
class SmershVest
{
override bool HasClothingCargoException()
{
return true;
}
}
class UndergroundStash
{
override bool HasClothingCargoException()
{
return true;
}
}
```