code: public static String getCanonicalSMILESForPolymer(PolymerNotation polymer) throws BuilderMoleculeException,
  			HELM2HandledException, CTKSmilesException, CTKException, NotationException, ChemistryException {
  		AbstractMolecule molecule = BuilderMolecule.buildMoleculefromSinglePolymer(polymer).getMolecule();
  		molecule = BuilderMolecule.mergeRgroups(molecule);
  
  		return Chemistry.getInstance().getManipulator().canonicalize(Chemistry.getInstance().getManipulator()
  				.convertMolecule(molecule, AbstractChemistryManipulator.StType.SMILES));
  	}
docs: method to generate canonical smiles for one single PolymerNotation
  
  @param polymer
  PolymerNotation
  @return smiles for the sinlge given PolymerNotation
  @throws BuilderMoleculeException
  if the molecule can't be built
  @throws HELM2HandledException
  if it contains HELM2 specific features, so that it can not be
  casted to HELM1 Format
  @throws CTKSmilesException
  if it contains an invalid smiles
  @throws CTKException
  general ChemToolKit exception passed to HELMToolKit
  @throws NotationException
  if notation is not valid
  @throws ChemistryException
  if the Chemistry Engine can not be initialized