This is an old revision of the document!
At runtime (program execution), DCI is about attaching and detaching RoleMethods to objects. This makes it tricky to implement DCI in any statically typed language, however many of those languages have features to make it look like a type has other member methods than what's defined in its class or structure:
Unfortunately Java has nothing similar to those features, making a true DCI implementation impossible in the current version of the language. All is not lost however, both Scala and Qi4j generates Java object code and has a fully working DCI implementation. Check the Existing DCI Implementations page for links.