Generates docs for a method.

Descriptions got merged from all levels. Other params
will not be merged and first non-empty value will be used
function genBlockMethod(members, name) {
    var res = {
        name: name,
        description: '',
        params: [],
        returns: [],
        deprecated: false,
        final: false
    };
    members.filter({
        kind: 'function',
        name: name
    }).each(function(doclet) {
        if (doclet.description) {
            res.description += doclet.description + '\n';
        }

        if (!res.access) {
            res.access = doclet.access;
        }

        if (!res.scope) {
            res.scope = doclet.scope;
        }

        if (res.returns.length === 0) {
            res.returns = genMethodReturns(doclet.returns);
        }

        if (res.params.length === 0) {
            res.params  = genMethodParams(doclet.params);
        }

        if (doclet.deprecated) {
            res.deprecated = doclet.deprecated;
        }

        if (doclet.final) {
            res.final = doclet.final;
        }
    });

    res.scope = res.scope || 'instance';
    res.access = res.access || 'public';

    return res;
}