It may have been true a couple of years ago that Microsoft could've coopted Java if it was Open Source. But Sun is way behind the times. Sun won the legal battle and MS can not change Java to suit their needs. Instead of coopting Java from within, Microsoft has shifted all of its energy to .NET, the CLR and C#.
If Sun is still worried about MS changing Java, then I suggest they don't have a clue how MS intends to fight Java at this stage. Notice how C# has been handed to the standards committee. Notice how MS is dropping Java as a standard installed component. Instead of changing Java, MS is bent on replacing it, using multi-language support and open standards as the calling card.
I think it's high time that Sun got off its ass and open sourced Java. Continuing the anthems of years past just means that Sun doesn't have a clue where the battle lines have been drawn. They are still fighting WWI trench warfare, and just don't see the geopolotical nature of software standards in the modern arena.