Here is the definition of a member of ICommand : <http://msdn.microsoft.com/en-us/library/system.windows.input.icommand.execute.aspx>

The signature is: 

```

void Execute(
    Object parameter
)

```

It is implemented by RoutedCommand with the following signature ( <http://msdn.microsoft.com/en-us/library/system.windows.input.routedcommand.execute.aspx> ) : 

```

public void Execute(
    Object parameter,
    IInputElement target
)

```

How can RoutedCommand Implement ICommand with an extra argument (IInputElement) in a member function?