using Mammoth.Couscous.java.util; using System; namespace Mammoth.Couscous.org.zwobble.mammoth.@internal.util { internal static class Queues { internal static Queue stack() { return new Stack(); } } internal class Stack : Queue { private readonly System.Collections.Generic.IList _stack = new System.Collections.Generic.List(); public Iterator iterator() { return ToJava.EnumeratorToIterator(_stack.GetEnumerator()); } public void add(T value) { _stack.Add(value); } public bool isEmpty() { return _stack.Count == 0; } public T remove() { var index = _stack.Count - 1; var value = _stack[index]; _stack.RemoveAt(index); return value; } } }