class PendingTransaction extends LinkableBase<PendingTransaction> {

    private final Transaction transaction;
    private final Object redoLogRecord;
    private final long logId;
    private CountDownLatch latch;
    private boolean synced;
    private boolean completed;

    public PendingTransaction(Transaction transaction, Object redoLogRecord, long logId) {
        this.transaction = transaction;
        this.redoLogRecord = redoLogRecord;
        this.logId = logId;
    }

    public Transaction getTransaction() {
        return transaction;
    }

    public Object getRedoLogRecord() {
        return redoLogRecord;
    }

    public long getLogId() {
        return logId;
    }

    public void setLatch(CountDownLatch latch) {
        this.latch = latch;
    }

    public boolean isSynced() {
        return synced;
    }

    public void setSynced(boolean synced) {<FILL_FUNCTION_BODY>}

    public boolean isCompleted() {
        return completed;
    }

    public void setCompleted(boolean completed) {
        this.completed = completed;
    }

    public Scheduler getScheduler() {
        return transaction.getScheduler();
    }
}

        if (transaction != null)
            transaction.onSynced();
        this.synced = synced;
        if (latch != null)
            latch.countDown();
    
<methods>public non-sealed void <init>() ,public com.lealone.transaction.PendingTransaction getNext() ,public void setNext(com.lealone.transaction.PendingTransaction) <variables>public com.lealone.transaction.PendingTransaction next