@SuppressWarnings("unchecked")
	void addAtom(int modelIndex, BitSet atomSymmetry, int atomSite, Object atomUid, short atomicAndIsotopeNumber,
			String atomName, short mad, int formalCharge, float partialCharge, int occupancy, float bfactor, float x,
			float y, float z, boolean isHetero, int atomSerial, char chainID, String group3, int groupSequenceNumber,
			char groupInsertionCode, float vectorX, float vectorY, float vectorZ, char alternateLocationID,
			Object clientAtomReference) {

		checkNewGroup(atomCount, modelIndex, chainID, group3, groupSequenceNumber, groupInsertionCode);

		if (atomCount == atoms.length)
			growAtomArrays();

		Atom atom = new Atom(this, currentModelIndex, atomCount, atomSymmetry, atomSite, atomicAndIsotopeNumber,
				atomName, mad, formalCharge, partialCharge, occupancy, bfactor, x, y, z, isHetero, atomSerial, chainID,
				group3, vectorX, vectorY, vectorZ, alternateLocationID, clientAtomReference);
		atoms[atomCount] = atom;
		++atomCount;
		htAtomMap.put(atomUid, atom);
	}