package com.google.common.collect;

import com.google.common.base.Function;
import com.google.common.base.Preconditions;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import javax.annotation.Nullable;

public class ImmutableSetMultimap<K, V> extends ImmutableMultimap<K, V>
  implements SetMultimap<K, V>
{
  private final transient ImmutableSortedSet<V> emptySet;

  ImmutableSetMultimap(ImmutableMap<K, ImmutableSet<V>> paramImmutableMap, int paramInt, @Nullable Comparator<? super V> paramComparator)
  {
    super(paramImmutableMap, paramInt);
    if (paramComparator == null);
    for (ImmutableSortedSet localImmutableSortedSet = null; ; localImmutableSortedSet = ImmutableSortedSet.emptySet(paramComparator))
    {
      this.emptySet = localImmutableSortedSet;
      return;
    }
  }

  public static <K, V> Builder<K, V> builder()
  {
    return new Builder();
  }

  private static <K, V> ImmutableSetMultimap<K, V> copyOf(Multimap<? extends K, ? extends V> paramMultimap, Comparator<? super V> paramComparator)
  {
    Preconditions.checkNotNull(paramMultimap);
    ImmutableSetMultimap localImmutableSetMultimap;
    if ((paramMultimap.isEmpty()) && (paramComparator == null))
      localImmutableSetMultimap = of();
    do
    {
      return localImmutableSetMultimap;
      if (!(paramMultimap instanceof ImmutableSetMultimap))
        break;
      localImmutableSetMultimap = (ImmutableSetMultimap)paramMultimap;
    }
    while (!localImmutableSetMultimap.isPartialView());
    ImmutableMap.Builder localBuilder = ImmutableMap.builder();
    int i = 0;
    Iterator localIterator = paramMultimap.asMap().entrySet().iterator();
    label165: 
    while (localIterator.hasNext())
    {
      Map.Entry localEntry = (Map.Entry)localIterator.next();
      Object localObject1 = localEntry.getKey();
      Collection localCollection = (Collection)localEntry.getValue();
      if (paramComparator == null);
      for (Object localObject2 = ImmutableSet.copyOf(localCollection); ; localObject2 = ImmutableSortedSet.copyOf(paramComparator, localCollection))
      {
        if (((ImmutableSet)localObject2).isEmpty())
          break label165;
        localBuilder.put(localObject1, localObject2);
        i += ((ImmutableSet)localObject2).size();
        break;
      }
    }
    return new ImmutableSetMultimap(localBuilder.build(), i, paramComparator);
  }

  public static <K, V> ImmutableSetMultimap<K, V> of()
  {
    return EmptyImmutableSetMultimap.INSTANCE;
  }

  public ImmutableSet<V> get(@Nullable K paramK)
  {
    ImmutableSet localImmutableSet = (ImmutableSet)this.map.get(paramK);
    if (localImmutableSet != null)
      return localImmutableSet;
    if (this.emptySet != null)
      return this.emptySet;
    return ImmutableSet.of();
  }

  public static final class Builder<K, V> extends ImmutableMultimap.Builder<K, V>
  {
    public Builder()
    {
      this.builderMultimap = new ImmutableSetMultimap.BuilderMultimap();
    }

    public ImmutableSetMultimap<K, V> build()
    {
      if (this.keyComparator != null)
      {
        ImmutableSetMultimap.BuilderMultimap localBuilderMultimap = new ImmutableSetMultimap.BuilderMultimap();
        ArrayList localArrayList = Lists.newArrayList(this.builderMultimap.asMap().entrySet());
        Collections.sort(localArrayList, Ordering.from(this.keyComparator).onResultOf(new Function()
        {
          public K apply(Map.Entry<K, Collection<V>> paramAnonymousEntry)
          {
            return paramAnonymousEntry.getKey();
          }
        }));
        Iterator localIterator = localArrayList.iterator();
        while (localIterator.hasNext())
        {
          Map.Entry localEntry = (Map.Entry)localIterator.next();
          localBuilderMultimap.putAll(localEntry.getKey(), (Iterable)localEntry.getValue());
        }
        this.builderMultimap = localBuilderMultimap;
      }
      return ImmutableSetMultimap.copyOf(this.builderMultimap, this.valueComparator);
    }

    public Builder<K, V> put(K paramK, V paramV)
    {
      this.builderMultimap.put(Preconditions.checkNotNull(paramK), Preconditions.checkNotNull(paramV));
      return this;
    }
  }

  private static class BuilderMultimap<K, V> extends AbstractMapBasedMultimap<K, V>
  {
    BuilderMultimap()
    {
      super();
    }

    Collection<V> createCollection()
    {
      return Sets.newLinkedHashSet();
    }
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.google.common.collect.ImmutableSetMultimap
 * JD-Core Version:    0.6.2
 */