@Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   presenterHolder = PresenterHolder.createHolder(this);
   presenterHolder.init(savedInstanceState);
   getPresenter().attach(this);
 }
 @Override
 public void onDestroy() {
   super.onDestroy();
   if (isFinishing()) {
     presenterHolder.onDestroy();
   }
 }
 @Override
 public void onSaveInstanceState(Bundle outState) {
   super.onSaveInstanceState(outState);
   presenterHolder.saveState(outState);
 }
 public P getPresenter() {
   return presenterHolder.getPresenter();
 }