code: public static EscMeta create(final JsonObject jsonObj) {
          final String dataType = jsonObj.getString(EL_DATA_TYPE);
          final EnhancedMimeType dataContentType = EnhancedMimeType.create(jsonObj.getString(EL_DATA_CONTENT_TYPE));
          if (!jsonObj.containsKey(EL_META_TYPE)) {
              return new EscMeta(jsonObj.getString(EL_DATA_TYPE), dataContentType);
          }
          final String metaType = jsonObj.getString(EL_META_TYPE);
          final EnhancedMimeType metaContentType = EnhancedMimeType.create(jsonObj.getString(EL_META_CONTENT_TYPE));
          final String transferEncoding = metaContentType.getParameter("transfer-encoding");
          if (transferEncoding == null) {
              return new EscMeta(dataType, dataContentType, metaType, metaContentType, jsonObj.get(metaType));
          }
          final JsonObject base64obj = jsonObj.getJsonObject(metaType);
          return new EscMeta(dataType, dataContentType, metaType, metaContentType,
                  new Base64Data(base64obj.getString(Base64Data.EL_ROOT_NAME)));
      }
docs: Creates in instance from the given JSON object.
  
  @param jsonObj
  Object to read values from.
  
  @return New instance.