### Question:
ZipkinRequestUUIDImpl implements ZipkinRequestUUID { @Override @Nonnull public ZipkinData getZipkinData() { if (zipkinData == null) { if (isZipkinTracingEnabled()) { throw new IllegalStateException("Zipkin Data is still incomplete"); } else { throw new IllegalStateException("Zipkin tracing is not enabled for this request"); } } else { return zipkinData; } } ZipkinRequestUUIDImpl(@Nonnull RequestUUID cougarUuid);  ZipkinRequestUUIDImpl(@Nonnull RequestUUID cougarUuid, @Nullable ZipkinDataBuilder zipkinDataBuilder); @Override String getRootUUIDComponent(); @Override String getParentUUIDComponent(); @Override String getLocalUUIDComponent(); @Override @Nonnull RequestUUID getNewSubUUID(); @Override @Nonnull ZipkinData getZipkinData(); @Override boolean isZipkinTracingEnabled(); @Override boolean isZipkinTracingReady(); @Override ZipkinData buildZipkinData(@Nonnull String spanName); @Override String getUUID(); @Override String toCougarLogString(); @Override String toString();  }### Answer:
@Test(expected = IllegalStateException.class) public void getZipkinData_WhenZipkinDataHasNotBeenBuiltYet_ShouldThrowISE() { victim = new ZipkinRequestUUIDImpl(cougarUuid, zipkinDataBuilder); victim.getZipkinData(); }
@Test(expected = IllegalStateException.class) public void getZipkinData_WhenZipkinIsDisabledForThisRequest_ShouldThrowISE() { victim = new ZipkinRequestUUIDImpl(cougarUuid); victim.getZipkinData(); }