'@param environ: A dictionary-like object to inspect to discover
inherited descriptors.  By default, L{None}, indicating that the
real process environment should be inspected.  The default is
suitable for typical usage.
@param start: An integer giving the lowest value of an inherited
descriptor systemd will give us.  By default, L{None}, indicating
the known correct (that is, in agreement with systemd) value will be
used.  The default is suitable for typical usage.
@return: A new instance of C{cls} which can be used to look up the
descriptors which have been inherited.'

@classmethod
def fromEnvironment(cls, environ=None, start=None):

    if (environ is None):
        from os import environ
    if (start is None):
        start = cls._START
    descriptors = []
    try:
        pid = int(environ['LISTEN_PID'])
    except (KeyError, ValueError):
        pass
    else:
        if (pid == getpid()):
            try:
                count = int(environ['LISTEN_FDS'])
            except (KeyError, ValueError):
                pass
            else:
                descriptors = range(start, (start + count))
                del environ['LISTEN_PID'], environ['LISTEN_FDS']
    return cls(descriptors)
