### Question:
PotentialAnnotation { public PotentialAnnotation annotatedWith(Class<? extends Annotation> annotationType) { throw annotationAlreadyPresent(); } private  PotentialAnnotation(); static PotentialAnnotation none(); static PotentialAnnotation from(Key<?> key); PotentialAnnotation annotatedWith(Class<? extends Annotation> annotationType); PotentialAnnotation annotatedWith(Annotation annotation); abstract boolean hasAnnotation(); Key<T> getKey(Class<T> type); abstract Key<T> getKey(TypeLiteral<T> type); abstract T accept(Visitor<T> visitor); @Override abstract boolean equals(Object o); @Override abstract int hashCode(); @Override abstract String toString();  }### Answer:
@Test(expected = CreationException.class) public void testInvalidAnnotatedWithType() { none.annotatedWith(Simple.class) .annotatedWith(Simple.class); }
@Test(expected = CreationException.class) public void testInvalidAnnotatedWithInstance() { none.annotatedWith(nameAnnotation) .annotatedWith(nameAnnotation); }