Use asSubclass instead of casting

Test: unit tests
Bug: None
Change-Id: I61a074efa5cc224a81c7630d5c9f89e39ca9fb43
diff --git a/src/com/android/tradefed/build/BuildInfo.java b/src/com/android/tradefed/build/BuildInfo.java
index 66b0e55..b329c58 100644
--- a/src/com/android/tradefed/build/BuildInfo.java
+++ b/src/com/android/tradefed/build/BuildInfo.java
@@ -639,8 +639,10 @@
             // Restore the original type of build info.
             try {
                 buildInfo =
-                        (BuildInfo)
-                                Class.forName(buildClass).getDeclaredConstructor().newInstance();
+                        Class.forName(buildClass)
+                                .asSubclass(BuildInfo.class)
+                                .getDeclaredConstructor()
+                                .newInstance();
             } catch (InstantiationException
                     | IllegalAccessException
                     | ClassNotFoundException