class PrivacyApiGroupJsonRpcMethods extends ApiGroupJsonRpcMethods {

  @Override
  protected Map<String, JsonRpcMethod> create() {
    final PrivateMarkerTransactionFactory markerTransactionFactory =
        createPrivateMarkerTransactionFactory(
            privacyParameters, blockchainQueries, transactionPool.getPendingTransactions());
    final EnclavePublicKeyProvider enclavePublicProvider =
        EnclavePublicKeyProvider.build(privacyParameters);
    final PrivacyController privacyController = createPrivacyController(markerTransactionFactory);
    return create(privacyController, enclavePublicProvider).entrySet().stream()
        .collect(
            Collectors.toMap(
                Map.Entry::getKey,
                entry -> createPrivacyMethod(privacyParameters, entry.getValue())));
  }

  protected  PrivacyApiGroupJsonRpcMethods(
      final BlockchainQueries blockchainQueries,
      final ProtocolSchedule protocolSchedule,
      final TransactionPool transactionPool,
      final PrivacyParameters privacyParameters);

}