implements case independent lookup for exists(), get(), and getDevice()