@Test
 public void testJoinInterface2() {
   Stamp bExact = StampFactory.exactNonNull(getType(B.class));
   Stamp i = StampFactory.declaredTrusted(getType(I.class));
   Stamp join = join(i, bExact);
   Assert.assertEquals(StampFactory.illegal(Kind.Object), join);
 }
 @Test
 public void testJoinInterface1() {
   Stamp aNonNull = StampFactory.declaredNonNull(getType(A.class));
   Stamp i = StampFactory.declaredTrusted(getType(I.class));
   Stamp join = join(aNonNull, i);
   Assert.assertTrue(join instanceof ObjectStamp);
   Assert.assertTrue(((ObjectStamp) join).nonNull());
 }
 @Test
 public void testJoinInterface0() {
   Stamp a = StampFactory.declared(getType(A.class));
   Stamp i = StampFactory.declaredTrusted(getType(I.class));
   Assert.assertNotSame(StampFactory.illegal(Kind.Object), join(a, i));
 }