/// <summary></summary>
        /// <param name="eventHubClient"></param>
        /// <param name="consumerGroupName"></param>
        /// <param name="partitionId"></param>
        /// <param name="eventPosition"></param>
        /// <param name="epoch"></param>
        /// <param name="receiverOptions"></param>
        protected PartitionReceiver(
            EventHubClient eventHubClient,
            string consumerGroupName,
            string partitionId,
            EventPosition eventPosition,
            long?epoch,
            ReceiverOptions receiverOptions)
            : base($"{nameof(PartitionReceiver)}{ClientEntity.GetNextId()}({eventHubClient.EventHubName},{consumerGroupName},{partitionId})")
        {
            this.EventHubClient               = eventHubClient;
            this.ConsumerGroupName            = consumerGroupName;
            this.PartitionId                  = partitionId;
            this.EventPosition                = eventPosition;
            this.prefetchCount                = DefaultPrefetchCount;
            this.Epoch                        = epoch;
            this.RuntimeInfo                  = new ReceiverRuntimeInformation(partitionId);
            this.ReceiverRuntimeMetricEnabled = receiverOptions == null
                ? this.EventHubClient.EnableReceiverRuntimeMetric
                : receiverOptions.EnableReceiverRuntimeMetric;

            this.Identifier = receiverOptions != null
                ? receiverOptions.Identifier
                : null;
            this.RetryPolicy = eventHubClient.RetryPolicy.Clone();
            eventHubClient.AddChildEntity(this);

            EventHubsEventSource.Log.ClientCreated(this.ClientId, this.FormatTraceDetails());
        }
 internal PartitionSender(EventHubClient eventHubClient, string partitionId)
     : base($"{nameof(PartitionSender)}{ClientEntity.GetNextId()}({eventHubClient.EventHubName},{partitionId})")
 {
     this.EventHubClient = eventHubClient;
     this.PartitionId    = partitionId;
     this.InnerSender    = eventHubClient.CreateEventSender(partitionId);
     eventHubClient.AddChildEntity(this);
     EventHubsEventSource.Log.ClientCreated(this.ClientId, null);
 }