private void addLifeCycleReference(Reference reference, boolean automaticRemove) { Facet target = reference.getTarget(); ContentClient contentClient = MeemSystemWedge.getContentClientFromTarget(target); if (target instanceof LifeCycleClient) { if (reference.isContentRequired()) { LifeCycleClient lifeCycleClient = (LifeCycleClient) target; lifeCycleClient.lifeCycleStateChanged(lastTransition); } contentClient.contentSent(); if (!automaticRemove) { getLifeCycleClientRefs() .put(reference, (RequestStack) RequestTracker.getRequestStack().clone()); } } else { contentClient.contentFailed("Target must be of type: " + LifeCycleClient.class); } getClient().startResolving(); // this needs to be done }