How to instantiate Object to specific location?

I have this code:

private void PopulateServerEntities()
    var globals = FindObjectOfType<GlobalAssets>();
    var npc = Instantiate<GameObject>(globals.NetworkEntityStatePrototype);
    var chest = Instantiate<GameObject>(globals.NetworkEntityStatePrototype);

    npc.GetComponent<NetworkEntityState>().PrefabType = PrefabType.Npc;
	chest.GetComponent<NetworkEntityState>().PrefabType = PrefabType.Chest;


And would like to spawn the chest object at 10, 10, 10 so I used

var chest = Instantiate<GameObject>(globals.NetworkEntityStatePrototype, new Vector3(10, 10, 10), Quaternion.identity);

But it just doesn’t work, the object is still at 0, 0, 0

Is there anything wrong with this approach?

I think you should do that:

var chest = Instantiate(globals.NetworkEntityStatePrototype, new Vector3(10, 10, 10), Quaternion.identity) as GameObject;