public static HoconImmutableElement ToHoconImmutable(this IHoconElement element) { switch (element) { case HoconObject o: return(o.ToHoconImmutable()); case HoconArray a: return(a.ToHoconImmutable()); case HoconLiteral l: return(l.ToHoconImmutable()); case HoconValue v: return(v.ToHoconImmutable()); case HoconField f: return(f.ToHoconImmutable()); default: throw new HoconException($"Unknown Hocon element type:{element.GetType().Name}"); } }