String separator = annotation.separator();
StringBuffer result = new StringBuffer();
if(type.isArray())
for(Object o : (Object[]) method.invoke(obj))
result.append(separator).append(extractValue(o, annotation.evalProvider(), name));
else
for(Object o : (Iterable<?>) method.invoke(obj))
result.append(separator).append(extractValue(o, annotation.evalProvider(), name));
value = result.substring(separator.length());