Ejemplo

public interface IHandler {
public void process( Object o );
}

public static void registerHandler( Class c, IHandler handler ) {
handlers.put( c, handler );
}

public static IHandler getHandler( Class c ) {
return (IHandler)handlers.get( c );
}

private InitializeStaticFields_Example() {
super();
}

private static Map handlers;

public static void main(String[] args){
IHandler handler = new IHandler() {
public void process( Object o ) {
System.out.println( String.valueOf( o ) );
}
};
InitializeStaticFields_Example.registerHandler( Boolean.class, handler );
InitializeStaticFields_Example.getHandler( Boolean.class ).process( Boolean.TRUE );
}

Solución
Inicialice siempre los campos estáticos.

public interface IHandler {
public void process( Object o );
}

public static void registerHandler( Class c, IHandler handler ) {
handlers.put( c, handler );
}

public static IHandler getHandler( Class c ) {
return (IHandler)handlers.get( c );
}

private InitializeStaticFields_Solution() {
super();
}

private static Map handlers = new HashMap(10);

public static void main(String[] args){
IHandler handler = new IHandler() {
public void process( Object o ) {
System.out.println( String.valueOf( o ) );
}
};
InitializeStaticFields_Solution.registerHandler( Boolean.class, handler );
InitializeStaticFields_Solution.getHandler( Boolean.class ).process( Boolean.TRUE );
}