diff --git a/java/core/src/main/java/com/google/protobuf/GeneratedMessageV3.java b/java/core/src/main/java/com/google/protobuf/GeneratedMessageV3.java
index 2a5d8b50b7..fd051e751d 100644
--- a/java/core/src/main/java/com/google/protobuf/GeneratedMessageV3.java
+++ b/java/core/src/main/java/com/google/protobuf/GeneratedMessageV3.java
@@ -866,6 +866,7 @@ public abstract class GeneratedMessageV3 extends AbstractMessage
 
     /** Check if a singular extension is present. */
     @Override
+    @SuppressWarnings("unchecked")
     public final <Type> boolean hasExtension(final ExtensionLite<MessageType, Type> extensionLite) {
       Extension<MessageType, Type> extension = checkNotLite(extensionLite);
 
@@ -875,6 +876,7 @@ public abstract class GeneratedMessageV3 extends AbstractMessage
 
     /** Get the number of elements in a repeated extension. */
     @Override
+    @SuppressWarnings("unchecked")
     public final <Type> int getExtensionCount(
         final ExtensionLite<MessageType, List<Type>> extensionLite) {
       Extension<MessageType, List<Type>> extension = checkNotLite(extensionLite);
@@ -2219,6 +2221,7 @@ public abstract class GeneratedMessageV3 extends AbstractMessage
       }
 
       @Override
+      @SuppressWarnings("unchecked")
       public Object get(GeneratedMessageV3 message) {
         List result = new ArrayList();
         for (int i = 0; i < getRepeatedCount(message); i++) {
@@ -2228,6 +2231,7 @@ public abstract class GeneratedMessageV3 extends AbstractMessage
       }
 
       @Override
+      @SuppressWarnings("unchecked")
       public Object get(Builder builder) {
         List result = new ArrayList();
         for (int i = 0; i < getRepeatedCount(builder); i++) {