That's easy

1. it's called twice (here in OSRelease and also in Product) BTW, there is an error in code (Product)
2. I had exists? there but as the parameter is directory, it leads to confusion