code: @Override
      public List<IAtomType> readAtomTypes(IChemObjectBuilder builder) throws IOException {
          List<IAtomType> atomTypes;
          if (ins == null) {
              try {
                  ins = this.getClass().getClassLoader().getResourceAsStream(configFile);
              } catch (Exception exc) {
                  logger.error(exc.getMessage());
                  logger.debug(exc);
                  throw new IOException("There was a problem getting a stream for " + configFile
                          + " with getClass.getClassLoader.getResourceAsStream");
              }
              if (ins == null) {
                  try {
                      ins = this.getClass().getResourceAsStream(configFile);
                  } catch (Exception exc) {
                      logger.error(exc.getMessage());
                      logger.debug(exc);
                      throw new IOException("There was a problem getting a stream for " + configFile
                              + " with getClass.getResourceAsStream");
                  }
              }
          }
          if (ins == null) throw new IOException("There was a problem getting an input stream");
          AtomTypeReader reader = new AtomTypeReader(new InputStreamReader(ins));
          atomTypes = reader.readAtomTypes(builder);
          for (IAtomType atomType : atomTypes) {
              if (atomType == null) {
                  logger.debug("Expecting an object but found null!");
              }
          }
          return atomTypes;
      }
docs: Reads the atom types from the CDK based atom type list.
  
  @param builder IChemObjectBuilder used to construct the IAtomType's.
  @throws        IOException when a problem occurred with reading from the InputStream
  @return        A List with read IAtomType's.