@classmethod
def from_server(cls, client: 'FractalClient', name: str) ->'Collection':
    """Creates a new class from a server

        Parameters
        ----------
        client : FractalClient
            A FractalClient connected to a server
        name : str
            The name of the collection to pull from.

        Returns
        -------
        Collection
            A constructed collection.

        """
    if not client.__class__.__name__ == 'FractalClient':
        raise TypeError('Expected a FractalClient as first argument, found {}.'
            .format(type(client)))
    class_name = cls.__name__.lower()
    tmp_data = client.get_collection(class_name, name, full_return=True)
    if tmp_data.meta.n_found == 0:
        raise KeyError('Warning! `{}: {}` not found.'.format(class_name, name))
    return cls.from_json(tmp_data.data[0], client=client)
