<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse(cls, spec, relative_to='', subproject_roots=None):
 """Parses an address from its serialized form. :param string spec: An address in string form <path>:<name>. :param string relative_to: For sibling specs, ie: ':another_in_same_build_family', interprets the missing spec_path part as `relative_to`. :param list subproject_roots: Paths that correspond with embedded build roots under the current build root. :returns: A new address. :rtype: :class:`pants.base.address.Address` """

    spec_path, target_name = parse_spec(spec,
                                        relative_to=relative_to,
                                        subproject_roots=subproject_roots)
    return cls(spec_path, target_name)