@Override
  public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    activityHelper.onCreate(this, savedInstanceState);

    final Bundle bundle;

    final Intent intent = getIntent();
    if (intent != null) {
      bundle = intent.getExtras();
    } else {
      bundle = null;
    }

    final CalculatorFragmentType fragmentType = CalculatorFragmentType.functions;

    for (FunctionCategory category : FunctionCategory.getCategoriesByTabOrder()) {
      final AndroidFunctionCategory androidCategory = AndroidFunctionCategory.valueOf(category);
      if (androidCategory != null) {

        final Bundle fragmentParameters;

        if (category == FunctionCategory.my && bundle != null) {
          AbstractMathEntityListFragment.putCategory(bundle, category.name());
          fragmentParameters = bundle;
        } else {
          fragmentParameters = AbstractMathEntityListFragment.createBundleFor(category.name());
        }

        activityHelper.addTab(
            this,
            fragmentType.createSubFragmentTag(category.name()),
            fragmentType.getFragmentClass(),
            fragmentParameters,
            androidCategory.getCaptionId(),
            R.id.main_layout);
      } else {
        Log.e(
            CalculatorFunctionsActivity.class.getSimpleName(),
            "Unable to find android function category for " + category);
      }
    }
  }