private void doBuildGetBlobOptionsTest(String rangeHeader, ByteRange expectedRange,
      boolean shouldSucceedWithoutSubResource, boolean shouldSucceedWithSubResource) throws RestServiceException {
    doBuildGetBlobOptionsTest(rangeHeader, expectedRange, shouldSucceedWithoutSubResource, shouldSucceedWithSubResource,
        shouldSucceedWithSubResource);
  }
Test that {@link RestUtils#buildGetBlobOptions(Map, RestUtils.SubResource, GetOption, int)} works correctly for a given
range with and without a specified sub-resource.
@param rangeHeader the Range header value to add to the {@code args} map.
@param expectedRange the {@link ByteRange} expected to be parsed if the call should succeed, or {@code null} if no
                     range is expected.
@param shouldSucceedWithoutSubResource {@code true} if the call should succeed with no specified sub-resource.
@param shouldSucceedWithSubResource {@code true} if the call should succeed with a specified sub-resource.
@throws RestServiceException
ambry-api/src/test/java/com/github/ambry/rest/RestUtilsTest.java