Thanks for this it works perfect! 2 lines in the Shop class had errors when they were compiling:
Set<ShopItem> cache = new HashSet<>();
Changed them to:
Set<ShopItem> cache = new HashSet<ShopItem>();
and it worked just fine after that :p, thanks again!