diff --git a/src/java/com/threerings/cast/bundle/BundledComponentRepository.java b/src/java/com/threerings/cast/bundle/BundledComponentRepository.java index c0e6f3b1..51e8b3a3 100644 --- a/src/java/com/threerings/cast/bundle/BundledComponentRepository.java +++ b/src/java/com/threerings/cast/bundle/BundledComponentRepository.java @@ -32,6 +32,7 @@ import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.image.BufferedImage; +import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.collect.Iterators; import com.google.common.collect.Lists; @@ -226,12 +227,19 @@ public class BundledComponentRepository // documentation inherited public Iterator enumerateComponentIds (final ComponentClass compClass) { - return Iterators.filter(_components.keySet().iterator(), new Predicate() { - public boolean apply (Integer input) { - CharacterComponent comp = _components.get(input); - return comp.componentClass.equals(compClass); - } - }); + Predicate> pred = + new Predicate>() { + public boolean apply (Map.Entry entry) { + return entry.getValue().componentClass.equals(compClass); + } + }; + Function,Integer> func = + new Function,Integer>() { + public Integer apply (Map.Entry entry) { + return entry.getKey(); + } + }; + return Iterators.transform(Iterators.filter(_components.entrySet().iterator(), pred), func); } /**