ICU-21369 Remove @provisional API doc tags in ICU4J
diff --git a/icu4j/build.xml b/icu4j/build.xml
index 46b3d01..54cd8f1 100644
--- a/icu4j/build.xml
+++ b/icu4j/build.xml
@@ -1609,7 +1609,8 @@
                 <include name="com/ibm/icu/util/**"/>
             </packageset>
             <packageset dir="${icu4j.collate.dir}/src">
-                <include name="com/ibm/icu/**"/>
+                <include name="com/ibm/icu/text/**"/>
+                <include name="com/ibm/icu/util/**"/>
             </packageset>
             <packageset dir="${icu4j.charset.dir}/src">
                 <include name="com/ibm/icu/charset/**"/>
@@ -1779,43 +1780,6 @@
         </java>
     </target>
 
-    <target name="swatDeprecated" depends="build-tools" description="Convert @deprecated @draft tags to @provisional">
-        <antcall target="_runSwatDeprecated">
-            <param name="swat.deprecated.opt" value="-dep"/>
-        </antcall>
-    </target>
-
-    <target name="swatProvisional" depends="build-tools" description="Convert @provisional tags to @deprecated @draft">
-        <antcall target="_runSwatDeprecated">
-            <param name="swat.deprecated.opt" value="-prov"/>
-        </antcall>
-    </target>
-
-    <target name="_runSwatDeprecated">
-        <java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated"
-                classpath="${icu4j.build-tools.jar}"
-                failonerror="true">
-            <arg value="${swat.deprecated.opt}"/>
-            <arg value="-src"/>
-            <arg value="${icu4j.core.dir}/src"/>
-            <arg value="-dst"/>
-            <arg value="${icu4j.core.dir}/src"/>
-            <arg value="-overwrite"/>
-            <arg value="-verbose"/>
-        </java>
-        <java classname="com.ibm.icu.dev.tool.docs.SwatDeprecated"
-                classpath="${icu4j.build-tools.jar}"
-                failonerror="true">
-            <arg value="${swat.deprecated.opt}"/>
-            <arg value="-src"/>
-            <arg value="${icu4j.charset.dir}/src"/>
-            <arg value="-dst"/>
-            <arg value="${icu4j.charset.dir}/src"/>
-            <arg value="-overwrite"/>
-            <arg value="-verbose"/>
-        </java>
-    </target>
-
     <target name="serialTestData" depends="main, tests">
         <property name="serial.test.data.dir" value="${out.dir}/serialTestData"/>
         <delete dir="${serial.test.data.dir}"/>
diff --git a/icu4j/main/classes/collate/src/com/ibm/icu/text/Collator.java b/icu4j/main/classes/collate/src/com/ibm/icu/text/Collator.java
index b6a3288..ec48d62 100644
--- a/icu4j/main/classes/collate/src/com/ibm/icu/text/Collator.java
+++ b/icu4j/main/classes/collate/src/com/ibm/icu/text/Collator.java
@@ -1509,7 +1509,6 @@
      * @see com.ibm.icu.util.ULocale#VALID_LOCALE
      * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
      * @draft ICU 2.8 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public ULocale getLocale(ULocale.Type type) {
         return ULocale.ROOT;
diff --git a/icu4j/main/classes/collate/src/com/ibm/icu/text/RuleBasedCollator.java b/icu4j/main/classes/collate/src/com/ibm/icu/text/RuleBasedCollator.java
index a8c0033..c7c8662 100644
--- a/icu4j/main/classes/collate/src/com/ibm/icu/text/RuleBasedCollator.java
+++ b/icu4j/main/classes/collate/src/com/ibm/icu/text/RuleBasedCollator.java
@@ -1837,7 +1837,6 @@
     /**
      * {@inheritDoc}
      * @draft ICU 53 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public ULocale getLocale(ULocale.Type type) {
diff --git a/icu4j/main/classes/collate/src/com/ibm/icu/util/GlobalizationPreferences.java b/icu4j/main/classes/collate/src/com/ibm/icu/util/GlobalizationPreferences.java
index ef681b9..e458c0b 100644
--- a/icu4j/main/classes/collate/src/com/ibm/icu/util/GlobalizationPreferences.java
+++ b/icu4j/main/classes/collate/src/com/ibm/icu/util/GlobalizationPreferences.java
@@ -75,7 +75,6 @@
  * </ul>
  *
  * @draft ICU 3.6 (retainAll)
- * @provisional This API might change or be removed in a future release.
  */
 
 //TODO:
@@ -90,13 +89,11 @@
     /**
      * Default constructor
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences(){}
     /**
      * Number Format type
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public static final int
         NF_NUMBER = 0,      // NumberFormat.NUMBERSTYLE
@@ -110,7 +107,6 @@
     /**
      * Date Format type
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public static final int
         DF_FULL = DateFormat.FULL,      // 0
@@ -124,7 +120,6 @@
     /**
      * For selecting a choice of display names
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public static final int
         ID_LOCALE = 0,
@@ -143,7 +138,6 @@
     /**
      * Break iterator type
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public static final int
         BI_CHARACTER = BreakIterator.KIND_CHARACTER,    // 0
@@ -165,7 +159,6 @@
      *     for Breton first, then French if that fails.
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences setLocales(List<ULocale> inputLocales) {
         if (isFrozen()) {
@@ -180,7 +173,6 @@
      *
      * @return a copy of the language/locale priority list.
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public List<ULocale> getLocales() {
         List<ULocale> result;
@@ -198,7 +190,6 @@
      * @param index The index (0..n) of the desired item.
      * @return desired item. null if index is out of range
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public ULocale getLocale(int index) {
         List<ULocale> lcls = locales;
@@ -219,7 +210,6 @@
      * @param uLocales list of locales in an array
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences setLocales(ULocale[] uLocales) {
         if (isFrozen()) {
@@ -236,7 +226,6 @@
      * @param uLocale single locale
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences setLocale(ULocale uLocale) {
         if (isFrozen()) {
@@ -253,7 +242,6 @@
      *     Section 14.4 of the RFC 2616 (HTTP 1.1)
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences setLocales(String acceptLanguageString) {
         if (isFrozen()) {
@@ -275,7 +263,6 @@
      * @return a resource bundle for the given base name and locale based on the
      * language/locale priority list stored in this object
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public ResourceBundle getResourceBundle(String baseName) {
         return getResourceBundle(baseName, null);
@@ -292,7 +279,6 @@
      * @return a resource bundle for the given base name and locale based on the
      * language/locale priority list stored in this object
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public ResourceBundle getResourceBundle(String baseName, ClassLoader loader) {
         UResourceBundle urb = null;
@@ -347,7 +333,6 @@
      * @param territory code
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences setTerritory(String territory) {
         if (isFrozen()) {
@@ -363,7 +348,6 @@
      *
      * @return territory code, explicit or implicit.
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public String getTerritory() {
         if (territory == null) {
@@ -378,7 +362,6 @@
      * @param currency Valid ISO 4217 currency code.
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences setCurrency(Currency currency) {
         if (isFrozen()) {
@@ -393,7 +376,6 @@
      *
      * @return currency code, explicit or implicit.
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public Currency getCurrency() {
         if (currency == null) {
@@ -408,7 +390,6 @@
      * @param calendar arbitrary calendar
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences setCalendar(Calendar calendar) {
         if (isFrozen()) {
@@ -423,7 +404,6 @@
      *
      * @return calendar explicit or implicit.
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public Calendar getCalendar() {
         if (calendar == null) {
@@ -441,7 +421,6 @@
      * @param timezone a valid TZID (see UTS#35).
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences setTimeZone(TimeZone timezone) {
         if (isFrozen()) {
@@ -457,7 +436,6 @@
      *
      * @return timezone, either implicitly or explicitly set
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public TimeZone getTimeZone() {
         if (timezone == null) {
@@ -471,7 +449,6 @@
      *
      * @return collator explicit or implicit.
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public Collator getCollator() {
         if (collator == null) {
@@ -489,7 +466,6 @@
      * @param collator The collator object to be passed.
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences setCollator(Collator collator) {
         if (isFrozen()) {
@@ -510,7 +486,6 @@
      * @param type break type - BI_CHARACTER or BI_WORD, BI_LINE, BI_SENTENCE, BI_TITLE
      * @return break iterator explicit or implicit
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public BreakIterator getBreakIterator(int type) {
         if (type < BI_CHARACTER || type >= BI_LIMIT) {
@@ -529,7 +504,6 @@
      * @param iterator a break iterator
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences setBreakIterator(int type, BreakIterator iterator) {
         if (type < BI_CHARACTER || type >= BI_LIMIT) {
@@ -552,7 +526,6 @@
      * @param type specifies the type of the ID: ID_LANGUAGE, etc.
      * @return the display name
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public String getDisplayName(String id, int type) {
         String result = id;
@@ -656,7 +629,6 @@
      * @param format The date format
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences setDateFormat(int dateStyle, int timeStyle, DateFormat format) {
         if (isFrozen()) {
@@ -680,7 +652,6 @@
      * @param timeStyle DF_FULL, DF_LONG, DF_MEDIUM, DF_SHORT or DF_NONE
      * @return a DateFormat, according to the above description
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public DateFormat getDateFormat(int dateStyle, int timeStyle) {
         if (dateStyle == DF_NONE && timeStyle == DF_NONE
@@ -710,7 +681,6 @@
      *
      * @param style NF_NUMBER, NF_CURRENCY, NF_PERCENT, NF_SCIENTIFIC, NF_INTEGER
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public NumberFormat getNumberFormat(int style) {
         if (style < 0 || style >= NF_LIMIT) {
@@ -735,7 +705,6 @@
      * @param format The number format
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences setNumberFormat(int style, NumberFormat format) {
         if (isFrozen()) {
@@ -753,7 +722,6 @@
      *
      * @return this, for chaining
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     public GlobalizationPreferences reset() {
         if (isFrozen()) {
@@ -808,7 +776,6 @@
      *
      * @param inputLocales The list of input locales
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     protected List<ULocale> processLocales(List<ULocale> inputLocales) {
         // Note: Some of the callers, and non-ICU call sites, could be simpler/more efficient
@@ -939,7 +906,6 @@
      * @param dateStyle
      * @param timeStyle
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     protected DateFormat guessDateFormat(int dateStyle, int timeStyle) {
         DateFormat result;
@@ -964,7 +930,6 @@
      *
      * @param style
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     protected NumberFormat guessNumberFormat(int style) {
         NumberFormat result;
@@ -999,7 +964,6 @@
      * This function can be overridden by subclasses to use different heuristics.
      *
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     protected String guessTerritory() {
         String result;
@@ -1034,7 +998,6 @@
      * This function can be overridden by subclasses to use different heuristics
      *
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     protected Currency guessCurrency() {
         return Currency.getInstance(new ULocale("und-" + getTerritory()));
@@ -1046,7 +1009,6 @@
      * one whose modification will not affect this object.</b>
      *
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     protected List<ULocale> guessLocales() {
         if (implicitLocales == null) {
@@ -1063,7 +1025,6 @@
      * one whose modification will not affect this object.</b>
      *
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     protected Collator guessCollator() {
         ULocale collLocale = getAvailableLocale(TYPE_COLLATOR);
@@ -1080,7 +1041,6 @@
      *
      * @param type
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     protected BreakIterator guessBreakIterator(int type) {
         BreakIterator bitr = null;
@@ -1116,7 +1076,6 @@
      * one whose modification will not affect this object.</b>
      *
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     protected TimeZone guessTimeZone() {
         // TODO fix using real data
@@ -1150,7 +1109,6 @@
      * one whose modification will not affect this object.</b>
      *
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     protected Calendar guessCalendar() {
         ULocale calLocale = getAvailableLocale(TYPE_CALENDAR);
@@ -1478,7 +1436,6 @@
 
     /**
      * @draft ICU 3.6
-     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public boolean isFrozen() {
@@ -1487,7 +1444,6 @@
 
     /**
      * @draft ICU 4.4
-     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public GlobalizationPreferences freeze() {
@@ -1497,7 +1453,6 @@
 
     /**
      * @draft ICU 4.4
-     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public GlobalizationPreferences cloneAsThawed() {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/FormattedNumber.java b/icu4j/main/classes/core/src/com/ibm/icu/number/FormattedNumber.java
index 82e3254..5908d80 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/FormattedNumber.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/FormattedNumber.java
@@ -131,7 +131,6 @@
      *
      * @return `MeasureUnit`.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public MeasureUnit getOutputUnit() {
         return this.outputUnit;
@@ -143,6 +142,7 @@
      * @internal ICU 69 technology preview
      * @deprecated This API is for technology preview only.
      */
+    @Deprecated
     public String getGender() {
         return this.gender;
     }
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatter.java b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatter.java
index 3d6316d..091bccb 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatter.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatter.java
@@ -110,22 +110,19 @@
      * <p>Here, RELAXED favors Max-Fraction and STRICT favors Max-Significant. Note that this larger
      * number caused the two modes to favor the opposite result.
      *
-     * @provisional This API might change or be removed in a future release.
      * @draft ICU 69
      */
     public static enum RoundingPriority {
         /**
          * Favor greater precision by relaxing one of the rounding constraints.
          *
-         * @provisional This API might change or be removed in a future release.
          * @draft ICU 69
          */
         RELAXED,
-    
+
         /**
          * Favor adherence to all rounding constraints by producing lower precision.
          *
-         * @provisional This API might change or be removed in a future release.
          * @draft ICU 69
          */
         STRICT,
@@ -216,7 +213,6 @@
          * Behavior of this option with non-currency units is not defined at this time.
          *
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          * @see NumberFormatter
          */
         FORMAL,
@@ -229,7 +225,6 @@
          * Behavior of this option with non-currency units is not defined at this time.
          *
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          * @see NumberFormatter
          */
         VARIANT,
@@ -443,7 +438,6 @@
          * Same as AUTO, but do not show the sign on negative zero.
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         NEGATIVE,
 
@@ -451,7 +445,6 @@
          * Same as ACCOUNTING, but do not show the sign on negative zero.
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         ACCOUNTING_NEGATIVE,
     }
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatterSettings.java b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatterSettings.java
index 05392b0..40ba691 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatterSettings.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatterSettings.java
@@ -543,7 +543,6 @@
      * @return The fluent chain
      * @throws IllegalArgumentException in case of Setting a usage string but not a correct input unit.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public T usage(String usage) {
         return create(KEY_USAGE, usage);
@@ -557,6 +556,7 @@
      * @internal ICU 69 technology preview
      * @deprecated This API is for technology preview only.
      */
+    @Deprecated
     public T unitDisplayCase(String unitDisplayCase) {
         return create(KEY_UNIT_DISPLAY_CASE, unitDisplayCase);
     }
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatter.java b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatter.java
index 559d87f..5c022e6 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatter.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatter.java
@@ -5,8 +5,8 @@
 import java.io.InvalidObjectException;
 import java.util.Locale;
 
-import com.ibm.icu.util.ULocale;
 import com.ibm.icu.text.UFormat;
+import com.ibm.icu.util.ULocale;
 
 /**
  * The main entrypoint to the formatting of ranges of numbers, including currencies and other units of measurement.
@@ -159,7 +159,6 @@
      * Class for span fields in FormattedNumberRange.
      *
      * @draft ICU 69
-     * @provisional This API might change or be removed in a future release.
      */
     public static final class SpanField extends UFormat.SpanField {
         private static final long serialVersionUID = 8750397196515368729L;
@@ -171,7 +170,6 @@
          * list that is represented by the span.
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         public static final SpanField NUMBER_RANGE_SPAN = new SpanField("number-range-span");
 
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/BreakIterator.java b/icu4j/main/classes/core/src/com/ibm/icu/text/BreakIterator.java
index 5e67dfd..2c8fd15 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/BreakIterator.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/BreakIterator.java
@@ -925,7 +925,6 @@
      * @return An array of Locales.  All of the locales in the array can
      * be used when creating a BreakIterator.
      * @draft ICU 3.2 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public static synchronized ULocale[] getAvailableULocales()
     {
@@ -1009,7 +1008,6 @@
      * @see com.ibm.icu.util.ULocale#VALID_LOCALE
      * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
      * @draft ICU 2.8 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public final ULocale getLocale(ULocale.Type type) {
         return type == ULocale.ACTUAL_LOCALE ?
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyDisplayNames.java b/icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyDisplayNames.java
index 289357d..811e868 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyDisplayNames.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyDisplayNames.java
@@ -150,7 +150,6 @@
      * @param isoCode the three-letter ISO code.
      * @return the formal symbol.
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public abstract String getFormalSymbol(String isoCode);
 
@@ -166,7 +165,6 @@
      * @param isoCode the three-letter ISO code.
      * @return the variant symbol.
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public abstract String getVariantSymbol(String isoCode);
 
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/DateFormat.java b/icu4j/main/classes/core/src/com/ibm/icu/text/DateFormat.java
index a9e41ea..5d5a9d0 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/DateFormat.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/DateFormat.java
@@ -538,34 +538,29 @@
     /**
      * Hour Cycle
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public enum HourCycle {
         /**
          * hour in am/pm (0~11)
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         HOUR_CYCLE_11,
 
         /**
          * hour in am/pm (1~12)
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         HOUR_CYCLE_12,
 
         /**
          * hour in day (0~23)
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         HOUR_CYCLE_23,
 
         /**
          * hour in day (1~24)
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         HOUR_CYCLE_24;
     };
@@ -1597,7 +1592,6 @@
      * {@icu} Returns the set of locales for which DateFormats are installed.
      * @return the set of locales for which DateFormats are installed.
      * @draft ICU 3.2 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public static ULocale[] getAvailableULocales()
     {
@@ -2079,7 +2073,6 @@
      * @param cal   The calendar system for which a date/time format is desired.
      * @param locale The locale for which the date/time format is desired.
      * @stable ICU 3.2
-     * @provisional This API might change or be removed in a future release.
      */
     static final public DateFormat getInstance(Calendar cal, ULocale locale) {
         return getDateTimeInstance(cal, SHORT, SHORT, locale);
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/DateFormatSymbols.java b/icu4j/main/classes/core/src/com/ibm/icu/text/DateFormatSymbols.java
index d6b2f1c..e1c9b60 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/DateFormatSymbols.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/DateFormatSymbols.java
@@ -332,7 +332,6 @@
      * @return An array of <code>ULocale</code>s for which localized
      * <code>DateFormatSymbols</code> instances are available.
      * @draft ICU 3.8 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public static ULocale[] getAvailableULocales() {
         return ICUResourceBundle.getAvailableULocales();
@@ -2346,7 +2345,6 @@
      * @see com.ibm.icu.util.ULocale#VALID_LOCALE
      * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
      * @draft ICU 2.8 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public final ULocale getLocale(ULocale.Type type) {
         return type == ULocale.ACTUAL_LOCALE ?
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/DateIntervalFormat.java b/icu4j/main/classes/core/src/com/ibm/icu/text/DateIntervalFormat.java
index de437a5..f417921 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/DateIntervalFormat.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/DateIntervalFormat.java
@@ -378,7 +378,6 @@
          * serialization method resolve instances to the constant
          * DateIntervalFormat.SpanField values
          * @draft ICU 64
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         protected Object readResolve() throws InvalidObjectException {
@@ -1268,7 +1267,6 @@
      *
      * @param context The DisplayContext value to set.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public void setContext(DisplayContext context)
     {
@@ -1284,7 +1282,6 @@
      * @param type the DisplayContext.Type whose value to return
      * @return the current DisplayContext setting for the specified type
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public DisplayContext getContext(DisplayContext.Type type)
     {
@@ -1614,7 +1611,7 @@
 
     private String normalizeHourMetacharacters(String skeleton, ULocale locale) {
         StringBuilder result = new StringBuilder(skeleton);
-    
+
         char hourMetachar = '\0';
         int metacharStart = 0;
         int metacharCount = 0;
@@ -1632,7 +1629,7 @@
                 }
             }
         }
-    
+
         if (hourMetachar != '\0') {
             char hourChar = 'H';
             char dayPeriodChar = 'a';
@@ -1650,7 +1647,7 @@
                 }
                 convertedPattern = convertedPattern.substring(0, firstQuotePos) + convertedPattern.substring(secondQuotePos + 1);
             }
-    
+
             if (convertedPattern.indexOf('h') != -1) {
                 hourChar = 'h';
             } else if (convertedPattern.indexOf('K') != -1) {
@@ -1658,13 +1655,13 @@
             } else if (convertedPattern.indexOf('k') != -1) {
                 hourChar = 'k';
             }
-        
+
             if (convertedPattern.indexOf('b') != -1) {
                 dayPeriodChar = 'b';
             } else if (convertedPattern.indexOf('B') != -1) {
                 dayPeriodChar = 'B';
             }
-        
+
             if (hourChar == 'H' || hourChar == 'k') {
                 result.replace(metacharStart, metacharStart + metacharCount, String.valueOf(hourChar));
             } else {
@@ -2006,7 +2003,7 @@
                                        pattern.getSecondPart(), differenceInfo, suppressDayPeriodField);
                     pattern =  new PatternInfo(part1, part2,
                                                pattern.firstDateInPtnIsLaterDate());
-                                               
+
                       // share
                       intervalPatterns.put(DateIntervalInfo.
                           CALENDAR_FIELD_TO_PATTERN_LETTER[field],
@@ -2214,7 +2211,7 @@
         }
         return adjustedPtn.toString();
     }
-    
+
     /**
      * Does the same thing as String.replace(), except that it won't perform the
      * substitution inside quoted literal text.
@@ -2231,19 +2228,19 @@
         } else {
             StringBuilder result = new StringBuilder();
             String source = targetString;
-    
+
             while (firstQuoteIndex >= 0) {
                 int secondQuoteIndex = source.indexOf("\'", firstQuoteIndex + 1);
                 if (secondQuoteIndex < 0) {
                     secondQuoteIndex = source.length() - 1;
                 }
-        
+
                 String unquotedText = source.substring(0, firstQuoteIndex);
                 String quotedText = source.substring(firstQuoteIndex, secondQuoteIndex + 1);
-        
+
                 result.append(unquotedText.replace(strToReplace, strToReplaceWith));
                 result.append(quotedText);
-        
+
                 source = source.substring(secondQuoteIndex + 1);
                 firstQuoteIndex = source.indexOf("\'");
             }
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java b/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java
index 26df654..8a09b68 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java
@@ -1358,7 +1358,6 @@
     /**
      * Return the default hour cycle.
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public DateFormat.HourCycle getDefaultHourCycle() {
       switch(getDefaultHourFormatChar()) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java b/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java
index e80c913..93753e8 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java
@@ -2021,7 +2021,6 @@
    * @see #setMinimumGroupingDigits(int)
    * @see #MINIMUM_GROUPING_DIGITS_MIN2
    * @category Separators
-   * @provisional This API might change or be removed in a future release.
    * @draft ICU 68
    */
   public static final int MINIMUM_GROUPING_DIGITS_AUTO = -2;
@@ -2034,7 +2033,6 @@
    * @see #setMinimumGroupingDigits(int)
    * @see #MINIMUM_GROUPING_DIGITS_AUTO
    * @category Separators
-   * @provisional This API might change or be removed in a future release.
    * @draft ICU 68
    */
   public static final int MINIMUM_GROUPING_DIGITS_MIN2 = -3;
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormatSymbols.java b/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormatSymbols.java
index 4c26aab..f9431b5 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormatSymbols.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormatSymbols.java
@@ -200,7 +200,6 @@
      * @return An array of <code>ULocale</code>s for which localized
      * <code>DecimalFormatSymbols</code> instances are available.
      * @stable ICU 3.8 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public static ULocale[] getAvailableULocales() {
         return ICUResourceBundle.getAvailableULocales();
@@ -1956,7 +1955,6 @@
      * @see com.ibm.icu.util.ULocale#VALID_LOCALE
      * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
      * @draft ICU 2.8 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public final ULocale getLocale(ULocale.Type type) {
         return type == ULocale.ACTUAL_LOCALE ?
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/ListFormatter.java b/icu4j/main/classes/core/src/com/ibm/icu/text/ListFormatter.java
index db4ca91..9baff8d 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/ListFormatter.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/ListFormatter.java
@@ -54,14 +54,12 @@
      * Type of meaning expressed by the list.
      *
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public enum Type {
         /**
          * Conjunction formatting, e.g. "Alice, Bob, Charlie, and Delta".
          *
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         AND,
 
@@ -70,7 +68,6 @@
          * "Alice, Bob, Charlie, or Delta".
          *
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         OR,
 
@@ -78,7 +75,6 @@
          * Formatting of a list of values with units, e.g. "5 pounds, 12 ounces".
          *
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         UNITS
     };
@@ -87,14 +83,12 @@
      * Verbosity level of the list patterns.
      *
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public enum Width {
         /**
          * Use list formatting with full words (no abbreviations) when possible.
          *
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         WIDE,
 
@@ -102,7 +96,6 @@
          * Use list formatting of typical length.
          *
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         SHORT,
 
@@ -110,7 +103,6 @@
          * Use list formatting of the shortest possible length.
          *
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         NARROW,
     };
@@ -119,7 +111,6 @@
      * Class for span fields in FormattedList.
      *
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public static final class SpanField extends UFormat.SpanField {
         private static final long serialVersionUID = 3563544214705634403L;
@@ -131,7 +122,6 @@
          * within the input list that is represented by the span.
          *
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         public static final SpanField LIST_SPAN = new SpanField("list-span");
 
@@ -158,7 +148,6 @@
     /**
      * Field selectors for format fields defined by ListFormatter.
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public static final class Field extends Format.Field {
         private static final long serialVersionUID = -8071145668708265437L;
@@ -166,14 +155,12 @@
         /**
          * The literal text in the result which came from the resources.
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         public static Field LITERAL = new Field("literal");
 
         /**
          * The element text in the result which came from the input strings.
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         public static Field ELEMENT = new Field("element");
 
@@ -182,10 +169,9 @@
         }
 
         /**
-         * Serizalization method resolve instances to the constant Field values
+         * Serialization method resolve instances to the constant Field values
          *
          * @draft ICU 64
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         protected Object readResolve() throws InvalidObjectException {
@@ -206,7 +192,6 @@
      * Not intended for public subclassing.
      *
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public static final class FormattedList implements FormattedValue {
         private final FormattedStringBuilder string;
@@ -218,7 +203,6 @@
         /**
          * {@inheritDoc}
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         public String toString() {
@@ -228,7 +212,6 @@
         /**
          * {@inheritDoc}
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         public int length() {
@@ -238,7 +221,6 @@
         /**
          * {@inheritDoc}
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         public char charAt(int index) {
@@ -248,7 +230,6 @@
         /**
          * {@inheritDoc}
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         public CharSequence subSequence(int start, int end) {
@@ -258,7 +239,6 @@
         /**
          * {@inheritDoc}
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         public <A extends Appendable> A appendTo(A appendable) {
@@ -268,7 +248,6 @@
         /**
          * {@inheritDoc}
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         public boolean nextPosition(ConstrainedFieldPosition cfpos) {
@@ -278,7 +257,6 @@
         /**
          * {@inheritDoc}
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         public AttributedCharacterIterator toCharacterIterator() {
@@ -333,7 +311,6 @@
      *            the locale in question.
      * @return ListFormatter
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public static ListFormatter getInstance(ULocale locale, Type type, Width width) {
         String styleName = typeWidthToStyleString(type, width);
@@ -350,7 +327,6 @@
      *            the locale in question.
      * @return ListFormatter
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public static ListFormatter getInstance(Locale locale, Type type, Width width) {
         return getInstance(ULocale.forLocale(locale), type, width);
@@ -422,7 +398,6 @@
      *            items to format. The toString() method is called on each.
      * @return items formatted into a FormattedList
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public FormattedList formatToValue(Object... items) {
         return formatToValue(Arrays.asList(items));
@@ -437,7 +412,6 @@
      *            items to format. The toString() method is called on each.
      * @return items formatted into a FormattedList
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public FormattedList formatToValue(Collection<?> items) {
         return formatImpl(items, true).toValue();
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/MeasureFormat.java b/icu4j/main/classes/core/src/com/ibm/icu/text/MeasureFormat.java
index b9f072a..91c27c1 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/MeasureFormat.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/MeasureFormat.java
@@ -344,7 +344,6 @@
      * @throws UnsupportedOperationException
      *             Not supported.
      * @draft ICU 53 (Retain)
-     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public Measure parseObject(String source, ParsePosition pos) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/NumberFormat.java b/icu4j/main/classes/core/src/com/ibm/icu/text/NumberFormat.java
index 50e7598..f23552c 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/NumberFormat.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/NumberFormat.java
@@ -1078,7 +1078,6 @@
      * {@icu} Returns the list of Locales for which NumberFormats are available.
      * @return the available locales
      * @draft ICU 3.2 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public static ULocale[] getAvailableULocales() {
         if (shim == null) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/PluralRules.java b/icu4j/main/classes/core/src/com/ibm/icu/text/PluralRules.java
index ac082e3..b302b4e 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/PluralRules.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/PluralRules.java
@@ -2168,7 +2168,6 @@
      * @return       The keyword of the selected rule.
      * @throws UnsupportedOperationException If called on an instance without plural ranges data.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public String select(FormattedNumberRange range) {
         if (standardPluralRanges == null) {
@@ -2382,7 +2381,6 @@
      * Returns the set of locales for which PluralRules are known.
      * @return the set of locales for which PluralRules are known, as a list
      * @draft ICU 4.2 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public static ULocale[] getAvailableULocales() {
         return Factory.getDefaultFactory().getAvailableULocales();
@@ -2403,7 +2401,6 @@
      * index 0 if locale is directly defined (without fallback) as having plural rules
      * @return the functionally-equivalent locale
      * @draft ICU 4.2 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public static ULocale getFunctionalEquivalent(ULocale locale, boolean[] isAvailable) {
         return Factory.getDefaultFactory().getFunctionalEquivalent(locale, isAvailable);
@@ -2442,42 +2439,36 @@
      * Status of the keyword for the rules, given a set of explicit values.
      *
      * @draft ICU 50
-     * @provisional This API might change or be removed in a future release.
      */
     public enum KeywordStatus {
         /**
          * The keyword is not valid for the rules.
          *
          * @draft ICU 50
-         * @provisional This API might change or be removed in a future release.
          */
         INVALID,
         /**
          * The keyword is valid, but unused (it is covered by the explicit values, OR has no values for the given {@link SampleType}).
          *
          * @draft ICU 50
-         * @provisional This API might change or be removed in a future release.
          */
         SUPPRESSED,
         /**
          * The keyword is valid, used, and has a single possible value (before considering explicit values).
          *
          * @draft ICU 50
-         * @provisional This API might change or be removed in a future release.
          */
         UNIQUE,
         /**
          * The keyword is valid, used, not unique, and has a finite set of values.
          *
          * @draft ICU 50
-         * @provisional This API might change or be removed in a future release.
          */
         BOUNDED,
         /**
          * The keyword is valid but not bounded; there indefinitely many matching values.
          *
          * @draft ICU 50
-         * @provisional This API might change or be removed in a future release.
          */
         UNBOUNDED
     }
@@ -2496,7 +2487,6 @@
      *            If non null, set to the unique value.
      * @return the KeywordStatus
      * @draft ICU 50
-     * @provisional This API might change or be removed in a future release.
      */
     public KeywordStatus getKeywordStatus(String keyword, int offset, Set<Double> explicits,
             Output<Double> uniqueValue) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/RelativeDateTimeFormatter.java b/icu4j/main/classes/core/src/com/ibm/icu/text/RelativeDateTimeFormatter.java
index 14b2fbd..2a8b831 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/RelativeDateTimeFormatter.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/RelativeDateTimeFormatter.java
@@ -438,7 +438,6 @@
          * Serizalization method resolve instances to the constant Field values
          *
          * @draft ICU 64
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         protected Object readResolve() throws InvalidObjectException {
@@ -1259,7 +1258,7 @@
                     break;
                 case 7:
                     if ("quarter".contentEquals(keyword)) {
-                        return QUARTER;  // TODO: Check @provisional
+                        return QUARTER;  // RelativeUnit.QUARTERS is deprecated
                     }
                     break;
                 default:
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/SpoofChecker.java b/icu4j/main/classes/core/src/com/ibm/icu/text/SpoofChecker.java
index dfa492b..d6852e7 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/SpoofChecker.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/SpoofChecker.java
@@ -790,7 +790,6 @@
          * @param restrictionLevel
          *            The loosest restriction level allowed.
          * @return self
-         * @provisional This API might change or be removed in a future release.
          * @stable ICU 58
          */
         public Builder setRestrictionLevel(RestrictionLevel restrictionLevel) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/TimeZoneNames.java b/icu4j/main/classes/core/src/com/ibm/icu/text/TimeZoneNames.java
index 8a173d7..b25dda9 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/TimeZoneNames.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/TimeZoneNames.java
@@ -41,7 +41,7 @@
  * Sometimes, a time zone is mapped to a different time zone in the past. For example, "America/Indiana/Knox"
  * had been moving "Eastern Time" and "Central Time" back and forth. Therefore, it is necessary that time zone
  * to meta zones mapping data are stored by date range.
- * 
+ *
  * <p><b>Note:</b>
  * <p>
  * {@link TimeZoneFormat} assumes an instance of <code>TimeZoneNames</code> is immutable. If you want to provide
@@ -52,7 +52,7 @@
  * result returned by a method with time zone ID "America/Indiana/Indianapolis", because it's not a canonical time zone
  * ID (the canonical time zone ID for the time zone is "America/Indianapolis". See
  * {@link TimeZone#getCanonicalID(String)} about ICU canonical time zone IDs.
- * 
+ *
  * <p>
  * In CLDR, most of time zone display names except location names are provided through meta zones. But a time zone may
  * have a specific name that is not shared with other time zones.
@@ -60,13 +60,13 @@
  * For example, time zone "Europe/London" has English long name for standard time "Greenwich Mean Time", which is also
  * shared with other time zones. However, the long name for daylight saving time is "British Summer Time", which is only
  * used for "Europe/London".
- * 
+ *
  * <p>
  * {@link #getTimeZoneDisplayName(String, NameType)} is designed for accessing a name only used by a single time zone.
  * But is not necessarily mean that a subclass implementation use the same model with CLDR. A subclass implementation
  * may provide time zone names only through {@link #getTimeZoneDisplayName(String, NameType)}, or only through
  * {@link #getMetaZoneDisplayName(String, NameType)}, or both.
- * 
+ *
  * <p>
  * The default <code>TimeZoneNames</code> implementation returned by {@link #getInstance(ULocale)} uses the locale data
  * imported from CLDR. In CLDR, set of meta zone IDs and mappings between zone IDs and meta zone IDs are shared by all
@@ -82,7 +82,7 @@
 
     /**
      * Time zone display name types
-     * 
+     *
      * @stable ICU 49
      */
     public enum NameType {
@@ -164,7 +164,7 @@
 
     /**
      * Returns an instance of <code>TimeZoneNames</code> for the specified locale.
-     * 
+     *
      * @param locale
      *            The locale.
      * @return An instance of <code>TimeZoneNames</code>
@@ -178,7 +178,7 @@
     /**
      * Returns an instance of <code>TimeZoneNames</code> for the specified
      * {@link java.util.Locale}.
-     * 
+     *
      * @param locale
      *            The {@link java.util.Locale}.
      * @return An instance of <code>TimeZoneDisplayNames</code>
@@ -196,7 +196,7 @@
      * Note: The input locale is used for resolving ambiguous names (e.g. "IST" is parsed
      * as Israel Standard Time for Israel, while it is parsed as India Standard Time for
      * all other regions). The zone names returned by this instance are not localized.
-     * 
+     *
      * @stable ICU 54
      */
     public static TimeZoneNames getTZDBInstance(ULocale locale) {
@@ -212,7 +212,7 @@
 
     /**
      * Returns an immutable set of all available meta zone IDs used by the given time zone.
-     * 
+     *
      * @param tzID
      *            The canonical time zone ID.
      * @return An immutable set of all available meta zone IDs used by the given time zone.
@@ -222,7 +222,7 @@
 
     /**
      * Returns the meta zone ID for the given canonical time zone ID at the given date.
-     * 
+     *
      * @param tzID
      *            The canonical time zone ID.
      * @param date
@@ -236,12 +236,12 @@
 
     /**
      * Returns the reference zone ID for the given meta zone ID for the region.
-     * 
+     *
      * Note: Each meta zone must have a reference zone associated with a special region "001" (world).
      * Some meta zones may have region specific reference zone IDs other than the special region
      * "001". When a meta zone does not have any region specific reference zone IDs, this method
      * return the reference zone ID for the special region "001" (world).
-     * 
+     *
      * @param mzID
      *            The meta zone ID.
      * @param region
@@ -254,7 +254,7 @@
 
     /**
      * Returns the display name of the meta zone.
-     * 
+     *
      * @param mzID
      *            The meta zone ID.
      * @param type
@@ -268,12 +268,12 @@
 
     /**
      * Returns the display name of the time zone at the given date.
-     * 
+     *
      * <p>
      * <b>Note:</b> This method calls the subclass's {@link #getTimeZoneDisplayName(String, NameType)} first. When the
      * result is null, this method calls {@link #getMetaZoneID(String, long)} to get the meta zone ID mapped from the
      * time zone, then calls {@link #getMetaZoneDisplayName(String, NameType)}.
-     * 
+     *
      * @param tzID
      *            The canonical time zone ID.
      * @param type
@@ -296,7 +296,7 @@
     /**
      * Returns the display name of the time zone. Unlike {@link #getDisplayName(String, NameType, long)},
      * this method does not get a name from a meta zone used by the time zone.
-     * 
+     *
      * @param tzID
      *            The canonical time zone ID.
      * @param type
@@ -319,7 +319,7 @@
      * </ol>
      * For example, "New York" is returned for the time zone ID "America/New_York" when this object does not have the
      * localized location name.
-     * 
+     *
      * @param tzID
      *            The canonical time zone ID
      * @return The exemplar location name for the given time zone, or null when a localized location name is not
@@ -333,7 +333,7 @@
     /**
      * Finds time zone name prefix matches for the input text at the
      * given offset and returns a collection of the matches.
-     * 
+     *
      * @param text the text.
      * @param start the starting offset within the text.
      * @param types the set of name types, or <code>null</code> for all name types.
@@ -341,7 +341,6 @@
      * @see NameType
      * @see MatchInfo
      * @draft ICU 49 (Retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public Collection<MatchInfo> find(CharSequence text, int start, EnumSet<NameType> types) {
         throw new UnsupportedOperationException("The method is not implemented in TimeZoneNames base class.");
@@ -351,7 +350,6 @@
      * A <code>MatchInfo</code> represents a time zone name match used by
      * {@link TimeZoneNames#find(CharSequence, int, EnumSet)}.
      * @draft ICU 49 (Retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public static class MatchInfo {
         private NameType _nameType;
@@ -361,7 +359,7 @@
 
         /**
          * Constructing a <code>MatchInfo</code>.
-         * 
+         *
          * @param nameType the name type enum.
          * @param tzID the time zone ID, or null
          * @param mzID the meta zone ID, or null
@@ -371,7 +369,6 @@
          * or 3) <code>matchLength</code> is 0 or smaller.
          * @see NameType
          * @draft ICU 49 (Retain)
-         * @provisional This API might change or be removed in a future release.
          */
         public MatchInfo(NameType nameType, String tzID, String mzID, int matchLength) {
             if (nameType == null) {
@@ -391,14 +388,13 @@
 
         /**
          * Returns the time zone ID, or <code>null</code> if not available.
-         * 
+         *
          * <p><b>Note</b>: A <code>MatchInfo</code> must have either a time zone ID
          * or a meta zone ID.
-         * 
+         *
          * @return the time zone ID, or <code>null</code>.
          * @see #mzID()
          * @draft ICU 49 (Retain)
-         * @provisional This API might change or be removed in a future release.
          */
         public String tzID() {
             return _tzID;
@@ -406,14 +402,13 @@
 
         /**
          * Returns the meta zone ID, or <code>null</code> if not available.
-         * 
+         *
          * <p><b>Note</b>: A <code>MatchInfo</code> must have either a time zone ID
          * or a meta zone ID.
-         * 
+         *
          * @return the meta zone ID, or <code>null</code>.
          * @see #tzID()
          * @draft ICU 49 (Retain)
-         * @provisional This API might change or be removed in a future release.
          */
         public String mzID() {
             return _mzID;
@@ -424,7 +419,6 @@
          * @return the time zone name type enum.
          * @see NameType
          * @draft ICU 49 (Retain)
-         * @provisional This API might change or be removed in a future release.
          */
         public NameType nameType() {
             return _nameType;
@@ -434,7 +428,6 @@
          * Returns the match length.
          * @return the match length.
          * @draft ICU 49 (Retain)
-         * @provisional This API might change or be removed in a future release.
          */
         public int matchLength() {
             return _matchLength;
@@ -474,16 +467,15 @@
 
     /**
      * Sole constructor for invocation by subclass constructors.
-     * 
+     *
      * @draft ICU 49 (Retain)
-     * @provisional This API might change or be removed in a future release.
      */
     protected TimeZoneNames() {
     }
 
     /**
      * The super class of <code>TimeZoneNames</code> service factory classes.
-     * 
+     *
      * @internal
      * @deprecated This API is ICU internal only.
      */
@@ -491,7 +483,7 @@
     public static abstract class Factory {
         /**
          * The factory method of <code>TimeZoneNames</code>.
-         * 
+         *
          * @param locale
          *            The display locale
          * @return An instance of <code>TimeZoneNames</code>.
@@ -518,7 +510,7 @@
 
         /*
          * (non-Javadoc)
-         * 
+         *
          * @see com.ibm.icu.impl.CacheBase#createInstance(java.lang.Object, java.lang.Object)
          */
         @Override
@@ -557,7 +549,7 @@
 
         /*
          * (non-Javadoc)
-         * 
+         *
          * @see com.ibm.icu.text.TimeZoneNames#getMetaZoneID (java.lang.String, long)
          */
         @Override
@@ -567,7 +559,7 @@
 
         /*
          * (non-Javadoc)
-         * 
+         *
          * @see com.ibm.icu.text.TimeZoneNames#getReferenceZoneID(java.lang.String, java.lang.String)
          */
         @Override
@@ -609,7 +601,7 @@
 
             /*
              * (non-Javadoc)
-             * 
+             *
              * @see com.ibm.icu.text.TimeZoneNames.Factory#getTimeZoneNames (com.ibm.icu.util.ULocale)
              */
             @Override
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/UFormat.java b/icu4j/main/classes/core/src/com/ibm/icu/text/UFormat.java
index e6a1824..a27c93a 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/UFormat.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/UFormat.java
@@ -76,7 +76,6 @@
      * @see com.ibm.icu.util.ULocale#VALID_LOCALE
      * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
      * @draft ICU 2.8 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public final ULocale getLocale(ULocale.Type type) {
         return type == ULocale.ACTUAL_LOCALE ?
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/UnicodeSet.java b/icu4j/main/classes/core/src/com/ibm/icu/text/UnicodeSet.java
index f62e682..bfa7e72 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/UnicodeSet.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/UnicodeSet.java
@@ -3974,20 +3974,17 @@
      * Internal class for customizing UnicodeSet parsing of properties.
      * TODO: extend to allow customizing of codepoint ranges
      * @draft ICU3.8 (retain)
-     * @provisional This API might change or be removed in a future release.
      * @author medavis
      */
     abstract public static class XSymbolTable implements SymbolTable {
         /**
          * Default constructor
          * @draft ICU3.8 (retain)
-         * @provisional This API might change or be removed in a future release.
          */
         public XSymbolTable(){}
         /**
          * Supplies default implementation for SymbolTable (no action).
          * @draft ICU3.8 (retain)
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         public UnicodeMatcher lookupMatcher(int i) {
@@ -4011,7 +4008,6 @@
          *         with that property have been added to the UnicodeSet, and returns false if the
          *         propertyName+propertyValue combination is not recognized (in which case result is unaltered).
          * @draft ICU3.8 (retain)
-         * @provisional This API might change or be removed in a future release.
          */
         public boolean applyPropertyAlias(String propertyName, String propertyValue, UnicodeSet result) {
             return false;
@@ -4019,7 +4015,6 @@
         /**
          * Supplies default implementation for SymbolTable (no action).
          * @draft ICU3.8 (retain)
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         public char[] lookup(String s) {
@@ -4028,7 +4023,6 @@
         /**
          * Supplies default implementation for SymbolTable (no action).
          * @draft ICU3.8 (retain)
-         * @provisional This API might change or be removed in a future release.
          */
         @Override
         public String parseReference(String text, ParsePosition pos, int limit) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/BasicTimeZone.java b/icu4j/main/classes/core/src/com/ibm/icu/util/BasicTimeZone.java
index 5d56a39..bf15962 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/BasicTimeZone.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/BasicTimeZone.java
@@ -541,21 +541,18 @@
      * around a time zone transition.
      *
      * @draft ICU 69
-     * @provisional This API might change or be removed in a future release.
      */
     public static enum LocalOption {
         /**
          * An input time is always interpreted as local time before
          * a time zone transition.
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         FORMER(0x04),
         /**
          * An input time is always interpreted as local time after
          * a time zone transition.
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         LATTER(0x0C),
         /**
@@ -565,7 +562,6 @@
          * or daylight saving time, the local time before the
          * transition is used.
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         STANDARD_FORMER(0x05),
         /**
@@ -575,7 +571,6 @@
          * or daylight saving time, the local time after the
          * transition is used.
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         STANDARD_LATTER(0x0D),
         /**
@@ -585,7 +580,6 @@
          * or daylight saving time, the local time before the
          * transition is used.
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         DAYLIGHT_FORMER(0x07),
         /**
@@ -595,7 +589,6 @@
          * or daylight saving time, the local time after the
          * transition is used.
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         DAYLIGHT_LATTER(0x0F);
 
@@ -670,7 +663,6 @@
     /**
      * {@icu} Returns time zone offsets from local wall time.
      * @draft ICU 69
-     * @provisional This API might change or be removed in a future release.
      */
     public void getOffsetFromLocal(long date,
             LocalOption nonExistingTimeOpt, LocalOption duplicatedTimeOpt, int[] offsets) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java b/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java
index edfc8a7..6a38a57 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java
@@ -1882,7 +1882,6 @@
      * {@icu} Returns the list of locales for which Calendars are installed.
      * @return the list of locales for which Calendars are installed.
      * @draft ICU 3.2 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public static ULocale[] getAvailableULocales()
     {
@@ -3484,7 +3483,6 @@
      * @param locale the locale for which the symbols should be drawn
      * @return a <code>DateFormat</code> appropriate to this calendar
      * @draft ICU 3.2 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     protected DateFormat handleGetDateFormat(String pattern, String override, ULocale locale) {
         FormatConfiguration fmtConfig = new FormatConfiguration();
@@ -5934,7 +5932,6 @@
      * @param extendedYear the extendedYear, as returned by handleGetExtendedYear
      * @return the default month
      * @draft ICU 3.6 (retain)
-     * @provisional This API might change or be removed in a future release.
      * @see #MONTH
      */
     protected int getDefaultMonthInYear(int extendedYear) {
@@ -5949,7 +5946,6 @@
      * @param month the month, as returned by getDefaultMonthInYear
      * @return the default day of the month
      * @draft ICU 3.6 (retain)
-     * @provisional This API might change or be removed in a future release.
      * @see #DAY_OF_MONTH
      */
     protected int getDefaultDayInMonth(int extendedYear, int month) {
@@ -6500,7 +6496,6 @@
      * @see com.ibm.icu.util.ULocale#VALID_LOCALE
      * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
      * @draft ICU 2.8 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public final ULocale getLocale(ULocale.Type type) {
         return type == ULocale.ACTUAL_LOCALE ?
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/CopticCalendar.java b/icu4j/main/classes/core/src/com/ibm/icu/util/CopticCalendar.java
index 847a21a..9f38324 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/CopticCalendar.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/CopticCalendar.java
@@ -15,109 +15,109 @@
 /**
  * Implement the Coptic calendar system.
  * <p>
- * CopticCalendar usually should be instantiated using 
+ * CopticCalendar usually should be instantiated using
  * {@link com.ibm.icu.util.Calendar#getInstance(ULocale)} passing in a <code>ULocale</code>
  * with the tag <code>"@calendar=coptic"</code>.</p>
  *
  * @see com.ibm.icu.util.Calendar
  * @stable ICU 3.4
  */
-public final class CopticCalendar extends CECalendar 
+public final class CopticCalendar extends CECalendar
 {
     // jdk1.4.2 serialver
     private static final long serialVersionUID = 5903818751846742911L;
 
-    /** 
+    /**
      * Constant for ωογτ / تﻮﺗ,
-     * the 1st month of the Coptic year. 
+     * the 1st month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int TOUT = 0;
 
-    /** 
+    /**
      * Constant for Παοπι / ﻪﺑﺎﺑ,
-     * the 2nd month of the Coptic year. 
+     * the 2nd month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int BABA = 1;
 
-    /** 
+    /**
      * Constant for Αθορ / رﻮﺗﺎﻫ,
-     * the 3rd month of the Coptic year. 
+     * the 3rd month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int HATOR = 2;
 
-    /** 
+    /**
      * Constant for Χοιακ / ﻚﻬﻴﻛ;,
-     * the 4th month of the Coptic year. 
+     * the 4th month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int KIAHK = 3;
 
-    /** 
+    /**
      * Constant for Τωβι / طﻮﺒﻫ,
-     * the 5th month of the Coptic year. 
+     * the 5th month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int TOBA = 4;
 
-    /** 
+    /**
      * Constant for Μεϣιρ / ﺮﻴﺸﻣأ,
-     * the 6th month of the Coptic year. 
+     * the 6th month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int AMSHIR = 5;
 
-    /** 
+    /**
      * Constant for Παρεμϩατ / تﺎﻬﻣﺮﺑ,
-     * the 7th month of the Coptic year. 
+     * the 7th month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int BARAMHAT = 6;
 
-    /** 
-     * Constant for Φαρμοθι / هدﻮﻣﺮﺑ, 
-     * the 8th month of the Coptic year. 
+    /**
+     * Constant for Φαρμοθι / هدﻮﻣﺮﺑ,
+     * the 8th month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int BARAMOUDA = 7;
 
-    /** 
+    /**
      * Constant for Παϣαν / ﺲﻨﺸﺑ;,
-     * the 9th month of the Coptic year. 
+     * the 9th month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int BASHANS = 8;
 
-    /** 
+    /**
      * Constant for Παωνι / ﻪﻧؤﻮﺑ,
-     * the 10th month of the Coptic year. 
+     * the 10th month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int PAONA = 9;
 
-    /** 
+    /**
      * Constant for Επηπ / ﺐﻴﺑأ,
-     * the 11th month of the Coptic year. 
+     * the 11th month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int EPEP = 10;
 
-    /** 
+    /**
      * Constant for Μεϲωρη / ىﺮﺴﻣ,
-     * the 12th month of the Coptic year. 
+     * the 12th month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int MESRA = 11;
 
-    /** 
+    /**
      * Constant for Πικογϫι μαβοτ / ﺮﻴﻐﺼﻟاﺮﻬﺸﻟا,
-     * the 13th month of the Coptic year. 
+     * the 13th month of the Coptic year.
      * @stable ICU 3.4
      */
     public static final int NASIE = 12;
-  
+
     private static final int JD_EPOCH_OFFSET  = 1824665;
 
     // Eras
@@ -177,7 +177,7 @@
     public CopticCalendar(TimeZone zone, Locale aLocale) {
         super(zone, aLocale);
     }
-    
+
     /**
      * Constructs a <code>CopticCalendar</code> based on the current time
      * in the given time zone with the given locale.
@@ -189,7 +189,7 @@
     public CopticCalendar(TimeZone zone, ULocale locale) {
         super(zone, locale);
     }
-    
+
     /**
      * Constructs a <code>CopticCalendar</code> with the given date set
      * in the default time zone with the default locale.
@@ -237,6 +237,7 @@
      * {@inheritDoc}
      * @stable ICU 3.8
      */
+    @Override
     public String getType() {
         return "coptic";
     }
@@ -246,6 +247,7 @@
      * @internal
      * @deprecated This API is ICU internal only.
      */
+    @Override
     @Deprecated
     protected int handleGetExtendedYear() {
         int eyear;
@@ -268,6 +270,7 @@
      * @internal
      * @deprecated This API is ICU internal only.
      */
+    @Override
     @Deprecated
     protected void handleComputeFields(int julianDay) {
         int era, year;
@@ -299,6 +302,7 @@
      * @internal
      * @deprecated This API is ICU internal only.
      */
+    @Override
     @Deprecated
     protected int getJDEpochOffset() {
         return JD_EPOCH_OFFSET;
@@ -311,7 +315,6 @@
      * @param month the month
      * @param date the day
      * @draft ICU 3.4 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     // The equivalent operation can be done by public Calendar API.
     // This API was accidentally marked as @draft, but we have no good
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/Currency.java b/icu4j/main/classes/core/src/com/ibm/icu/util/Currency.java
index 592dc0a..2c40e55 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/Currency.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/Currency.java
@@ -107,7 +107,6 @@
      * for example, "NT$" instead of "$" for TWD in zh-TW.
      *
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public static final int FORMAL_SYMBOL_NAME = 4;
 
@@ -118,7 +117,6 @@
      * necessarily as widely used as the regular symbol.
      *
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public static final int VARIANT_SYMBOL_NAME = 5;
 
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/DateRule.java b/icu4j/main/classes/core/src/com/ibm/icu/util/DateRule.java
index b424cf6..e4c431f 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/DateRule.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/DateRule.java
@@ -22,7 +22,6 @@
  *
  * @see SimpleDateRule
  * @draft ICU 2.8 (retainAll)
- * @provisional This API might change or be removed in a future release.
  */
 public interface DateRule
 {
@@ -37,7 +36,6 @@
      *
      * @see #firstBetween
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     abstract public Date    firstAfter(Date start);
 
@@ -54,7 +52,6 @@
      *
      * @see #firstAfter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     abstract public Date    firstBetween(Date start, Date end);
 
@@ -68,7 +65,6 @@
      * @param date  The date to check.
      * @return      true if this event occurs on the given date.
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     abstract public boolean isOn(Date date);
 
@@ -76,7 +72,6 @@
      * Check whether this event occurs at least once between the two
      * dates given.
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     abstract public boolean isBetween(Date start, Date end);
 }
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/EasterHoliday.java b/icu4j/main/classes/core/src/com/ibm/icu/util/EasterHoliday.java
index ef9d6ed..0814a0b 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/EasterHoliday.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/EasterHoliday.java
@@ -19,7 +19,6 @@
  * a fixed number of days before or after Easter.  Supports both the
  * Western and Orthodox methods for calculating Easter.
  * @draft ICU 2.8 (retainAll)
- * @provisional This API might change or be removed in a future release.
  */
 public class EasterHoliday extends Holiday
 {
@@ -28,7 +27,6 @@
      *
      * @param name The name of the holiday
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public EasterHoliday(String name)
     {
@@ -42,7 +40,6 @@
      * @param daysAfter The number of days before (-) or after (+) Easter
      * @param name      The name of the holiday
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public EasterHoliday(int daysAfter, String name)
     {
@@ -58,7 +55,6 @@
      * @param orthodox  Use the Orthodox calendar?
      * @param name      The name of the holiday
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public EasterHoliday(int daysAfter, boolean orthodox, String name)
     {
@@ -68,84 +64,72 @@
     /**
      * Shrove Tuesday, aka Mardi Gras, 48 days before Easter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     static public final EasterHoliday SHROVE_TUESDAY  = new EasterHoliday(-48,    "Shrove Tuesday");
 
     /**
      * Ash Wednesday, start of Lent, 47 days before Easter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     static public final EasterHoliday ASH_WEDNESDAY   = new EasterHoliday(-47,    "Ash Wednesday");
 
     /**
      * Palm Sunday, 7 days before Easter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     static public final EasterHoliday PALM_SUNDAY     = new EasterHoliday( -7,    "Palm Sunday");
 
     /**
      * Maundy Thursday, 3 days before Easter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     static public final EasterHoliday MAUNDY_THURSDAY = new EasterHoliday( -3,    "Maundy Thursday");
 
     /**
      * Good Friday, 2 days before Easter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     static public final EasterHoliday GOOD_FRIDAY     = new EasterHoliday( -2,    "Good Friday");
 
     /**
      * Easter Sunday
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     static public final EasterHoliday EASTER_SUNDAY   = new EasterHoliday(  0,    "Easter Sunday");
 
     /**
      * Easter Monday, 1 day after Easter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     static public final EasterHoliday EASTER_MONDAY   = new EasterHoliday(  1,    "Easter Monday");
 
     /**
      * Ascension, 39 days after Easter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     static public final EasterHoliday ASCENSION       = new EasterHoliday( 39,    "Ascension");
 
     /**
      * Pentecost (aka Whit Sunday), 49 days after Easter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     static public final EasterHoliday PENTECOST       = new EasterHoliday( 49,    "Pentecost");
 
     /**
      * Whit Sunday (aka Pentecost), 49 days after Easter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     static public final EasterHoliday WHIT_SUNDAY     = new EasterHoliday( 49,    "Whit Sunday");
 
     /**
      * Whit Monday, 50 days after Easter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     static public final EasterHoliday WHIT_MONDAY     = new EasterHoliday( 50,    "Whit Monday");
 
     /**
      * Corpus Christi, 60 days after Easter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     static public final EasterHoliday CORPUS_CHRISTI  = new EasterHoliday( 60,    "Corpus Christi");
 }
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/EthiopicCalendar.java b/icu4j/main/classes/core/src/com/ibm/icu/util/EthiopicCalendar.java
index 2a895f4..356365b 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/EthiopicCalendar.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/EthiopicCalendar.java
@@ -18,119 +18,119 @@
 /**
  * Implement the Ethiopic calendar system.
  * <p>
- * EthiopicCalendar usually should be instantiated using 
+ * EthiopicCalendar usually should be instantiated using
  * {@link com.ibm.icu.util.Calendar#getInstance(ULocale)} passing in a <code>ULocale</code>
  * with the tag <code>"@calendar=ethiopic"</code>.</p>
  *
  * @see com.ibm.icu.util.Calendar
  * @stable ICU 3.4
  */
-public final class EthiopicCalendar extends CECalendar 
+public final class EthiopicCalendar extends CECalendar
 {
     //jdk1.4.2 serialver
     private static final long serialVersionUID = -2438495771339315608L;
 
-    /** 
+    /**
      * Constant for መስከረም, the 1st month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int MESKEREM = 0;
 
-    /** 
-     * Constant for ጥቅምት, the 2nd month of the Ethiopic year. 
+    /**
+     * Constant for ጥቅምት, the 2nd month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int TEKEMT = 1;
 
-    /** 
-     * Constant for ኅዳር, the 3rd month of the Ethiopic year. 
+    /**
+     * Constant for ኅዳር, the 3rd month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int HEDAR = 2;
 
-    /** 
-     * Constant for ታኅሣሥ, the 4th month of the Ethiopic year. 
+    /**
+     * Constant for ታኅሣሥ, the 4th month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int TAHSAS = 3;
 
-    /** 
-     * Constant for ጥር, the 5th month of the Ethiopic year. 
+    /**
+     * Constant for ጥር, the 5th month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int TER = 4;
 
-    /** 
-     * Constant for የካቲት, the 6th month of the Ethiopic year. 
+    /**
+     * Constant for የካቲት, the 6th month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int YEKATIT = 5;
 
-    /** 
-     * Constant for መጋቢት, the 7th month of the Ethiopic year. 
+    /**
+     * Constant for መጋቢት, the 7th month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int MEGABIT = 6;
 
-    /** 
-     * Constant for ሚያዝያ, the 8th month of the Ethiopic year. 
+    /**
+     * Constant for ሚያዝያ, the 8th month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int MIAZIA = 7;
 
-    /** 
-     * Constant for ግንቦት, the 9th month of the Ethiopic year. 
+    /**
+     * Constant for ግንቦት, the 9th month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int GENBOT = 8;
 
-    /** 
-     * Constant for ሰኔ, the 10th month of the Ethiopic year. 
+    /**
+     * Constant for ሰኔ, the 10th month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int SENE = 9;
 
-    /** 
-     * Constant for ሐምሌ, the 11th month of the Ethiopic year. 
+    /**
+     * Constant for ሐምሌ, the 11th month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int HAMLE = 10;
 
-    /** 
-     * Constant for ነሐሴ, the 12th month of the Ethiopic year. 
+    /**
+     * Constant for ነሐሴ, the 12th month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int NEHASSE = 11;
 
-    /** 
-     * Constant for ጳጉሜን, the 13th month of the Ethiopic year. 
+    /**
+     * Constant for ጳጉሜን, the 13th month of the Ethiopic year.
      * @stable ICU 3.4
      */
     public static final int PAGUMEN = 12;
- 
+
     // Up until the end of the 19th century the prevailant convention was to
-    // reference the Ethiopic Calendar from the creation of the world, 
+    // reference the Ethiopic Calendar from the creation of the world,
     // \u12d3\u1218\u1270\u1361\u12d3\u1208\u121d
     // (Amete Alem 5500 BC).  As Ethiopia modernized the reference epoch from
-    // the birth of Christ (\u12d3\u1218\u1270\u1361\u121d\u1215\u1228\u1275) 
+    // the birth of Christ (\u12d3\u1218\u1270\u1361\u121d\u1215\u1228\u1275)
     // began to displace the creation of the
     // world reference point.  However, years before the birth of Christ are
-    // still referenced in the creation of the world system.   
+    // still referenced in the creation of the world system.
     // Thus -100 \u12d3/\u121d
     // would be rendered as 5400  \u12d3/\u12d3.
     //
-    // The creation of the world in Ethiopic cannon was 
+    // The creation of the world in Ethiopic cannon was
     // Meskerem 1, -5500  \u12d3/\u121d 00:00:00
     // applying the birth of Christ reference and Ethiopian time conventions.  This is
     // 6 hours less than the Julian epoch reference point (noon).  In Gregorian
     // the date and time was July 18th -5493 BC 06:00 AM.
 
-    // Julian Days relative to the 
+    // Julian Days relative to the
     // \u12d3\u1218\u1270\u1361\u121d\u1215\u1228\u1275 epoch
     // Note: we no longer use this constant
     //private static final int JD_EPOCH_OFFSET_AMETE_ALEM = -285019;
 
-    // Julian Days relative to the 
+    // Julian Days relative to the
     // \u12d3\u1218\u1270\u1361\u12d3\u1208\u121d epoch
     private static final int JD_EPOCH_OFFSET_AMETE_MIHRET = 1723856;
 
@@ -202,7 +202,7 @@
     public EthiopicCalendar(TimeZone zone, Locale aLocale) {
         this(zone, ULocale.forLocale(aLocale));
     }
-    
+
     /**
      * Constructs a <code>EthiopicCalendar</code> based on the current time
      * in the given time zone with the given locale.
@@ -264,6 +264,7 @@
      * {@inheritDoc}
      * @stable ICU 3.8
      */
+    @Override
     public String getType() {
         if (isAmeteAlemEra()) {
             return "ethiopic-amete-alem";
@@ -280,7 +281,7 @@
     public void setAmeteAlemEra(boolean onOff) {
         eraType = onOff ? AMETE_ALEM_ERA : AMETE_MIHRET_ERA;
     }
-    
+
     /**
      * Return true if this calendar is set to the Amete Alem era.
      *
@@ -296,6 +297,7 @@
      * @internal
      * @deprecated This API is ICU internal only.
      */
+    @Override
     @Deprecated
     protected int handleGetExtendedYear() {
         // Ethiopic calendar uses EXTENDED_YEAR aligned to
@@ -323,6 +325,7 @@
      * @internal
      * @deprecated This API is ICU internal only.
      */
+    @Override
     @Deprecated
     protected void handleComputeFields(int julianDay) {
         int era, year;
@@ -359,6 +362,7 @@
      * @internal
      * @deprecated This API is ICU internal only.
      */
+    @Override
     @Deprecated
     protected int handleGetLimit(int field, int limitType) {
         if (isAmeteAlemEra() && field == ERA) {
@@ -372,6 +376,7 @@
      * @internal
      * @deprecated This API is ICU internal only.
      */
+    @Override
     @Deprecated
     protected int getJDEpochOffset() {
         return JD_EPOCH_OFFSET_AMETE_MIHRET;
@@ -385,7 +390,6 @@
      * @param date the day
      *
      * @draft ICU 3.4 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     // The equivalent operation can be done by public Calendar API.
     // This API was accidentally marked as @draft, but we have no good
@@ -400,7 +404,7 @@
      */
     private void setCalcTypeForLocale(ULocale locale) {
         String localeCalType = CalendarUtil.getCalendarType(locale);
-        if("ethiopic-amete-alem".equals(localeCalType)) { 
+        if("ethiopic-amete-alem".equals(localeCalType)) {
             setAmeteAlemEra(true);
         } else {
             setAmeteAlemEra(false); // default - Amete Mihret
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/HebrewHoliday.java b/icu4j/main/classes/core/src/com/ibm/icu/util/HebrewHoliday.java
index 36de0bc..77550cd 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/HebrewHoliday.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/HebrewHoliday.java
@@ -12,9 +12,8 @@
 /**
  * <b>Note:</b> The Holiday framework is a technology preview.
  * Despite its age, is still draft API, and clients should treat it as such.
- * 
+ *
  * @draft ICU 2.8 (retainAll)
- * @provisional This API might change or be removed in a future release.
  */
 public class HebrewHoliday extends Holiday
 {
@@ -25,7 +24,6 @@
      *
      * @param name The name of the holiday
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public HebrewHoliday(int month, int date, String name)
     {
@@ -34,7 +32,6 @@
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public HebrewHoliday(int month, int date, int length, String name)
     {
@@ -43,145 +40,121 @@
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday ROSH_HASHANAH   = new HebrewHoliday(HebrewCalendar.TISHRI,  1,  2,  "Rosh Hashanah");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday GEDALIAH        = new HebrewHoliday(HebrewCalendar.TISHRI,  3,      "Fast of Gedaliah");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday YOM_KIPPUR      = new HebrewHoliday(HebrewCalendar.TISHRI, 10,      "Yom Kippur");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday SUKKOT          = new HebrewHoliday(HebrewCalendar.TISHRI, 15,  6,  "Sukkot");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday HOSHANAH_RABBAH = new HebrewHoliday(HebrewCalendar.TISHRI, 21,      "Hoshanah Rabbah");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday SHEMINI_ATZERET = new HebrewHoliday(HebrewCalendar.TISHRI, 22,      "Shemini Atzeret");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday SIMCHAT_TORAH   = new HebrewHoliday(HebrewCalendar.TISHRI, 23,      "Simchat Torah");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday HANUKKAH        = new HebrewHoliday(HebrewCalendar.KISLEV, 25,      "Hanukkah");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday TEVET_10        = new HebrewHoliday(HebrewCalendar.TEVET,  10,      "Fast of Tevet 10");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday TU_BSHEVAT      = new HebrewHoliday(HebrewCalendar.SHEVAT, 15,      "Tu B'Shevat");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday ESTHER          = new HebrewHoliday(HebrewCalendar.ADAR,   13,      "Fast of Esther");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday PURIM           = new HebrewHoliday(HebrewCalendar.ADAR,   14,      "Purim");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday SHUSHAN_PURIM   = new HebrewHoliday(HebrewCalendar.ADAR,   15,      "Shushan Purim");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday PASSOVER        = new HebrewHoliday(HebrewCalendar.NISAN,  15,  8,  "Passover");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday YOM_HASHOAH     = new HebrewHoliday(HebrewCalendar.NISAN,  27,      "Yom Hashoah");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday YOM_HAZIKARON   = new HebrewHoliday(HebrewCalendar.IYAR,    4,      "Yom Hazikaron");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday YOM_HAATZMAUT   = new HebrewHoliday(HebrewCalendar.IYAR,    5,      "Yom Ha'Atzmaut");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday PESACH_SHEINI   = new HebrewHoliday(HebrewCalendar.IYAR,   14,      "Pesach Sheini");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday LAG_BOMER       = new HebrewHoliday(HebrewCalendar.IYAR,   18,      "Lab B'Omer");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday YOM_YERUSHALAYIM = new HebrewHoliday(HebrewCalendar.IYAR,   28,      "Yom Yerushalayim");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday SHAVUOT         = new HebrewHoliday(HebrewCalendar.SIVAN,   6,  2,  "Shavuot");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday TAMMUZ_17       = new HebrewHoliday(HebrewCalendar.TAMUZ,  17,      "Fast of Tammuz 17");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday TISHA_BAV       = new HebrewHoliday(HebrewCalendar.AV,      9,      "Fast of Tisha B'Av");
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static HebrewHoliday SELIHOT         = new HebrewHoliday(HebrewCalendar.ELUL,   21,      "Selihot");
 }
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/Holiday.java b/icu4j/main/classes/core/src/com/ibm/icu/util/Holiday.java
index 2d903ea..085eb99 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/Holiday.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/Holiday.java
@@ -22,13 +22,11 @@
  *
  * An abstract class representing a holiday.
  * @draft ICU 2.8 (retainAll)
- * @provisional This API might change or be removed in a future release.
  */
 public abstract class Holiday implements DateRule
 {
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static Holiday[] getHolidays()
     {
@@ -37,7 +35,6 @@
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static Holiday[] getHolidays(Locale locale)
     {
@@ -46,7 +43,6 @@
 
     /**
      * @draft ICU 3.2
-     * @provisional This API might change or be removed in a future release.
      */
     public static Holiday[] getHolidays(ULocale locale)
     {
@@ -72,7 +68,6 @@
      *
      * @see #firstBetween
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public Date firstAfter(Date start) {
@@ -91,7 +86,6 @@
      *
      * @see #firstAfter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public Date firstBetween(Date start, Date end) {
@@ -106,7 +100,6 @@
      * @param date  The date to check.
      * @return      true if this holiday occurs on the given date.
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public boolean isOn(Date date) {
@@ -118,7 +111,6 @@
      * Check whether this holiday occurs at least once between the two
      * dates given.
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public boolean isBetween(Date start, Date end) {
@@ -137,7 +129,6 @@
      *              falls.  Holiday's implementation of the DateRule interface
      *              simply delegates to this DateRule object.
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     protected Holiday(String name, DateRule rule)
     {
@@ -149,7 +140,6 @@
      * Return the name of this holiday in the language of the default <code>DISPLAY</code> locale.
      * @see Category#DISPLAY
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public String getDisplayName() {
         return getDisplayName(ULocale.getDefault(Category.DISPLAY));
@@ -165,7 +155,6 @@
      *
      * @see ResourceBundle
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public String getDisplayName(Locale locale)
     {
@@ -182,7 +171,6 @@
      *
      * @see ResourceBundle
      * @draft ICU 3.2
-     * @provisional This API might change or be removed in a future release.
      */
     public String getDisplayName(ULocale locale)
     {
@@ -199,7 +187,6 @@
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public DateRule getRule() {
         return rule;
@@ -207,7 +194,6 @@
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public void setRule(DateRule rule) {
         this.rule = rule;
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/ICUInputTooLongException.java b/icu4j/main/classes/core/src/com/ibm/icu/util/ICUInputTooLongException.java
index 194a1fd..3e83692 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/ICUInputTooLongException.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/ICUInputTooLongException.java
@@ -8,7 +8,6 @@
  * processing time, stack depth, or heap memory requirements.
  *
  * @draft ICU 68
- * @provisional This API might change or be removed in a future release.
  */
 public class ICUInputTooLongException extends ICUException {
     private static final long serialVersionUID = -2602876786689338226L;
@@ -17,7 +16,6 @@
      * Default constructor.
      *
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public ICUInputTooLongException() {
     }
@@ -27,7 +25,6 @@
      *
      * @param message exception message string
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public ICUInputTooLongException(String message) {
         super(message);
@@ -38,7 +35,6 @@
      *
      * @param cause original exception
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public ICUInputTooLongException(Throwable cause) {
         super(cause);
@@ -50,7 +46,6 @@
      * @param message exception message string
      * @param cause original exception
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public ICUInputTooLongException(String message, Throwable cause) {
         super(message, cause);
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/JapaneseCalendar.java b/icu4j/main/classes/core/src/com/ibm/icu/util/JapaneseCalendar.java
index ef74d21..19257eb 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/JapaneseCalendar.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/JapaneseCalendar.java
@@ -296,7 +296,6 @@
      * taking year and era into account.  Defaults to 0 (JANUARY) for Gregorian.
      * @param extendedYear the extendedYear, as returned by handleGetExtendedYear
      * @return the default month
-     * @provisional ICU 3.6
      * @draft ICU 3.6 (retain)
      * @see #MONTH
      */
@@ -322,7 +321,6 @@
      * @param month the month, as returned by getDefaultMonthInYear
      * @return the default day of the month
      * @draft ICU 3.6 (retain)
-     * @provisional ICU 3.6
      * @see #DAY_OF_MONTH
      */
     @Override
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/LocaleMatcher.java b/icu4j/main/classes/core/src/com/ibm/icu/util/LocaleMatcher.java
index 114e9ad..07ae888 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/LocaleMatcher.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/LocaleMatcher.java
@@ -165,14 +165,12 @@
      *
      * @see LocaleMatcher.Builder#setDirection(LocaleMatcher.Direction)
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public enum Direction {
         /**
          * Locale matching includes one-way matches such as Breton→French. (default)
          *
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         WITH_ONE_WAY,
         /**
@@ -180,7 +178,6 @@
          * but ignoring one-way matches.
          *
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         ONLY_TWO_WAY
     }
@@ -453,7 +450,6 @@
          * best supported locale.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         public Builder setNoDefaultLocale() {
             this.defaultLocale = null;
@@ -527,7 +523,6 @@
          * @param direction the match direction to set.
          * @return this Builder object
          * @draft ICU 67
-         * @provisional This API might change or be removed in a future release.
          */
         public Builder setDirection(Direction direction) {
             this.direction = direction;
@@ -554,7 +549,6 @@
          * @param supported the supported locale for distance comparison.
          * @return this Builder object
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         public Builder setMaxDistance(Locale desired, Locale supported) {
             if (desired == null || supported == null) {
@@ -583,7 +577,6 @@
          * @param supported the supported locale for distance comparison.
          * @return this Builder object
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         public Builder setMaxDistance(ULocale desired, ULocale supported) {
             if (desired == null || supported == null) {
@@ -1102,7 +1095,6 @@
      * @param supported The supported locale.
      * @return true if the pair of locales matches acceptably.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public boolean isMatch(Locale desired, Locale supported) {
         int indexAndDistance = LocaleDistance.INSTANCE.getBestIndexAndDistance(
@@ -1121,7 +1113,6 @@
      * @param supported The supported locale.
      * @return true if the pair of locales matches acceptably.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public boolean isMatch(ULocale desired, ULocale supported) {
         int indexAndDistance = LocaleDistance.INSTANCE.getBestIndexAndDistance(
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java b/icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java
index b4364f2..425619c 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java
@@ -87,14 +87,12 @@
      * or prefix of a compound unit.
      *
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public enum Complexity {
         /**
          * A single unit, like kilojoule.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         SINGLE,
 
@@ -102,7 +100,6 @@
          * A compound unit, like meter-per-second.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         COMPOUND,
 
@@ -110,7 +107,6 @@
          * A mixed unit, like hour-and-minute.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         MIXED
     }
@@ -119,7 +115,6 @@
      * Enumeration for SI and binary prefixes, e.g. "kilo-", "nano-", "mebi-".
      *
      * @draft ICU 69
-     * @provisional This API might change or be removed in a future release.
      */
     public enum MeasurePrefix {
 
@@ -127,7 +122,6 @@
          * SI prefix: yotta, 10^24.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         YOTTA(24, "yotta", 10),
 
@@ -135,7 +129,6 @@
          * SI prefix: zetta, 10^21.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         ZETTA(21, "zetta", 10),
 
@@ -143,7 +136,6 @@
          * SI prefix: exa, 10^18.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         EXA(18, "exa", 10),
 
@@ -151,7 +143,6 @@
          * SI prefix: peta, 10^15.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         PETA(15, "peta", 10),
 
@@ -159,7 +150,6 @@
          * SI prefix: tera, 10^12.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         TERA(12, "tera", 10),
 
@@ -167,7 +157,6 @@
          * SI prefix: giga, 10^9.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         GIGA(9, "giga", 10),
 
@@ -175,7 +164,6 @@
          * SI prefix: mega, 10^6.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         MEGA(6, "mega", 10),
 
@@ -183,7 +171,6 @@
          * SI prefix: kilo, 10^3.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         KILO(3, "kilo", 10),
 
@@ -191,7 +178,6 @@
          * SI prefix: hecto, 10^2.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         HECTO(2, "hecto", 10),
 
@@ -199,7 +185,6 @@
          * SI prefix: deka, 10^1.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         DEKA(1, "deka", 10),
 
@@ -207,7 +192,6 @@
          * The absence of an SI prefix.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         ONE(0, "", 10),
 
@@ -215,7 +199,6 @@
          * SI prefix: deci, 10^-1.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         DECI(-1, "deci", 10),
 
@@ -223,7 +206,6 @@
          * SI prefix: centi, 10^-2.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         CENTI(-2, "centi", 10),
 
@@ -231,7 +213,6 @@
          * SI prefix: milli, 10^-3.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         MILLI(-3, "milli", 10),
 
@@ -239,7 +220,6 @@
          * SI prefix: micro, 10^-6.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         MICRO(-6, "micro", 10),
 
@@ -247,7 +227,6 @@
          * SI prefix: nano, 10^-9.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         NANO(-9, "nano", 10),
 
@@ -255,7 +234,6 @@
          * SI prefix: pico, 10^-12.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         PICO(-12, "pico", 10),
 
@@ -263,7 +241,6 @@
          * SI prefix: femto, 10^-15.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         FEMTO(-15, "femto", 10),
 
@@ -271,7 +248,6 @@
          * SI prefix: atto, 10^-18.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         ATTO(-18, "atto", 10),
 
@@ -279,7 +255,6 @@
          * SI prefix: zepto, 10^-21.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         ZEPTO(-21, "zepto", 10),
 
@@ -287,7 +262,6 @@
          * SI prefix: yocto, 10^-24.
          *
          * @draft ICU 68
-         * @provisional This API might change or be removed in a future release.
          */
         YOCTO(-24, "yocto", 10),
 
@@ -295,7 +269,6 @@
          * IEC binary prefix: kibi, 1024^1.
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         KIBI(1, "kibi", 1024),
 
@@ -303,7 +276,6 @@
          * IEC binary prefix: mebi, 1024^2.
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         MEBI(2, "mebi", 1024),
 
@@ -311,7 +283,6 @@
          * IEC binary prefix: gibi, 1024^3.
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         GIBI(3, "gibi", 1024),
 
@@ -319,7 +290,6 @@
          * IEC binary prefix: tebi, 1024^4.
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         TEBI(4, "tebi", 1024),
 
@@ -327,7 +297,6 @@
          * IEC binary prefix: pebi, 1024^5.
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         PEBI(5, "pebi", 1024),
 
@@ -335,7 +304,6 @@
          * IEC binary prefix: exbi, 1024^6.
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         EXBI(6, "exbi", 1024),
 
@@ -343,7 +311,6 @@
          * IEC binary prefix: zebi, 1024^7.
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         ZEBI(7, "zebi", 1024),
 
@@ -351,7 +318,6 @@
          * IEC binary prefix: yobi, 1024^8.
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         YOBI(8, "yobi", 1024);
 
@@ -382,7 +348,6 @@
          * - if the prefix is "gibi", the base will be 1024.
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         public int getBase() {
             return base;
@@ -394,7 +359,6 @@
          * - if the prefix is "gibi", the power will be 3 (for base 1024).
          *
          * @draft ICU 69
-         * @provisional This API might change or be removed in a future release.
          */
         public int getPower() {
             return power;
@@ -425,7 +389,6 @@
      * @param identifier CLDR Unit Identifier
      * @throws IllegalArgumentException if the identifier is invalid.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static MeasureUnit forIdentifier(String identifier) {
         if (identifier == null || identifier.isEmpty()) {
@@ -483,7 +446,6 @@
      *
      * @return The string form of this unit.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public String getIdentifier() {
         String result = measureUnitImpl == null ? getSubtype() : measureUnitImpl.getIdentifier();
@@ -495,7 +457,6 @@
      *
      * @return The unit complexity.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public Complexity getComplexity() {
         if (measureUnitImpl == null) {
@@ -519,7 +480,6 @@
      * @return A new SINGLE unit.
      * @throws UnsupportedOperationException if this unit is a COMPOUND or MIXED unit.
      * @draft ICU 69
-     * @provisional This API might change or be removed in a future release.
      */
     public MeasureUnit withPrefix(MeasurePrefix prefix) {
         SingleUnitImpl singleUnit = getSingleUnitImpl();
@@ -537,7 +497,6 @@
      * @return The prefix of this SINGLE unit, from MeasurePrefix.
      * @throws UnsupportedOperationException if the unit is COMPOUND or MIXED.
      * @draft ICU 69
-     * @provisional This API might change or be removed in a future release.
      */
     public MeasurePrefix getPrefix() {
         return getSingleUnitImpl().getPrefix();
@@ -553,7 +512,6 @@
      * @return The dimensionality (power) of this simple unit.
      * @throws UnsupportedOperationException if the unit is COMPOUND or MIXED.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public int getDimensionality() {
         return getSingleUnitImpl().getDimensionality();
@@ -570,7 +528,6 @@
      * @return A new SINGLE unit.
      * @throws UnsupportedOperationException if the unit is COMPOUND or MIXED.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public MeasureUnit withDimensionality(int dimensionality) {
         SingleUnitImpl singleUnit = getSingleUnitImpl();
@@ -589,7 +546,6 @@
      * @return The reciprocal of the target unit.
      * @throws UnsupportedOperationException if the unit is MIXED.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public MeasureUnit reciprocal() {
         MeasureUnitImpl measureUnit = getCopyOfMeasureUnitImpl();
@@ -613,7 +569,6 @@
      * @return The product of the target unit with the provided unit.
      * @throws UnsupportedOperationException if the unit is MIXED.
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public MeasureUnit product(MeasureUnit other) {
         MeasureUnitImpl implCopy = getCopyOfMeasureUnitImpl();
@@ -648,7 +603,6 @@
      *
      * @return An unmodifiable list of single units
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public List<MeasureUnit> splitToSingleUnits() {
         final ArrayList<SingleUnitImpl> singleUnits =
@@ -1048,7 +1002,6 @@
     /**
      * Constant for unit of concentr: milligram-ofglucose-per-deciliter
      * @draft ICU 69
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit MILLIGRAM_OFGLUCOSE_PER_DECILITER = MeasureUnit.internalGetInstance("concentr", "milligram-ofglucose-per-deciliter");
 
@@ -1397,7 +1350,6 @@
     /**
      * Constant for unit of graphics: dot
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit DOT = MeasureUnit.internalGetInstance("graphics", "dot");
 
@@ -1464,7 +1416,6 @@
     /**
      * Constant for unit of length: earth-radius
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit EARTH_RADIUS = MeasureUnit.internalGetInstance("length", "earth-radius");
 
@@ -1579,14 +1530,12 @@
     /**
      * Constant for unit of light: candela
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit CANDELA = MeasureUnit.internalGetInstance("light", "candela");
 
     /**
      * Constant for unit of light: lumen
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit LUMEN = MeasureUnit.internalGetInstance("light", "lumen");
 
@@ -1623,7 +1572,6 @@
     /**
      * Constant for unit of mass: grain
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit GRAIN = MeasureUnit.internalGetInstance("mass", "grain");
 
@@ -1936,28 +1884,24 @@
     /**
      * Constant for unit of volume: dessert-spoon
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit DESSERT_SPOON = MeasureUnit.internalGetInstance("volume", "dessert-spoon");
 
     /**
      * Constant for unit of volume: dessert-spoon-imperial
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit DESSERT_SPOON_IMPERIAL = MeasureUnit.internalGetInstance("volume", "dessert-spoon-imperial");
 
     /**
      * Constant for unit of volume: dram
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit DRAM = MeasureUnit.internalGetInstance("volume", "dram");
 
     /**
      * Constant for unit of volume: drop
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit DROP = MeasureUnit.internalGetInstance("volume", "drop");
 
@@ -1994,7 +1938,6 @@
     /**
      * Constant for unit of volume: jigger
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit JIGGER = MeasureUnit.internalGetInstance("volume", "jigger");
 
@@ -2019,7 +1962,6 @@
     /**
      * Constant for unit of volume: pinch
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit PINCH = MeasureUnit.internalGetInstance("volume", "pinch");
 
@@ -2044,7 +1986,6 @@
     /**
      * Constant for unit of volume: quart-imperial
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit QUART_IMPERIAL = MeasureUnit.internalGetInstance("volume", "quart-imperial");
 
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/NoUnit.java b/icu4j/main/classes/core/src/com/ibm/icu/util/NoUnit.java
index 3450a2f..e617f52 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/NoUnit.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/NoUnit.java
@@ -8,7 +8,6 @@
  * Dimensionless unit for percent and permille.
  * @see NumberFormatter
  * @draft ICU 68
- * @provisional This API might change or be removed in a future release.
  */
 public final class NoUnit {
     /**
@@ -19,7 +18,6 @@
      * Since ICU 68, this constant equals null.
      *
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit BASE = null;
 
@@ -31,7 +29,6 @@
      * Since ICU 68, this constant is equivalent to MeasureUnit.PERCENT.
      *
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit PERCENT = MeasureUnit.PERCENT;
 
@@ -43,7 +40,6 @@
      * Since ICU 68, this constant is equivalent to MeasureUnit.PERMILLE.
      *
      * @draft ICU 68
-     * @provisional This API might change or be removed in a future release.
      */
     public static final MeasureUnit PERMILLE = MeasureUnit.PERMILLE;
 
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/RangeDateRule.java b/icu4j/main/classes/core/src/com/ibm/icu/util/RangeDateRule.java
index 502490b..44ea4b6 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/RangeDateRule.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/RangeDateRule.java
@@ -16,15 +16,13 @@
 /**
  * <b>Note:</b> The Holiday framework is a technology preview.
  * Despite its age, is still draft API, and clients should treat it as such.
- * 
+ *
  * Implementation of DateRule that takes a range.
  * @draft ICU 2.8 (retainAll)
- * @provisional This API might change or be removed in a future release.
  */
 public class RangeDateRule implements DateRule {
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public RangeDateRule() {
     }
@@ -39,7 +37,6 @@
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public void add(DateRule rule) {
         add(new Date(Long.MIN_VALUE), rule);
@@ -47,7 +44,6 @@
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public void add(Date start, DateRule rule) {
         // TODO: Insert in the right place
@@ -59,8 +55,8 @@
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
+    @Override
     public Date firstAfter(Date start) {
         // Find the range that I should look at
         int index = startIndex(start);
@@ -85,13 +81,13 @@
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
+    @Override
     public Date firstBetween(Date start, Date end) {
         if (end == null) {
             return firstAfter(start);
         }
-        
+
         // Find the range that I should look at
         int index = startIndex(start);
         Date result = null;
@@ -114,8 +110,8 @@
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
+    @Override
     public boolean isOn(Date date) {
         Range r = rangeAt(startIndex(date));
         return r != null && r.rule != null && r.rule.isOn(date);
@@ -125,8 +121,8 @@
      * Check whether this event occurs at least once between the two
      * dates given.
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
+    @Override
     public boolean isBetween(Date start, Date end) {
         return firstBetween(start,end) == null;
     }
@@ -153,7 +149,7 @@
                                       : null;
     }
 
-    List<Range> ranges = new ArrayList<Range>(2);
+    List<Range> ranges = new ArrayList<>(2);
 }
 
 //-----------------------------------------------------------------------
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/RuleBasedTimeZone.java b/icu4j/main/classes/core/src/com/ibm/icu/util/RuleBasedTimeZone.java
index 6671562..e2c3cd5 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/RuleBasedTimeZone.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/RuleBasedTimeZone.java
@@ -119,7 +119,6 @@
     /**
      * {@inheritDoc}
      * @draft ICU 69
-     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public void getOffsetFromLocal(long date,
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/SimpleDateRule.java b/icu4j/main/classes/core/src/com/ibm/icu/util/SimpleDateRule.java
index ec00947..5c3c502 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/SimpleDateRule.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/SimpleDateRule.java
@@ -14,10 +14,9 @@
 /**
  * <b>Note:</b> The Holiday framework is a technology preview.
  * Despite its age, is still draft API, and clients should treat it as such.
- * 
+ *
  * Simple implementation of DateRule.
  * @draft ICU 2.8 (retainAll)
- * @provisional This API might change or be removed in a future release.
  */
 public class SimpleDateRule implements DateRule
 {
@@ -27,7 +26,6 @@
      * @param month         The month in which this rule occurs (0-based).
      * @param dayOfMonth    The date in that month (1-based).
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public SimpleDateRule(int month, int dayOfMonth)
     {
@@ -55,7 +53,6 @@
      *                      on or after dayOfMonth.  If false, the rule selects
      *                      the first dayOfWeek on or before dayOfMonth.
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public SimpleDateRule(int month, int dayOfMonth, int dayOfWeek, boolean after)
     {
@@ -75,8 +72,8 @@
      *
      * @see #firstBetween
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
+    @Override
     public Date firstAfter(Date start)
     {
         return doFirstBetween(start, null);
@@ -95,8 +92,8 @@
      *
      * @see #firstAfter
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
+    @Override
     public Date firstBetween(Date start, Date end)
     {
         // Pin to the min/max dates for this rule
@@ -113,8 +110,8 @@
      * @param date  The date to check.
      * @return      true if this event occurs on the given date.
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
+    @Override
     public boolean isOn(Date date)
     {
         Calendar c = calendar;
@@ -137,8 +134,8 @@
      * Check whether this event occurs at least once between the two
      * dates given.
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
+    @Override
     public boolean isBetween(Date start, Date end)
     {
         return firstBetween(start, end) != null; // TODO: optimize?
@@ -213,10 +210,6 @@
         }
     }
 
-    /**
-     * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
-     */
 //    public void setCalendar(Calendar c) {
 //        calendar = c;
 //    }
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/SimpleHoliday.java b/icu4j/main/classes/core/src/com/ibm/icu/util/SimpleHoliday.java
index 3e3e3fe..17a4d41 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/SimpleHoliday.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/SimpleHoliday.java
@@ -14,12 +14,11 @@
 /**
  * <b>Note:</b> The Holiday framework is a technology preview.
  * Despite its age, is still draft API, and clients should treat it as such.
- * 
+ *
  * A holiday whose date can be represented by a month, day, and optionally day of week
  * in the Gregorian calendar.
  *
  * @draft ICU 2.8 (retainAll)
- * @provisional This API might change or be removed in a future release.
  */
 public class SimpleHoliday extends Holiday {
     /**
@@ -35,7 +34,6 @@
      *
      * @see Holiday#getDisplayName(java.util.Locale)
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public SimpleHoliday(int month, int dayOfMonth, String name)
     {
@@ -55,7 +53,6 @@
      *
      * @see Holiday#getDisplayName(java.util.Locale)
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public SimpleHoliday(int month, int dayOfMonth, String name,
                             int startYear)
@@ -76,7 +73,6 @@
      *
      * @see Holiday#getDisplayName(java.util.Locale)
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public SimpleHoliday(int month, int dayOfMonth, String name,
                             int startYear, int endYear)
@@ -107,7 +103,6 @@
      *
      * @see Holiday#getDisplayName(java.util.Locale)
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public SimpleHoliday(int month, int dayOfMonth, int dayOfWeek, String name)
     {
@@ -118,12 +113,11 @@
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public SimpleHoliday(int month, int dayOfMonth, int dayOfWeek, String name,
                         int startYear)
     {
-        super(name, rangeRule(startYear, 0, 
+        super(name, rangeRule(startYear, 0,
                               new SimpleDateRule(month, dayOfMonth,
                                                  dayOfWeek > 0 ? dayOfWeek : - dayOfWeek,
                                                  dayOfWeek > 0)));
@@ -132,12 +126,11 @@
 
     /**
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public SimpleHoliday(int month, int dayOfMonth, int dayOfWeek, String name,
                         int startYear, int endYear)
     {
-        super(name, rangeRule(startYear, endYear, 
+        super(name, rangeRule(startYear, endYear,
                               new SimpleDateRule(month, dayOfMonth,
                                                  dayOfWeek > 0 ? dayOfWeek : - dayOfWeek,
                                                  dayOfWeek > 0)));
@@ -171,7 +164,6 @@
     /**
      * New Year's Day - January 1st
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static final SimpleHoliday NEW_YEARS_DAY =
         new SimpleHoliday(Calendar.JANUARY,    1,  "New Year's Day");
@@ -179,7 +171,6 @@
     /**
      * Epiphany, January 6th
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static final SimpleHoliday EPIPHANY =
         new SimpleHoliday(Calendar.JANUARY,    6,  "Epiphany");
@@ -187,7 +178,6 @@
     /**
      * May Day, May 1st
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static final SimpleHoliday MAY_DAY =
         new SimpleHoliday(Calendar.MAY,        1,  "May Day");
@@ -195,7 +185,6 @@
     /**
      * Assumption, August 15th
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static final SimpleHoliday ASSUMPTION =
         new SimpleHoliday(Calendar.AUGUST,    15,  "Assumption");
@@ -203,7 +192,6 @@
     /**
      * All Saints' Day, November 1st
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static final SimpleHoliday ALL_SAINTS_DAY =
         new SimpleHoliday(Calendar.NOVEMBER,   1,  "All Saints' Day");
@@ -211,7 +199,6 @@
     /**
      * All Souls' Day, November 1st
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static final SimpleHoliday ALL_SOULS_DAY =
         new SimpleHoliday(Calendar.NOVEMBER,   2,  "All Souls' Day");
@@ -219,7 +206,6 @@
     /**
      * Immaculate Conception, December 8th
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static final SimpleHoliday IMMACULATE_CONCEPTION =
         new SimpleHoliday(Calendar.DECEMBER,   8,  "Immaculate Conception");
@@ -227,7 +213,6 @@
     /**
      * Christmas Eve, December 24th
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static final SimpleHoliday CHRISTMAS_EVE =
         new SimpleHoliday(Calendar.DECEMBER,  24,  "Christmas Eve");
@@ -235,7 +220,6 @@
     /**
      * Christmas, December 25th
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static final SimpleHoliday CHRISTMAS =
         new SimpleHoliday(Calendar.DECEMBER,  25,  "Christmas");
@@ -243,7 +227,6 @@
     /**
      * Boxing Day, December 26th
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static final SimpleHoliday BOXING_DAY =
         new SimpleHoliday(Calendar.DECEMBER,  26,  "Boxing Day");
@@ -251,7 +234,6 @@
     /**
      * Saint Stephen's Day, December 26th
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static final SimpleHoliday ST_STEPHENS_DAY =
         new SimpleHoliday(Calendar.DECEMBER,  26,  "St. Stephen's Day");
@@ -259,7 +241,6 @@
     /**
      * New Year's Eve, December 31st
      * @draft ICU 2.8
-     * @provisional This API might change or be removed in a future release.
      */
     public static final SimpleHoliday NEW_YEARS_EVE =
         new SimpleHoliday(Calendar.DECEMBER,  31,  "New Year's Eve");
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/SimpleTimeZone.java b/icu4j/main/classes/core/src/com/ibm/icu/util/SimpleTimeZone.java
index ff717b3..599d301 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/SimpleTimeZone.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/SimpleTimeZone.java
@@ -791,7 +791,6 @@
     /**
      * {@inheritDoc}
      * @draft ICU 69
-     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public void getOffsetFromLocal(long date,
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java b/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java
index 140922f..5727b37 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java
@@ -502,7 +502,6 @@
      * @param locale the ULocale to canonicalize
      * @return the ULocale created from the canonical version of the ULocale.
      * @draft ICU 67
-     * @provisional This API might change or be removed in a future release.
      */
     public static ULocale createCanonical(ULocale locale) {
         return createCanonical(locale.getName());
@@ -2475,7 +2474,6 @@
      * locale data, then the valid locale is <i>null</i>.
      *
      * @draft ICU 2.8 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public static Type ACTUAL_LOCALE = new Type();
 
@@ -2491,7 +2489,6 @@
      * <p>Note: The valid locale will be returned correctly in ICU
      * 3.0 or later.  In ICU 2.8, it is not returned correctly.
      * @draft ICU 2.8 (retain)
-     * @provisional This API might change or be removed in a future release.
      */
     public static Type VALID_LOCALE = new Type();
 
@@ -2501,7 +2498,6 @@
      * @see com.ibm.icu.util.ULocale#ACTUAL_LOCALE
      * @see com.ibm.icu.util.ULocale#VALID_LOCALE
      * @draft ICU 2.8 (retainAll)
-     * @provisional This API might change or be removed in a future release.
      */
     public static final class Type {
         private Type() {}
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/VTimeZone.java b/icu4j/main/classes/core/src/com/ibm/icu/util/VTimeZone.java
index c616de8..d8732a8 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/VTimeZone.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/VTimeZone.java
@@ -99,7 +99,6 @@
     /**
      * {@inheritDoc}
      * @draft ICU 69
-     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public void getOffsetFromLocal(long date,
diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java
index eda3f75..ebc44fb 100644
--- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java
+++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java
@@ -3449,7 +3449,6 @@
                 }
                 else if (isDraft(name)) {
                     System.out.println("     * @draft ICU " + getVersion(name, thisVersion));
-                    System.out.println("     * @provisional This API might change or be removed in a future release.");
                 } else {
                     System.out.println("     * @stable ICU " + getVersion(name, thisVersion));
                 }
@@ -3800,7 +3799,7 @@
     public void TestIdentifierDetails() {
         MeasureUnit joule = MeasureUnit.forIdentifier("joule");
         assertEquals("Initial joule", "joule", joule.getIdentifier());
-    
+
         // "Invalid prefix" test not needed: in Java we cannot pass a
         // non-existant enum instance. (In C++ an int can be typecast.)
 
diff --git a/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/SwatDeprecated.java b/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/SwatDeprecated.java
deleted file mode 100644
index af0d892..0000000
--- a/icu4j/tools/build/src/com/ibm/icu/dev/tool/docs/SwatDeprecated.java
+++ /dev/null
@@ -1,347 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.
-// License & terms of use: http://www.unicode.org/copyright.html
-/*
- *******************************************************************************
- * Copyright (C) 2006-2010, International Business Machines Corporation and    *
- * others. All Rights Reserved.                                                *
- *******************************************************************************
- */
-package com.ibm.icu.dev.tool.docs;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-public class SwatDeprecated {
-    private File srcFile;
-    private File dstFile;
-    private int maxLength = 85;
-    private String srcPrefix;
-    private String dstPrefix;
-    private String srcTag;
-    private String trgTag;
-    private boolean overwrite;
-    private int verbosity;
-    private int cc; // changed file count
-    //private boolean inPlace;
-    private String copyYear;
-
-    private PrintWriter pw = new PrintWriter(System.out);
-
-    private static FilenameFilter ff = new FilenameFilter() {
-            public boolean accept(File dir, String name) {
-                return (new File(dir, name).isDirectory() && !"CVS".equals(name)) ||
-                    (!name.equals("SwatDeprecated.java") && name.endsWith(".java"));
-            }
-        };
-
-    public static void main(String[] args) {
-        String src = System.getProperty("user.dir");
-        String dst = src;
-        boolean dep = true;
-        boolean ovr = false;
-        int vrb = 1;
-
-        for (int i = 0; i < args.length; ++i) {
-            String arg = args[i].toLowerCase();
-            if (arg.charAt(0) == '-') {
-                if (arg.equals("-src")) {
-                    src = args[++i];
-                }
-                else if (arg.equals("-dst")) {
-                    dst = args[++i];
-                }
-                else if (arg.equals("-dep")) {
-                    dep = true;
-                } 
-                else if (arg.equals("-prov")) {
-                    dep = false;
-                }
-                else if (arg.equals("-overwrite")) {
-                    ovr = true;
-                }
-                else if (arg.equals("-silent")) { // no output
-                    vrb = 0;
-                }
-                else if (arg.equals("-quiet")) { // output parameters and count of changed files (default)
-                    vrb = 1;
-                } 
-                else if (arg.equals("-verbose")) { // output names of modified files
-                    vrb = 2;
-                } 
-                else if (arg.equals("-noisy")) { // output names of files not modified
-                    vrb = 3;
-                } 
-                else if (arg.equals("-copydebug")) { // output copyright debugging
-                    vrb = 4;
-                }
-                else if (arg.equals("-debug")) { // output all debugging
-                    vrb = 5;
-                }
-            }
-        }
-
-        new SwatDeprecated(src, dst, dep, ovr, vrb).run();
-    }
-
-    public SwatDeprecated(String src, String dst, boolean dep, boolean overwrite, int verbosity) {
-        this.srcFile = new File(src);
-        this.dstFile = new File(dst);
-        this.overwrite = overwrite;
-        this.verbosity = verbosity;
-        this.copyYear = new SimpleDateFormat("yyyy").format(new Date());
-
-        this.srcTag = "@deprecated This is a draft API and might change in a future release of ICU.";
-        this.trgTag = "@provisional This API might change or be removed in a future release.";
-        if (!dep) {
-            String temp = srcTag;
-            srcTag = trgTag;
-            trgTag = temp;
-        }
-        try {
-            this.srcPrefix = srcFile.getCanonicalPath();
-            this.dstPrefix = dstFile.getCanonicalPath();
-        }
-        catch (IOException e) {
-            RuntimeException re = new RuntimeException(e.getMessage());
-            re.initCause(e);
-            throw re;
-        }
-
-        //this.inPlace = srcPrefix.equals(dstPrefix);
-        this.cc = 0;
-
-        if (verbosity >= 1) {
-            pw.println("replacing '" + srcTag + "'");
-            pw.println("     with '" + trgTag + "'");
-            pw.println();
-            pw.println("     source: '" + srcPrefix + "'");
-            pw.println("destination: '" + dstPrefix + "'");
-            pw.println("  overwrite: " + overwrite);
-            pw.println("  verbosity: " + verbosity);
-            pw.flush();
-        }
-    }
-
-    public void run() {
-        if (!srcFile.exists()) {
-            throw new RuntimeException("file " + srcFile.getPath() + " does not exist.");
-        }
-        doList(srcFile);
-        if (verbosity >= 1) {
-            pw.println("changed " + cc + " file(s)");
-            pw.flush();
-        }
-    }
-
-    public void doList(File file) {
-        String[] filenames = file.list(ff);
-        if (verbosity >= 5) {
-            pw.println(file.getPath());
-            dumpList(filenames);
-            pw.flush();
-        }
-        for (int i = 0; i < filenames.length; ++i) {
-            File f = new File(file, filenames[i]);
-            if (f.isDirectory()) {
-                doList(f);
-            } else {
-                processFile(f);
-            }
-        }
-    }
-
-    public void processFile(File inFile) {
-        File bakFile = null;
-        try {
-            String inPath = inFile.getCanonicalPath();
-            if (verbosity >= 5) {
-                pw.println("processFile: " + inPath);
-            }
-
-            String outPath = dstPrefix + inPath.substring(srcPrefix.length());
-            File outFile = new File(outPath);
-
-            File tmpFile = null;
-            if (outFile.exists()) {
-                if (!overwrite) {
-                    throw new RuntimeException("no permission to overwrite file: " + outPath);
-                } else {
-                    bakFile = outFile;
-                    tmpFile = File.createTempFile(inFile.getName(), null, inFile.getParentFile());
-                }
-            } else {
-                tmpFile = outFile;
-                File parent = tmpFile.getParentFile();
-                parent.mkdirs();
-                tmpFile.createNewFile();
-            }
-
-            String tmpPath = tmpFile.getPath();
-            if (verbosity >= 5) {
-                pw.println("tmpFile: " + tmpPath);
-            }
-
-            InputStream is = new FileInputStream(inFile);
-            OutputStream os = new FileOutputStream(tmpFile);
-
-            PrintStream ps = new PrintStream(os);
-            BufferedReader br = new BufferedReader(new InputStreamReader(is));
-
-            String line;
-            int n = 0;
-            int tc = 0;
-//            boolean debug = false;
-            while (null != (line = br.readLine())) {
-                // int temp = line.indexOf("@deprecated");
-                int ix = line.indexOf(srcTag);
-//                 if (temp != -1 && ix == -1) {
-//                     if (debug == false) {
-//                         debug = true;
-//                         pw.println("file: " + name);
-//                     }
-//                     pw.println("[" + n + "] " + line);
-//                     pw.flush();
-//                 }
-                if (ix != -1) {
-                    if (verbosity >= 5) {
-                        pw.println("[" + n + "] " + line);
-                    }
-
-                    line = line.substring(0,ix) + trgTag;
-                    
-                    ++tc;
-                } else if (n < 20) {
-                    // swat copyrights in the first 20 lines while we're at it
-                    ix = line.indexOf("opyright");
-                    if (ix != -1) {
-                        String nline = null;
-                        do {
-                            if (verbosity == 4) {
-                                pw.println("[" + n + "] " + line);
-                            }
-                            ix = line.indexOf("-200");
-                            if (ix != -1) {
-                                nline = line.substring(0, ix) + "-" + copyYear + line.substring(ix+5);
-                                break;
-                            }
-                            ix = line.indexOf("- 200");
-                            if (ix != -1) {
-                                nline = line.substring(0, ix) + "-" + copyYear + line.substring(ix+6);
-                                break;
-                            }
-                            ix = line.indexOf("-199");
-                            if (ix != -1) {
-                                nline = line.substring(0, ix) + "-" + copyYear + line.substring(ix+5);
-                                break;
-                            }
-                            ix = line.indexOf(copyYear);
-                            if (ix != -1) {
-                                break; // nothing needs changing
-                            }
-                            ix = line.indexOf("200");
-                            if (ix != -1) {
-                                nline = line.substring(0, ix+4) + "-" + copyYear + line.substring(ix+4);
-                                break;
-                            }
-                            ix = line.indexOf("199");
-                            if (ix != -1) {
-                                nline = line.substring(0, ix+4) + "-" + copyYear + line.substring(ix+4);
-                                break;
-                            }
-                        } while (false);
-
-                        if (nline != null) {
-                            if (verbosity >= 4) {
-                                pw.println("  --> " + nline);
-                            }
-                            line = nline;
-                        }
-                    }
-                }
-                ps.println(line);
-                ++n;
-            }
-            ps.flush();
-            is.close();
-            os.close();
-
-            if (tc == 0) { // nothing changed, forget this file
-                if (verbosity >= 3) {
-                    pw.println("no changes in file: " + inPath);
-                }
-                if (!tmpFile.delete()) {
-                    throw new RuntimeException("unable to delete unneeded temporary file: " + tmpPath);
-                }
-
-                return;
-            }
-
-            if (bakFile != null) {
-                if (bakFile.exists()) {
-                    bakFile.delete();
-                }
-                if (!tmpFile.renameTo(bakFile)) {
-                    pw.println("warning: couldn't rename temp file to: " + outPath);
-                }
-            }
-
-            outFile.setLastModified(inFile.lastModified());
-
-            if (verbosity >= 2) {
-                pw.println(inPath);
-                pw.flush();
-            }
-        }
-        catch (IOException e) {
-            RuntimeException re = new RuntimeException(e.getMessage());
-            re.initCause(e);
-            throw re;
-        }
-        finally {
-            pw.flush();
-        }
-
-        ++cc;
-    }
-
-    public void dumpList(String[] names) {
-        if (names == null) {
-            pw.print("null");
-        } else {
-            pw.print("{");
-            int lc = 0;
-            if (names.length > 0) {
-                pw.println();
-                pw.print("    ");
-                lc = 4;
-            }
-            for (int i = 0; i < names.length; ++i) {
-                String name = names[i];
-                int nl = name.length();
-                if (lc + nl > maxLength) {
-                    pw.println();
-                    pw.print("    ");
-                    lc = 4;
-                }
-                pw.print(name);
-                pw.print(", ");
-                lc += nl + 2;
-            }
-            if (names.length > 0) {
-                pw.println();
-            }
-            pw.print("} ");
-        }
-    }
-}