def METHOD_NAME(self, entry_point):
    """Register an extension
    :param str entry_point: extension to register (entry point syntax).
    :raise: ValueError if already registered.
    """
    if entry_point in self.registered_extensions:
        raise ValueError('Extension already registered')
    ep = EntryPoint.parse(entry_point)
    if ep.name in self.names():
        raise ValueError('An extension with the same name already exist')
    ext = self._load_one_plugin(ep, False, (), {}, False)
    self.extensions.append(ext)
    if self._extensions_by_name is not None:
        self._extensions_by_name[ext.name] = ext
    self.registered_extensions.insert(0, entry_point)