> In the contact object i have a related list "Intralink Portal group" each  contact can have multiple Intralink Porta groups. i have created a visual force page to add more than one intralink portal groups to a contact.now i want to select the Intralink Portal groups from one contact and add all of them to a new contact.how to do it? below is the visualforce page code and controller code.through controller i am able to add intralink portal groups to contact.but i am not able to copy all the list of intralink portal groups from one contact to another. below is the vf page
[![enter image description here][1]][1]

    <apex:page Controller="ilGroupCtrl" doctype="html-5.0">
    <apex:form >
        <apex:pageBlock title="Add Intralinks Groups">
            <apex:pageBlockButtons >
                <apex:commandButton action="{!save}" value="Save"/>
                <apex:commandButton action="{!Cancel}" value="Cancel"/>
            </apex:pageBlockButtons>
            <apex:pageBlockSection columns="1" id="main">
                <apex:inputField value="{!mainGroupLinker.Contact__c}" />
                
                <apex:pageBlockSectionItem >
                    <apex:outputLabel value="Copy From" />
                    <apex:inputField value="{!copyFrom.Contact__c}" required="false"/>
                </apex:pageBlockSectionItem>
                
                <apex:repeat value="{!groupList}" var="groupObj">
                    <apex:pageBlockSectionItem >
                    <apex:outputLabel value="Intralinks Group" />
                    <apex:inputField value="{!groupObj.Intralinks_Portal_Group__c}" required="false"/>
                </apex:pageBlockSectionItem>
                </apex:repeat>
                <apex:commandButton action="{!add}" value="Add" rerender="main"/>
            </apex:pageBlockSection>
        </apex:pageBlock>
    </apex:form>
</apex:page>

Apex Controller

    public class ilGroupCtrl {
   
    Map<String, String> params;
    
    public Intralinks_Group_and_Contact_Links__c mainGroupLinker { get; set; }
    public Intralinks_Group_and_Contact_Links__c copyFrom { get; set; }
    public List<Intralinks_Group_and_Contact_Links__c> groupList { get; set; }
            
    public ilGroupCtrl() {
        params = ApexPages.currentPage().getParameters();
        mainGroupLinker = new Intralinks_Group_and_Contact_Links__c();
        copyFrom = new Intralinks_Group_and_Contact_Links__c();
        groupList = new List<Intralinks_Group_and_Contact_Links__c>();
        
        // if QueryString contains a contact Id, autofill the Contact field
        if(params.containsKey('cid')) {
            mainGroupLinker.Contact__c = params.get('cid');
        }
        
        groupList.add(mainGroupLinker);
    }
    
    public void add() {
        groupList.add(new Intralinks_Group_and_Contact_Links__c(Contact__c=mainGroupLinker.Contact__c));
        return;
    }
    
    public PageReference save() {
        List<Intralinks_Group_and_Contact_Links__c> toAdd = new List<Intralinks_Group_and_Contact_Links__c>();
        
        //query all the Groups the copyFrom contact has
        if(copyFrom.Contact__c != null) {
           List<Intralinks_Group_and_Contact_Links__c> toCopy = [SELECT Intralinks_Portal_Group__c FROM Intralinks_Group_and_Contact_Links__c where Contact__c = :copyFrom.Contact__c];
            
            for(Intralinks_Group_and_Contact_Links__c copyGroup : toCopy) {
                Intralinks_Group_and_Contact_Links__c newCopy = new Intralinks_Group_and_Contact_Links__c(Contact__c= mainGroupLinker.Contact__c,Intralinks_Portal_Group__c= copyGroup.Intralinks_Portal_Group__c);
                    
                      
            }
            
       }
            
        

        
        for (Intralinks_Group_and_Contact_Links__c g : groupList) {
            // save it if it's not null.
            if(g.Intralinks_Portal_Group__c != null) {
                toAdd.add(g);
                
            }
        }

        System.debug('toAdd count: ' + toAdd.size());
        if(toAdd.size() > 0) {
            
            insert toAdd;
        }
        
        return null;
    }
    
      Public Pagereference Cancel(){
       Pagereference Page = new         PageReference(ApexPages.currentPage().getParameters().get('https://cs16.salesforce.com/{!mainGroupLinker.Contact__c}'));  
     return Page;
          }
       }


  [1]: https://i.sstatic.net/xkXFX.png