private void doFlatten(List acc) { for (int i=0; i<m_size; ++i) { object item = m_values[i]; if (item is List) ((List)item).doFlatten(acc); else acc.add(item); } }