def f_get(self, *args):
if len(args) == <NUM_LIT:0>:<EOL><INDENT>if len(self._dict) == <NUM_LIT:1>:<EOL><INDENT>return self._dict[list(self._dict.keys())[<NUM_LIT:0>]]<EOL><DEDENT>elif len(self._dict) > <NUM_LIT:1>:<EOL><INDENT>raise ValueError('<STR_LIT>'<EOL>'<STR_LIT>' %<EOL>(str(list(self._dict.keys()))))<EOL><DEDENT>else:<EOL><INDENT>raise AttributeError('<STR_LIT>')<EOL><DEDENT><DEDENT>result_list = []<EOL>for name in args:<EOL><INDENT>name = self._translate_key(name)<EOL>try:<EOL><INDENT>result_list.append(self._dict[name])<EOL><DEDENT>except KeyError:<EOL><INDENT>raise AttributeError('<STR_LIT>' % name)<EOL><DEDENT><DEDENT>if len(args) == <NUM_LIT:1>:<EOL><INDENT>return result_list[<NUM_LIT:0>]<EOL><DEDENT>else:<EOL><INDENT>return tuple(result_list)<EOL><DEDENT>
Returns annotations

        If len(args)>1, then returns a list of annotations.

        `f_get(X)` with *X* integer will return the annotation with name `annotation_X`.

        If the annotation contains only a single entry you can call `f_get()` without arguments.
        If you call `f_get()` and the annotation contains more than one element a ValueError is
        thrown.