if (f != null && f._prev == null && f._revision == _revision)
if (f != null && f._revision == _revision)
    public Iterator getFields()    {        return new Iterator()        {            int i = 0;            Field field = null;            public boolean hasNext()            {                if (field != null) return true;                while (i < _fields.size())                {                    Field f = (Field) _fields.get(i++);                    if (f != null && f._prev == null && f._revision == _revision)                    {                        field = f;                        return true;                    }                }                return false;            }            public Object next()            {                if (field != null || hasNext())                {                    final Field f = field;                    field = null;                    return f;                }                throw new NoSuchElementException();            }            public void remove()            {                throw new UnsupportedOperationException();            }        };    }