Script Runner 4.3.16
import com.atlassian.event.api.EventListenerimport com.atlassian.jira.component.ComponentAccessorimport com.atlassian.jira.event.issue.AbstractIssueEventListenerimport com.atlassian.jira.event.issue.IssueEventimport com.atlassian.jira.event.type.EventDispatchOptionimport com.atlassian.jira.issue.IssueManagerimport com.atlassian.jira.issue.CustomFieldManagerimport com.atlassian.jira.issue.MutableIssueimport com.atlassian.jira.issue.fields.CustomFieldimport org.apache.log4j.Loggerdef cfNameCascading = "Cascading Field Name";def cfNameFirst     = "Cascading Field Name : part 1";def cfNameSecond    = "Cascading Field Name : part 2";IssueManager issueManager = ComponentAccessor.getIssueManager()CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()/** Get the different CF objects**/CustomField cfCascading = customFieldManager.getCustomFieldObjectByName(cfNameCascading)CustomField cfFirst = customFieldManager.getCustomFieldObjectByName(cfNameFirst)CustomField cfSecond = customFieldManager.getCustomFieldObjectByName(cfNameSecond)/** Get Cascading Field values (map) **/Map cfVal = issue.getCustomFieldValue(cfCascading) as Mapif (cfVal) {    String valFirst = cfVal.get(null);    String valSecond = cfVal.get("1");    List allValues = cfVal.values() as List;    log.info("First - second: $valFirst - $valSecond");    log.info("All: $allValues");    /** Set each separate CF **/    issue.setCustomFieldValue(cfFirst,  valFirst);    issue.setCustomFieldValue(cfSecond, valSecond);    /** update the issue **/    issueManager.updateIssue(event.getUser(), issue, EventDispatchOption.DO_NOT_DISPATCH, false);} else {    log.info("Custom field not present on this issue")}