At an internal code review today, it occurred to me that generic auto-completion functionality, as provided by common IDEs, is probably a Bad Thing. The tendency is to type something like FooB and then tap C-space and pick the first reasonable choice, but it is entirely possible that there are semantically different (but even otherwise identical) FooBar interfaces out there. (Like parentheses, interfaces are free, and achieving clarity at the expense of a little bit of typing is preferable to overloading the role of an interface.)To my dream of an Ant-integrated IDE (not IDE-integrated Ant: see 2003-04-18), I'll add the capability to have policy-driven auto-completion that can enforce the semantic differences between the roles that different interfaces and methods are expected to play. One possibility would be to specify the policies by means of annotations, but I haven't thought that through thoroughly yet…