private void addDihedralType(String line) {
   List<Dihedral> dihedralTypes = structure.getDihedralTypes();
   List<String> split = reworkLine(line);
   DihedralImpl dt = new DihedralImpl();
   int length = split.size();
   if (length == 6) {
     dt.setAi(split.get(0));
     dt.setAj(split.get(1));
     dt.setFuncType(Integer.parseInt(split.get(2)));
     dt.setC1(new BigDecimal(split.get(3)));
     dt.setC2(new BigDecimal(split.get(4)));
     dt.setC3(new BigDecimal(split.get(5)));
   } else if (length >= 7) {
     dt.setAi(split.get(0));
     dt.setAj(split.get(1));
     dt.setAk(split.get(2));
     dt.setAl(split.get(3));
     dt.setFuncType(Integer.parseInt(split.get(4)));
     dt.setC1(new BigDecimal(split.get(5)));
     dt.setC2(new BigDecimal(split.get(6)));
   }
   if (length >= 8) {
     dt.setC3(new BigDecimal(split.get(7)));
   }
   if (length >= 9) {
     dt.setC4(new BigDecimal(split.get(8)));
   }
   if (length >= 10) {
     dt.setC5(new BigDecimal(split.get(9)));
   }
   if (length == 11) {
     dt.setC6(new BigDecimal(split.get(10)));
   }
   if (length < 6 || length > 11) {
     ch.printErrorln(String.format("some DIHEDRALTYPES values are lost! --> %s", line));
   } else {
     dihedralTypes.add(dt);
   }
 }
 private void addDihedral(String line, Section actualSection) {
   if (actualSection != null) {
     List<Dihedral> dihedrals = actualSection.getDihedrals();
     List<String> split = reworkLine(line);
     DihedralImpl dh = new DihedralImpl();
     int length = split.size();
     if (length >= 5) {
       dh.setAi(split.get(0));
       dh.setAj(split.get(1));
       dh.setAk(split.get(2));
       dh.setAl(split.get(3));
       dh.setFuncType(Integer.parseInt(split.get(4)));
     }
     if (length >= 7) {
       dh.setC1(new BigDecimal(split.get(5)));
       dh.setC2(new BigDecimal(split.get(6)));
     }
     if (length >= 8) {
       dh.setC3(new BigDecimal(split.get(7)));
     }
     if (length >= 9) {
       dh.setC4(new BigDecimal(split.get(8)));
     }
     if (length >= 10) {
       dh.setC5(new BigDecimal(split.get(9)));
     }
     if (length == 11) {
       dh.setC6(new BigDecimal(split.get(10)));
     }
     if (length < 5 || length > 11) {
       ch.printErrorln(String.format("some DIHEDRALS values are lost! --> %s", line));
     } else {
       dihedrals.add(dh);
     }
   }
 }