public static OrganizerData parseOrganizer(String organizerString) {
        //ORGANIZER;CN=JohnSmith;DIR="ldap://example.com:6666/o=DC%20Ass
        //ociates,c=US???(cn=John%20Smith)":mailto:jsmith@example.com
        OrganizerData organizerData = null;
        if(organizerString != null){
            organizerData = new OrganizerData();
            int indexOfCalAddress = organizerString.toLowerCase().lastIndexOf(":mailto:");
            organizerData.setCalAddress(organizerString.substring(indexOfCalAddress + 1));
            for(String s: organizerString.substring(0,indexOfCalAddress).split(";")){
                if(s.startsWith("CN=")){
                    organizerData.setCommonName(s.substring(s.indexOf("=") + 1));
                } else if(s.startsWith("DIR=")){
                    String value = s.substring(s.indexOf("=") + 1);
                    organizerData.setDirectory(value.substring(1,value.length()-1));
                } else if(s.startsWith("SENT-BY=")){
                    String value = s.substring(s.indexOf("=") + 1);
                    organizerData.setSentBy(value.substring(1, value.length()-1));
                } else if(s.startsWith("LANGUAGE=")){
                    organizerData.setLanguage(s.substring(s.indexOf("=")+1));
                }
            }
        }
        return organizerData;
    }