anchor.diff:      Map<String, ItemTrait> _allTraits  = new Map<String, ItemTrait>();
   
       Map<String, ItemTrait> get allTraits {
  -        if(_allTraits == null) {
  +        //print("getting allTraits");
  +        if(_allTraits == null || _allTraits.isEmpty) {
  +            //print("Setting all traits");
               Set<ItemTrait> allTraitsKnown = ItemTraitFactory.allTraits;
               for(ItemTrait trait in allTraitsKnown) {
  +                //print("setting trait $trait");
                   _allTraits[trait.toString()] = trait;
               }
           }
  
positive.code:               print("selecting ${o.value}");
                o.selected = true;
            }else {
                print("selecting ${o.value} is not ${itemTrait.toString()}");
            }
  
        }
  
negative.code:     }
    @override
    void copyFromJSON(JSONObject json) {
        String key = json[TriggerCondition.IMPORTANTWORD];
        print("key is $key and itemTraits are ${allTraits}");
        itemTrait = allTraits[key];
    }
  }
  
  