code: @Override
      public List<Object> collectMilestoningOverlaps()
      {
          List<Object> duplicateData = FastList.newList();
          for (SemiUniqueEntry obj : nonDatedTable)
          {
              collectMilestoningOverlaps(duplicateData, obj);
          }
          return duplicateData;
      }
docs: /*
  This method give duplicate records in the cache. Duplicate here mean data with same primary key and overlapping asOfAttributes(processing date and/or business date)
  In PartailSemiUniqueDatedIndex nonDatedTable[] can have data type MultiEntry SingleEntry(when TTL is 0) and TimedSingleEntry(when TTL >0)
  MultiEntry has records matching primary key but different asOfAttributes(Multiple SingleEntry instances)
  SingleEntry has data for a single record and it can point to another SemiUniqeIndex in case of index collision.
  
  This check is only interested in data inside MultiEntry because it will have duplicate data(if present).
  MultiEntry can be present in top level array of nonDatedTable or in "SemiUniqueNext" of SingleEntry, in any depth.
  SingleEntry can be present is in top level array of nonDatedTable or in "SemiUniqueNext" of another SingleEntry, in any depth