public String [ ] list ( ) throws IOException { ArrayList < String > list = new ArrayList < String > ( ) ; String pathname = _pathname ; // XXX:?? if ( pathname . startsWith ( "/" ) ) pathname = "." + pathname ; ArrayList < PathImpl > pathList = ( ( MergePath ) _root ) . _pathList ; for ( int i = 0 ; i < pathList . size ( ) ; i ++ ) { PathImpl path = pathList . get ( i ) ; path = path . lookup ( pathname ) ; if ( path . isDirectory ( ) ) { String [ ] subList = path . list ( ) ; for ( int j = 0 ; subList != null && j < subList . length ; j ++ ) { if ( ! list . contains ( subList [ j ] ) ) list . add ( subList [ j ] ) ; } } } return ( String [ ] ) list . toArray ( new String [ list . size ( ) ] ) ; }
List the merged directories .