private void SetStartVccGndConnections(int curPrior)
        {
            int middleLine = Layers.metal1Trace;

            if (Params.IsModelBusM2InMiddle())
            {
                middleLine = Layers.metal2Trace;
            }
            else if (Params.IsModelWithDif())
            {
                SetStartVccGndWithDiff(curPrior);
                return;
            }
            if (processNode.name == Params.GndName)
            {
                for (int i = 0; i < processNode.arcCollection.Count; i++)
                {
                    trace.SetPinSource(trace.GetSourceContacts(processNode.arcCollection[i], processNode.name));

                    ContactSimple transistorPoint = processNode.arcCollection[i].GetHigherPoint(2);
                    if (processNode.arcCollection[i].y > Params.GndPosition)
                    {
                        transistorPoint = processNode.arcCollection[i].GetLowerPoint(2);
                    }

                    if (!processNode.arcCollection[i].isInOut())
                    {
                        trace.SetLine(new LineStruct(transistorPoint,
                                                     new ContactSimple(processNode.arcCollection[i].x, Params.GndPosition, Layers.metal1Trace)),
                                      processNode.name, curPrior, 0, false);
                    }
                }

                trace.SetLine(new LineStruct(new PairInt(Params.leftEdge, Params.GndPosition),
                                             new ContactSimple(wide - 1, Params.GndPosition, middleLine)),
                              processNode.name, curPrior, 0, true);
            }
            if (processNode.name == Params.VccName)
            {
                for (int i = 0; i < processNode.arcCollection.Count; i++)
                {
                    trace.SetPinSource(trace.GetSourceContacts(processNode.arcCollection[i], processNode.name));

                    ContactSimple transistorPoint = processNode.arcCollection[i].GetHigherPoint(2);
                    if (processNode.arcCollection[i].y > Params.VccPosition)
                    {
                        transistorPoint = processNode.arcCollection[i].GetLowerPoint(2);
                    }

                    if (!processNode.arcCollection[i].isInOut())
                    {
                        trace.SetLine(new LineStruct(transistorPoint,
                                                     new ContactSimple(processNode.arcCollection[i].x, Params.VccPosition, Layers.metal1Trace)),
                                      processNode.name, curPrior, 0, false);
                    }
                }

                trace.SetLine(new LineStruct(new PairInt(Params.leftEdge, Params.VccPosition),
                                             new ContactSimple(wide - 1, Params.VccPosition, middleLine)),
                              processNode.name, curPrior, 0, true);
            }
        }