Error prevention, Help users recognize, diagnose, and
recover from errors, and User control and freedom: As
discussed previously, Case 1 actually creates a compilation
error. In Corollary 1.3, both languages create future program
errors. Without even a warning at compile time, users can
create and distribute an unstable product with a built-in failure
mechanism. Even in Case 3, where Eclipse supports automatic
generation of the method signature in ITool, it does so only in
response to an error message created by the @Override
annotation. Unlike Rename, the New Method tool seems to
create errors and force developers to resolve them manually as
a standard mode of operation.