Если вы управляете классом, экземпляром которого является obj, я настоятельно рекомендую изменить эти списки ArrayLists на общие.
Обобщения работают путем добавления приведений к байт-коду для вас, так же, как это делает автобокс. Пара из них весьма полезна вместе.
Например, если у меня есть это:
public List<integer> numbers = new ArrayList<Integer>();
Тогда я тоже могу сделать это:
numbers.add(80); // Boxing
int source_port = numbers.get(0); // Casting, Unboxing
и это за кадром превращается в эквивалент этого:
numbers.add(Integer.valueOf(80)); // Boxing
int source_port = ((Integer) numbers.get(0)).intValue(); // Casting, Unboxing
Это действительно надумано, но экономит много ручного труда.