/** Registers av given view to the navigator and adds it to the NavBar */ private void addView(Class<? extends View> viewClass) { ViewConfig viewConfig = viewClass.getAnnotation(ViewConfig.class); switch (viewConfig.createMode()) { case ALWAYS_NEW: navigator.addView(viewConfig.uri(), viewClass); break; case LAZY_INIT: navigator.addProvider(new LazyProvider(viewConfig.uri(), viewClass)); break; case EAGER_INIT: try { navigator.addView(viewConfig.uri(), viewClass.newInstance()); } catch (Exception e) { e.printStackTrace(); } } navBar.addView(viewConfig.uri(), viewConfig.displayName()); }