message: support StructureElement in eachPolymerGapElement
diff: @@ -154,7 +154,7 @@ export function getPolymerGapElementLoci(pickingId: PickingId, structureGroup: S
  export function eachPolymerGapElement(loci: Loci, structureGroup: StructureGroup, apply: (interval: Interval) => boolean) {
  let changed = false
  - if (!Link.isLoci(loci)) return false
  + if (Link.isLoci(loci)) {
  const { structure, group } = structureGroup
  if (!Structure.areEquivalent(loci.structure, structure)) return false
  const groupCount = group.units[0].gapElements.length
  @@ -168,5 +168,21 @@ export function eachPolymerGapElement(loci: Loci, structureGroup: StructureGroup
  }
  }
  }
  + } else if (StructureElement.isLoci(loci)) {
  + const { structure, group } = structureGroup
  + if (!Structure.areEquivalent(loci.structure, structure)) return false
  + const groupCount = group.units[0].gapElements.length
  + for (const e of loci.elements) {
  + const unitIdx = group.unitIndexMap.get(e.unit.id)
  + if (unitIdx !== undefined) {
  + OrderedSet.forEach(e.indices, v => {
  + const idx = OrderedSet.indexOf(e.unit.gapElements, e.unit.elements[v])
  + if (idx !== -1) {
  + if (apply(Interval.ofSingleton(unitIdx * groupCount + idx))) changed = true
  + }
  + })
  + }
  + }
  + }
  return changed
  }
  \ No newline at end of file
  