def METHOD_NAME(self):
    if not any(s.is_linked for s in self.outputs):
        return
    if not self.inputs['Vertices'].is_linked:
        return
    verts = Vector_generate(self.inputs['Vertices'].sv_get(deepcopy=False))
    polys = self.inputs['PolyEdge'].sv_get(default=[[]], deepcopy=False)
    face_data = self.inputs['FaceData'].sv_get(default=[[]], deepcopy=False)
    distance = self.inputs['Distance'].sv_get(default=[self.distance], deepcopy=False)[0]
    has_double_out = self.outputs['Doubles'].is_linked
    mask_s = self.inputs['Mask'].sv_get(default=[[]], deepcopy=False)
    has_mask_out = self.inputs['Mask'].is_linked, self.outputs['Mask'].is_linked
    verts_out = []
    edges_out = []
    polys_out = []
    face_data_out = []
    d_out = []
    mask_out = []
    for v, p, ms, d, mask in zip_long_repeat(verts, polys, face_data, distance, mask_s):
        res = remove_doubles(v, p, d, ms, has_double_out, mask=mask, output_mask=has_mask_out)
        if not res:
            return
        verts_out.append(res[0])
        edges_out.append(res[1])
        polys_out.append(res[2])
        face_data_out.append(res[3])
        d_out.append(res[4])
        mask_out.append(res[5])
    self.outputs['Vertices'].sv_set(verts_out)
    # restrict setting this output when there is no such input
    if self.inputs['PolyEdge'].is_linked:
        self.outputs['Edges'].sv_set(edges_out)
        self.outputs['Polygons'].sv_set(polys_out)
    self.outputs['FaceData'].sv_set(face_data_out)
    self.outputs['Doubles'].sv_set(d_out)
    self.outputs['Mask'].sv_set(mask_out)