package foo; import javax.annotation.*; enum TestNonnull { TEST { @Nonnull @Override public Object testWithAnnotation(@Nonnull Object aObject) { if (aObject == null) { return new Object(); } return null; } @Override public Object testWithoutAnnotation(Object aObject) { return null; } }; public boolean testParameter(TestNonnull aTest) { if (aTest == null) { return true; } return false; } public Object testReturn() { return null; } @Nonnull public abstract Object testWithAnnotation(@Nonnull Object aObject); public abstract Object testWithoutAnnotation(Object aObject); }