'Creates prefix and params for new `Block`.'

@staticmethod
def create(prefix, params, hint):

    current = _BlockScope._current
    if (current is None):
        if (prefix is None):
            prefix = (_name.NameManager.current.get(None, hint) + '_')
        if (params is None):
            params = ParameterDict(prefix)
        else:
            params = ParameterDict(params.prefix, params)
        return (prefix, params)
    if (prefix is None):
        count = current._counter.get(hint, 0)
        prefix = ('%s%d_' % (hint, count))
        current._counter[hint] = (count + 1)
    if (params is None):
        parent = current._block.params
        params = ParameterDict((parent.prefix + prefix), parent._shared)
    else:
        params = ParameterDict(params.prefix, params)
    return ((current._block.prefix + prefix), params)
