<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def insert_colorpoint(self, position=0.5, color1=[1.0,1.0,0.0], color2=[1.0,1.0,0.0]):
 """ Inserts the specified color into the list. """

        L = self._colorpoint_list

        # if position = 0 or 1, push the end points inward
        if   position <= 0.0:
            L.insert(0,[0.0,color1,color2])

        elif position >= 1.0:
            L.append([1.0,color1,color2])

        # otherwise, find the position where it belongs
        else:

            # loop over all the points
            for n in range(len(self._colorpoint_list)):
                # check if it's less than the next one
                if position <= L[n+1][0]:
                    # found the place to insert it
                    L.insert(n+1,[position,color1,color2])
                    break

        # update the image with the new cmap
        self.update_image()

        return self