Salve ragazzi qualcuno sa dirmi perchè non parte questo programma, sono alle prime armi con Java e non riesco a capire come fare per farlo partire :S

codice:
import java.util.*;
public class ContenitoreThread {
	public static void main(String args[]){
		
		Contenitore C = null;
		C.insert("T1");
		C.start();
	}

public class Contenitore{
	
	private ArrayList<MyThread> C = new ArrayList<MyThread>();
	public void insert(String N){
	MyThread M = new MyThread(N);
	C.add(M);
	}
	public void start(){
	       for(int i = 0;i<C.size();i++)
			C.get(i).start();
	}
	
	public void join(){
		for(int i = 0;i<C.size();i++)
			try{
				C.get(i).join();
			}catch(InterruptedException e)
			{System.out.println("Error");}
	}
	
	public void interrupt(){
		for(int i = 0;i<C.size();i++)
			C.get(i).interrupt();
	}
						}

}
codice:
public class MyThread  extends Thread{
	private String Nome;
	public MyThread(String S) {
		Nome = S;
	}
	public void run(){	
		System.out.println(Nome + "Iniziato");
		try{
			Thread.sleep(2000);
		}catch(InterruptedException e)
		{System.out.println(Nome + "Interrotto");}
		System.out.println(Nome + "Terminato");
		
	}
	
}
L'errore è il seguente:

Exception in thread "main" java.lang.NullPointerException
at ContenitoreThread.main(ContenitoreThread.java:6)