### Question:
Interval implements Comparable<Interval>, IntervalType<Interval>, PioSerializable { public ParamSet getParamSet(PioFactory factory, String name) { ParamSet params = factory.createParamSet(name); Pio.addLongParam(factory, params, PROP_START, start); Pio.addLongParam(factory, params, PROP_END, end); return params; } Interval(long start, long end);  Interval(ParamSet params); Interval getInterval(); boolean contains(final long value); final boolean overlaps(final IntervalType<?> interval, final  Overlap overlap); boolean abuts(final IntervalType<?> interval); Interval plus(final IntervalType<?> other); Interval minus(final IntervalType<?> other); int compareTo(Interval o); @Override boolean equals(Object obj); boolean equals(long start, long end); @Override int hashCode(); @Override String toString(); long getEnd(); long getStart(); long getMiddlePoint(); long getLength(); Interval create(long start, long end); ParamSet getParamSet(PioFactory factory, String name);  }### Answer:
@Test public void testPio() { PioFactory fact = new PioXmlFactory(); Interval a = new Interval(10, 20); ParamSet params = a.getParamSet(fact, "test"); Interval b = new Interval(params); assertEquals(a, b); }