code: public Connector merge(MergeableMetadata<?> inputMd) throws Exception
     {
        if (inputMd instanceof ConnectorImpl)
        {
           ConnectorImpl input = (ConnectorImpl) inputMd;
           XsdString newResourceadapterVersion = XsdString.isNull(this.resourceadapterVersion)
                 ? input.resourceadapterVersion
                 : this.resourceadapterVersion;
           XsdString newEisType = XsdString.isNull(this.eisType) ? input.eisType : this.eisType;
           List<XsdString> newRequiredWorkContexts = MergeUtil.mergeList(this.requiredWorkContexts,
                 input.requiredWorkContexts);
           XsdString newModuleName = this.moduleName == null ? input.moduleName : this.moduleName;
           List<Icon> newIcons = MergeUtil.mergeList(this.icon, input.icon);
           boolean newMetadataComplete = this.metadataComplete || input.metadataComplete;
           LicenseType newLicense = this.license == null ? input.license : this.license.merge(input.license);
           List<LocalizedXsdString> newDescriptions = MergeUtil.mergeList(this.description, input.description);
           List<LocalizedXsdString> newDisplayNames = MergeUtil.mergeList(this.displayName, input.displayName);
           XsdString newVendorName = XsdString.isNull(this.vendorName) ? input.vendorName : this.vendorName;;
           ResourceAdapter newResourceadapter = this.resourceadapter == null
                 ? (ResourceAdapter) input.resourceadapter
                 : ((ResourceAdapter) this.resourceadapter).merge((ResourceAdapter) input.resourceadapter);
           return new ConnectorImpl(version, newModuleName, newVendorName, newEisType, newResourceadapterVersion,
                                    newLicense, newResourceadapter, newRequiredWorkContexts, newMetadataComplete,
                                    newDescriptions, newDisplayNames, newIcons, null);
        }
        return this;
  
     }
docs: {@inheritDoc}