Java 64 Bits Windows 7 Professional

The example ICommand you give is rather limited and is only of real use in a programming language that does not have lambda expressions. Sprinter covers this well in his answers showing the use of command factories.