Issue 559: NullPointerException when @NonNull is used in abstract method
- Prevent NPE in javac and give a proper warning in both eclipse and javac
- Add test cases