def METHOD_NAME(self):
    outputs = self.outputs
    inputs = self.inputs
    '''
    - is Edges socket created, means all sockets exist.
    - is anything connected to the Verts socket?
    '''
    if not all([outputs['Verts'].is_linked, inputs['arc_pts'].is_linked]):
        return
    '''
    operational scheme:
    - input:
        :   each 3 points are 'a' 'b' and 'c', then input must be a
            flat list of [v1a, v1b, v1c, v2a, v2b, v2c, ....]
        :   len(arc_pts) % 3 === 0, else no processing.
    - satisfied by input, the output will be n lists of verts+edges
    - [n = (len(arc_pts) / 3)]
    '''
    # assume they all match, reduce cycles used for checking.
    v = inputs['arc_pts'].sv_get(deepcopy=False)[0]
    if not (len(v) % 3 == 0):
        print('number of vertices input to 3pt arc must be divisible by 3')
        return
    num_arcs = len(v) // 3
    nv = []
    # get vert_nums, or pad till matching quantity
    if inputs['num_verts'].is_linked:
        nv = inputs['num_verts'].sv_get(deepcopy=True)[0]
        if nv and (len(nv) < num_arcs):
            pad_num = num_arcs - len(nv)
            for i in range(pad_num):
                nv.append(nv[-1])
    else:
        for i in range(num_arcs):
            nv.append(self.num_verts)
    # will generate nested lists of arcs(verts+edges)
    make_edges = outputs['Edges'].is_linked
    verts_out, edges_out = make_all_arcs(v, nv, make_edges)
    # reaches here if we got usable data.
    outputs['Verts'].sv_set(verts_out)
    if make_edges:
        outputs['Edges'].sv_set(edges_out)