code: public MetadataBuilder setFilesInfo(@NotNull List<byte[]> hashes,
                                        @NotNull List<String> filesPaths,
                                        @NotNull List<Long> filesLengths) {
      if (dataSources.size() != 0) {
        throw new IllegalStateException("Unable to add hashes-based files info. Some data sources already added");
      }
      this.filesPaths.clear();
      this.filesPaths.addAll(filesPaths);
      this.hashingResult = new HashingResult(hashes, filesLengths);
      return this;
    }
docs: allow to create information about files via speicified hashes, files paths and files lengths.
  Using of this method is not compatible with using source-based methods
  ({@link #addFile(File)}, {@link #addDataSource(InputStream, String, boolean)}, etc
  because it's not possible to calculate concat this hashes and calculated hashes.
  each byte array in hashes list should have {{@link Constants#PIECE_HASH_SIZE}} length
  
  @param hashes       list of files hashes in same order as files in files paths list
  @param filesPaths   list of files paths
  @param filesLengths list of files lengths in same order as files in files paths list