'Apply an imputation method to the given data set. Returns a new
data table with missing values replaced by their imputations.
Parameters
data : Orange.data.Table
An input data table.'

def __call__(self, data):

    method = (self.method or impute.Average())
    newattrs = [method(data, var) for var in data.domain.attributes]
    domain = Orange.data.Domain(newattrs, data.domain.class_vars, data.domain.metas)
    return data.transform(domain)
