@SuppressWarnings("unchecked")
	private List<?> decorateList(ClassLoader loader, Field field) {

		Class<?> clazz = (Class<?>) ((ParameterizedType) field.getGenericType())
				.getActualTypeArguments()[0];
		List<IContainer> containers = new ArrayList<IContainer>();
		List<IElement> elements = new ArrayList<IElement>();
		List<WebElement> listElements = proxyForListLocator(loader,
				createLocator(field));
		if (IContainer.class.isAssignableFrom(clazz)) {
			for (WebElement e : listElements) {
				containers.add(decorateContainer(loader, e, clazz));
			}
			return containers;
		}
		if (IElement.class.isAssignableFrom(clazz)) {
			for (WebElement e : listElements) {
				elements.add(elementFactory.create(
						(Class<? extends IElement>) ((ParameterizedType) field
								.getGenericType()).getActualTypeArguments()[0],
						e));
			}
			return elements;
		}
		return listElements;

	}