Class Cast exception error: trying to write the into the file
===

I am trying to export the file.but since one of the attributes is Array.I am getting the below error:

An unexpected error occurred: java.lang.Exception: sailpoint.tools.GeneralException: The application script threw an exception: java.lang.ClassCastException: Cannot cast sailpoint.tools.xml.PersistentArrayList to java.lang.String BSF info: Export File - Abc at line: 0 column: columnNo

My code is below:

        import java.io.FileWriter;
        import java.io.File;
        import java.io.BufferedWriter;
        import java.io.FileInputStream;
        import java.io.FileOutputStream;
        import java.io.*;
        import sailpoint.object.Bundle;
        import sailpoint.object.Identity;
        import sailpoint.object.QueryOptions;
        import sailpoint.object.Filter;
        import sailpoint.object.Link;
        import sailpoint.object.Attributes;
        import sailpoint.tools.Util.*;

        String appname = "Abc";
        String path = "//home/exportfile//";
        String filename = path+"ApplicationExport-"+appname+".txt";
        String ret = "false";
                
        QueryOptions ops = new QueryOptions();
        Filter [] filters = new Filter[1];
        filters[0] = Filter.eq("application.name", appname);
        ops.add(filters);
        
        List props = new ArrayList();
        props.add("identity.name");

        //Do search
        Iterator it = context.search(Link.class, ops, props);

        //Build file and export header row
        BufferedWriter out = new BufferedWriter(new FileWriter(filename));
        out.write("IdentityName,UserName,WorkforceID,Organization");
        out.newLine();          
        
        //Iterate Search Results
        if (it!=null)
        {                               
                while ( it.hasNext() ) {
                        //Get link and create object
                        Object [] record = it.next();
                        String identityName = (String) record[0];
                        Identity user = (Identity) context.getObject(Identity.class, identityName);
                        
                        //Get Identity attributes for export
                        String workforceid = (String) user.getAttribute("workforceID");                 
                        
                        //Get application attributes for export
                        String userid="";
                          String org="";
                        List links = user.getLinks();
                        if (links!=null)
                        {
                                Iterator lit = links.iterator();
                                while (lit.hasNext())
                                {
                                        Link l = lit.next();
                                        String lname = l.getApplicationName();
                                        if (lname.equalsIgnoreCase(appname))
                                        {
                                                  userid = (String) l.getAttribute("User Name");
                                                  org= (String) l.getAttribute("Organization");
                                        }
                                }
                        }                               
                        
                        //Output file
                        out.write(identityName+","+userid+","+workforceid+","+org);                             
                        out.newLine();                                                                          
                        out.flush();
                }                       
                ret="true";
        }
        //Close file and return
        out.close();
        return ret;     

While running the above code i am getting the cast exception error: since the Organization attribute is Multivalued.i.e.: in that attribute you can have more than one value.

any help to correct this code would be greatly appreciated.