internal static DxfColor smethod_10(CloneContext cloneContext, DxfColor from) { if (from == null) { return((DxfColor)null); } if (cloneContext.SourceModel == cloneContext.TargetModel) { return(from); } DxfColor dxfColor1 = (DxfColor)null; if (!string.IsNullOrEmpty(from.Color.Name)) { dxfColor1 = (DxfColor)cloneContext.GetExistingClone((IGraphCloneable)from) ?? cloneContext.TargetModel.Colors.GetColor(from.Color.ColorBookName, from.Color.Name); if (dxfColor1 == null) { switch (cloneContext.ReferenceResolutionType) { case ReferenceResolutionType.CloneMissing: DxfColor dxfColor2 = (DxfColor)from.Clone(cloneContext); if (!cloneContext.CloneExact) { cloneContext.TargetModel.Colors.Add(dxfColor2); } dxfColor1 = dxfColor2; break; case ReferenceResolutionType.FailOnMissing: throw new DxfException(string.Format("Could not resolve reference to color with book name {0} and name {1}", (object)from.Color.ColorBookName, (object)from.Color.Name)); } } } return(dxfColor1); }