def METHOD_NAME(self) -> Result:
    if self._process is None:
        raise RuntimeError("Process not started")
    if self._result is None:
        raise RuntimeError("No result set, call poll() or wait() first")
    self._is_pending = False
    if "error" in self._result:
        raise RuntimeError(self._result["error"])
    METHOD_NAME = DotDict()
    fields = self._result["value"]
    for element in self._elements:
        if is_input(element):
            key = element["name"]
            assert key in fields, f"Missing input value for '{key}'"
            METHOD_NAME[key] = self._post_process_value(fields[key], element=element)
        elif is_submit(element):
            METHOD_NAME["submit"] = fields["submit"]
    assert "submit" in METHOD_NAME, "Missing submit value"
    return METHOD_NAME