Now Java Model updates on the fly at source editing, whereas CDI validator works with CDI model built with the last saved state. That means that some objects of Java model stored in CDI model may get obsolete while validation is in progress.
One of possible cases:
EXECUTE: Add producer to a bean
@Produces String getName(String s) { return null; }
EXECUTE: Select and delete argument 'String s'.
EXECUTE: Use Ctrl+Z Ctrl+S Ctrl+Y Ctrl+S several times.
FAILURE: Java Model Exception 'getName(String) ... does not exist'.
Proposed fix. As we will keep to updating CDI model during build of last saved state, CDI model objects need to be able to answer if they exist or not, and validator and other clients should check existence before accessing the object.