@classmethod<EOL><INDENT>def _parse_resource_reference(cls, ref_value):<DEDENT>
no_result = (None, None)<EOL>if not isinstance(ref_value, string_types):<EOL><INDENT>return no_result<EOL><DEDENT>splits = ref_value.split(cls._resource_ref_separator, <NUM_LIT:1>)<EOL>if len(splits) != <NUM_LIT:2> or not all(splits):<EOL><INDENT>return no_result<EOL><DEDENT>return splits[<NUM_LIT:0>], splits[<NUM_LIT:1>]<EOL>
Splits a resource reference of structure "LogicalId.Property" and returns the "LogicalId" and "Property"
separately.

:param string ref_value: Input reference value which *may* contain the structure "LogicalId.Property"
:return string, string: Returns two values - logical_id, property. If the input does not contain the structure,
    then both `logical_id` and property will be None