code: private void assignAsymIds(List<List<Chain>> polys, List<List<Chain>> nonPolys, List<List<Chain>> waters) {
  
  		for (int i=0; i<polys.size(); i++) {
  			String asymId = "A";
  
  			for (Chain poly:polys.get(i)) {
  				poly.setId(asymId);
  				asymId = getNextAsymId(asymId);
  			}
  			for (Chain nonPoly:nonPolys.get(i)) {
  				nonPoly.setId(asymId);
  				asymId = getNextAsymId(asymId);
  			}
  			for (Chain water:waters.get(i)) {
  				water.setId(asymId);
  				asymId = getNextAsymId(asymId);
  			}
  		}
  	}
docs: Assign asym ids following the rules used by the PDB to assign asym ids in mmCIF files
  @param polys
  @param nonPolys
  @param waters