  public void execute() {
    if(options.getTables() != null) {
      if(validateOptions()) {
        try {
          if(options.isDestination()) {
            exportService.exportTablesToDatasource(options.getTables(), options.getDestination(), !options.getNonIncremental());
          } else if(options.isOut()) {
            if(options.getOut().canWrite() == false) {
              System.console().printf("Cannot write to file %s\n", options.getOut().getName());
            } else {
              exportService.exportTablesToExcelFile(options.getTables(), options.getOut(), !options.getNonIncremental());
            }
          }
        } catch(ExportException e) {
          System.console().printf("%s\n", e.getMessage());
          System.err.println(e);
        } catch(NoSuchDatasourceException e) {
          System.console().printf("Destination datasource '%s' does not exist.\n", options.getDestination());
        } catch(NoSuchValueTableException e) {
          System.console().printf("%s\n", e.getMessage());
          System.err.println(e);
        } catch(UnsupportedOperationException e) {
          System.console().printf("%s\n", e.getMessage());
        }
      }
    } else {
      System.console().printf("%s\n", "No table name(s) specified.");
    }
  }

  public void execute() {
    if(options.getTables() != null) {
      if(validateOptions()) {
        try {
          if(options.isDestination()) {
            exportService.exportTablesToDatasource(options.getTables(), options.getDestination(), !options.getNonIncremental());
          } else if(options.isOut()) {
            if(options.getOut().exists() && options.getOut().canWrite() == false) {
              System.console().printf("Cannot write to file %s %s %s\n", options.getOut().getName(), options.getOut().exists(), options.getOut().canWrite());
            } else {
              exportService.exportTablesToExcelFile(options.getTables(), options.getOut(), !options.getNonIncremental());
            }
          }
        } catch(ExportException e) {
          System.console().printf("%s\n", e.getMessage());
          System.err.println(e);
        } catch(NoSuchDatasourceException e) {
          System.console().printf("Destination datasource '%s' does not exist.\n", options.getDestination());
        } catch(NoSuchValueTableException e) {
          System.console().printf("%s\n", e.getMessage());
          System.err.println(e);
        } catch(UnsupportedOperationException e) {
          System.console().printf("%s\n", e.getMessage());
        }
      }
    } else {
      System.console().printf("%s\n", "No table name(s) specified.");
    }
  }
