code: private IChemFile readChemFile(IChemFile file) throws Exception {
          IChemSequence chemSequence = file.getBuilder().newInstance(IChemSequence.class);
          IChemModel chemModel = file.getBuilder().newInstance(IChemModel.class);
          IAtomContainerSet moleculeSet = file.getBuilder().newInstance(IAtomContainerSet.class);
          molecule = file.getBuilder().newInstance(IAtomContainer.class);
          atomIDs = new HashMap<String, IAtom>();
  
          String line = input.readLine();
          while (input.ready() && line != null) {
              if (line.indexOf('{') != -1) {
                  processBlock(line);
              } else {
                  logger.warn("Skipping non-block: " + line);
              }
              line = input.readLine();
          }
          moleculeSet.addAtomContainer(molecule);
          chemModel.setMoleculeSet(moleculeSet);
          chemSequence.addChemModel(chemModel);
          file.addChemSequence(chemSequence);
          return file;
      }
docs: private procedures