public static IdentifiedObject Create(ResourceDescription rd, bool forceProperties = false)
        {
            IdentifiedObject io = null;

            switch (ModelCodeHelper.GetTypeFromGID(rd.Id))
            {
            case DMSType.ACLineSegment:
                io = new ACLineSegment();
                break;

            case DMSType.Analog:
                io = new Analog();
                break;

            case DMSType.BaseVoltage:
                io = new BaseVoltage();
                break;

            case DMSType.Breaker:
                io = new Breaker();
                break;

            case DMSType.ConnectivityNode:
                io = new ConnectivityNode();
                break;

            case DMSType.Disconnector:
                io = new Disconnector();
                break;

            case DMSType.Discrete:
                io = new Discrete();
                break;

            case DMSType.DistributionGenerator:
                io = new DistributionGenerator();
                break;

            case DMSType.EnergyConsumer:
                io = new EnergyConsumer();
                break;

            case DMSType.EnergySource:
                io = new EnergySource();
                break;

            case DMSType.PowerTransformer:
                io = new PowerTransformer();
                break;

            case DMSType.RatioTapChanger:
                io = new RatioTapChanger();
                break;

            case DMSType.Recloser:
                io = new Recloser();
                break;

            case DMSType.Terminal:
                io = new Terminal();
                break;

            case DMSType.TransformerWinding:
                io = new TransformerWinding();
                break;

            default:
                return(null);
            }

            io.GID = rd.Id;

            foreach (Property p in rd.Properties.Values)
            {
                io.SetProperty(p, forceProperties);
            }

            return(io);
        }
 public IdentifiedObject(IdentifiedObject io)
 {
     GID  = io.GID;
     Name = io.Name;
     MRID = io.MRID;
 }