class Vector<T> {
  private T e;
  void set( int i, T e ){ this.e = e; }
  T get(int i){ return e; }
}

class G2 {
  public static void main( String[] args ){
     Vector<Object> v = new Vector<Object>();     // heterogeneous
     v.set(0,"Cool stuff");
     String s = (String) v.get(0);
     v.set(0,new Thread());
     Thread t = (Thread) v.get(0);

     // s = (String) v.get(0);
  }
}