@Override
    public void fromData(DataInput dip,
        DeserializationContext context) throws IOException, ClassNotFoundException {
      super.fromData(dip, context);
      // String regionName = DataSerializer.readString(dip);
      emptyRegionMap = DataSerializer.readHashMap(dip);
      // Read interest info.
      interestMaps[NON_DURABLE].allKeys = DataSerializer.readHashMap(dip);
      interestMaps[NON_DURABLE].allKeysInv = DataSerializer.readHashMap(dip);
      interestMaps[NON_DURABLE].keysOfInterest = DataSerializer.readHashMap(dip);
      interestMaps[NON_DURABLE].keysOfInterestInv = DataSerializer.readHashMap(dip);
      interestMaps[NON_DURABLE].patternsOfInterest = DataSerializer.readHashMap(dip);
      interestMaps[NON_DURABLE].patternsOfInterestInv = DataSerializer.readHashMap(dip);
      interestMaps[NON_DURABLE].filtersOfInterest = DataSerializer.readHashMap(dip);
      interestMaps[NON_DURABLE].filtersOfInterestInv = DataSerializer.readHashMap(dip);

      interestMaps[DURABLE].allKeys = DataSerializer.readHashMap(dip);
      interestMaps[DURABLE].allKeysInv = DataSerializer.readHashMap(dip);
      interestMaps[DURABLE].keysOfInterest = DataSerializer.readHashMap(dip);
      interestMaps[DURABLE].keysOfInterestInv = DataSerializer.readHashMap(dip);
      interestMaps[DURABLE].patternsOfInterest = DataSerializer.readHashMap(dip);
      interestMaps[DURABLE].patternsOfInterestInv = DataSerializer.readHashMap(dip);
      interestMaps[DURABLE].filtersOfInterest = DataSerializer.readHashMap(dip);
      interestMaps[DURABLE].filtersOfInterestInv = DataSerializer.readHashMap(dip);

      // read CQ info.
      cqs = DataSerializer.readHashMap(dip);
    }
Helper method to register the filters.
geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java