class TransactionPoolImpl implements TransactionPool {

    @Override
    public synchronized List<Transaction> getPendingTransactions() {
        removeObsoleteTransactions(this.getCurrentBestBlockNumber(), this.outdatedThreshold, this.outdatedTimeout);
        return Collections.unmodifiableList(pendingTransactions.getTransactions());
    }

    public  TransactionPoolImpl(BlockStore blockStore,
                               ReceiptStore receiptStore,
                               EthereumListener listener,
                               ProgramInvokeFactory programInvokeFactory,
                               Repository repository,
                               UscSystemProperties config);
    public  TransactionPoolImpl(UscSystemProperties config,
                               Repository repository,
                               BlockStore blockStore,
                               ReceiptStore receiptStore,
                               ProgramInvokeFactory programInvokeFactory,
                               EthereumListener listener,
                               int outdatedThreshold,
                               int outdatedTimeout);

}