Source:
<code>public boolean mergeIdenticalByEntityId(SubunitCluster other) { if (!isIdenticalByEntityIdTo(other)) return false; Subunit thisSub = this.subunits.get(this.representative); Subunit otherSub = other.subunits.get(other.representative); logger.info("SubunitClusters {}-{} belong to same entity. Assuming they are identical", thisSub.getName(), otherSub.getName()); List<Integer> thisAligned = new ArrayList<>(); List<Integer> otherAligned = new ArrayList<>(); Structure thisStruct = thisSub.getStructure(); Structure otherStruct = otherSub.getStructure(); String thisName = thisSub.getName(); String otherName = otherSub.getName(); Chain thisChain = thisStruct.getChain(thisName); Chain otherChain = otherStruct.getChain(otherName); EntityInfo entityInfo = thisChain.getEntityInfo(); for (int thisIndex=0; thisIndex < thisSub.size(); thisIndex++) { Group g = thisSub.getRepresentativeAtoms()[thisIndex].getGroup(); int seqresIndex = entityInfo.getAlignedResIndex(g, thisChain); Group otherG = otherChain.getSeqResGroups().get(seqresIndex - 1); if (!otherChain.getAtomGroups().contains(otherG)) { <START> continue; <END> } int otherIndex = otherChain.getAtomGroups().indexOf(otherG); if (this.subunitEQR.get(this.representative).contains(thisIndex) && other.subunitEQR.get(other.representative).contains(otherIndex)) { thisAligned.add(thisIndex); otherAligned.add(otherIndex); } } updateEquivResidues(other, thisAligned, otherAligned); return true; }</code><technical_language>Ok I answers question before, sense! Thanks Jose</technical_language>

Target:
public boolean mergeIdenticalByEntityId(SubunitCluster other) { if (!isIdenticalByEntityIdTo(other)) return false; Subunit thisSub = this.subunits.get(this.representative); Subunit otherSub = other.subunits.get(other.representative); String thisName = thisSub.getName(); String otherName = otherSub.getName(); logger.info("SubunitClusters {}-{} belong to same entity. Assuming they are identical", thisName, otherName); List<Integer> thisAligned = new ArrayList<>(); List<Integer> otherAligned = new ArrayList<>(); Structure thisStruct = thisSub.getStructure(); Structure otherStruct = otherSub.getStructure(); Chain thisChain = thisStruct.getChain(thisName); Chain otherChain = otherStruct.getChain(otherName); EntityInfo entityInfo = thisChain.getEntityInfo(); for (int thisIndex=0; thisIndex < thisSub.size(); thisIndex++) { Group g = thisSub.getRepresentativeAtoms()[thisIndex].getGroup(); int seqresIndex = entityInfo.getAlignedResIndex(g, thisChain); if (seqresIndex == -1) { continue; } Group otherG = otherChain.getSeqResGroups().get(seqresIndex - 1); int otherIndex = otherChain.getAtomGroups().indexOf(otherG); if (otherIndex == -1) { continue; } if (this.subunitEQR.get(this.representative).contains(thisIndex) && other.subunitEQR.get(other.representative).contains(otherIndex)) { thisAligned.add(thisIndex); otherAligned.add(otherIndex); } } if (thisAligned.size() == 0 && otherAligned.size() == 0) { logger.warn("No equivalent aligned atoms found between SubunitClusters {}-{} via entity SEQRES alignment. Is FileParsingParameters.setAlignSeqRes() set?", thisName, otherName); } updateEquivResidues(other, thisAligned, otherAligned); return true; }