@SuppressWarnings("unchecked")
 @Override
 protected void doReadFrom(StreamInput in) throws IOException {
   script = Script.readScript(in);
   formatter = ValueFormatterStreams.readOptional(in);
   gapPolicy = GapPolicy.readFrom(in);
   bucketsPathsMap = (Map<String, String>) in.readGenericValue();
 }
 /** Read from a stream. */
 public BucketSelectorPipelineAggregationBuilder(StreamInput in) throws IOException {
   super(in, NAME);
   int mapSize = in.readVInt();
   bucketsPathsMap = new HashMap<String, String>(mapSize);
   for (int i = 0; i < mapSize; i++) {
     bucketsPathsMap.put(in.readString(), in.readString());
   }
   script = new Script(in);
   gapPolicy = GapPolicy.readFrom(in);
 }