void processChemCompLoopBlock() throws Exception {
    parseLoopParameters(chemCompFields);
    while (tokenizer.getData()) {
      String groupName = null;
      String hetName = null;
      for (int i = 0; i < fieldCount; ++i) {
        String field = loopData[i];
        if (field.length() == 0)
          continue;
        char firstChar = field.charAt(0);
        if (firstChar == '\0')
          continue;
        switch (fieldTypes[i]) {
        case NONE:
          break;
        case CHEM_COMP_ID:
          groupName = field;
          break;
        case CHEM_COMP_NAME:
          hetName = field;
          break;
        }
      }
      if (groupName == null || hetName == null)
        return;
      addHetero(groupName, hetName);
    }
  }