iothub/device/iot-device-client/src/main/java/com/microsoft/azure/sdk/iot/device/InternalClient.java [216:237]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        if (timeoutMilliseconds == 0)
        {
            latch.await();
        }
        else
        {
            boolean timedOut = !latch.await(timeoutMilliseconds, TimeUnit.MILLISECONDS);

            if (timedOut)
            {
                throw new IotHubClientException(IotHubStatusCode.DEVICE_OPERATION_TIMED_OUT, "Timed out waiting for service to acknowledge telemetry");
            }
        }

        IotHubClientException exception = iotHubClientExceptionReference.get();
        if (exception != null)
        {
            // This exception was thrown from an internal thread that the user does not directly call, so its stacktrace
            // is not very traceable for a user. Rather than throw the exception as is, create a new one so the stacktrace
            // the user receives points them to this synchronous method and has a nested exception with the internal thread's
            // stacktrace that can be used for our debugging purposes.
            throw new IotHubClientException(exception.getStatusCode(), exception.getMessage(), exception);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



iothub/device/iot-device-client/src/main/java/com/microsoft/azure/sdk/iot/device/InternalClient.java [290:311]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        if (timeoutMilliseconds == 0)
        {
            latch.await();
        }
        else
        {
            boolean timedOut = !latch.await(timeoutMilliseconds, TimeUnit.MILLISECONDS);

            if (timedOut)
            {
                throw new IotHubClientException(IotHubStatusCode.DEVICE_OPERATION_TIMED_OUT, "Timed out waiting for service to acknowledge telemetry");
            }
        }

        IotHubClientException exception = iotHubClientExceptionReference.get();
        if (exception != null)
        {
            // This exception was thrown from an internal thread that the user does not directly call, so its stacktrace
            // is not very traceable for a user. Rather than throw the exception as is, create a new one so the stacktrace 
            // the user receives points them to this synchronous method and has a nested exception with the internal thread's
            // stacktrace that can be used for our debugging purposes.
            throw new IotHubClientException(exception.getStatusCode(), exception.getMessage(), exception);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



