/**
  * Selects the given files in this fixture's <code>{@link VFSJFileChooser}</code>.
  *
  * @param files the files to select.
  * @return this fixture.
  * @throws NullPointerException if the given array of files is <code>null</code>.
  * @throws IllegalArgumentException if the given array of files is empty.
  * @throws IllegalStateException if this fixture's <code>VFSJFileChooser</code> is disabled.
  * @throws IllegalStateException if this fixture's <code>VFSJFileChooser</code> is not showing on
  *     the screen.
  * @throws IllegalStateException if this fixture's <code>VFSJFileChooser</code> does not support
  *     multiple selection and there is more than one file to select.
  * @throws IllegalArgumentException if this fixture's <code>VFSJFileChooser</code> can select
  *     directories only and any of the files to select is not a directory.
  * @throws IllegalArgumentException if this fixture's <code>VFSJFileChooser</code> cannot select
  *     directories and any of the files to select is a directory.
  */
 public VFSJFileChooserFixture<FileObject> selectFiles(FileObject... files) {
   driver.selectFiles(target, files);
   return this;
 }