Queue<ViewModel> modelsToIterate = new LinkedList<>();
modelsToIterate.add(viewModel);
while (modelsToIterate.size() > 0)
{
ViewModel model = modelsToIterate.poll();
wiresIncludingSubmodels.addAll(model.getWiresByName().values());
Queue<ViewModel> modelsToIterate = new LinkedList<>();
modelsToIterate.add(viewModel);
while (modelsToIterate.size() > 0)
{
ViewModel model = modelsToIterate.poll();
wiresIncludingSubmodels.addAll(model.getWiresByName().values());