Attempts to get the Sorted View from an empty sketch will now fail
immediately, (as opposed to eventually).

The sorted View is set to null in reset();

Tests added to confirm.

This applies to Floats, Doubles and Items sketches.
diff --git a/src/main/java/org/apache/datasketches/kll/KllDoublesSketch.java b/src/main/java/org/apache/datasketches/kll/KllDoublesSketch.java
index a8308a0..183a15b 100644
--- a/src/main/java/org/apache/datasketches/kll/KllDoublesSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllDoublesSketch.java
@@ -278,6 +278,7 @@
   @Override
   @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "OK in this case.")
   public DoublesSortedView getSortedView() {
+    if (isEmpty()) { throw new SketchesArgumentException(EMPTY_MSG); }
     refreshSortedView();
     return kllDoublesSV;
   }
@@ -313,6 +314,7 @@
     setMinItem(Double.NaN);
     setMaxItem(Double.NaN);
     setDoubleItemsArray(new double[k]);
+    kllDoublesSV = null;
   }
 
   @Override
diff --git a/src/main/java/org/apache/datasketches/kll/KllFloatsSketch.java b/src/main/java/org/apache/datasketches/kll/KllFloatsSketch.java
index 69fd9da..6c60fac 100644
--- a/src/main/java/org/apache/datasketches/kll/KllFloatsSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllFloatsSketch.java
@@ -278,6 +278,7 @@
   @Override
   @SuppressFBWarnings(value = "EI_EXPOSE_REP", justification = "OK in this case.")
   public FloatsSortedView getSortedView() {
+    if (isEmpty()) { throw new SketchesArgumentException(EMPTY_MSG); }
     refreshSortedView();
     return kllFloatsSV;
   }
@@ -313,6 +314,7 @@
     setMinItem(Float.NaN);
     setMaxItem(Float.NaN);
     setFloatItemsArray(new float[k]);
+    kllFloatsSV = null;
   }
 
   @Override
diff --git a/src/main/java/org/apache/datasketches/kll/KllItemsSketch.java b/src/main/java/org/apache/datasketches/kll/KllItemsSketch.java
index e8c7f41..79fc0e3 100644
--- a/src/main/java/org/apache/datasketches/kll/KllItemsSketch.java
+++ b/src/main/java/org/apache/datasketches/kll/KllItemsSketch.java
@@ -241,6 +241,7 @@
 
   @Override
   public KllItemsSketchSortedView<T> getSortedView() {
+    if (isEmpty()) { throw new SketchesArgumentException(EMPTY_MSG); }
     refreshSortedView();
     return kllItemsSV;
   }
@@ -272,6 +273,7 @@
     setMinItem(null);
     setMaxItem(null);
     setItemsArray(new Object[k]);
+    kllItemsSV = null;
   }
 
   public byte[] toByteArray() {
diff --git a/src/test/java/org/apache/datasketches/kll/KllDoublesSketchTest.java b/src/test/java/org/apache/datasketches/kll/KllDoublesSketchTest.java
index b9622de..95986d5 100644
--- a/src/test/java/org/apache/datasketches/kll/KllDoublesSketchTest.java
+++ b/src/test/java/org/apache/datasketches/kll/KllDoublesSketchTest.java
@@ -612,6 +612,17 @@
     assertTrue(sk1.isSameResource(reg3));
   }
 
+  @Test
+  public void checkSortedViewAfterReset() {
+    KllDoublesSketch sk = KllDoublesSketch.newHeapInstance(20);
+    sk.update(1.0);
+    DoublesSortedView sv = sk.getSortedView();
+    double dsv = sv.getQuantile(1.0, INCLUSIVE);
+    assertEquals(dsv, 1.0);
+    sk.reset();
+    try { sk.getSortedView(); fail(); } catch (SketchesArgumentException e) { }
+  }
+
   private final static boolean enablePrinting = false;
 
   /**
diff --git a/src/test/java/org/apache/datasketches/kll/KllFloatsSketchTest.java b/src/test/java/org/apache/datasketches/kll/KllFloatsSketchTest.java
index b79dbfd..2a122c0 100644
--- a/src/test/java/org/apache/datasketches/kll/KllFloatsSketchTest.java
+++ b/src/test/java/org/apache/datasketches/kll/KllFloatsSketchTest.java
@@ -612,6 +612,17 @@
     assertTrue(sk1.isSameResource(reg3));
   }
 
+  @Test
+  public void checkSortedViewAfterReset() {
+    KllFloatsSketch sk = KllFloatsSketch.newHeapInstance(20);
+    sk.update(1.0f);
+    FloatsSortedView sv = sk.getSortedView();
+    float fsv = sv.getQuantile(1.0, INCLUSIVE);
+    assertEquals(fsv, 1.0f);
+    sk.reset();
+    try { sk.getSortedView(); fail(); } catch (SketchesArgumentException e) { }
+  }
+
   private final static boolean enablePrinting = false;
 
   /**
diff --git a/src/test/java/org/apache/datasketches/kll/KllItemsSketchTest.java b/src/test/java/org/apache/datasketches/kll/KllItemsSketchTest.java
index b11efe8..0913f46 100644
--- a/src/test/java/org/apache/datasketches/kll/KllItemsSketchTest.java
+++ b/src/test/java/org/apache/datasketches/kll/KllItemsSketchTest.java
@@ -39,6 +39,7 @@
 import org.apache.datasketches.memory.DefaultMemoryRequestServer;
 import org.apache.datasketches.memory.Memory;
 import org.apache.datasketches.memory.WritableMemory;
+import org.apache.datasketches.quantilescommon.DoublesSortedView;
 import org.apache.datasketches.quantilescommon.GenericSortedView;
 import org.apache.datasketches.quantilescommon.GenericSortedViewIterator;
 import org.testng.annotations.Test;
@@ -737,6 +738,17 @@
     try { sk2.setN(0); fail(); } catch (SketchesArgumentException e) { }
   }
 
+  @Test
+  public void checkSortedViewAfterReset() {
+    KllItemsSketch<String> sk = KllItemsSketch.newHeapInstance(20, Comparator.naturalOrder(), serDe);
+    sk.update("1");
+    GenericSortedView<String> sv = sk.getSortedView();
+    String ssv = sv.getQuantile(1.0, INCLUSIVE);
+    assertEquals(ssv, "1");
+    sk.reset();
+    try { sk.getSortedView(); fail(); } catch (SketchesArgumentException e) { }
+  }
+
 
   private final static boolean enablePrinting = false;