Whom would you cast?

Here's an interesting excercise. List actors that you would cast in the following roles:

Sherlock Holmes:

Dr. John H. Watson:

Professor James Moriarty:

Irene Adler:

Inspector Lestrade:

Mycroft Holmes:

Mrs Hudson:

Colonel Sebastian Moran:

Inspector Tobias Gregson:

Inspector Stanley Hopkins:

Inspector Athenley Jones:

Charles Augustus Milverton: