private bool SelectCurveIfExists <TValue>(IComputeCurve <TValue> computeCurve) where TValue : struct { var curveNode = Session.AssetNodeContainer.GetNode(computeCurve); if (curveNode == null) { return(false); } var curve = Curves.OfType <CurveViewModelBase <TValue> >().FirstOrDefault(c => c.CurveId == curveNode.Guid); if (curve == null) { return(false); } SelectedCurve = curve; return(true); }