@Override
  public Optional<Boolean> isPermitted(
      final EnodeURL sourceEnode, final EnodeURL destinationEnode) {
    final Optional<EnodeURL> maybeSelfEnode = p2pNetwork.getLocalEnode();
    if (nonBootnodePeerConnections > 0) {
      return Optional.empty();
    } else if (!maybeSelfEnode.isPresent()) {
      // The local node is not yet ready, so we can't validate enodes yet
      return Optional.empty();
    } else if (checkEnode(maybeSelfEnode.get(), sourceEnode)
        && checkEnode(maybeSelfEnode.get(), destinationEnode)) {
      return Optional.of(true);
    } else {
      return Optional.empty();
    }
  }
Creates the provider observing the provided p2p network

@param p2pNetwork the p2p network to observe
@param bootnodeEnodes the bootnodes that this node is configured to connect to
ethereum/permissioning/src/main/java/org/hyperledger/besu/ethereum/permissioning/node/InsufficientPeersPermissioningProvider.java