I am looking for serious responses so if you're looking for pun please find other threads.

I work for a large consulting company and I consider myself pretty senior in .NET. I am well familiar with OOP languages.

Lately, All we seem to be getting are Java projects. What I do not understand what is it you can do in Java that you can't in .NET? How come Java is in such hot demand.

If I were to start learning Java (I am not total dumb in its syntax, its similar to C++ somewhat) I do not even know where to start as there is so much to it.

Any suggestions?