Sets.smali 
.class public final Lcom/facebook/common/internal/Sets;
.super Ljava/lang/Object;
.source "Sets.java"
# direct methods
.method private constructor <init>()V
    .registers 1
    .line 33
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    return-void
.end method
.method public static newCopyOnWriteArraySet()Ljava/util/concurrent/CopyOnWriteArraySet;
    .registers 1
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">()",
            "Ljava/util/concurrent/CopyOnWriteArraySet<",
            "TE;>;"
        }
    .end annotation
    .line 154
    new-instance v0, Ljava/util/concurrent/CopyOnWriteArraySet;
    invoke-direct {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;-><init>()V
    return-object v0
.end method
.method public static newHashSet()Ljava/util/HashSet;
    .registers 1
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">()",
            "Ljava/util/HashSet<",
            "TE;>;"
        }
    .end annotation
    .line 41
    new-instance v0, Ljava/util/HashSet;
    invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
    return-object v0
.end method
.method public static newHashSet(Ljava/lang/Iterable;)Ljava/util/HashSet;
    .registers 2
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "elements"
        }
    .end annotation
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">(",
            "Ljava/lang/Iterable<",
            "+TE;>;)",
            "Ljava/util/HashSet<",
            "TE;>;"
        }
    .end annotation
    .line 80
    instance-of v0, p0, Ljava/util/Collection;
    if-eqz v0, :cond_c
    new-instance v0, Ljava/util/HashSet;
    check-cast p0, Ljava/util/Collection;
    invoke-direct {v0, p0}, Ljava/util/HashSet;-><init>(Ljava/util/Collection;)V
    goto :goto_14
    .line 82
    :cond_c
    invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
    move-result-object p0
    invoke-static {p0}, Lcom/facebook/common/internal/Sets;->newHashSet(Ljava/util/Iterator;)Ljava/util/HashSet;
    move-result-object v0
    :goto_14
    return-object v0
.end method
.method public static newHashSet(Ljava/util/Iterator;)Ljava/util/HashSet;
    .registers 3
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "elements"
        }
    .end annotation
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">(",
            "Ljava/util/Iterator<",
            "+TE;>;)",
            "Ljava/util/HashSet<",
            "TE;>;"
        }
    .end annotation
    .line 93
    invoke-static {}, Lcom/facebook/common/internal/Sets;->newHashSet()Ljava/util/HashSet;
    move-result-object v0
    .line 94
    :goto_4
    invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
    move-result v1
    if-eqz v1, :cond_12
    .line 95
    invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
    move-result-object v1
    invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
    goto :goto_4
    :cond_12
    return-object v0
.end method
.method public static varargs newHashSet([Ljava/lang/Object;)Ljava/util/HashSet;
    .registers 2
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "elements"
        }
    .end annotation
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">([TE;)",
            "Ljava/util/HashSet<",
            "TE;>;"
        }
    .end annotation
    .line 52
    array-length v0, p0
    invoke-static {v0}, Lcom/facebook/common/internal/Sets;->newHashSetWithCapacity(I)Ljava/util/HashSet;
    move-result-object v0
    .line 53
    invoke-static {v0, p0}, Ljava/util/Collections;->addAll(Ljava/util/Collection;[Ljava/lang/Object;)Z
    return-object v0
.end method
.method public static newHashSetWithCapacity(I)Ljava/util/HashSet;
    .registers 2
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "capacity"
        }
    .end annotation
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">(I)",
            "Ljava/util/HashSet<",
            "TE;>;"
        }
    .end annotation
    .line 69
    new-instance v0, Ljava/util/HashSet;
    invoke-direct {v0, p0}, Ljava/util/HashSet;-><init>(I)V
    return-object v0
.end method
.method public static newIdentityHashSet()Ljava/util/Set;
    .registers 1
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">()",
            "Ljava/util/Set<",
            "TE;>;"
        }
    .end annotation
    .line 108
    new-instance v0, Ljava/util/IdentityHashMap;
    invoke-direct {v0}, Ljava/util/IdentityHashMap;-><init>()V
    invoke-static {v0}, Lcom/facebook/common/internal/Sets;->newSetFromMap(Ljava/util/Map;)Ljava/util/Set;
    move-result-object v0
    return-object v0
.end method
.method public static newLinkedHashSet()Ljava/util/LinkedHashSet;
    .registers 1
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">()",
            "Ljava/util/LinkedHashSet<",
            "TE;>;"
        }
    .end annotation
    .line 163
    new-instance v0, Ljava/util/LinkedHashSet;
    invoke-direct {v0}, Ljava/util/LinkedHashSet;-><init>()V
    return-object v0
.end method
.method public static newSetFromMap(Ljava/util/Map;)Ljava/util/Set;
    .registers 1
    .annotation system Ldalvik/annotation/MethodParameters;
        accessFlags = {
            0x0
        }
        names = {
            "map"
        }
    .end annotation
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">(",
            "Ljava/util/Map<",
            "TE;",
            "Ljava/lang/Boolean;",
            ">;)",
            "Ljava/util/Set<",
            "TE;>;"
        }
    .end annotation
    .line 141
    invoke-static {p0}, Ljava/util/Collections;->newSetFromMap(Ljava/util/Map;)Ljava/util/Set;
    move-result-object p0
    return-object p0
.end method