private void SetReferenceValue <T>(ref IReference <T> reference, IReference <T> value) { if (reference != null) { reference.Detach(component); } if (value != null) { value.Attach(component); } reference = value; }