def METHOD_NAME(self, original):
    """Computes a schema from the original schema after this action runs.
    Args:
        original (pyarrow.Schema): The original schema to be transformed
    Returns:
        pyarrow.Schema: a new schema that matches transformed data
    """
    METHOD_NAME: pa.Schema = original
    if not self.columns:
        self.columns = METHOD_NAME.names
    columns = [column for column in self.columns if column in METHOD_NAME.names]
    for column in columns:
        field_index = METHOD_NAME.get_field_index(column)
        field = METHOD_NAME.field(field_index)
        new_field = pa.field(field.name,
                             self.field_type() or field.type,
                             self.field_nullable() if self.field_nullable() is not None else field.nullable,
                             field.metadata).with_metadata(self._build_metadata(field))
        METHOD_NAME = METHOD_NAME.set(field_index, new_field)
    return METHOD_NAME