import java.util.Stack;
class ReorderStack<T> extends Stack<T>
{
public T push(T paramT)
{
Object localObject;
if (!contains(paramT))
{
localObject = super.push(paramT);
return localObject;
}
for (int i = -1 + size(); ; i--)
if (i >= 0)
{
if (paramT.equals(get(i)))
remove(i);
}
else
{
int j = size();
if ((i >= 1) && (i < j) && (get(i - 1).equals(get(i))))
remove(i);
localObject = super.push(paramT);
break;
}
}