@staticmethod
def sequenceFor(output, inp=None):
    if (isinstance(output, list) and output and isinstance(output[0], str)):
        key = strlistkey(output)
    elif isinstance(output, str):
        key = output
    else:
        raise TypeError('Output should be token of list of tokens')
    if (key not in implemented):
        raise LookupError((('Corvus cannot currently produce ' + key) + ' using FEFF'))
    f = (lambda subkey: implemented[key][subkey])
    required = f('req')
    if ('mbconv' in list(inp.keys())):
        required.extend()
    if (f('type') is 'Exchange'):
        return Exchange(mbconv, f('req'), f('out'), cost=f('cost'), desc=f('desc'))
@staticmethod
def sequenceFor(output, inp=None):
    if (isinstance(output, list) and output and isinstance(output[0], str)):
        key = strlistkey(output)
    elif isinstance(output, str):
        key = output
    else:
        raise TypeError('Output should be token of list of tokens')
    if (key not in implemented):
        raise LookupError((('Corvus cannot currently produce ' + key) + ' using FEFF'))
    f = (lambda subkey: implemented[key][subkey])
    required = f('req')
    if ('mbconv' in list(inp.keys())):
        required.extend()
    if (f('type') is 'Exchange'):
        return Exchange(mbconv, f('req'), f('out'), cost=f('cost'), desc=f('desc'))