def METHOD_NAME(self, technology, subtype=None):
    """
    Method to retrieve parameters for a given technology by subtype.
    Args:
        technology - unit operation technology to look up and retrieve
                     parameters for.
        subtype - (optional) string or list-of-strings indicating specific
                  sub-type of technology to return parameters for. If not
                  provided, the default parameters are used instead.
    Returns:
        dict of parameters for technology and subtype
    Raises:
        KeyError if technology or subtype could not be found in database
        TypeError if subytpe is not string or list-of-strings
    """
    params = self._get_technology(technology)
    # Get default parameter set
    sparams = deepcopy(params["default"])
    if subtype is None:
        # Return default values
        pass
    elif isinstance(subtype, str):
        try:
            sparams.update(params[subtype])
        except KeyError:
            raise KeyError(
                f"Received unrecognised subtype {subtype} for technology "
                f"{technology}."
            )
    else:
        # Assume subtype is list-like and raise an exception if not
        try:
            for s in subtype:
                # Iterate through provided subtypes and update parameters
                # Note that this will overwrite previous parameters if
                # there is overlap, so we might need to be careful in use.
                try:
                    sparams.update(deepcopy(params[s]))
                except KeyError:
                    raise KeyError(
                        f"Received unrecognised subtype {s} for "
                        f"technology {technology}."
                    )
        except TypeError:
            raise TypeError(
                f"Unexpected type for subtype {subtype}: must be string "
                f"or list like."
            )
    return sparams