import java.util.*;

public final class Main<T> {
private void overloadedMethod(Collection<?> o) {
    System.out.println("Collection<?>");
}

private void overloadedMethod(ArrayList<Integer> o) {
    System.out.println("ArrayList<Integer>");
}

public void method(ArrayList<T> l) {
    overloadedMethod(l);
}

public static void main(String[] args) {
    Main<Integer> test = new Main<Integer>();
    ArrayList<Integer> l = new ArrayList<Integer>();
    test.method(l);
}
}