code: public static KAMStoreDaoImpl.Citation convert(Citation wsCitation)
              throws InvalidIdException {
  
          String wsId = wsCitation.getId();
          String wsName = wsCitation.getName();
          CitationType wsCitationType = wsCitation.getCitationType();
          String wsComment = wsCitation.getComment();
          XMLGregorianCalendar wsPublicationDate =
                  wsCitation.getPublicationDate();
          List<String> wsAuthors = wsCitation.getAuthors();
  
          Integer id = null;
          try {
              id = Integer.parseInt(wsId);
          } catch (NumberFormatException e) {
              throw new InvalidIdException(wsId);
          }
          List<String> authors =
                  (wsAuthors == null ? new ArrayList<String>() : wsAuthors);
          Date publicationDate = (wsPublicationDate != null ?
                  wsPublicationDate.toGregorianCalendar().getTime() : null);
  
          return new KAMStoreDaoImpl.Citation(
                  wsName, id.toString(), wsComment, publicationDate, authors,
                  convert(wsCitationType));
      }
docs: Converts a {@link Citation ws citation} to a {@link KAMStoreDaoImpl.Citation citation}.
  
  @param wsCitation
  @return