Converts given text with whitespaces between words
    into equivalent camel-cased one.

    :param capitalize: Whether result will have first letter upper case (True),
                       lower case (False), or left as is (None, default).

    :return: String turned into camel-case "equivalent"

def camel_case(arg, capitalize=None):
    """Converts given text with whitespaces between words
    into equivalent camel-cased one.

    :param capitalize: Whether result will have first letter upper case (True),
                       lower case (False), or left as is (None, default).

    :return: String turned into camel-case "equivalent"
    """
    ensure_string(arg)
    if not arg:
        return arg

    words = split(arg)
    first_word = words[0] if len(words) > 0 else None

    words = [word.capitalize() for word in words]
    if first_word is not None:
        if capitalize is True:
            first_word = first_word.capitalize()
        elif capitalize is False:
            first_word = first_word[0].lower() + first_word[1:]
        words[0] = first_word

    return join(arg.__class__(), words)