Create GameObject as Child by Editor

I have this little EditorWindow were you can Add GameObjects. And they need to be created as a Child from another GameObject called TRACK, this one is already created. But when I hit the Button in the EditorWindow, 2 GameObjects will be created, one as a Child from TRACK (but not with the recommended Script attached) and another not as the Child and with that Script. Here is my Code:
void OnGUI()
if (GUILayout.Button(“Add Track Segment”))

    GameObject CreateEndPoint(int _order)
        m_EP_List_GameObjectNames = "EP_" + (m_EP_List.Count);

        GameObject _ep;
        Instantiate(_ep = new GameObject(m_EP_List_GameObjectNames),, m_Rotation, m_Track.transform);


        return _ep;

So how can I Instantiate the GameObject with that Code as Child from TRACK?

Hello @VKirschbaum !

To create a Gameobject named GOCreated , from a GameObject Prefab called GOPrefab and move it as child of another GameObject named GOOther, you need to do declare them, and then do this:

GOCreated = (GameObject) Instantiate (GOPrefab, Vector3Position, QuaternionRotation);
GOCreated.transform.parent = GOOther.transform;

If this dont help, ask me more with @tormentoarmagedoom !