@classmethod
def get_Instance(cls, inputdict):
    """
        This is the recommended method to generate a BibTeX Entry object.

        It returns an Entry object depending on the ENTRYTYPE as defined in the *inputdict*.
        To initialize an Entry object one need to commit an dictionary containing the initial tags
        of an Entry, like ``{'ID':'Doe2015', 'ENTRYTYPE':'article', 'year':'2015', ...}``.

        :param inputdict: the initial values of an Entry
        :type inputdict: .Entry.datadict
        :return: BibTeX Entry object
        :rtype: :class:`.Article` | :class:`.Book` | ...
        :raises NameError: if ENTRYTYPE is invalid
        :raises KeyError: if ENTRYTYPE is missed
        """
    if 'ENTRYTYPE' not in inputdict:
        msg = 'Entry type is not defined'
        raise KeyError(msg)
    if inputdict['ENTRYTYPE'] not in cls._registeredTypes:
        msg = str(inputdict['ENTRYTYPE']) + ' is not a valid Entry type!'
        raise NameError(msg)
    return cls._registeredTypes[inputdict['ENTRYTYPE']](inputdict)
