package com.l7tech.server.folder;

import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.folder.Folder;
import com.l7tech.util.Functions.Unary;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;

class c implements Unary<List<Folder>, Map<Goid, Folder>> {
   final Goid val$goid;

   c(FolderCacheImpl var1, Goid var2) {
      this.val$goid = var2;
   }

   public List<Folder> call(Map<Goid, Folder> var1) {
      ArrayList var2 = new ArrayList();
      Folder var3 = (Folder)var1.get(this.val$goid);

      while (var3 != null) {
         var2.add(var3);
         if (var3.getFolder() != null) {
            var3 = (Folder)var1.get(var3.getFolder().getGoid());
         } else {
            var3 = null;
         }
      }

      Collections.reverse(var2);
      return var2;
   }
}
