<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def doframe(self, v):
 """This method will set the measure specified as part of a frame. If conversion from one type to another is necessary (with the measure function), the following frames should be set if one of the reference types involved in the conversion is as in the following lists: **Epoch** * UTC * TAI * LAST	- position * LMST - position * GMST1 * GAST * UT1 * UT2 * TDT * TCG * TDB * TCD **Direction** * J2000 * JMEAN - epoch * JTRUE - epoch * APP - epoch * B1950 * BMEAN - epoch * BTRUE - epoch * GALACTIC * HADEC - epoch, position * AZEL	- epoch, position * SUPERGALACTIC * ECLIPTIC * MECLIPTIC - epoch * TECLIPTIC - epoch * PLANET - epoch, [position] **Position** * WGS84 * ITRF **Radial Velocity** * LSRK - direction * LSRD - direction * BARY - direction * GEO - direction, epoch * TOPO - direction, epoch, position * GALACTO - direction * **Doppler** * RADIO * OPTICAL * Z * RATIO * RELATIVISTIC * BETA * GAMMA * **Frequency** * REST - direction, radialvelocity * LSRK - direction * LSRD - direction * BARY - direction * GEO - direction, epoch * TOPO	- direction, epoch, position * GALACTO """

        if not is_measure(v):
            raise TypeError('Argument is not a measure')
        if (v["type"] == "frequency" and v["refer"].lower() == "rest") \
                or _measures.doframe(self, v):
            self._framestack[v["type"]] = v
            return True
        return False