aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java')
-rw-r--r--src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java b/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java
index 8e25d29..f4da152 100644
--- a/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java
+++ b/src/net/java/sip/communicator/impl/protocol/icq/InfoRetreiver.java
@@ -66,16 +66,21 @@ public class InfoRetreiver
* @param detailClass Class
* @return Iterator
*/
- public Iterator<GenericDetail> getDetailsAndDescendants(
+ public <T extends GenericDetail> Iterator<T> getDetailsAndDescendants(
String uin,
- Class<? extends GenericDetail> detailClass)
+ Class<T> detailClass)
{
List<GenericDetail> details = getContactDetails(uin);
- List<GenericDetail> result = new LinkedList<GenericDetail>();
+ List<T> result = new LinkedList<T>();
for (GenericDetail item : details)
if (detailClass.isInstance(item))
- result.add(item);
+ {
+ @SuppressWarnings("unchecked")
+ T t = (T) item;
+
+ result.add(t);
+ }
return result.iterator();
}