merge from master

sync with icsharpcode