CSharpJavaMerger is an open source tool that enables you to write one set of code which can be used both by C# and Java. CSharpJavaMerger provides common interfaces that can be used both by C# and Java.
http://www.kevingao.net/csharp-java-conversion