Assessment { public static <T, V> Assessment<T, V> makeOverlaps(V zero) { return new Assessment<>(zero, false, SpatialRelation.OVERLAPS, null); } private  Assessment(V estimate, boolean potentialOverSelectivity,
      SpatialRelation outcome, T filter); static Assessment<T, V> makeDisjoint(V gapEstimate); static Assessment<T, V> makeOverlaps(V zero); static Assessment<T, V> makeCovered(
    T coverFilter, boolean overSelectivityPossible, V zero); SpatialRelation getOutcome(); V getEstimate(); T getFilter(); boolean isPotentialOverSelectivity(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }
@Test public void makeOverlaps() { Assessment<Void, Integer> assessment = Assessment.makeOverlaps(0); Assert.assertSame(SpatialRelation.OVERLAPS, assessment.getOutcome()); }