RangeEdgePartition extends RangePartition { @Override public RangeEdgePartition clone() throws CloneNotSupportedException { return (RangeEdgePartition)super.clone(); } RangeEdgePartition(String label, long value, int lower, int upper); long getValue(); int getLowerBound(); int getUpperBound(); @Override RangeEdgePartition clone(); @Override int hashCode(); @Override boolean equals(Object obj); long encodeBounds();  }
@Test public void requireThatCloneIsImplemented() throws CloneNotSupportedException { RangeEdgePartition node1 = new RangeEdgePartition("foo=10", 10, 0, 0); RangeEdgePartition node2 = node1.clone(); assertEquals(node1, node2); assertNotSame(node1, node2); }