https://timesnewgeek.blogspot.com/2012/06/wtf-docking-ejection.html