@threadsafe(java.lang.management) @threadsafe(java.time) @threadsafe(java.util.concurrent) @immutable(java.lang.ref) @immutable(java.time) @threadsafe(PropertyChangeSupport) @threadsafe(VetoableChangeSupport) @threadsafe(StringBuffer) @threadsafe(AsynchronousChannel) @threadsafe(AsynchronousFileChannel) @threadsafe(AsynchronousServerSocketChannel) @threadsafe(AsynchronousSocketChannel) @threadsafe(DatagramChannel) @threadsafe(FileChannel) @threadsafe(FileLock) @threadsafe(SelectableChannel) @threadsafe(SelectionKey) @threadsafe(Selector) @threadsafe(ServerSocketChannel) @threadsafe(SocketChannel) @threadsafe(AsynchronousChannelProvider.Methods) @threadsafe(SelectorProvider.Methods) @threadsafe(Charset.Methods) @threadsafe(AclEntry) @threadsafe(DirectoryStream) @threadsafe(FileSystem) @threadsafe(Path.Implementations) @threadsafe(FileSystemProvider.Methods) @threadsafe(WatchEvent) @threadsafe(WatchKey) @threadsafe(CertPath) @threadsafe(CertPathBuilder.methods) @threadsafe(CertPathValidator.methods) @threadsafe(CertStore.methods) @threadsafe(CertStoreSpi.methods) @threadsafe(PolicyNode) @threadsafe(PolicyQualifierInfo) @threadsafe(TrustAnchor) @threadsafe(AbstractChronology.Implementations) @threadsafe(ChronoLocalDate.Implementations) @threadsafe(ChronoLocalDateTime.Implementations) @threadsafe(Chronology.Implementations) @threadsafe(ChronoPeriod.Implementations) @threadsafe(ChronoZonedDateTime.Implementations) @threadsafe(Era.Implementations) @threadsafe(HijrahChronology) @threadsafe(HijrahDate) @threadsafe(HijrahEra) @threadsafe(IsoChronology) @threadsafe(IsoEra) @threadsafe(JapaneseChronology) @threadsafe(JapaneseDate) @threadsafe(JapaneseEra) @threadsafe(MinguoChronology) @threadsafe(MinguoDate) @threadsafe(MinguoEra) @threadsafe(ThaiBuddhistChronology) @threadsafe(ThaiBuddhistDate) @threadsafe(ThaiBuddhistEra) @threadsafe(Clock.Implementations) @threadsafe(DayOfWeek) @threadsafe(Duration) @threadsafe(DateTimeFormatter) @threadsafe(DecimalStyle) @threadsafe(FormatStyle) @threadsafe(ResolverStyle) @threadsafe(SignStyle) @threadsafe(TextStyle) @threadsafe(Instant) @threadsafe(LocalDate) @threadsafe(LocalDateTime) @threadsafe(LocalTime) @threadsafe(Month) @threadsafe(MonthDay) @threadsafe(OffsetDateTime) @threadsafe(OffsetTime) @threadsafe(Period) @threadsafe(ChronoField) @threadsafe(ChronoUnit) @threadsafe(IsoFields) @threadsafe(JulianFields) @threadsafe(TemporalField.Implementations) @threadsafe(TemporalUnit.Implementations) @threadsafe(ValueRange) @threadsafe(WeekFields) @threadsafe(Year) @threadsafe(YearMonth) @threadsafe(ZoneOffsetTransition) @threadsafe(ZoneOffsetTransitionRule) @threadsafe(ZoneRules) @threadsafe(ZoneRulesProvider.Implementations) @threadsafe(ZonedDateTime) @threadsafe(ZoneOffset) @threadsafe(Base64.Decoder) @threadsafe(Base64.Encoder) @threadsafe(BlockingDeque) @threadsafe(BlockingQueue) @threadsafe(ConcurrentHashMap) @threadsafe(CopyOnWriteArraySet) @threadsafe(AbstractQueuedSynchronizer.Implementations) @threadsafe(ListResourceBundle.implementation) @threadsafe(ListResourceBundle) @threadsafe(Logger.methods) @threadsafe(LogManager.methods) @threadsafe(Properties) @threadsafe(PropertyResourceBundle.implementation) @threadsafe(PropertyResourceBundle) @threadsafe(Random) @threadsafe(Pattern) @threadsafe(ResourceBundle.Control) @threadsafe(ResourceBundle.implementation) @threadsafe(Timer) @threadsafe(DirectoryManager) @threadsafe(DirStateFactory.implementation) @threadsafe(NamingManager) @threadsafe(ObjectFactory.implementation) @threadsafe(StateFactory.implementation) @threadsafe(CancelablePrintJob) @threadsafe(Doc) @threadsafe(MultiDoc) @threadsafe(SaslClientFactory) @threadsafe(SaslServerFactory) @threadsafe(DocumentListener.implementation) @threadsafe(UndoManager) @threadsafe(KeyInfoFactory.methods) @threadsafe(TransformService.methods) @threadsafe(XMLSignatureFactory.methods) @threadsafe(Templates) @threadsafe(Schema) @!threadsafe(ProcessBuilder) @!threadsafe(StringBuilder) @!threadsafe(Buffer) @!threadsafe(Selector.key) @!threadsafe(CharsetDecoder) @!threadsafe(CharsetEncoder) @!threadsafe(AclEntry.Builder) @!threadsafe(CertPathBuilder) @!threadsafe(CertPathBuilderException.methods) @!threadsafe(CertPathBuilderException) @!threadsafe(CertPathBuilderResult.methods) @!threadsafe(CertPathBuilderResult) @!threadsafe(CertPathValidator) @!threadsafe(CertPathValidatorException.methods) @!threadsafe(CertPathValidatorException) @!threadsafe(CertSelector.methods) @!threadsafe(CertSelector) @!threadsafe(CertStoreException.methods) @!threadsafe(CertStoreException) @!threadsafe(CollectionCertStoreParameters.methods) @!threadsafe(CollectionCertStoreParameters) @!threadsafe(CRLSelector.methods) @!threadsafe(CRLSelector) @!threadsafe(LDAPCertStoreParameters.methods) @!threadsafe(LDAPCertStoreParameters) @!threadsafe(PKIXBuilderParameters.methods) @!threadsafe(PKIXBuilderParameters) @!threadsafe(PKIXCertPathBuilderResult.methods) @!threadsafe(PKIXCertPathBuilderResult) @!threadsafe(PKIXCertPathChecker.methods) @!threadsafe(PKIXCertPathChecker) @!threadsafe(PKIXCertPathValidatorResult.methods) @!threadsafe(PKIXCertPathValidatorResult) @!threadsafe(PKIXParameters.methods) @!threadsafe(PKIXParameters) @!threadsafe(PKIXRevocationChecker.methods) @!threadsafe(PKIXRevocationChecker) @!threadsafe(X509CertSelector.methods) @!threadsafe(X509CertSelector) @!threadsafe(X509CRLSelector.methods) @!threadsafe(X509CRLSelector) @!threadsafe(ChoiceFormat) @!threadsafe(DateFormat) @!threadsafe(DecimalFormat) @!threadsafe(Format) @!threadsafe(MessageFormat) @!threadsafe(NumberFormat) @!threadsafe(SimpleDateFormat) @!threadsafe(ArrayDeque) @!threadsafe(ArrayList) @!threadsafe(DoubleSummaryStatistics.implementation) @!threadsafe(EnumMap) @!threadsafe(EnumSet) @!threadsafe(HashMap) @!threadsafe(HashSet) @!threadsafe(IdentityHashMap) @!threadsafe(IntSummaryStatistics.implementation) @!threadsafe(LinkedHashMap) @!threadsafe(LinkedHashSet) @!threadsafe(LinkedList) @!threadsafe(LongSummaryStatistics.implementation) @!threadsafe(Matcher) @!threadsafe(ServiceLoader) @!threadsafe(SplittableRandom) @!threadsafe(TreeMap) @!threadsafe(TreeSet) @!threadsafe(Binding) @!threadsafe(Context) @!threadsafe(EventContext) @!threadsafe(InitialContext) @!threadsafe(LinkRef) @!threadsafe(NameClassPair) @!threadsafe(Reference) @!threadsafe(JobStateReasons) @!threadsafe(PrinterStateReasons) @!threadsafe(SerialArray) @!threadsafe(SerialBlob) @!threadsafe(SerialClob) @!threadsafe(SerialDatalink) @!threadsafe(SerialJavaObject) @!threadsafe(SerialRef) @!threadsafe(SerialStruct) @!threadsafe(Swing) @!threadsafe(HTMLDocument.Iterator) @!threadsafe(KeyInfoFactory) @!threadsafe(TransformService) @!threadsafe(XMLSignatureFactory) @!threadsafe(SchemaFactory) @!threadsafe(Validator) @!threadsafe(ValidatorHandler) @!threadsafe(WebServiceRef) @!threadsafe(WebServiceRefs) @!threadsafe(XPath) @!threadsafe(XPathExpression) @!threadsafe(XPathFactory) @immutable(AWTEventMulticaster) @immutable(AWTKeyStroke) @immutable(Composite) @immutable(GlyphMetrics) @immutable(GraphicAttribute) @immutable(TextAttribute.values) @immutable(TextLayout) @immutable(RenderingHints.Key) @immutable(File) @immutable(MethodHandle) @immutable(MethodType) @immutable(String) @immutable(Proxy) @immutable(URI) @immutable(Charset) @immutable(AclEntry) @immutable(FileTime) @immutable(Path.Implementations) @immutable(WatchEvent) @immutable(AlgorithmConstraints) @immutable(CertPath) @immutable(PolicyNode) @immutable(PolicyQualifierInfo) @immutable(TrustAnchor) @immutable(CodeSigner) @immutable(Identity.Names) @immutable(Provider.Service) @immutable(Timestamp) @immutable(AttributedCharacterIterator.values) @immutable(AttributedString.values) @immutable(AbstractChronology.Implementations) @immutable(ChronoLocalDate.Implementations) @immutable(ChronoLocalDateTime.Implementations) @immutable(Chronology.Implementations) @immutable(ChronoPeriod.Implementations) @immutable(ChronoZonedDateTime.Implementations) @immutable(Era.Implementations) @immutable(HijrahChronology) @immutable(HijrahDate) @immutable(HijrahEra) @immutable(IsoChronology) @immutable(IsoEra) @immutable(JapaneseChronology) @immutable(JapaneseDate) @immutable(JapaneseEra) @immutable(MinguoChronology) @immutable(MinguoDate) @immutable(MinguoEra) @immutable(ThaiBuddhistChronology) @immutable(ThaiBuddhistDate) @immutable(ThaiBuddhistEra) @immutable(Clock.Implementations) @immutable(DayOfWeek) @immutable(Duration) @immutable(DateTimeFormatter) @immutable(DecimalStyle) @immutable(FormatStyle) @immutable(ResolverStyle) @immutable(SignStyle) @immutable(TextStyle) @immutable(Instant) @immutable(LocalDate) @immutable(LocalDateTime) @immutable(LocalTime) @immutable(Month) @immutable(MonthDay) @immutable(OffsetDateTime) @immutable(OffsetTime) @immutable(Period) @immutable(ChronoField) @immutable(ChronoUnit) @immutable(IsoFields) @immutable(JulianFields) @immutable(TemporalAdjusters) @immutable(TemporalField.Implementations) @immutable(TemporalUnit.Implementations) @immutable(ValueRange) @immutable(WeekFields) @immutable(Year) @immutable(YearMonth) @immutable(ZoneOffsetTransition) @immutable(ZoneOffsetTransitionRule) @immutable(ZoneRules) @immutable(ZoneRulesProvider.Implementations) @immutable(ZonedDateTime) @immutable(ZoneOffset) @immutable(Pattern) @immutable(CopyOnWriteArrayList) @immutable(Name) @immutable(MBeanAttributeInfo) @immutable(MBeanConstructorInfo) @immutable(MBeanFeatureInfo) @immutable(MBeanInfo) @immutable(MBeanNotificationInfo) @immutable(MBeanOperationInfo) @immutable(MBeanParameterInfo) @immutable(CompositeData) @immutable(ObjectName) @immutable(JMXServiceURL) @immutable(BinaryRefAddr) @immutable(StringRefAddr) @immutable(CertPathTrustManagerParameters) @immutable(SNIHostName) @immutable(SNIMatcher) @immutable(SNIServerName) @immutable(DateTimeSyntax.value) @immutable(IntegerSyntax.value) @immutable(ResolutionSyntax.value) @immutable(SetOfIntegerSyntax.value) @immutable(Size2DSyntax.value) @immutable(TextSyntax.value) @immutable(URISyntax.value) @immutable(KeyStroke) @immutable(AttributeSet) @immutable(TabSet) @immutable(TabStop) @immutable(QName) @immutable(Schema) @immutable(EndpointReference) @immutable(XPath.value) @immutable(XPathExpression.value) @!reentrant(AbstractQueuedSynchronizer) @!reentrant(StampedLock) @!reentrant(Validator) @!reentrant(ValidatorHandler) @!reentrant(XPath) @!reentrant(XPathExpression) @!entailLocking(java.util.concurrent) Note: java.util.concurrent package contains “implementations designed for use in multithreaded contexts: ConcurrentHashMap, ConcurrentSkipListMap, ConcurrentSkipListSet, CopyOnWriteArrayList, and CopyOnWriteArraySet” (according to the Java SE 8 API specifications). Therefore we manually extend the annotation @!entailLocking(java.util.concurrent) that is automatically extracted to five separate annotations, i.e., @!entailLocking(ConcurrentHashMap), @!entailLocking(ConcurrentSkipListMap), @!entailLocking(ConcurrentSkipListSet), @!entailLocking(CopyOnWriteArrayList), @!entailLocking(CopyOnWriteArraySet), according to the specification sentence “A concurrent collection is thread-safe, but not governed by a single exclusion lock.”.