AbstractSequentialIterator.java 944 Bytes
package com.google.common.collect;

import com.google.common.annotations.GwtCompatible;
import java.util.NoSuchElementException;
import javax.annotation.Nullable;

@GwtCompatible
public abstract class AbstractSequentialIterator<T>
  extends UnmodifiableIterator<T>
{
  private T a;
  
  protected AbstractSequentialIterator(@Nullable T paramT)
  {
    this.a = paramT;
  }
  
  public abstract T computeNext(T paramT);
  
  public final boolean hasNext()
  {
    return this.a != null;
  }
  
  public final T next()
  {
    if (!hasNext()) {
      throw new NoSuchElementException();
    }
    try
    {
      Object localObject1 = this.a;
      return (T)localObject1;
    }
    finally
    {
      this.a = computeNext(this.a);
    }
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/com/google/common/collect/AbstractSequentialIterator.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */