@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(getContentView());

    actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);

    initComp();

    controller = newControllerInstance(this);

    Intent i = getIntent();
    if (i == null) {
      throw new IllegalArgumentException(getString(R.string.intentNaoInformada));
    }

    String o = i.getStringExtra(Operacao.asString());
    if (o == null) {
      throw new IllegalArgumentException(getString(R.string.operacaoNaoInformada));
    }

    setOperacao(Operacao.parse(o));
    if (operacao == Operacao.INSERIR) {
      obj = newEntityInstance();
    } else {
      obj = i.getParcelableExtra(ENTITY);
    }

    if (obj == null) {
      throw new IllegalArgumentException(getString(R.string.entidadeNaoDefinida));
    }

    onControlScreen(operacao);
    onDataToScreen(operacao, obj);
    setResult(RESULT_CANCELED);
  }