def __create_user_default_pipe_prop(self, extra_info):
        """for internal usage only"""
        p = UserDefaultPipeProp()

        doc = extra_info.pop('doc', None)
        if doc is not None:
            extra_info['description'] = doc

        for k, v in extra_info.items():
            k_lower = k.lower()
            method_name = "set_%s" % k_lower.replace(' ', '_')
            if hasattr(p, method_name):
                method = getattr(p, method_name)
                method(str(v))
            else:
                msg = "Wrong definition of pipe. " \
                      "The object extra information '%s' " \
                      "is not recognized!" % (k,)
                Except.throw_exception("PyDs_WrongPipeDefinition", msg,
                                       "create_user_default_pipe_prop()")
        return p