code: static String getAromaticType(Map<String, String> map, char suffix, String symb, boolean imidazolium, boolean anion) {
          if (anion && symb.startsWith("N")) symb = "N5M";
          if (map.containsKey(symb)) symb = map.get(symb);
          if ((imidazolium || anion) && symb.charAt(symb.length() - 1) == suffix)
              symb = symb.substring(0, symb.length() - 1);
          return symb;
      }
docs: Obtain the aromatic atom type for an atom in the alpha or beta position of a 5-member
  aromatic ring. The method primarily uses an HashMap to lookup up the aromatic type. The two
  maps are, {@link #alphaTypes} and {@link #betaTypes}. Depending on the position (alpha or
  beta), one map is passed to the method. The exceptions to using the HashMap directly are as
  follows: 1) if AN flag is raised and the symbolic type is a nitrogen, the type is 'N5M'. 2)
  If the IM or AN flag is raised, the atom is 'C5' or 'N5 instead of 'C5A', 'C5B', 'N5A', or
  'N5B'. This is because the hetroatom in these rings can resonate and so the atom is both
  alpha and beta.
  
  @param map         mapping of alpha or beta types
  @param suffix      'A' or 'B'
  @param symb        input symbolic type
  @param imidazolium imidazolium flag (IM naming from MMFFAROM.PAR)
  @param anion       anion flag (AN naming from MMFFAROM.PAR)
  @return the aromatic type