private void to(int[] path) throws Exception {
   InputStream in =
       new ByteArrayInputStream(Charset.forName("us-ascii").encode(MULTIPART_MIXED).array());
   builder.parse(in);
   for (int i = 0; i < path.length; i++) {
     builder.to(path[i]);
   }
 }
 private List<Header> headers(int[] position) throws Exception {
   to(position);
   return builder.getMimeHeaders();
 }
 private String bodyContent(int[] position) throws Exception {
   to(position);
   return IOUtils.toString(builder.getMimeBodyContent().getInputStream());
 }