public static void delete( File... paths )
            throws IOException
    {
        IOException exception = null;
        for ( File eachPath : paths ) {
            if ( eachPath.exists() ) {
                if ( eachPath.isDirectory() ) {
                    delete( eachPath.listFiles() );
                }
                if ( !eachPath.delete() ) {
                    exception = new IOException( "Unable to delete " + eachPath );
                }
            }
        }
        if ( exception != null ) {
            throw exception;
        }
    }