code: @SuppressWarnings({"unchecked"})
      private Collection<Object> loadReferences(FieldData field, String[] paths) {
          final Class<Collection<Object>> collectionType = (Class<Collection<Object>>) field.metaData.getType();
          final Collection<Object> values = instantiateCollectionType(collectionType, paths.length);
          String[] resourcePaths = paths;
          if (field.metaData.isAppendPathPresentOnReference()) {
              // @Reference(append = "...")
              resourcePaths = appendToAll(field.metaData.getAppendPathOnReference(), paths);
          }
  
          final Class<?> componentClass = field.metaData.getTypeParameter();
          for (String path : resourcePaths) {
              Object element = resolveResource(path, componentClass);
              if (element != null) {
                  values.add(element);
              }
          }
          return values;
      }
docs: Resolves and converts all resources defined in the given array of resource paths.<br />
  Afterwards, the resulting instances are stored in a {@link java.util.Collection} compatible to the
  collection type of the given {@link io.neba.core.resourcemodels.metadata.MappedFieldMetaData#getType()}.
  
  @param paths relative or absolute paths to resources.
  @return never <code>null</code> but rather an empty collection.