Based on the naming, it's not clear to me why we have both requiresExtraParameters and hasExtraParameters.