@Override
    public final void setContext(ElementContext context) {
        this.context = context;

        initializer.initializeFields(context);

        onSetContext();
    }
@ Override public final void setContext ( ElementContext context ) { this . context = context ; initializer . initializeFields ( context ) ; onSetContext ( ) ; }
In AbstractView, setContext triggers some helpful initializations:
<ul>
<li>If a field is annotated with {@link Context}, then the context parameter will be casted
and assigned to that field. If the context does not implement that fields type, a
{@link ClassCastException} will be thrown.</li>
<li>If there are fields that implement {@link com.redhat.darcy.ui.api.HasElementContext},
then they were created in such a way that they do not know about their owning View and,
therefore, ElementContext. When setContext is called, LazyElements will get the context
assigned to them.</li>
<li>Calls {@link #onSetContext()} so that implementations of AbstractView may provide their
own initializations that depend on the context, as necessary.</li>
</ul>