diff --git a/src/main/java/org/apache/datasketches/sampling/VarOptItemsSamples.java b/src/main/java/org/apache/datasketches/sampling/VarOptItemsSamples.java
index 24614fe..19e57bc 100644
--- a/src/main/java/org/apache/datasketches/sampling/VarOptItemsSamples.java
+++ b/src/main/java/org/apache/datasketches/sampling/VarOptItemsSamples.java
@@ -46,6 +46,7 @@
  *
  * @author Jon Malkin
  */
+@SuppressWarnings("synthetic-access")
 public class VarOptItemsSamples<T> implements Iterable<VarOptItemsSamples<T>.WeightedSample> {
 
   final VarOptItemsSketch<T> sketch_;
diff --git a/src/main/java/org/apache/datasketches/tuple/AnotB.java b/src/main/java/org/apache/datasketches/tuple/AnotB.java
index a7fe752..dd46a2e 100644
--- a/src/main/java/org/apache/datasketches/tuple/AnotB.java
+++ b/src/main/java/org/apache/datasketches/tuple/AnotB.java
@@ -324,6 +324,7 @@
     S[] summaryArr;
   }
 
+  @SuppressWarnings("synthetic-access")
   private static <S extends Summary> DataArrays<S> getDataArraysA(final Sketch<S> skA) {
     final CompactSketch<S> cskA;
     final DataArrays<S> da = new DataArrays<>();
@@ -339,7 +340,7 @@
     return da;
   }
 
-  @SuppressWarnings("unchecked")
+  @SuppressWarnings({ "unchecked", "synthetic-access" })
   private static <S extends Summary> DataArrays<S> getResultArraysTuple(
       final long minThetaLong,
       final int countA,
@@ -385,7 +386,7 @@
   }
 
 
-  @SuppressWarnings("unchecked")
+  @SuppressWarnings({ "unchecked", "synthetic-access" })
   private static <S extends Summary> DataArrays<S> getResultArraysTheta(
       final long minThetaLong,
       final int countA,
diff --git a/src/main/java/org/apache/datasketches/tuple/Intersection.java b/src/main/java/org/apache/datasketches/tuple/Intersection.java
index 109a09b..f03000f 100644
--- a/src/main/java/org/apache/datasketches/tuple/Intersection.java
+++ b/src/main/java/org/apache/datasketches/tuple/Intersection.java
@@ -317,6 +317,7 @@
 
     HashTables() { }
 
+    @SuppressWarnings("synthetic-access")
     void fromSketch(final Sketch<S> sketch) {
       count_ = sketch.getRetainedEntries();
       lgTableSize_ = getLgTableSize(count_);
@@ -335,6 +336,7 @@
       }
     }
 
+    @SuppressWarnings("synthetic-access")
     void fromSketch(final org.apache.datasketches.theta.Sketch sketch, final S summary) {
       count_ = sketch.getRetainedEntries(true);
       lgTableSize_ = getLgTableSize(count_);
@@ -354,6 +356,7 @@
     }
 
 
+    @SuppressWarnings("synthetic-access")
     void fromArrays(final long[] hashArr, final S[] summaryArr, final int count) {
       count_ = count;
       lgTableSize_ = getLgTableSize(count);
