### Question:
Tuple { private Tuple(Object... values) { this.values = values; } private  Tuple(Object... values);  Tuple(int size); static Tuple of(Object... values); static Tuple fromStruct(Object struct); int size(); Object get(int index); void set(int index, T value); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test public void testTuple() { Tuple tuple = new Tuple(3); String str = new String("plafbim"); Integer i = new Integer(42); Boolean b = new Boolean(true); try { tuple.<String>set(0, str); } catch (Exception e) { fail("Exception must not be thrown (string)"); } try { tuple.<Integer>set(1, i); } catch (Exception e) { fail("Exception must not be thrown (integer)"); } try { tuple.<Boolean>set(2, b); } catch (Exception e) { fail("Exception must not be thrown (boolean)"); } }