001package org.hl7.fhir.convertors.conv40_50;
002
003
004import org.hl7.fhir.convertors.VersionConvertor_40_50;
005import org.hl7.fhir.exceptions.FHIRException;
006
007/*
008  Copyright (c) 2011+, HL7, Inc.
009  All rights reserved.
010  
011  Redistribution and use in source and binary forms, with or without modification, 
012  are permitted provided that the following conditions are met:
013  
014   * Redistributions of source code must retain the above copyright notice, this 
015     list of conditions and the following disclaimer.
016   * Redistributions in binary form must reproduce the above copyright notice, 
017     this list of conditions and the following disclaimer in the documentation 
018     and/or other materials provided with the distribution.
019   * Neither the name of HL7 nor the names of its contributors may be used to 
020     endorse or promote products derived from this software without specific 
021     prior written permission.
022  
023  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
024  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
025  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
026  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
027  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
028  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
029  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
030  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
031  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
032  POSSIBILITY OF SUCH DAMAGE.
033  
034*/
035// Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0
036public class Consent40_50 extends VersionConvertor_40_50 {
037
038    public static org.hl7.fhir.r5.model.Consent convertConsent(org.hl7.fhir.r4.model.Consent src) throws FHIRException {
039        if (src == null)
040            return null;
041        org.hl7.fhir.r5.model.Consent tgt = new org.hl7.fhir.r5.model.Consent();
042        copyDomainResource(src, tgt);
043        for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier()) tgt.addIdentifier(convertIdentifier(t));
044        if (src.hasStatus())
045            tgt.setStatusElement(convertConsentState(src.getStatusElement()));
046        if (src.hasScope())
047            tgt.setScope(convertCodeableConcept(src.getScope()));
048        for (org.hl7.fhir.r4.model.CodeableConcept t : src.getCategory()) tgt.addCategory(convertCodeableConcept(t));
049        if (src.hasPatient())
050            tgt.setSubject(convertReference(src.getPatient()));
051        if (src.hasDateTime())
052            tgt.setDateTimeElement(convertDateTime(src.getDateTimeElement()));
053        for (org.hl7.fhir.r4.model.Reference t : src.getPerformer()) tgt.addPerformer(convertReference(t));
054        for (org.hl7.fhir.r4.model.Reference t : src.getOrganization()) tgt.addManager(convertReference(t));
055        if (src.hasSourceAttachment())
056            tgt.addSourceAttachment(convertAttachment(src.getSourceAttachment()));
057        if (src.hasSourceReference())
058            tgt.addSourceReference(convertReference(src.getSourceReference()));
059        for (org.hl7.fhir.r4.model.Consent.ConsentPolicyComponent t : src.getPolicy()) tgt.addPolicy(convertConsentPolicyComponent(t));
060        if (src.hasPolicyRule())
061            tgt.setPolicyRule(convertCodeableConcept(src.getPolicyRule()));
062        for (org.hl7.fhir.r4.model.Consent.ConsentVerificationComponent t : src.getVerification()) tgt.addVerification(convertConsentVerificationComponent(t));
063        if (src.hasProvision())
064            tgt.setProvision(convertprovisionComponent(src.getProvision()));
065        return tgt;
066    }
067
068    public static org.hl7.fhir.r4.model.Consent convertConsent(org.hl7.fhir.r5.model.Consent src) throws FHIRException {
069        if (src == null)
070            return null;
071        org.hl7.fhir.r4.model.Consent tgt = new org.hl7.fhir.r4.model.Consent();
072        copyDomainResource(src, tgt);
073        for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier()) tgt.addIdentifier(convertIdentifier(t));
074        if (src.hasStatus())
075            tgt.setStatusElement(convertConsentState(src.getStatusElement()));
076        if (src.hasScope())
077            tgt.setScope(convertCodeableConcept(src.getScope()));
078        for (org.hl7.fhir.r5.model.CodeableConcept t : src.getCategory()) tgt.addCategory(convertCodeableConcept(t));
079        if (src.hasSubject())
080            tgt.setPatient(convertReference(src.getSubject()));
081        if (src.hasDateTime())
082            tgt.setDateTimeElement(convertDateTime(src.getDateTimeElement()));
083        for (org.hl7.fhir.r5.model.Reference t : src.getPerformer()) tgt.addPerformer(convertReference(t));
084        for (org.hl7.fhir.r5.model.Reference t : src.getManager()) tgt.addOrganization(convertReference(t));
085        for (org.hl7.fhir.r5.model.Reference t : src.getController()) tgt.addOrganization(convertReference(t));
086        if (src.hasSourceAttachment())
087            tgt.setSource(convertType(src.getSourceAttachmentFirstRep()));
088        if (src.hasSourceReference())
089            tgt.setSource(convertType(src.getSourceReferenceFirstRep()));
090        for (org.hl7.fhir.r5.model.Consent.ConsentPolicyComponent t : src.getPolicy()) tgt.addPolicy(convertConsentPolicyComponent(t));
091        if (src.hasPolicyRule())
092            tgt.setPolicyRule(convertCodeableConcept(src.getPolicyRule()));
093        for (org.hl7.fhir.r5.model.Consent.ConsentVerificationComponent t : src.getVerification()) tgt.addVerification(convertConsentVerificationComponent(t));
094        if (src.hasProvision())
095            tgt.setProvision(convertprovisionComponent(src.getProvision()));
096        return tgt;
097    }
098
099    static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Consent.ConsentState> convertConsentState(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Consent.ConsentState> src) throws FHIRException {
100        if (src == null || src.isEmpty())
101            return null;
102        org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Consent.ConsentState> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Consent.ConsentStateEnumFactory());
103        VersionConvertor_40_50.copyElement(src, tgt);
104        switch(src.getValue()) {
105            case DRAFT:
106                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentState.DRAFT);
107                break;
108            case PROPOSED:
109                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentState.DRAFT);
110                break;
111            case ACTIVE:
112                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentState.ACTIVE);
113                break;
114            case REJECTED:
115                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentState.INACTIVE);
116                break;
117            case INACTIVE:
118                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentState.INACTIVE);
119                break;
120            case ENTEREDINERROR:
121                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentState.ENTEREDINERROR);
122                break;
123            default:
124                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentState.NULL);
125                break;
126        }
127        return tgt;
128    }
129
130    static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Consent.ConsentState> convertConsentState(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Consent.ConsentState> src) throws FHIRException {
131        if (src == null || src.isEmpty())
132            return null;
133        org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Consent.ConsentState> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Consent.ConsentStateEnumFactory());
134        VersionConvertor_40_50.copyElement(src, tgt);
135        switch(src.getValue()) {
136            case DRAFT:
137                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentState.DRAFT);
138                break;
139            case ACTIVE:
140                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentState.ACTIVE);
141                break;
142            case INACTIVE:
143                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentState.INACTIVE);
144                break;
145            case ENTEREDINERROR:
146                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentState.ENTEREDINERROR);
147                break;
148            default:
149                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentState.NULL);
150                break;
151        }
152        return tgt;
153    }
154
155    public static org.hl7.fhir.r5.model.Consent.ConsentPolicyComponent convertConsentPolicyComponent(org.hl7.fhir.r4.model.Consent.ConsentPolicyComponent src) throws FHIRException {
156        if (src == null)
157            return null;
158        org.hl7.fhir.r5.model.Consent.ConsentPolicyComponent tgt = new org.hl7.fhir.r5.model.Consent.ConsentPolicyComponent();
159        copyElement(src, tgt);
160        if (src.hasAuthority())
161            tgt.setAuthorityElement(convertUri(src.getAuthorityElement()));
162        if (src.hasUri())
163            tgt.setUriElement(convertUri(src.getUriElement()));
164        return tgt;
165    }
166
167    public static org.hl7.fhir.r4.model.Consent.ConsentPolicyComponent convertConsentPolicyComponent(org.hl7.fhir.r5.model.Consent.ConsentPolicyComponent src) throws FHIRException {
168        if (src == null)
169            return null;
170        org.hl7.fhir.r4.model.Consent.ConsentPolicyComponent tgt = new org.hl7.fhir.r4.model.Consent.ConsentPolicyComponent();
171        copyElement(src, tgt);
172        if (src.hasAuthority())
173            tgt.setAuthorityElement(convertUri(src.getAuthorityElement()));
174        if (src.hasUri())
175            tgt.setUriElement(convertUri(src.getUriElement()));
176        return tgt;
177    }
178
179    public static org.hl7.fhir.r5.model.Consent.ConsentVerificationComponent convertConsentVerificationComponent(org.hl7.fhir.r4.model.Consent.ConsentVerificationComponent src) throws FHIRException {
180        if (src == null)
181            return null;
182        org.hl7.fhir.r5.model.Consent.ConsentVerificationComponent tgt = new org.hl7.fhir.r5.model.Consent.ConsentVerificationComponent();
183        copyElement(src, tgt);
184        if (src.hasVerified())
185            tgt.setVerifiedElement(convertBoolean(src.getVerifiedElement()));
186        if (src.hasVerifiedWith())
187            tgt.setVerifiedWith(convertReference(src.getVerifiedWith()));
188        if (src.hasVerificationDate())
189            tgt.getVerificationDate().add(convertDateTime(src.getVerificationDateElement()));
190        return tgt;
191    }
192
193    public static org.hl7.fhir.r4.model.Consent.ConsentVerificationComponent convertConsentVerificationComponent(org.hl7.fhir.r5.model.Consent.ConsentVerificationComponent src) throws FHIRException {
194        if (src == null)
195            return null;
196        org.hl7.fhir.r4.model.Consent.ConsentVerificationComponent tgt = new org.hl7.fhir.r4.model.Consent.ConsentVerificationComponent();
197        copyElement(src, tgt);
198        if (src.hasVerified())
199            tgt.setVerifiedElement(convertBoolean(src.getVerifiedElement()));
200        if (src.hasVerifiedWith())
201            tgt.setVerifiedWith(convertReference(src.getVerifiedWith()));
202        if (src.hasVerificationDate())
203            tgt.setVerificationDateElement(convertDateTime(src.getVerificationDate().get(0)));
204        return tgt;
205    }
206
207    public static org.hl7.fhir.r5.model.Consent.ProvisionComponent convertprovisionComponent(org.hl7.fhir.r4.model.Consent.provisionComponent src) throws FHIRException {
208        if (src == null)
209            return null;
210        org.hl7.fhir.r5.model.Consent.ProvisionComponent tgt = new org.hl7.fhir.r5.model.Consent.ProvisionComponent();
211        copyElement(src, tgt);
212        if (src.hasType())
213            tgt.setTypeElement(convertConsentProvisionType(src.getTypeElement()));
214        if (src.hasPeriod())
215            tgt.setPeriod(convertPeriod(src.getPeriod()));
216        for (org.hl7.fhir.r4.model.Consent.provisionActorComponent t : src.getActor()) tgt.addActor(convertprovisionActorComponent(t));
217        for (org.hl7.fhir.r4.model.CodeableConcept t : src.getAction()) tgt.addAction(convertCodeableConcept(t));
218        for (org.hl7.fhir.r4.model.Coding t : src.getSecurityLabel()) tgt.addSecurityLabel(convertCoding(t));
219        for (org.hl7.fhir.r4.model.Coding t : src.getPurpose()) tgt.addPurpose(convertCoding(t));
220        for (org.hl7.fhir.r4.model.Coding t : src.getClass_()) tgt.addClass_(convertCoding(t));
221        for (org.hl7.fhir.r4.model.CodeableConcept t : src.getCode()) tgt.addCode(convertCodeableConcept(t));
222        if (src.hasDataPeriod())
223            tgt.setDataPeriod(convertPeriod(src.getDataPeriod()));
224        for (org.hl7.fhir.r4.model.Consent.provisionDataComponent t : src.getData()) tgt.addData(convertprovisionDataComponent(t));
225        for (org.hl7.fhir.r4.model.Consent.provisionComponent t : src.getProvision()) tgt.addProvision(convertprovisionComponent(t));
226        return tgt;
227    }
228
229    public static org.hl7.fhir.r4.model.Consent.provisionComponent convertprovisionComponent(org.hl7.fhir.r5.model.Consent.ProvisionComponent src) throws FHIRException {
230        if (src == null)
231            return null;
232        org.hl7.fhir.r4.model.Consent.provisionComponent tgt = new org.hl7.fhir.r4.model.Consent.provisionComponent();
233        copyElement(src, tgt);
234        if (src.hasType())
235            tgt.setTypeElement(convertConsentProvisionType(src.getTypeElement()));
236        if (src.hasPeriod())
237            tgt.setPeriod(convertPeriod(src.getPeriod()));
238        for (org.hl7.fhir.r5.model.Consent.ProvisionActorComponent t : src.getActor()) tgt.addActor(convertprovisionActorComponent(t));
239        for (org.hl7.fhir.r5.model.CodeableConcept t : src.getAction()) tgt.addAction(convertCodeableConcept(t));
240        for (org.hl7.fhir.r5.model.Coding t : src.getSecurityLabel()) tgt.addSecurityLabel(convertCoding(t));
241        for (org.hl7.fhir.r5.model.Coding t : src.getPurpose()) tgt.addPurpose(convertCoding(t));
242        for (org.hl7.fhir.r5.model.Coding t : src.getClass_()) tgt.addClass_(convertCoding(t));
243        for (org.hl7.fhir.r5.model.CodeableConcept t : src.getCode()) tgt.addCode(convertCodeableConcept(t));
244        if (src.hasDataPeriod())
245            tgt.setDataPeriod(convertPeriod(src.getDataPeriod()));
246        for (org.hl7.fhir.r5.model.Consent.ProvisionDataComponent t : src.getData()) tgt.addData(convertprovisionDataComponent(t));
247        for (org.hl7.fhir.r5.model.Consent.ProvisionComponent t : src.getProvision()) tgt.addProvision(convertprovisionComponent(t));
248        return tgt;
249    }
250
251    static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Consent.ConsentProvisionType> convertConsentProvisionType(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Consent.ConsentProvisionType> src) throws FHIRException {
252        if (src == null || src.isEmpty())
253            return null;
254        org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Consent.ConsentProvisionType> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Consent.ConsentProvisionTypeEnumFactory());
255        VersionConvertor_40_50.copyElement(src, tgt);
256        switch(src.getValue()) {
257            case DENY:
258                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentProvisionType.DENY);
259                break;
260            case PERMIT:
261                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentProvisionType.PERMIT);
262                break;
263            default:
264                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentProvisionType.NULL);
265                break;
266        }
267        return tgt;
268    }
269
270    static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Consent.ConsentProvisionType> convertConsentProvisionType(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Consent.ConsentProvisionType> src) throws FHIRException {
271        if (src == null || src.isEmpty())
272            return null;
273        org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Consent.ConsentProvisionType> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Consent.ConsentProvisionTypeEnumFactory());
274        VersionConvertor_40_50.copyElement(src, tgt);
275        switch(src.getValue()) {
276            case DENY:
277                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentProvisionType.DENY);
278                break;
279            case PERMIT:
280                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentProvisionType.PERMIT);
281                break;
282            default:
283                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentProvisionType.NULL);
284                break;
285        }
286        return tgt;
287    }
288
289    public static org.hl7.fhir.r5.model.Consent.ProvisionActorComponent convertprovisionActorComponent(org.hl7.fhir.r4.model.Consent.provisionActorComponent src) throws FHIRException {
290        if (src == null)
291            return null;
292        org.hl7.fhir.r5.model.Consent.ProvisionActorComponent tgt = new org.hl7.fhir.r5.model.Consent.ProvisionActorComponent();
293        copyElement(src, tgt);
294        if (src.hasRole())
295            tgt.setRole(convertCodeableConcept(src.getRole()));
296        if (src.hasReference())
297            tgt.setReference(convertReference(src.getReference()));
298        return tgt;
299    }
300
301    public static org.hl7.fhir.r4.model.Consent.provisionActorComponent convertprovisionActorComponent(org.hl7.fhir.r5.model.Consent.ProvisionActorComponent src) throws FHIRException {
302        if (src == null)
303            return null;
304        org.hl7.fhir.r4.model.Consent.provisionActorComponent tgt = new org.hl7.fhir.r4.model.Consent.provisionActorComponent();
305        copyElement(src, tgt);
306        if (src.hasRole())
307            tgt.setRole(convertCodeableConcept(src.getRole()));
308        if (src.hasReference())
309            tgt.setReference(convertReference(src.getReference()));
310        return tgt;
311    }
312
313    public static org.hl7.fhir.r5.model.Consent.ProvisionDataComponent convertprovisionDataComponent(org.hl7.fhir.r4.model.Consent.provisionDataComponent src) throws FHIRException {
314        if (src == null)
315            return null;
316        org.hl7.fhir.r5.model.Consent.ProvisionDataComponent tgt = new org.hl7.fhir.r5.model.Consent.ProvisionDataComponent();
317        copyElement(src, tgt);
318        if (src.hasMeaning())
319            tgt.setMeaningElement(convertConsentDataMeaning(src.getMeaningElement()));
320        if (src.hasReference())
321            tgt.setReference(convertReference(src.getReference()));
322        return tgt;
323    }
324
325    public static org.hl7.fhir.r4.model.Consent.provisionDataComponent convertprovisionDataComponent(org.hl7.fhir.r5.model.Consent.ProvisionDataComponent src) throws FHIRException {
326        if (src == null)
327            return null;
328        org.hl7.fhir.r4.model.Consent.provisionDataComponent tgt = new org.hl7.fhir.r4.model.Consent.provisionDataComponent();
329        copyElement(src, tgt);
330        if (src.hasMeaning())
331            tgt.setMeaningElement(convertConsentDataMeaning(src.getMeaningElement()));
332        if (src.hasReference())
333            tgt.setReference(convertReference(src.getReference()));
334        return tgt;
335    }
336
337    static public org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Consent.ConsentDataMeaning> convertConsentDataMeaning(org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Consent.ConsentDataMeaning> src) throws FHIRException {
338        if (src == null || src.isEmpty())
339            return null;
340        org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Consent.ConsentDataMeaning> tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Consent.ConsentDataMeaningEnumFactory());
341        VersionConvertor_40_50.copyElement(src, tgt);
342        switch(src.getValue()) {
343            case INSTANCE:
344                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.INSTANCE);
345                break;
346            case RELATED:
347                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.RELATED);
348                break;
349            case DEPENDENTS:
350                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.DEPENDENTS);
351                break;
352            case AUTHOREDBY:
353                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.AUTHOREDBY);
354                break;
355            default:
356                tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.NULL);
357                break;
358        }
359        return tgt;
360    }
361
362    static public org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Consent.ConsentDataMeaning> convertConsentDataMeaning(org.hl7.fhir.r5.model.Enumeration<org.hl7.fhir.r5.model.Consent.ConsentDataMeaning> src) throws FHIRException {
363        if (src == null || src.isEmpty())
364            return null;
365        org.hl7.fhir.r4.model.Enumeration<org.hl7.fhir.r4.model.Consent.ConsentDataMeaning> tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Consent.ConsentDataMeaningEnumFactory());
366        VersionConvertor_40_50.copyElement(src, tgt);
367        switch(src.getValue()) {
368            case INSTANCE:
369                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentDataMeaning.INSTANCE);
370                break;
371            case RELATED:
372                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentDataMeaning.RELATED);
373                break;
374            case DEPENDENTS:
375                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentDataMeaning.DEPENDENTS);
376                break;
377            case AUTHOREDBY:
378                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentDataMeaning.AUTHOREDBY);
379                break;
380            default:
381                tgt.setValue(org.hl7.fhir.r4.model.Consent.ConsentDataMeaning.NULL);
382                break;
383        }
384        return tgt;
385    }
386}