public List<Field> getProperties(Object source, String... fields) {
List<Field> result = new LinkedList<Field>();
if (source != null) {
if (source instanceof MultipleBeanSource) {
MultipleBeanSource multipleBeanSource = (MultipleBeanSource) source;
if (fields.length > 0) {
getMultipleFields(result, multipleBeanSource, fields);
}
else {
for (Object s : multipleBeanSource.getSources()) {
getFields(result, s.getClass(), fields);
}
}
}
else {