diff --git a/src/net/java/sip/communicator/impl/protocol/icq/VolatileBuddy.java b/src/net/java/sip/communicator/impl/protocol/icq/VolatileBuddy.java
new file mode 100644
index 000000000..34556a832
--- /dev/null
+++ b/src/net/java/sip/communicator/impl/protocol/icq/VolatileBuddy.java
@@ -0,0 +1,53 @@
+package net.java.sip.communicator.impl.protocol.icq;
+
+import net.kano.joustsim.*;
+import net.kano.joustsim.oscar.oscar.service.ssi.*;
+
+/**
+ * Implements the buddy interface as a means of providing volatile contacts.
+ *
+ * @author Emil Ivov
+ */
+public class VolatileBuddy
+ implements Buddy
+{
+ private Screenname screenname = null;
+
+ /**
+ * Constructs a VolatileBuddy from the specified screenname.
+ * @param screenname the screenname to construct the buddy from.
+ */
+ public VolatileBuddy(Screenname screenname)
+ {
+ this.screenname = screenname;
+ }
+
+ /**
+ * Returns the screenname of this contact
+ * @return this contact's screen name.
+ */
+ public String getAlias()
+ {
+ return screenname.getFormatted();
+ }
+
+ /**
+ * Returns the screenname of this contact.
+ *
+ * @return the Screenname of this contact.
+ */
+ public Screenname getScreenname()
+ {
+ return screenname;
+ }
+
+
+ public void addBuddyListener(BuddyListener listener){}
+ public int getAlertActionMask(){return 0;}
+ public int getAlertEventMask(){return 0;}
+ public String getAlertSound(){return "";}
+ public String getBuddyComment(){return "";}
+ public BuddyList getBuddyList(){return null;}
+ public boolean isActive(){return false;}
+ public void removeBuddyListener(BuddyListener listener){}
+}
diff --git a/src/net/java/sip/communicator/impl/protocol/icq/VolatileGroup.java b/src/net/java/sip/communicator/impl/protocol/icq/VolatileGroup.java
new file mode 100644
index 000000000..908456978
--- /dev/null
+++ b/src/net/java/sip/communicator/impl/protocol/icq/VolatileGroup.java
@@ -0,0 +1,38 @@
+package net.java.sip.communicator.impl.protocol.icq;
+
+import java.util.*;
+
+import net.kano.joustsim.oscar.oscar.service.ssi.*;
+
+/**
+ * Used when initializing a volatile group.
+ * @author Emil Ivov
+ */
+public class VolatileGroup
+ implements MutableGroup
+{
+ private String groupName = new String("NotInContactList");
+
+ VolatileGroup(){}
+
+ /**
+ * Returns the name of this group.
+ *
+ * @return the name of this group.
+ */
+ public String getName()
+ {
+ return groupName;
+ }
+
+
+ public void addGroupListener(GroupListener listener){}
+ public List getBuddiesCopy(){return null;}
+ public void removeGroupListener(GroupListener listener){}
+ public void copyBuddies(List buddies){}
+ public void deleteBuddies(List ingroup){}
+ public void addBuddy(String screenname){}
+ public void copyBuddies(Collection buddies){}
+ public void deleteBuddy(Buddy buddy){}
+ public void rename(String newName){}
+}