def polygonAppendCheck(currentVL, nextVL):
    """Given two polygon vertex lists, append them if needed.

    Polygons will always have the last coordinate be the same
    as the first coordinate. When appending, they may, or may not,
    have the last coordinate of
    the first vertex list be the same as the first coordinate of the
    second vertex list. When appending, we need to eliminate
    one of these coordinates if present.

    Args:
        currentVL (list): First of two lists of vertexes to check.
        nextVL (list): Second of two lists of vertexes to check.

    Returns:
        tuple: Tuple:

        1. ``True`` if the vertexes were appended, otherwise ``False``.
        2. New vertex list if appended (otherwise ignored).
    """
    wasAppended = False
    appendedList = []

    # In a polygon, the polygon always connects to the origin. However, there
    # may be two different altitude levels present.
    currentStart = currentVL[0]
    polyIsComplete = False

    for x in currentVL[1:]:
        if (x[0] == currentStart[0]) and (x[1] == currentStart[1]) \
            and (x[2] == currentStart[2]):
            polyIsComplete = True
        elif polyIsComplete:
            # Polygon probably starting new altitude
            currentStart = x
            polyIsComplete = False

    if not polyIsComplete:
        wasAppended = True

        # In SOME cases, multi-record polygons act like
        # polylines and duplicate the last point.
        last = currentVL[-1]
        first = nextVL[0]

        if (last[0] == first[0]) and (last[1] == first[1]) and (last[2] == first[2]):
            # skip duplicate element
            appendedList = currentVL[:-1] + nextVL
        else:
            appendedList = currentVL + nextVL
        
    return (wasAppended, appendedList)