@@ -0,0 +1,1860 @@
+package org.ethereum.core;%0A%0Aimport com.google.common.util.concurrent.SettableFuture;%0A%0Aimport java.util.concurrent.Future;%0A%0A/**%0A * Created by Anton Nashatyrev on 14.04.2016.%0A */%0Apublic class TransactionResultImpl implements TransactionResult %7B%0A    Transaction transaction;%0A    TransactionInfo txInfo;%0A%0A    SettableFuture%3CTransactionInfo%3E nextResultFuture;%0A    SettableFuture%3CTransactionInfo%3E nextBlockResultFuture;%0A    SettableFuture%3CTransactionInfo%3E confirmedResultFuture;%0A%0A%0A    @Override%0A    public Transaction getTransaction() %7B%0A        return transaction;%0A    %7D%0A%0A    @Override%0A    public TransactionInfo getLatestResult() %7B%0A        return txInfo;%0A    %7D%0A%0A    @Override%0A    public Future%3CTransactionInfo%3E getNextResult() %7B%0A        if (nextResultFuture == null) %7B%0A            if (txInfo != null) %7B%0A                nextResultFuture = SettableFuture.create();%0A                nextResultFuture.set(txInfo);%0A            %7D else %7B%0A                nextResultFuture = SettableFuture.create();%0A            %7D%0A        %7D else %7B%0A            if (nextResultFuture.isDone()) %7B%0A                nextResultFuture = SettableFuture.create();%0A            %7D%0A        %7D%0A        return nextResultFuture;%0A    %7D%0A%0A    @Override%0A    public Future%3CTransactionInfo%3E getNextBlockResult() %7B%0A        if (nextBlockResultFuture == null %7C%7C nextBlockResultFuture.isDone()) %7B%0A            nextBlockResultFuture = SettableFuture.create();%0A        %7D%0A        return nextBlockResultFuture;%0A    %7D%0A%0A    @Override%0A    public Future%3CTransactionInfo%3E getConfirmedResult(int confirmationBlocksCount) %7B%0A        if (confirmedResultFuture == null %7C%7C confirmedResultFuture.isDone()) %7B%0A            confirmedResultFuture = SettableFuture.create();%0A        %7D%0A        return confirmedResultFuture;%0A    %7D%0A%0A    public void updateResult(TransactionInfo txInfo) %7B%0A%0A    %7D%0A%0A    public void onNewBlock(Block block) %7B%0A%0A    %7D%0A%7D%0A

Add draft class impl