Even more rigorous argument validation; return null instead of throwing if deviceType not found