class StandardProcessSession implements ProcessSession, ProvenanceEventEnricher {

    @Override
    public void exportTo(final FlowFile source, final Path destination, final boolean append) {
        validateRecordState(source);
        final StandardRepositoryRecord record = records.get(source);
        try {
            ensureNotAppending(record.getCurrentClaim());

            claimCache.flush(record.getCurrentClaim());
            final long copyCount = context.getContentRepository().exportTo(record.getCurrentClaim(), destination, append, record.getCurrentClaimOffset(), source.getSize());
            bytesRead += copyCount;
            bytesWritten += copyCount;
        } catch (final ContentNotFoundException nfe) {
            handleContentNotFound(nfe, record);
        } catch (final Throwable t) {
            throw new FlowFileAccessException("Failed to export " + source + " to " + destination + " due to " + t.toString(), t);
        }
    }

    public  StandardProcessSession(final ProcessContext context);

}