private U parseContentType(String value, VCardParameters parameters, VCardVersion version) {
    switch (version) {
      case V2_1:
      case V3_0:
        // get the TYPE parameter
        String type = parameters.getType();
        if (type != null) {
          return _mediaTypeFromTypeParameter(type);
        }
        break;
      case V4_0:
        // get the MEDIATYPE parameter
        String mediaType = parameters.getMediaType();
        if (mediaType != null) {
          return _mediaTypeFromMediaTypeParameter(mediaType);
        }
        break;
    }

    // look for a file extension in the property value
    String extension = getFileExtension(value);
    return (extension == null) ? null : _mediaTypeFromFileExtension(extension);
  }