.class public abstract Lm/b$e;
.super Ljava/lang/Object;
.source ""

# interfaces
.implements Ljava/util/Iterator;
.implements Lm/b$f;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lm/b;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x409
    name = "e"
.end annotation

.annotation system Ldalvik/annotation/Signature;
    value = {
        "<K:",
        "Ljava/lang/Object;",
        "V:",
        "Ljava/lang/Object;",
        ">",
        "Ljava/lang/Object;",
        "Ljava/util/Iterator<",
        "Ljava/util/Map$Entry<",
        "TK;TV;>;>;",
        "Lm/b$f<",
        "TK;TV;>;"
    }
.end annotation


# instance fields
.field public r:Lm/b$c;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lm/b$c<",
            "TK;TV;>;"
        }
    .end annotation
.end field

.field public s:Lm/b$c;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lm/b$c<",
            "TK;TV;>;"
        }
    .end annotation
.end field


# direct methods
.method public constructor <init>(Lm/b$c;Lm/b$c;)V
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lm/b$c<",
            "TK;TV;>;",
            "Lm/b$c<",
            "TK;TV;>;)V"
        }
    .end annotation

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    iput-object p2, p0, Lm/b$e;->r:Lm/b$c;

    iput-object p1, p0, Lm/b$e;->s:Lm/b$c;

    return-void
.end method


# virtual methods
.method public a(Lm/b$c;)V
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lm/b$c<",
            "TK;TV;>;)V"
        }
    .end annotation

    iget-object v0, p0, Lm/b$e;->r:Lm/b$c;

    const/4 v1, 0x0

    if-ne v0, p1, :cond_d

    iget-object v0, p0, Lm/b$e;->s:Lm/b$c;

    if-ne p1, v0, :cond_d

    iput-object v1, p0, Lm/b$e;->s:Lm/b$c;

    iput-object v1, p0, Lm/b$e;->r:Lm/b$c;

    :cond_d
    iget-object v0, p0, Lm/b$e;->r:Lm/b$c;

    if-ne v0, p1, :cond_17

    invoke-virtual {p0, v0}, Lm/b$e;->b(Lm/b$c;)Lm/b$c;

    move-result-object v0

    iput-object v0, p0, Lm/b$e;->r:Lm/b$c;

    :cond_17
    iget-object v0, p0, Lm/b$e;->s:Lm/b$c;

    if-ne v0, p1, :cond_28

    .line 1
    iget-object p1, p0, Lm/b$e;->r:Lm/b$c;

    if-eq v0, p1, :cond_26

    if-nez p1, :cond_22

    goto :goto_26

    :cond_22
    invoke-virtual {p0, v0}, Lm/b$e;->c(Lm/b$c;)Lm/b$c;

    move-result-object v1

    .line 2
    :cond_26
    :goto_26
    iput-object v1, p0, Lm/b$e;->s:Lm/b$c;

    :cond_28
    return-void
.end method

.method public abstract b(Lm/b$c;)Lm/b$c;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lm/b$c<",
            "TK;TV;>;)",
            "Lm/b$c<",
            "TK;TV;>;"
        }
    .end annotation
.end method

.method public abstract c(Lm/b$c;)Lm/b$c;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lm/b$c<",
            "TK;TV;>;)",
            "Lm/b$c<",
            "TK;TV;>;"
        }
    .end annotation
.end method

.method public hasNext()Z
    .registers 2

    iget-object v0, p0, Lm/b$e;->s:Lm/b$c;

    if-eqz v0, :cond_6

    const/4 v0, 0x1

    goto :goto_7

    :cond_6
    const/4 v0, 0x0

    :goto_7
    return v0
.end method

.method public next()Ljava/lang/Object;
    .registers 3

    .line 1
    iget-object v0, p0, Lm/b$e;->s:Lm/b$c;

    .line 2
    iget-object v1, p0, Lm/b$e;->r:Lm/b$c;

    if-eq v0, v1, :cond_e

    if-nez v1, :cond_9

    goto :goto_e

    :cond_9
    invoke-virtual {p0, v0}, Lm/b$e;->c(Lm/b$c;)Lm/b$c;

    move-result-object v1

    goto :goto_f

    :cond_e
    :goto_e
    const/4 v1, 0x0

    .line 3
    :goto_f
    iput-object v1, p0, Lm/b$e;->s:Lm/b$c;

    return-object v0
.end method
