/**
  * @param path column identifier
  * @param type type of the column
  * @param codec
  * @param encodings
  * @param statistics
  * @param firstDataPageOffset
  * @param dictionaryPageOffset
  * @param valueCount
  * @param totalSize
  * @param totalUncompressedSize
  */
 LongColumnChunkMetaData(
     ColumnPath path,
     PrimitiveTypeName type,
     CompressionCodecName codec,
     Set<Encoding> encodings,
     Statistics statistics,
     long firstDataPageOffset,
     long dictionaryPageOffset,
     long valueCount,
     long totalSize,
     long totalUncompressedSize) {
   super(ColumnChunkProperties.get(path, type, codec, encodings));
   this.firstDataPageOffset = firstDataPageOffset;
   this.dictionaryPageOffset = dictionaryPageOffset;
   this.valueCount = valueCount;
   this.totalSize = totalSize;
   this.totalUncompressedSize = totalUncompressedSize;
   this.statistics = statistics;
 }
 @Override
 public String toString() {
   return "ColumnMetaData{" + properties.toString() + ", " + getFirstDataPageOffset() + "}";
 }
 /** @return all the encodings used in this column */
 public Set<Encoding> getEncodings() {
   return properties.getEncodings();
 }
 /** @return type of the column */
 public PrimitiveTypeName getType() {
   return properties.getType();
 }
 /** @return column identifier */
 public ColumnPath getPath() {
   return properties.getPath();
 }
 public CompressionCodecName getCodec() {
   return properties.getCodec();
 }