Javaってメソッドの引数参照渡しだから下のできますよね?

//メインループ
List list = null;
hoge( list );
hage( list );
hige( list ); // 0, 1, 2を表示

private void hoge( List l )
{
 l = new ArrayList();
 l.add( 0 );
}

private void hage( List l )
{
 l.add( 1 );
 l.add( 2 );
}

private void hoge( List l )
{
 for ( Iterator it = l.iterator(); it.hasNext(); ) {
  int i = (int)it.next();
  System.out.println( i );
 }
}