Hello. I noticed that Open JDK source code contains many duplicate words typos which could be easily find via simple regexp. I checked only java.base module and fixed problems there. Does it makes sense to create patches to other modules too?
Index: src/java.base/share/classes/java/lang/module/Resolver.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/java/lang/module/Resolver.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/java/lang/module/Resolver.java (date 1548627900626) @@ -659,7 +659,7 @@ * Checks the readability graph to ensure that * <ol> * <li><p> A module does not read two or more modules with the same name. - * This includes the case where a module reads another another with the + * This includes the case where a module reads another with the * same name as itself. </p></li> * <li><p> Two or more modules in the configuration don't export the same * package to a module that reads both. This includes the case where a Index: src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java (date 1548627900979) @@ -331,7 +331,7 @@ } /** - * Load the the KeyStore as described in the specified descriptor. + * Load the KeyStore as described in the specified descriptor. */ private static KeyStore loadKeyStore( TrustStoreDescriptor descriptor) throws Exception { Index: src/java.base/share/classes/java/lang/String.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/java/lang/String.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/java/lang/String.java (date 1548627901252) @@ -2698,7 +2698,7 @@ * <p> * Otherwise, returns a substring of this string beginning with the first * code point that is not a {@link Character#isWhitespace(int) white space} - * up to to and including the last code point of this string. + * up to and including the last code point of this string. * <p> * This method may be used to trim * {@link Character#isWhitespace(int) white space} from Index: src/java.base/share/classes/jdk/internal/platform/Metrics.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/jdk/internal/platform/Metrics.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/jdk/internal/platform/Metrics.java (date 1548627900501) @@ -322,7 +322,7 @@ * Returns the largest amount of physical memory, in bytes, that * have been allocated in the Isolation Group. * - * @return The largest amount of memory in bytes or or 0 if this + * @return The largest amount of memory in bytes or 0 if this * metric is not available. * */ @@ -362,7 +362,7 @@ * Returns the largest amount of kernel physical memory, in bytes, that * have been allocated in the Isolation Group. * - * @return The largest amount of memory in bytes or or 0 if this + * @return The largest amount of memory in bytes or 0 if this * metric is not available. * */ @@ -402,7 +402,7 @@ * Returns the largest amount of networking physical memory, in bytes, * that have been allocated in the Isolation Group. * - * @return The largest amount of memory in bytes or or 0 if this + * @return The largest amount of memory in bytes or 0 if this * metric is not available. * */ @@ -442,7 +442,7 @@ * Returns the largest amount of physical memory and swap space, * in bytes, that have been allocated in the Isolation Group. * - * @return The largest amount of memory in bytes or or 0 if this + * @return The largest amount of memory in bytes or 0 if this * metric is not available. * */ Index: src/java.base/share/classes/java/lang/Object.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/java/lang/Object.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/java/lang/Object.java (date 1548627901176) @@ -430,7 +430,7 @@ * }</pre> * * @param timeoutMillis the maximum time to wait, in milliseconds - * @param nanos additional time, in nanoseconds, in the range range 0-999999 inclusive + * @param nanos additional time, in nanoseconds, in the range 0-999999 inclusive * @throws IllegalArgumentException if {@code timeoutMillis} is negative, * or if the value of {@code nanos} is out of range * @throws IllegalMonitorStateException if the current thread is not Index: src/java.base/share/classes/sun/security/util/ConstraintsParameters.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/sun/security/util/ConstraintsParameters.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/sun/security/util/ConstraintsParameters.java (date 1548627901022) @@ -37,7 +37,7 @@ * This class contains parameters for checking against constraints that extend * past the publicly available parameters in java.security.AlgorithmConstraints. - * This is currently on passed between between PKIX, AlgorithmChecker, + * This is currently on passed between PKIX, AlgorithmChecker, * and DisabledAlgorithmConstraints. */ public class ConstraintsParameters { Index: src/java.base/share/classes/java/util/SimpleTimeZone.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/java/util/SimpleTimeZone.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/java/util/SimpleTimeZone.java (date 1548627900673) @@ -310,7 +310,7 @@ * See the class description for the special cases of this parameter. * @param endDayOfWeek The daylight saving time ending day-of-week. * See the class description for the special cases of this parameter. - * @param endTime The daylight saving ending time in time time mode + * @param endTime The daylight saving ending time in time mode * specified by <code>endTimeMode</code>. * @param endTimeMode The mode of the end time specified by endTime * @param dstSavings The amount of time in milliseconds saved during Index: src/java.base/share/classes/sun/security/util/math/SmallValue.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/sun/security/util/math/SmallValue.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/sun/security/util/math/SmallValue.java (date 1548627900541) @@ -28,7 +28,7 @@ /** * A "small" value that can be used with the field arithmetic library. This * interface enables optimizations based on the fact that certain values are - * known to be small, where the definition of small is specific to the the + * known to be small, where the definition of small is specific to the * arithmetic implementation. */ Index: src/java.base/share/classes/java/lang/invoke/MethodHandle.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/java/lang/invoke/MethodHandle.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/java/lang/invoke/MethodHandle.java (date 1548627901076) @@ -1083,7 +1083,7 @@ * else if (makeVarargs) * return asVarargsCollector(type().lastParameterType()); * else - * return return asFixedArity(); + * return asFixedArity(); * }</pre></blockquote> * @param makeVarargs true if the return method handle should have variable arity behavior * @return a method handle of the same type, with possibly adjusted variable arity behavior Index: src/java.base/share/classes/sun/security/ssl/RenegoInfoExtension.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/sun/security/ssl/RenegoInfoExtension.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/sun/security/ssl/RenegoInfoExtension.java (date 1548627900928) @@ -145,7 +145,7 @@ if (!chc.conContext.isNegotiated) { if (chc.activeCipherSuites.contains( CipherSuite.TLS_EMPTY_RENEGOTIATION_INFO_SCSV)) { - // Using the the TLS_EMPTY_RENEGOTIATION_INFO_SCSV instead. + // Using the TLS_EMPTY_RENEGOTIATION_INFO_SCSV instead. return null; } Index: src/java.base/share/classes/sun/security/ssl/HandshakeHash.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/sun/security/ssl/HandshakeHash.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/sun/security/ssl/HandshakeHash.java (date 1548627901128) @@ -246,7 +246,7 @@ try { baos.writeTo(result.baos); } catch (IOException ex) { - throw new RuntimeException("unable to to clone hash state"); + throw new RuntimeException("unable to clone hash state"); } return result; } Index: src/java.base/share/classes/sun/security/ssl/SSLTransport.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/sun/security/ssl/SSLTransport.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/sun/security/ssl/SSLTransport.java (date 1548627900586) @@ -71,7 +71,7 @@ * destination application data buffers. * * For SSL/TLS connections, if no source data, the network data may be - * received from the underlying underlying SSL/TLS input stream. + * received from the underlying SSL/TLS input stream. * * @param context the transportation context * @param srcs an array of {@code ByteBuffers} containing the Index: src/java.base/share/classes/java/util/stream/WhileOps.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/java/util/stream/WhileOps.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/java/util/stream/WhileOps.java (date 1548627900792) @@ -658,7 +658,7 @@ // True if no splitting should be performed, if true then // this spliterator may be used for an underlying spliterator whose // covered elements have an encounter order - // See use in stream take/dropWhile default default methods + // See use in stream take/dropWhile default methods final boolean noSplitting; // True when operations are cancelled for all related spliterators // For taking, spliterators cannot split or traversed Index: src/java.base/share/classes/java/lang/invoke/VarHandle.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/java/lang/invoke/VarHandle.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/java/lang/invoke/VarHandle.java (date 1548627900836) @@ -2160,7 +2160,7 @@ * Construct a {@linkplain VarHandleDesc} given a kind, name, and declaring * class. * - * @param kind the kind of of the var handle + * @param kind the kind of the var handle * @param name the unqualified name of the field, for field var handles; otherwise ignored * @param declaringClass a {@link ClassDesc} describing the declaring class, * for field var handles @@ -2217,7 +2217,7 @@ /** * Returns a {@linkplain VarHandleDesc} corresponding to a {@link VarHandle} - * for for an array type. + * for an array type. * * @param arrayClass a {@link ClassDesc} describing the type of the array * @return the {@linkplain VarHandleDesc} Index: src/java.base/share/classes/javax/security/auth/callback/ConfirmationCallback.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/javax/security/auth/callback/ConfirmationCallback.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/javax/security/auth/callback/ConfirmationCallback.java (date 1548627900895) @@ -58,7 +58,7 @@ public static final int YES_NO_OPTION = 0; /** - * YES/NO/CANCEL confirmation confirmation option. + * YES/NO/CANCEL confirmation option. * * <p> An underlying security service specifies this as the * {@code optionType} to a {@code ConfirmationCallback} @@ -68,7 +68,7 @@ public static final int YES_NO_CANCEL_OPTION = 1; /** - * OK/CANCEL confirmation confirmation option. + * OK/CANCEL confirmation option. * * <p> An underlying security service specifies this as the * {@code optionType} to a {@code ConfirmationCallback} Index: src/java.base/share/classes/jdk/internal/access/SharedSecrets.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- src/java.base/share/classes/jdk/internal/access/SharedSecrets.java (revision 2fd909c73e16044cf2b92fa93ab996cd226edd9e) +++ src/java.base/share/classes/jdk/internal/access/SharedSecrets.java (date 1548627901204) @@ -77,7 +77,7 @@ public static JavaUtilJarAccess javaUtilJarAccess() { if (javaUtilJarAccess == null) { - // Ensure JarFile is initialized; we know that that class + // Ensure JarFile is initialized; we know that this class // provides the shared secret unsafe.ensureClassInitialized(JarFile.class); } Andrey Turbanov.