diff --git a/src/net/java/sip/communicator/service/protocol/OperationSetPersistentPresence.java b/src/net/java/sip/communicator/service/protocol/OperationSetPersistentPresence.java
index 7028d5cf9..062f4b22e 100644
--- a/src/net/java/sip/communicator/service/protocol/OperationSetPersistentPresence.java
+++ b/src/net/java/sip/communicator/service/protocol/OperationSetPersistentPresence.java
@@ -177,7 +177,6 @@ public void moveContactToGroup(Contact contactToMove,
*/
public ContactGroup getServerStoredContactListRoot();
-
/**
* Registers a listener that would receive events upong changes in server
* stored groups.
@@ -195,4 +194,48 @@ public void addServerStoredGroupChangeListener(
public void removeServerStoredGroupChangeListener(
ServerStoredGroupListener listener);
+
+ /**
+ * Creates and returns a unresolved contact from the specified
+ * address and persistentData. The method will not try
+ * to establish a network connection and resolve the newly created Contact
+ * against the server. The protocol provider may will later try and resolve
+ * the contact. When this happens the corresponding event would notify
+ * interested subscription listeners.
+ *
+ * @param address an identifier of the contact that we'll be creating.
+ * @param persistentData a String returned Contact's getPersistentData()
+ * method during a previous run and that has been persistently stored
+ * locally.
+ * @param parentGroup the group where the unresolved contact is
+ * supposed to belong to.
+ *
+ * @return the unresolved Contact created from the specified
+ * address and persistentData
+ */
+ public Contact createUnresolvedContact(
+ String address, String persistentData, ContactGroup parentGroup);
+
+ /**
+ * Creates and returns a unresolved contact group from the specified
+ * address and persistentData. The method will not try
+ * to establish a network connection and resolve the newly created
+ * ContactGroup against the server or the contact itself. The
+ * protocol provider will later resolve the contact group. When this happens
+ * the corresponding event would notify interested subscription listeners.
+ *
+ * @param groupUID an identifier, returned by ContactGroup's getGroupUID,
+ * that the protocol provider may use in order to create the group.
+ * @param persistentData a String returned ContactGroups's getPersistentData()
+ * method during a previous run and that has been persistently stored
+ * locally.
+ * @param parentGroup the group under which the new group is to be created
+ * or null if this is group directly underneath the root.
+ * @return the unresolved ContactGroup created from the specified
+ * uid and persistentData
+ */
+ public ContactGroup createUnresolvedContactGroup(
+ String groupUID, String persistentData, ContactGroup parentGroup);
+
+
}