class Dependencies implements List<Dependency> {

    public Collection<GAV> getGavs(final String... scopes) {
        final List<String> scopesList = Arrays.asList(scopes);

        if (scopesList.isEmpty()) {
            return new ArrayList<>(dependencies);
        } else {
            return dependencies.stream()
                    .filter(dep -> scopesList.contains(dep.getScope()))
                    .collect(toList());
        }
    }

    public  Dependencies();
    public  Dependencies(final List<Dependency> dependencies);

}