public AbstractAliasControllerContext(Object alias, String id, Object original, ControllerContextActions actions) { super(alias + "_Alias_" + id, actions); if (alias == null) throw new IllegalArgumentException("Null alias"); if (id == null) throw new IllegalArgumentException("Null id"); if (original == null) throw new IllegalArgumentException("Null original"); this.alias = alias; this.original = original; DependencyInfo info = getDependencyInfo(); info.addIDependOn(new AbstractDependencyItem(getName(), original, ControllerState.INSTALLED, ControllerState.INSTANTIATED)); }