See <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/3622/display/redirect>
------------------------------------------ [...truncated 49.04 KB...] [pool-18-thread-3] Test testNullOnUnmatchedRegion(org.jclouds.s3.blobstore.functions.LocationFromBucketNameTest) succeeded: 1ms Test suite progress: tests succeeded: 141, failed: 0, skipped: 0. Starting test testAmzEtagStillParsesToMD5AndDoesntMistakeAmzEtagForUserMetadata(org.jclouds.s3.functions.ParseObjectMetadataFromHeadersTest) Starting test testMultipartDoesntAttemptToParseETagIntoMD5(org.jclouds.s3.functions.ParseObjectMetadataFromHeadersTest) Starting test testNormalParsesETagIntoMD5AndMetadataHeaders(org.jclouds.s3.functions.ParseObjectMetadataFromHeadersTest) [pool-19-thread-2] Test testMultipartDoesntAttemptToParseETagIntoMD5(org.jclouds.s3.functions.ParseObjectMetadataFromHeadersTest) succeeded: 1ms Test suite progress: tests succeeded: 142, failed: 0, skipped: 0. [pool-19-thread-1] Test testAmzEtagStillParsesToMD5AndDoesntMistakeAmzEtagForUserMetadata(org.jclouds.s3.functions.ParseObjectMetadataFromHeadersTest) succeeded: 1ms Test suite progress: tests succeeded: 143, failed: 0, skipped: 0. [pool-19-thread-3] Test testNormalParsesETagIntoMD5AndMetadataHeaders(org.jclouds.s3.functions.ParseObjectMetadataFromHeadersTest) succeeded: 0ms Test suite progress: tests succeeded: 144, failed: 0, skipped: 0. Starting test test(org.jclouds.s3.functions.UploadIdFromHttpResponseViaRegexTest) [pool-20-thread-1] Test test(org.jclouds.s3.functions.UploadIdFromHttpResponseViaRegexTest) succeeded: 2ms Test suite progress: tests succeeded: 145, failed: 0, skipped: 0. Starting test test(org.jclouds.s3.functions.ETagFromHttpResponseViaRegexTest) [pool-21-thread-1] Test test(org.jclouds.s3.functions.ETagFromHttpResponseViaRegexTest) succeeded: 1ms Test suite progress: tests succeeded: 146, failed: 0, skipped: 0. Starting test test(org.jclouds.s3.functions.GetRegionForBucketTest) [pool-22-thread-1] Test test(org.jclouds.s3.functions.GetRegionForBucketTest) succeeded: 1ms Test suite progress: tests succeeded: 147, failed: 0, skipped: 0. Starting test testGracefulOnException(org.jclouds.s3.functions.GetRegionForBucketTest) [pool-22-thread-2] Test testGracefulOnException(org.jclouds.s3.functions.GetRegionForBucketTest) succeeded: 0ms Test suite progress: tests succeeded: 148, failed: 0, skipped: 0. Starting test testGracefulOnException(org.jclouds.s3.functions.GetRegionForBucketTest) [pool-22-thread-2] Test testGracefulOnException(org.jclouds.s3.functions.GetRegionForBucketTest) succeeded: 1ms Test suite progress: tests succeeded: 149, failed: 0, skipped: 0. Starting test testGracefulOnException(org.jclouds.s3.functions.GetRegionForBucketTest) [pool-22-thread-2] Test testGracefulOnException(org.jclouds.s3.functions.GetRegionForBucketTest) succeeded: 0ms Test suite progress: tests succeeded: 150, failed: 0, skipped: 0. Starting test testBucketExistsReturnsTrueOn200AndFalseOn404(org.jclouds.s3.PathBasedS3ClientExpectTest) Starting test testPutBucketReturnsTrueOn200(org.jclouds.s3.PathBasedS3ClientExpectTest) Starting test testPutObjectReturnsETagOn200(org.jclouds.s3.PathBasedS3ClientExpectTest) Aug 06, 2017 8:58:00 PM org.jclouds.rest.internal.BaseRestApiExpectTest createInjector WARNING: provider [mock] is not setup as META-INF/services/org.jclouds.apis.ApiMetadata or META-INF/services/org.jclouds.providers.ProviderMetadata Aug 06, 2017 8:58:00 PM org.jclouds.rest.internal.BaseRestApiExpectTest createInjector WARNING: provider [mock] is not setup as META-INF/services/org.jclouds.apis.ApiMetadata or META-INF/services/org.jclouds.providers.ProviderMetadata Aug 06, 2017 8:58:00 PM org.jclouds.rest.internal.BaseRestApiExpectTest createInjector WARNING: provider [mock] is not setup as META-INF/services/org.jclouds.apis.ApiMetadata or META-INF/services/org.jclouds.providers.ProviderMetadata [pool-23-thread-3] Test testPutObjectReturnsETagOn200(org.jclouds.s3.PathBasedS3ClientExpectTest) succeeded: 50ms Test suite progress: tests succeeded: 151, failed: 0, skipped: 0. Aug 06, 2017 8:58:00 PM org.jclouds.rest.internal.BaseRestApiExpectTest createInjector WARNING: provider [mock] is not setup as META-INF/services/org.jclouds.apis.ApiMetadata or META-INF/services/org.jclouds.providers.ProviderMetadata [pool-23-thread-2] Test testPutBucketReturnsTrueOn200(org.jclouds.s3.PathBasedS3ClientExpectTest) succeeded: 57ms Test suite progress: tests succeeded: 152, failed: 0, skipped: 0. [pool-23-thread-1] Test testBucketExistsReturnsTrueOn200AndFalseOn404(org.jclouds.s3.PathBasedS3ClientExpectTest) succeeded: 102ms Test suite progress: tests succeeded: 153, failed: 0, skipped: 0. Starting test testCanParseCopyObjectResult(org.jclouds.s3.xml.S3ParserTest) [pool-25-thread-1] Test testCanParseCopyObjectResult(org.jclouds.s3.xml.S3ParserTest) succeeded: 5ms Test suite progress: tests succeeded: 154, failed: 0, skipped: 0. Starting test testCanParseListAllMyBuckets(org.jclouds.s3.xml.S3ParserTest) [pool-25-thread-1] Test testCanParseListAllMyBuckets(org.jclouds.s3.xml.S3ParserTest) succeeded: 3ms Test suite progress: tests succeeded: 155, failed: 0, skipped: 0. Starting test testCanParseListContainerResult(org.jclouds.s3.xml.S3ParserTest) [pool-25-thread-1] Test testCanParseListContainerResult(org.jclouds.s3.xml.S3ParserTest) succeeded: 5ms Test suite progress: tests succeeded: 156, failed: 0, skipped: 0. Starting test testParseListAllMyBucketsParallelResponseTime(org.jclouds.s3.xml.S3ParserTest) [pool-25-thread-1] Test testParseListAllMyBucketsParallelResponseTime(org.jclouds.s3.xml.S3ParserTest) succeeded: 392ms Test suite progress: tests succeeded: 157, failed: 0, skipped: 0. Starting test testParseListAllMyBucketsSerialResponseTime(org.jclouds.s3.xml.S3ParserTest) [pool-25-thread-1] Test testParseListAllMyBucketsSerialResponseTime(org.jclouds.s3.xml.S3ParserTest) succeeded: 1063ms Test suite progress: tests succeeded: 158, failed: 0, skipped: 0. Starting test testParseListContainerResultParallelResponseTime(org.jclouds.s3.xml.S3ParserTest) [pool-25-thread-1] Test testParseListContainerResultParallelResponseTime(org.jclouds.s3.xml.S3ParserTest) succeeded: 699ms Test suite progress: tests succeeded: 159, failed: 0, skipped: 0. Starting test testParseListContainerResultSerialResponseTime(org.jclouds.s3.xml.S3ParserTest) [pool-25-thread-1] Test testParseListContainerResultSerialResponseTime(org.jclouds.s3.xml.S3ParserTest) succeeded: 280ms Test suite progress: tests succeeded: 160, failed: 0, skipped: 0. Starting test testApplyInputStream(org.jclouds.s3.xml.CopyObjectHandlerTest) Starting test testApplyInputStreamWithSecondsDate(org.jclouds.s3.xml.CopyObjectHandlerTest) [pool-26-thread-2] Test testApplyInputStreamWithSecondsDate(org.jclouds.s3.xml.CopyObjectHandlerTest) succeeded: 2ms Test suite progress: tests succeeded: 161, failed: 0, skipped: 0. [pool-26-thread-1] Test testApplyInputStream(org.jclouds.s3.xml.CopyObjectHandlerTest) succeeded: 2ms Test suite progress: tests succeeded: 162, failed: 0, skipped: 0. Starting test testApplyInputStream(org.jclouds.s3.xml.BucketLoggingHandlerTest) [pool-27-thread-1] Test testApplyInputStream(org.jclouds.s3.xml.BucketLoggingHandlerTest) succeeded: 3ms Test suite progress: tests succeeded: 163, failed: 0, skipped: 0. Starting test testApplyInputStream(org.jclouds.s3.xml.ListBucketHandlerTest) Starting test testListMyBucketsWithDelimiterSlashAndCommonPrefixesAppsSlash(org.jclouds.s3.xml.ListBucketHandlerTest) Starting test testListMyBucketsWithPrefixAppsSlash(org.jclouds.s3.xml.ListBucketHandlerTest) Starting test testListMyBucketsWithSecondsDate(org.jclouds.s3.xml.ListBucketHandlerTest) [pool-28-thread-2] Test testListMyBucketsWithDelimiterSlashAndCommonPrefixesAppsSlash(org.jclouds.s3.xml.ListBucketHandlerTest) succeeded: 0ms Test suite progress: tests succeeded: 164, failed: 0, skipped: 0. [pool-28-thread-4] Test testListMyBucketsWithSecondsDate(org.jclouds.s3.xml.ListBucketHandlerTest) succeeded: 1ms Test suite progress: tests succeeded: 165, failed: 0, skipped: 0. [pool-28-thread-3] Test testListMyBucketsWithPrefixAppsSlash(org.jclouds.s3.xml.ListBucketHandlerTest) succeeded: 2ms Test suite progress: tests succeeded: 166, failed: 0, skipped: 0. [pool-28-thread-1] Test testApplyInputStream(org.jclouds.s3.xml.ListBucketHandlerTest) succeeded: 5ms Test suite progress: tests succeeded: 167, failed: 0, skipped: 0. Starting test testAccessControlListExtreme(org.jclouds.s3.xml.AccessControlListHandlerTest) Starting test testAccessControlListOwnerOnly(org.jclouds.s3.xml.AccessControlListHandlerTest) [pool-29-thread-2] Test testAccessControlListOwnerOnly(org.jclouds.s3.xml.AccessControlListHandlerTest) succeeded: 6ms Test suite progress: tests succeeded: 168, failed: 0, skipped: 0. [pool-29-thread-1] Test testAccessControlListExtreme(org.jclouds.s3.xml.AccessControlListHandlerTest) succeeded: 6ms Test suite progress: tests succeeded: 169, failed: 0, skipped: 0. Starting test test(org.jclouds.s3.xml.DeleteResultHandlerTest) [pool-30-thread-1] Test test(org.jclouds.s3.xml.DeleteResultHandlerTest) succeeded: 2ms Test suite progress: tests succeeded: 170, failed: 0, skipped: 0. Starting test test(org.jclouds.s3.xml.PartIdsFromHttpResponseTest) [pool-31-thread-1] Test test(org.jclouds.s3.xml.PartIdsFromHttpResponseTest) succeeded: 32ms Test suite progress: tests succeeded: 171, failed: 0, skipped: 0. Starting test testPayerBucketOwner(org.jclouds.s3.xml.PayerHandlerTest) Starting test testPayerRequester(org.jclouds.s3.xml.PayerHandlerTest) [pool-32-thread-2] Test testPayerRequester(org.jclouds.s3.xml.PayerHandlerTest) succeeded: 5ms Test suite progress: tests succeeded: 172, failed: 0, skipped: 0. [pool-32-thread-1] Test testPayerBucketOwner(org.jclouds.s3.xml.PayerHandlerTest) succeeded: 5ms Test suite progress: tests succeeded: 173, failed: 0, skipped: 0. Starting test testAllContains(org.jclouds.s3.S3ApiMetadataTest) Starting test testTransformableToContains(org.jclouds.s3.S3ApiMetadataTest) Starting test testWithId(org.jclouds.s3.S3ApiMetadataTest) [pool-33-thread-3] Test testWithId(org.jclouds.s3.S3ApiMetadataTest) succeeded: 1ms Test suite progress: tests succeeded: 174, failed: 0, skipped: 0. [pool-33-thread-1] Test testAllContains(org.jclouds.s3.S3ApiMetadataTest) succeeded: 1ms Test suite progress: tests succeeded: 175, failed: 0, skipped: 0. [pool-33-thread-2] Test testTransformableToContains(org.jclouds.s3.S3ApiMetadataTest) succeeded: 2ms Test suite progress: tests succeeded: 176, failed: 0, skipped: 0. Starting test testBlahIsNotOk(org.jclouds.s3.fallbacks.FalseIfBucketAlreadyOwnedByYouOrOperationAbortedWhenBucketExistsTest) Starting test testIllegalStateIsNotOk(org.jclouds.s3.fallbacks.FalseIfBucketAlreadyOwnedByYouOrOperationAbortedWhenBucketExistsTest) Starting test testBucketAlreadyOwnedByYouIsOk(org.jclouds.s3.fallbacks.FalseIfBucketAlreadyOwnedByYouOrOperationAbortedWhenBucketExistsTest) Starting test testOperationAbortedIsOkWhenBucketExists(org.jclouds.s3.fallbacks.FalseIfBucketAlreadyOwnedByYouOrOperationAbortedWhenBucketExistsTest) Starting test testOperationAbortedNotOkWhenBucketDoesntExist(org.jclouds.s3.fallbacks.FalseIfBucketAlreadyOwnedByYouOrOperationAbortedWhenBucketExistsTest) [pool-34-thread-2] Test testBucketAlreadyOwnedByYouIsOk(org.jclouds.s3.fallbacks.FalseIfBucketAlreadyOwnedByYouOrOperationAbortedWhenBucketExistsTest) succeeded: 1ms Test suite progress: tests succeeded: 177, failed: 0, skipped: 0. [pool-34-thread-3] Test testIllegalStateIsNotOk(org.jclouds.s3.fallbacks.FalseIfBucketAlreadyOwnedByYouOrOperationAbortedWhenBucketExistsTest) succeeded: 1ms Test suite progress: tests succeeded: 178, failed: 0, skipped: 0. [pool-34-thread-1] Test testBlahIsNotOk(org.jclouds.s3.fallbacks.FalseIfBucketAlreadyOwnedByYouOrOperationAbortedWhenBucketExistsTest) succeeded: 1ms Test suite progress: tests succeeded: 179, failed: 0, skipped: 0. [pool-34-thread-5] Test testOperationAbortedNotOkWhenBucketDoesntExist(org.jclouds.s3.fallbacks.FalseIfBucketAlreadyOwnedByYouOrOperationAbortedWhenBucketExistsTest) succeeded: 1ms Test suite progress: tests succeeded: 180, failed: 0, skipped: 0. [pool-34-thread-4] Test testOperationAbortedIsOkWhenBucketExists(org.jclouds.s3.fallbacks.FalseIfBucketAlreadyOwnedByYouOrOperationAbortedWhenBucketExistsTest) succeeded: 2ms Test suite progress: tests succeeded: 181, failed: 0, skipped: 0. Tests run: 181, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.296 sec - in TestSuite Results : Tests run: 181, Failures: 0, Errors: 0, Skipped: 0 [JENKINS] Recording test results [INFO] [INFO] --- animal-sniffer-maven-plugin:1.11:check (default) @ s3 --- [INFO] Checking unresolved references to org.codehaus.mojo.signature:java16:1.1 [INFO] [INFO] --- maven-bundle-plugin:2.3.7:bundle (default-bundle) @ s3 --- [INFO] [INFO] --- maven-site-plugin:3.3:attach-descriptor (attach-descriptor) @ s3 --- [INFO] [INFO] --- apache-rat-plugin:0.10:check (default) @ s3 --- [INFO] 51 implicit excludes (use -debug for more details). [INFO] Exclude: **/src/test/resources/**/*.sh [INFO] Exclude: **/src/test/resources/**/*.bat [INFO] Exclude: **/src/test/resources/**/*.cmd [INFO] Exclude: **/src/test/resources/**/*.txt [INFO] Exclude: **/src/test/resources/**/*.gz [INFO] Exclude: **/src/test/resources/**/*.xml [INFO] Exclude: **/src/test/resources/**/*.crt [INFO] Exclude: src/test/resources/html/*.html [INFO] Exclude: **/services/*LoggingModule [INFO] Exclude: **/services/*ApiMetadata [INFO] Exclude: **/services/*ProviderMetadata [INFO] Exclude: **/LICENSE.txt [INFO] Exclude: **/header.txt [INFO] Exclude: **/NOTICE.txt [INFO] Exclude: **/DISCLAIMER [INFO] Exclude: **/BUILD.txt [INFO] Exclude: **/CHANGES.txt [INFO] Exclude: **/README.md [INFO] Exclude: **/README.txt [INFO] Exclude: **/DEPENDENCIES [INFO] Exclude: **/CONTRIBUTING.md [INFO] Exclude: **/*json [INFO] Exclude: **/*readme [INFO] Exclude: **/test [INFO] Exclude: **/test.pub [INFO] Exclude: **/src/test/resources/**/ssh-*.pub [INFO] Exclude: **/target/** [INFO] Exclude: **/test-output/** [INFO] Exclude: **/bin/** [INFO] Exclude: **/.settings/** [INFO] Exclude: **/.classpath [INFO] Exclude: **/.dir-locals.el [INFO] Exclude: **/.project [INFO] Exclude: **/.idea/** [INFO] Exclude: **/*.iml [INFO] Exclude: **/*.eml [INFO] Exclude: **/*.ipr [INFO] Exclude: **/*.iws [INFO] Exclude: **/*.DS_STORE [INFO] Exclude: **/TAGS [INFO] Exclude: **/.metadata/** [INFO] Exclude: **/atlassian-ide-plugin.xml [INFO] Exclude: **/.DS_Store [INFO] Exclude: .mailmap [INFO] Exclude: .git/** [INFO] Exclude: **/.gitignore [INFO] Exclude: **/.gitattributes [INFO] Exclude: **/.java-version [INFO] Exclude: **/modernizer_exclusions.txt [INFO] Exclude: **/.factorypath [INFO] Exclude: **/.apt_generated/** [INFO] Exclude: **/.checkstyle [INFO] Exclude: nb-configuration.xml [INFO] Exclude: nbactions.xml [INFO] Exclude: .repository/** [INFO] Exclude: gc.log [INFO] 164 resources included (use -debug for more details) Warning: org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser: Property 'http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit' is not recognized. Compiler warnings: WARNING: 'org.apache.xerces.jaxp.SAXParserImpl: Property 'http://javax.xml.XMLConstants/property/accessExternalDTD' is not recognized.' Warning: org.apache.xerces.parsers.SAXParser: Feature 'http://javax.xml.XMLConstants/feature/secure-processing' is not recognized. Warning: org.apache.xerces.parsers.SAXParser: Property 'http://javax.xml.XMLConstants/property/accessExternalDTD' is not recognized. Warning: org.apache.xerces.parsers.SAXParser: Property 'http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit' is not recognized. [INFO] Rat check: Summary of files. Unapproved: 0 unknown: 0 generated: 0 approved: 164 licence. [INFO] [INFO] --- maven-jar-plugin:2.4:test-jar (default) @ s3 --- [INFO] Building jar: <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/target/s3-2.1.0-SNAPSHOT-tests.jar> [INFO] [INFO] --- maven-javadoc-plugin:2.9:jar (javadoc) @ s3 --- [INFO] 11 warnings [WARNING] Javadoc Warnings [WARNING] <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/src/main/java/org/jclouds/s3/functions/ParseObjectFromHeadersAndHttpContent.java>:34: warning - Tag @see: reference not found: ParseMetadataFromHeaders [WARNING] <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/src/main/java/org/jclouds/s3/functions/ParseObjectMetadataFromHeaders.java>:41: warning - @ is an unknown tag. [WARNING] <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/src/main/java/org/jclouds/s3/functions/ParseObjectMetadataFromHeaders.java>:41: warning - @ is an unknown tag. [WARNING] <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/src/main/java/org/jclouds/s3/domain/ObjectMetadata.java>:31: warning - Tag @link: can't find getData() in org.jclouds.s3.domain.S3Object [WARNING] <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/src/main/java/org/jclouds/s3/domain/ObjectMetadata.java>:31: warning - Tag @link: can't find getKey in org.jclouds.s3.domain.S3Object [WARNING] <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/src/main/java/org/jclouds/s3/domain/ObjectMetadata.java>:31: warning - Tag @link: reference not found: S3BucketListing buckets [WARNING] <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/src/main/java/org/jclouds/s3/options/CopyObjectOptions.java>:184: warning - Tag @see: can't find overrideMetadataWith(Multimap) in org.jclouds.s3.options.CopyObjectOptions [WARNING] <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/src/main/java/org/jclouds/s3/options/CopyObjectOptions.java>:395: warning - Tag @see: can't find overrideMetadataWith(Multimap) in org.jclouds.s3.options.CopyObjectOptions.Builder [WARNING] <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/src/main/java/org/jclouds/s3/functions/ParseObjectMetadataFromHeaders.java>:41: warning - @ is an unknown tag. [WARNING] <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/src/main/java/org/jclouds/s3/functions/ParseObjectMetadataFromHeaders.java>:41: warning - @ is an unknown tag. [WARNING] <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/src/main/java/org/jclouds/s3/functions/ParseObjectMetadataFromHeaders.java>:41: warning - @ is an unknown tag. [INFO] Building jar: <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/target/s3-2.1.0-SNAPSHOT-javadoc.jar> [INFO] [INFO] --- maven-source-plugin:2.2:jar-no-fork (attach-sources) @ s3 --- [INFO] Building jar: <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/target/s3-2.1.0-SNAPSHOT-sources.jar> [INFO] [INFO] --- maven-source-plugin:2.2:test-jar-no-fork (attach-sources) @ s3 --- [INFO] Building jar: <https://jclouds.ci.cloudbees.com/job/jclouds/org.apache.jclouds.api$s3/ws/target/s3-2.1.0-SNAPSHOT-test-sources.jar> [INFO] [INFO] --- maven-surefire-plugin:2.17:test (integration) @ s3 --- [JENKINS] Recording test results [INFO] [INFO] --- duplicate-finder-maven-plugin:1.1.1:check (default) @ s3 --- [WARNING] <ignoreResources> has been deprecated and replaced with <ignoreResourcePatterns>. It will go away in version 1.2.0. Please update your POM accordingly! [INFO] Checking compile classpath [INFO] Checking runtime classpath [INFO] Checking test classpath [INFO] [INFO] --- maven-checkstyle-plugin:2.15:check (default) @ s3 --- [WARNING] src/main/java/org/jclouds/s3/domain/ListMultipartUploadResponse.java[28:1] (imports) RedundantImport: Duplicate import to line 24 - org.jclouds.javax.annotation.Nullable.