ideally, we would initiate connection, call VirtualMachine.Version(), load the appropriate spec, and give best effort support of all features. ideally backward incompatible features (ie, those that rely on later vm spec like generics in 5) need not expressly acknowledge backward incompatibility. it may be the case that post-java-5, this is much ado about nothing (or very little). then again, debugging legacy code sucks and there's probably plenty of stuff out there running on an older vm and it would be cool if folks could use this tool to make that drudgery a bit more "fun".
ideally, we would initiate connection, call VirtualMachine.Version(), load the appropriate spec, and give best effort support of all features. ideally backward incompatible features (ie, those that rely on later vm spec like generics in 5) need not expressly acknowledge backward incompatibility. it may be the case that post-java-5, this is much ado about nothing (or very little). then again, debugging legacy code sucks and there's probably plenty of stuff out there running on an older vm and it would be cool if folks could use this tool to make that drudgery a bit more "fun".