public ClosedSymbolBase WithFrame(IScatterSymbolFrame frame, bool?isInfluencedByPlotColor) { if (object.ReferenceEquals(_frame, frame) && (!isInfluencedByPlotColor.HasValue || _plotColorInfluence.HasFlag(PlotColorInfluence.FrameColorFull) == isInfluencedByPlotColor.Value)) { return(this); } else { var result = (ClosedSymbolBase)MemberwiseClone(); result._frame = frame; if (isInfluencedByPlotColor.HasValue) { result._plotColorInfluence = result._plotColorInfluence.WithFlag(PlotColorInfluence.FrameColorFull, isInfluencedByPlotColor.Value); } return(result); } }