docs: public static Media add_material(String access_token,MediaType mediaType,URI uri,Description description){
  		HttpPost httpPost = new HttpPost(BASE_URI+"/cgi-bin/material/add_material");
  		CloseableHttpClient tempHttpClient = HttpClients.createDefault();
  		try {
  			HttpEntity entity = tempHttpClient.execute(RequestBuilder.get().setUri(uri).build()).getEntity();
  			 MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create()
  					 .addBinaryBody("media",EntityUtils.toByteArray(entity),ContentType.get(entity),"temp."+mediaType.fileSuffix());
  			 if(description != null){
  				multipartEntityBuilder.addTextBody("description", JsonUtil.toJSONString(description),ContentType.create("text/plain",Charset.forName("utf-8")));
  			 }
  			 HttpEntity reqEntity = multipartEntityBuilder.addTextBody(PARAM_ACCESS_TOKEN, API.accessToken(access_token))
  			         .addTextBody("type",mediaType.uploadType())
  			         .build();
  			httpPost.setEntity(reqEntity);
  			return LocalHttpClient.executeJsonResult(httpPost,Media.class);
  		} catch (UnsupportedCharsetException e) {
  			logger.error("", e);
  		} catch (ClientProtocolException e) {
  			logger.error("", e);
  		} catch (ParseException e) {
  			logger.error("", e);
  		} catch (IOException e) {
  			logger.error("", e);
  		} finally{
  			try {
  				tempHttpClient.close();
  			} catch (IOException e) {
  				logger.error("", e);
  			}
  		}
  		return null;
  	}