public static void touch( File... paths )
            throws IOException
    {
        IOException exception = null;
        for ( File eachPath : paths ) {
            if ( eachPath.isFile() ) {
                try {
                    IO.closeSilently( new FileOutputStream( eachPath ) );
                } catch ( IOException ex ) {
                    exception = ex;
                }
            } else {
                eachPath.setLastModified( System.currentTimeMillis() );
            }
        }
        if ( exception != null ) {
            throw exception;
        }
    }