Get list value by path.
@param <T> list value type
@param clazz type of value
@param list subject
@param path nodes to walk in map
@return value
514445
public static <T> Optional<List<T>> getList(final List list, final Class<T> clazz, final Integer... path) {
        return get(list, List.class, path).map(c -> (List<T>) c);
    }
907860
public <A> ListPath<A, PathBuilder<A>> getList(String property, Class<A> type) {
        return this.<A, PathBuilder<A>>getList(property, type, PathBuilder.class);
    }
520641
private String buildPath(List<String> path) {
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < path.size(); i++) {
            if (i > 0) {
                sb.append('.');
            }

            sb.append(path.get(i));
        }

        return sb.toString();
    }
1021455
protected List<String> parseOptionalStringValues(final String path) {

        final List<I_CmsXmlContentValue> values = m_xml.getValues(path, m_locale);
        if (values == null) {
            return null;
        } else {
            List<String> stringValues = new ArrayList<String>(values.size());
            for (I_CmsXmlContentValue value : values) {
                stringValues.add(value.getStringValue(null));
            }
            return stringValues;
        }
    }
916627
@SuppressWarnings("unchecked")
    public static <T> List<? extends T> getObjectList(Config config, String path, Class<T> clazz) {
        List<? extends Object> objList = getObjectList(config, path);
        if (objList == null) {

        }
        if (objList.size() == 0) {
            return Collections.emptyList();
        }
        return clazz.isAssignableFrom(objList.get(0).getClass()) ? (List<? extends T>) objList
                : null;
    }
265515
private static Collection<String> findPaths(Path path)
    {
        List<String> paths = findPaths(path, false);
        Collections.sort(paths);
        return paths;
    }
745492
@SuppressWarnings("unchecked")
    public static <T> T getObject(Config config, String path, Class<T> clazz) {
        Object obj = getObject(config, path);
        return obj != null && clazz.isAssignableFrom(obj.getClass()) ? (T) obj : null;
    }
53780
@Nullable
    List<V> find(String path) {
        final Node<V> node = findNode(path, false);
        return node == null ? ImmutableList.of() : node.values();
    }
586639
public static ArrayList<File> getDirectoriesInDirectoryTree(String path) {
		File file = new File(path);
		return getContentsInDirectoryTree(file, "*", false, true);
	}
959923
public static Optional<List<? extends Object>> getObjectListOptional(Config config,
            String path) {
        return Optional.ofNullable(getObjectList(config, path));
    }
189874
@Override
  public String []list(String path) throws IOException
  {
    if (path.startsWith("/")) {
      path = path.substring(1);
    }
    
    if (! path.endsWith("/")) {
      path = path + "/";
    }

    ArrayList<String> names = new ArrayList<>();
    
    try (ZipInputStream zIn = new ZipInputStream(getBacking().openRead())) {
      ZipEntry entry;
      
      while ((entry = zIn.getNextEntry()) != null) {
        String name = entry.getName();

        if (name.startsWith(path)) {
          String tail = name.substring(path.length());
          int p = tail.indexOf('/');
          
          if (p >= 0) {
            tail = tail.substring(0, p);
          }
          
          if (! tail.equals("") && ! names.contains(tail)) {
            names.add(tail);
          }
        }
      }
    }
    
    String []list = new String[names.size()];
    
    names.toArray(list);
    
    return list;
  }
1187202
@SuppressWarnings("unchecked")
    @Override
    public XBAutoList<T> getList(final CharSequence path) {
        return (XBAutoList<T>) getList(path, invocationContext.getTargetComponentType());
    }
294832
public Optional<Map<String,String>> values(String path) {
		Map<String,String> result = paths.get(path);
		if (result == null) {
			return Optional.empty();
		}
		return Optional.of(Collections.unmodifiableMap(result));
	}
86411
public static String getNullableString(final List list, final Integer... path) {
        return getNullable(list, String.class, path);
    }
1066163
public <T extends ValueMap> List<T> getList(Object key, Class<T> clazz) {
    Object value = get(key);
    if (value instanceof List) {
      List list = (List) value;
      try {
        ArrayList<T> real = new ArrayList<>();
        for (Object item : list) {
          T typedValue = coerceToValueMap(item, clazz);
          if (typedValue != null) {
            real.add(typedValue);
          }
        }
        return real;
      } catch (Exception ignored) {
      }
    }
    return null;
  }
274351
public static <A, B> Map<A, B> getMapUnsafe(final List list, final Integer... path) {
        return getUnsafe(list, Map.class, path);
    }
116145
public static List<String> readListResource(Class<?> clazz, String path)
    {
        File targetFile = resolve(clazz, path);
        if (targetFile == null)
        {
            return null;
        }

        List<String> result;
        try
        {
            result = FileUtils.readLines(targetFile, "UTF-8");
        }
        catch (IOException ex)
        {
            return null;
        }

        return result;
    }