code: AlleleList asAlleleList(final Interpretation interpretation) throws IOException {
          checkNotNull(interpretation);
          try {
              return glclient.createAlleleList(interpretation.glstring());
          }
          catch (GlClientException e) {
              throw new IOException("could not convert interpretation to allele list, caught " + e.getMessage(), e);
          }
      }
docs: /*
  
  todo: allow for various strategies
  
  - GL String syntax checking only, use LocalGlClient with strict mode off (necessary if interpretations contain allele codes)
  - re-parse GL Strings under reported version of nomenclature, use LocalGlClient in strict mode with reported IMGT/HLA nomenclature
  - register GL Strings under reported version of nomenclature, use GlClient in strict mode against reported IMGT/HLA nomenclature namespace
  - re-parse GL Strings under latest version of nomenclature, regardless of the reported version, use LocalGlClient in strict mode with latest IMGT/HLA nomenclature
  - register GL Strings under latest version of nomenclature, regardless of the reported version, use GlClient in strict mode against latest IMGT/HLA nomenclature namespace
  - re-parse GL Strings under latest version of nomenclature, using liftover service to generate new GL Strings, then use LocalGlClient in strict mode with latest IMGT/HLA nomenclature
  - register GL Strings under latest version of nomenclature, using liftover service to generate new GL Strings, then use GlClient in strict mode against latest IMGT/HLA nomenclature namespace