String[] propertyNames = properties.toArray(new String[properties.size()]);
// map expression index to property index
List<String> propertiesUniqueList = new ArrayList<String>(new HashSet<String>(properties));
String[] propertiesArray = propertiesUniqueList.toArray(new String[propertiesUniqueList.size()]);
EventBeanCopyMethod copyMethod = eventTypeSPI.getCopyMethod(propertiesArray);
if (copyMethod == null) {
throw new ExprValidationException("Event type does not support event bean copy");
}
return new NamedWindowUpdateHelper(expressions, propertyNames, writers, copyMethod, notNullableField, wideners);