private boolean flushTable(JobConf conf) {

        initializeAccumuloConnector();
        TableOperations ops = accumuloConnector.tableOperations();

        String rowKeyRangeStart = conf.get("rowKeyRangeStart");
        String rowKeyRangeEnd = conf.get("rowKeyRangeEnd");

        boolean flushRangeAvailable = (rowKeyRangeStart != null && rowKeyRangeEnd != null);

        if (ops.exists(this.tableName)) {
            try {
                try {
                    if (flushRangeAvailable) {
                        ops.flush(this.tableName, new Text(rowKeyRangeStart), new Text(rowKeyRangeEnd), true);
                        return true;
                    } else {
                        ops.flush(this.tableName);
                        return true;
                    }

                } catch (AccumuloSecurityException e) {
                    LOG.error("Error in AccumuloTap.flushResource", e);
                    e.printStackTrace();
                } catch (TableNotFoundException e) {
                    LOG.error("Error in AccumuloTap.flushResource", e);
                    e.printStackTrace();
                }

            } catch (AccumuloException e) {
                LOG.error("Error in AccumuloTap.flushResource", e);
                e.printStackTrace();
            }
        }
        return false;
    }