code: protected ExternalBinaryValue createBinaryValue( File file ) throws IOException {
          URL content = createUrlForFile(file);
          return new UrlBinaryValue(sha1(file), getSourceName(), content, file.length(), file.getName(), getMimeTypeDetector());
      }
docs: Utility method to create a {@link BinaryValue} object for the given file. Subclasses should rarely override this method,
  since the {@link UrlBinaryValue} will be applicable in most situations.
  
  @param file the file for which the {@link BinaryValue} is to be created; never null
  @return the binary value; never null
  @throws IOException if there is an error creating the value