def _get_elements(self, url, key, eclass, id=None, name=None):
if id is not None and name is not None:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>json_elements = self.rest_client.make_request(url)[key]<EOL>return [eclass(element, self.rest_client) for element in json_elements<EOL>if _exact_resource(element, id) and _matching_resource(element, name)]<EOL>
Get elements matching `id` or `name`

        Args:
            url(str): url of children.
            key(str): key in the returned JSON.
            eclass(subclass type of :py:class:`_ResourceElement`): element class to create instances of.
            id(str, optional): only return resources whose `id` property matches the given `id`
            name(str, optional): only return resources whose `name` property matches the given `name`

        Returns:
            list(_ResourceElement): List of `eclass` instances

        Raises:
            ValueError: both `id` and `name` are specified together