code: public static IBioPolymer addAminoAcidAtNTerminus(IBioPolymer protein, IAminoAcid aaToAdd, IStrand strand,
              IAminoAcid aaToAddTo) {
          // then add the amino acid
          addAminoAcid(protein, aaToAdd, strand);
          // Now think about the protein back bone connection
          if (protein.getMonomerCount() == 0) {
              // make the connection between that aminoAcid's C-terminus and the
              // protein's N-terminus
              protein.addBond(aaToAdd.getBuilder().newInstance(IBond.class, aaToAddTo.getNTerminus(),
                      aaToAdd.getCTerminus(), IBond.Order.SINGLE));
          } // else : no current N-terminus, so nothing special to do
          return protein;
      }
docs: Builds a protein by connecting a new amino acid at the N-terminus of the
  given strand.
  
  @param protein protein to which the strand belongs
  @param aaToAdd amino acid to add to the strand of the protein
  @param strand  strand to which the protein is added