docs: private void emitValue( Value value,
                              ContentHandler contentHandler,
                              int propertyType,
                              boolean skipBinary ) throws RepositoryException, SAXException {
  
          if (PropertyType.BINARY == propertyType) {
              startElement(contentHandler, JcrSvLexicon.VALUE, null);
  
              // Per section 6.5 of the 1.0.1 spec, we need to emit one empty-value tag for each value if the property is
              // multi-valued and skipBinary is true
              if (!skipBinary) {
                  byte[] bytes = new byte[BASE_64_BUFFER_SIZE];
                  int len;
  
                  Binary binary = value.getBinary();
                  try {
                      InputStream stream = new Base64.InputStream(binary.getStream(), Base64.ENCODE);
                      try {
                          while (-1 != (len = stream.read(bytes))) {
                              contentHandler.characters(new String(bytes, 0, len).toCharArray(), 0, len);
                          }
                      } finally {
                          stream.close();
                      }
                  } catch (IOException ioe) {
                      throw new RepositoryException(ioe);
                  } finally {
                      binary.dispose();
                  }
              }
              endElement(contentHandler, JcrSvLexicon.VALUE);
          } else {
              emitValue(value.getString(), contentHandler);
          }
      }