Есть дженерики -- параметризованные типы. Родились как в чём-то аналог templates присутствующих емнип в С++. Это когда логика работы класса одна и та же, но тип на котором он построен -- разный. ArrayList<String> и ArrayList<Integer> -- операции одни, а типы содержимого разные.
AndroidDriver это параметризованный тип (
https://appium.github.io/java-client/io/appium/java_client/android/AndroidDriver.html ). От тип-параметра по докам зависит что будут возвращать Find*
И есть так называемые raw type , введённые для обратной совместимости со старым кодом в котором не было дженериков (
https://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html )
raw AndroidDriver говорит что это AndroidDriver, но не говорит какой.
Думаю что в реальном коде raw AndroidDriver не нужен.