private static SchemaAndValue parseAsTemporal(String token) {
            if (token == null) {
                return null;
            }
            // If the colons were escaped, we'll see the escape chars and need to remove them
            token = token.replace("\\:", ":");
            int tokenLength = token.length();
            if (tokenLength == ISO_8601_TIME_LENGTH) {
                return parseAsTemporalType(token, Time.SCHEMA, ISO_8601_TIME_FORMAT_PATTERN);
            } else if (tokenLength == ISO_8601_TIMESTAMP_LENGTH) {
                return parseAsTemporalType(token, Timestamp.SCHEMA, ISO_8601_TIMESTAMP_FORMAT_PATTERN);
            } else if (tokenLength == ISO_8601_DATE_LENGTH) {
                return parseAsTemporalType(token, Date.SCHEMA, ISO_8601_DATE_FORMAT_PATTERN);
            } else {
                return null;
            }
        }
Convert the specified value with the desired floating point type.

@param value  the value to be converted; may not be null
@param schema the schema for the current value type; may not be null
@param error  any previous error that should be included in an exception message; may be null
@return the double value after conversion; never null
@throws DataException if the value could not be converted to a double
connect/api/src/main/java/org/apache/kafka/connect/data/Values.java