<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def read(cls, *, hostnames: typing.Sequence[str] = None):
 """List nodes. :param hostnames: Sequence of hostnames to only return. :type hostnames: sequence of `str` """

        params = {}
        if hostnames:
            params["hostname"] = [
                normalize_hostname(hostname)
                for hostname in hostnames
            ]
        data = await cls._handler.read(**params)
        return cls(map(cls._object, data))