public void createRosterItem(org.xmpp.packet.Roster.Item item)
            throws UserAlreadyExistsException, SharedGroupException {
        provideRosterItem(item.getJID(), item.getName(), new ArrayList<>(item.getGroups()), true, true);
    }
Create a new item to the roster based as a copy of the given item.
Roster items may not be created that contain the same user address
as an existing item in the roster.

@param item the item to copy and add to the roster.
@throws UserAlreadyExistsException if the user is already in the roster
@throws SharedGroupException if the group is a shared group
xmppserver/src/main/java/org/jivesoftware/openfire/roster/Roster.java