class FilterManager extends AbstractVerticle implements PrivateTransactionObserver {

  public List<Hash> pendingTransactionChanges(final String filterId) {
    final PendingTransactionFilter filter =
        filterRepository.getFilter(filterId, PendingTransactionFilter.class).orElse(null);
    if (filter == null) {
      return null;
    }

    final List<Hash> hashes;
    synchronized (filter) {
      hashes = new ArrayList<>(filter.transactionHashes());
      filter.clearTransactionHashes();
      filter.resetExpireTime();
    }
    return hashes;
  }

    FilterManager(
      final BlockchainQueries blockchainQueries,
      final TransactionPool transactionPool,
      final Optional<PrivacyQueries> privacyQueries,
      final FilterIdGenerator filterIdGenerator,
      final FilterRepository filterRepository);

}