def METHOD_NAME(cls, json_str: str) -> Color:
    """Returns the object represented by the json string"""
    instance = Color.construct()
    if json_str is None:
        return instance
    error_messages = []
    match = 0
    # deserialize data into List[int]
    try:
        # validation
        instance.oneof_schema_1_validator = json.loads(json_str)
        # assign value to actual_instance
        instance.actual_instance = instance.oneof_schema_1_validator
        match += 1
    except (ValidationError, ValueError) as e:
        error_messages.append(str(e))
    # deserialize data into List[int]
    try:
        # validation
        instance.oneof_schema_2_validator = json.loads(json_str)
        # assign value to actual_instance
        instance.actual_instance = instance.oneof_schema_2_validator
        match += 1
    except (ValidationError, ValueError) as e:
        error_messages.append(str(e))
    # deserialize data into str
    try:
        # validation
        instance.oneof_schema_3_validator = json.loads(json_str)
        # assign value to actual_instance
        instance.actual_instance = instance.oneof_schema_3_validator
        match += 1
    except (ValidationError, ValueError) as e:
        error_messages.append(str(e))
    if match > 1:
        # more than 1 match
        raise ValueError("Multiple matches found when deserializing the JSON string into Color with oneOf schemas: List[int], str. Details: " + ", ".join(error_messages))
    elif match == 0:
        # no match
        raise ValueError("No match found when deserializing the JSON string into Color with oneOf schemas: List[int], str. Details: " + ", ".join(error_messages))
    else:
        return instance