// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Organization.proto

package eu.dnetlib.data.proto;

public final class OrganizationProtos {
  private OrganizationProtos() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public interface OrganizationOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // optional .eu.dnetlib.data.proto.Organization.Metadata metadata = 2;
    boolean hasMetadata();
    eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata getMetadata();
    eu.dnetlib.data.proto.OrganizationProtos.Organization.MetadataOrBuilder getMetadataOrBuilder();
  }
  public static final class Organization extends
      com.google.protobuf.GeneratedMessage
      implements OrganizationOrBuilder {
    // Use Organization.newBuilder() to construct.
    private Organization(Builder builder) {
      super(builder);
    }
    private Organization(boolean noInit) {}
    
    private static final Organization defaultInstance;
    public static Organization getDefaultInstance() {
      return defaultInstance;
    }
    
    public Organization getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return eu.dnetlib.data.proto.OrganizationProtos.internal_static_eu_dnetlib_data_proto_Organization_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return eu.dnetlib.data.proto.OrganizationProtos.internal_static_eu_dnetlib_data_proto_Organization_fieldAccessorTable;
    }
    
    public interface MetadataOrBuilder
        extends com.google.protobuf.MessageOrBuilder {
      
      // optional .eu.dnetlib.data.proto.StringField legalshortname = 1;
      boolean hasLegalshortname();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getLegalshortname();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getLegalshortnameOrBuilder();
      
      // optional .eu.dnetlib.data.proto.StringField legalname = 2;
      boolean hasLegalname();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getLegalname();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getLegalnameOrBuilder();
      
      // repeated .eu.dnetlib.data.proto.StringField alternativeNames = 17;
      java.util.List<eu.dnetlib.data.proto.FieldTypeProtos.StringField> 
          getAlternativeNamesList();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getAlternativeNames(int index);
      int getAlternativeNamesCount();
      java.util.List<? extends eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
          getAlternativeNamesOrBuilderList();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getAlternativeNamesOrBuilder(
          int index);
      
      // optional .eu.dnetlib.data.proto.StringField websiteurl = 3;
      boolean hasWebsiteurl();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getWebsiteurl();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getWebsiteurlOrBuilder();
      
      // optional .eu.dnetlib.data.proto.StringField logourl = 4;
      boolean hasLogourl();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getLogourl();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getLogourlOrBuilder();
      
      // optional .eu.dnetlib.data.proto.StringField eclegalbody = 5;
      boolean hasEclegalbody();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getEclegalbody();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEclegalbodyOrBuilder();
      
      // optional .eu.dnetlib.data.proto.StringField eclegalperson = 6;
      boolean hasEclegalperson();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getEclegalperson();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEclegalpersonOrBuilder();
      
      // optional .eu.dnetlib.data.proto.StringField ecnonprofit = 7;
      boolean hasEcnonprofit();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcnonprofit();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcnonprofitOrBuilder();
      
      // optional .eu.dnetlib.data.proto.StringField ecresearchorganization = 8;
      boolean hasEcresearchorganization();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcresearchorganization();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcresearchorganizationOrBuilder();
      
      // optional .eu.dnetlib.data.proto.StringField echighereducation = 9;
      boolean hasEchighereducation();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getEchighereducation();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEchighereducationOrBuilder();
      
      // optional .eu.dnetlib.data.proto.StringField ecinternationalorganizationeurinterests = 10;
      boolean hasEcinternationalorganizationeurinterests();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcinternationalorganizationeurinterests();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcinternationalorganizationeurinterestsOrBuilder();
      
      // optional .eu.dnetlib.data.proto.StringField ecinternationalorganization = 11;
      boolean hasEcinternationalorganization();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcinternationalorganization();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcinternationalorganizationOrBuilder();
      
      // optional .eu.dnetlib.data.proto.StringField ecenterprise = 12;
      boolean hasEcenterprise();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcenterprise();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcenterpriseOrBuilder();
      
      // optional .eu.dnetlib.data.proto.StringField ecsmevalidated = 13;
      boolean hasEcsmevalidated();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcsmevalidated();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcsmevalidatedOrBuilder();
      
      // optional .eu.dnetlib.data.proto.StringField ecnutscode = 14;
      boolean hasEcnutscode();
      eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcnutscode();
      eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcnutscodeOrBuilder();
      
      // optional .eu.dnetlib.data.proto.Qualifier country = 16;
      boolean hasCountry();
      eu.dnetlib.data.proto.FieldTypeProtos.Qualifier getCountry();
      eu.dnetlib.data.proto.FieldTypeProtos.QualifierOrBuilder getCountryOrBuilder();
    }
    public static final class Metadata extends
        com.google.protobuf.GeneratedMessage
        implements MetadataOrBuilder {
      // Use Metadata.newBuilder() to construct.
      private Metadata(Builder builder) {
        super(builder);
      }
      private Metadata(boolean noInit) {}
      
      private static final Metadata defaultInstance;
      public static Metadata getDefaultInstance() {
        return defaultInstance;
      }
      
      public Metadata getDefaultInstanceForType() {
        return defaultInstance;
      }
      
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return eu.dnetlib.data.proto.OrganizationProtos.internal_static_eu_dnetlib_data_proto_Organization_Metadata_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return eu.dnetlib.data.proto.OrganizationProtos.internal_static_eu_dnetlib_data_proto_Organization_Metadata_fieldAccessorTable;
      }
      
      private int bitField0_;
      // optional .eu.dnetlib.data.proto.StringField legalshortname = 1;
      public static final int LEGALSHORTNAME_FIELD_NUMBER = 1;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField legalshortname_;
      public boolean hasLegalshortname() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getLegalshortname() {
        return legalshortname_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getLegalshortnameOrBuilder() {
        return legalshortname_;
      }
      
      // optional .eu.dnetlib.data.proto.StringField legalname = 2;
      public static final int LEGALNAME_FIELD_NUMBER = 2;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField legalname_;
      public boolean hasLegalname() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getLegalname() {
        return legalname_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getLegalnameOrBuilder() {
        return legalname_;
      }
      
      // repeated .eu.dnetlib.data.proto.StringField alternativeNames = 17;
      public static final int ALTERNATIVENAMES_FIELD_NUMBER = 17;
      private java.util.List<eu.dnetlib.data.proto.FieldTypeProtos.StringField> alternativeNames_;
      public java.util.List<eu.dnetlib.data.proto.FieldTypeProtos.StringField> getAlternativeNamesList() {
        return alternativeNames_;
      }
      public java.util.List<? extends eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
          getAlternativeNamesOrBuilderList() {
        return alternativeNames_;
      }
      public int getAlternativeNamesCount() {
        return alternativeNames_.size();
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getAlternativeNames(int index) {
        return alternativeNames_.get(index);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getAlternativeNamesOrBuilder(
          int index) {
        return alternativeNames_.get(index);
      }
      
      // optional .eu.dnetlib.data.proto.StringField websiteurl = 3;
      public static final int WEBSITEURL_FIELD_NUMBER = 3;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField websiteurl_;
      public boolean hasWebsiteurl() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getWebsiteurl() {
        return websiteurl_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getWebsiteurlOrBuilder() {
        return websiteurl_;
      }
      
      // optional .eu.dnetlib.data.proto.StringField logourl = 4;
      public static final int LOGOURL_FIELD_NUMBER = 4;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField logourl_;
      public boolean hasLogourl() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getLogourl() {
        return logourl_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getLogourlOrBuilder() {
        return logourl_;
      }
      
      // optional .eu.dnetlib.data.proto.StringField eclegalbody = 5;
      public static final int ECLEGALBODY_FIELD_NUMBER = 5;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField eclegalbody_;
      public boolean hasEclegalbody() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEclegalbody() {
        return eclegalbody_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEclegalbodyOrBuilder() {
        return eclegalbody_;
      }
      
      // optional .eu.dnetlib.data.proto.StringField eclegalperson = 6;
      public static final int ECLEGALPERSON_FIELD_NUMBER = 6;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField eclegalperson_;
      public boolean hasEclegalperson() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEclegalperson() {
        return eclegalperson_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEclegalpersonOrBuilder() {
        return eclegalperson_;
      }
      
      // optional .eu.dnetlib.data.proto.StringField ecnonprofit = 7;
      public static final int ECNONPROFIT_FIELD_NUMBER = 7;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecnonprofit_;
      public boolean hasEcnonprofit() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcnonprofit() {
        return ecnonprofit_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcnonprofitOrBuilder() {
        return ecnonprofit_;
      }
      
      // optional .eu.dnetlib.data.proto.StringField ecresearchorganization = 8;
      public static final int ECRESEARCHORGANIZATION_FIELD_NUMBER = 8;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecresearchorganization_;
      public boolean hasEcresearchorganization() {
        return ((bitField0_ & 0x00000080) == 0x00000080);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcresearchorganization() {
        return ecresearchorganization_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcresearchorganizationOrBuilder() {
        return ecresearchorganization_;
      }
      
      // optional .eu.dnetlib.data.proto.StringField echighereducation = 9;
      public static final int ECHIGHEREDUCATION_FIELD_NUMBER = 9;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField echighereducation_;
      public boolean hasEchighereducation() {
        return ((bitField0_ & 0x00000100) == 0x00000100);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEchighereducation() {
        return echighereducation_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEchighereducationOrBuilder() {
        return echighereducation_;
      }
      
      // optional .eu.dnetlib.data.proto.StringField ecinternationalorganizationeurinterests = 10;
      public static final int ECINTERNATIONALORGANIZATIONEURINTERESTS_FIELD_NUMBER = 10;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecinternationalorganizationeurinterests_;
      public boolean hasEcinternationalorganizationeurinterests() {
        return ((bitField0_ & 0x00000200) == 0x00000200);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcinternationalorganizationeurinterests() {
        return ecinternationalorganizationeurinterests_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcinternationalorganizationeurinterestsOrBuilder() {
        return ecinternationalorganizationeurinterests_;
      }
      
      // optional .eu.dnetlib.data.proto.StringField ecinternationalorganization = 11;
      public static final int ECINTERNATIONALORGANIZATION_FIELD_NUMBER = 11;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecinternationalorganization_;
      public boolean hasEcinternationalorganization() {
        return ((bitField0_ & 0x00000400) == 0x00000400);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcinternationalorganization() {
        return ecinternationalorganization_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcinternationalorganizationOrBuilder() {
        return ecinternationalorganization_;
      }
      
      // optional .eu.dnetlib.data.proto.StringField ecenterprise = 12;
      public static final int ECENTERPRISE_FIELD_NUMBER = 12;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecenterprise_;
      public boolean hasEcenterprise() {
        return ((bitField0_ & 0x00000800) == 0x00000800);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcenterprise() {
        return ecenterprise_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcenterpriseOrBuilder() {
        return ecenterprise_;
      }
      
      // optional .eu.dnetlib.data.proto.StringField ecsmevalidated = 13;
      public static final int ECSMEVALIDATED_FIELD_NUMBER = 13;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecsmevalidated_;
      public boolean hasEcsmevalidated() {
        return ((bitField0_ & 0x00001000) == 0x00001000);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcsmevalidated() {
        return ecsmevalidated_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcsmevalidatedOrBuilder() {
        return ecsmevalidated_;
      }
      
      // optional .eu.dnetlib.data.proto.StringField ecnutscode = 14;
      public static final int ECNUTSCODE_FIELD_NUMBER = 14;
      private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecnutscode_;
      public boolean hasEcnutscode() {
        return ((bitField0_ & 0x00002000) == 0x00002000);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcnutscode() {
        return ecnutscode_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcnutscodeOrBuilder() {
        return ecnutscode_;
      }
      
      // optional .eu.dnetlib.data.proto.Qualifier country = 16;
      public static final int COUNTRY_FIELD_NUMBER = 16;
      private eu.dnetlib.data.proto.FieldTypeProtos.Qualifier country_;
      public boolean hasCountry() {
        return ((bitField0_ & 0x00004000) == 0x00004000);
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.Qualifier getCountry() {
        return country_;
      }
      public eu.dnetlib.data.proto.FieldTypeProtos.QualifierOrBuilder getCountryOrBuilder() {
        return country_;
      }
      
      private void initFields() {
        legalshortname_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        legalname_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        alternativeNames_ = java.util.Collections.emptyList();
        websiteurl_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        logourl_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        eclegalbody_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        eclegalperson_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        ecnonprofit_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        ecresearchorganization_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        echighereducation_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        ecinternationalorganizationeurinterests_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        ecinternationalorganization_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        ecenterprise_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        ecsmevalidated_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        ecnutscode_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        country_ = eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.getDefaultInstance();
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;
        
        if (hasLegalshortname()) {
          if (!getLegalshortname().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasLegalname()) {
          if (!getLegalname().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        for (int i = 0; i < getAlternativeNamesCount(); i++) {
          if (!getAlternativeNames(i).isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasWebsiteurl()) {
          if (!getWebsiteurl().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasLogourl()) {
          if (!getLogourl().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasEclegalbody()) {
          if (!getEclegalbody().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasEclegalperson()) {
          if (!getEclegalperson().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasEcnonprofit()) {
          if (!getEcnonprofit().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasEcresearchorganization()) {
          if (!getEcresearchorganization().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasEchighereducation()) {
          if (!getEchighereducation().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasEcinternationalorganizationeurinterests()) {
          if (!getEcinternationalorganizationeurinterests().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasEcinternationalorganization()) {
          if (!getEcinternationalorganization().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasEcenterprise()) {
          if (!getEcenterprise().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasEcsmevalidated()) {
          if (!getEcsmevalidated().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasEcnutscode()) {
          if (!getEcnutscode().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        if (hasCountry()) {
          if (!getCountry().isInitialized()) {
            memoizedIsInitialized = 0;
            return false;
          }
        }
        memoizedIsInitialized = 1;
        return true;
      }
      
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeMessage(1, legalshortname_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeMessage(2, legalname_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeMessage(3, websiteurl_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeMessage(4, logourl_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeMessage(5, eclegalbody_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          output.writeMessage(6, eclegalperson_);
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          output.writeMessage(7, ecnonprofit_);
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          output.writeMessage(8, ecresearchorganization_);
        }
        if (((bitField0_ & 0x00000100) == 0x00000100)) {
          output.writeMessage(9, echighereducation_);
        }
        if (((bitField0_ & 0x00000200) == 0x00000200)) {
          output.writeMessage(10, ecinternationalorganizationeurinterests_);
        }
        if (((bitField0_ & 0x00000400) == 0x00000400)) {
          output.writeMessage(11, ecinternationalorganization_);
        }
        if (((bitField0_ & 0x00000800) == 0x00000800)) {
          output.writeMessage(12, ecenterprise_);
        }
        if (((bitField0_ & 0x00001000) == 0x00001000)) {
          output.writeMessage(13, ecsmevalidated_);
        }
        if (((bitField0_ & 0x00002000) == 0x00002000)) {
          output.writeMessage(14, ecnutscode_);
        }
        if (((bitField0_ & 0x00004000) == 0x00004000)) {
          output.writeMessage(16, country_);
        }
        for (int i = 0; i < alternativeNames_.size(); i++) {
          output.writeMessage(17, alternativeNames_.get(i));
        }
        getUnknownFields().writeTo(output);
      }
      
      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;
      
        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(1, legalshortname_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, legalname_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, websiteurl_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(4, logourl_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(5, eclegalbody_);
        }
        if (((bitField0_ & 0x00000020) == 0x00000020)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(6, eclegalperson_);
        }
        if (((bitField0_ & 0x00000040) == 0x00000040)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(7, ecnonprofit_);
        }
        if (((bitField0_ & 0x00000080) == 0x00000080)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(8, ecresearchorganization_);
        }
        if (((bitField0_ & 0x00000100) == 0x00000100)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(9, echighereducation_);
        }
        if (((bitField0_ & 0x00000200) == 0x00000200)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(10, ecinternationalorganizationeurinterests_);
        }
        if (((bitField0_ & 0x00000400) == 0x00000400)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(11, ecinternationalorganization_);
        }
        if (((bitField0_ & 0x00000800) == 0x00000800)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(12, ecenterprise_);
        }
        if (((bitField0_ & 0x00001000) == 0x00001000)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(13, ecsmevalidated_);
        }
        if (((bitField0_ & 0x00002000) == 0x00002000)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(14, ecnutscode_);
        }
        if (((bitField0_ & 0x00004000) == 0x00004000)) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(16, country_);
        }
        for (int i = 0; i < alternativeNames_.size(); i++) {
          size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(17, alternativeNames_.get(i));
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }
      
      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }
      
      public static eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data).buildParsed();
      }
      public static eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return newBuilder().mergeFrom(data, extensionRegistry)
                 .buildParsed();
      }
      public static eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      public static eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        Builder builder = newBuilder();
        if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
          return builder.buildParsed();
        } else {
          return null;
        }
      }
      public static eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input).buildParsed();
      }
      public static eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return newBuilder().mergeFrom(input, extensionRegistry)
                 .buildParsed();
      }
      
      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }
      
      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements eu.dnetlib.data.proto.OrganizationProtos.Organization.MetadataOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return eu.dnetlib.data.proto.OrganizationProtos.internal_static_eu_dnetlib_data_proto_Organization_Metadata_descriptor;
        }
        
        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return eu.dnetlib.data.proto.OrganizationProtos.internal_static_eu_dnetlib_data_proto_Organization_Metadata_fieldAccessorTable;
        }
        
        // Construct using eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }
        
        private Builder(BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
            getLegalshortnameFieldBuilder();
            getLegalnameFieldBuilder();
            getAlternativeNamesFieldBuilder();
            getWebsiteurlFieldBuilder();
            getLogourlFieldBuilder();
            getEclegalbodyFieldBuilder();
            getEclegalpersonFieldBuilder();
            getEcnonprofitFieldBuilder();
            getEcresearchorganizationFieldBuilder();
            getEchighereducationFieldBuilder();
            getEcinternationalorganizationeurinterestsFieldBuilder();
            getEcinternationalorganizationFieldBuilder();
            getEcenterpriseFieldBuilder();
            getEcsmevalidatedFieldBuilder();
            getEcnutscodeFieldBuilder();
            getCountryFieldBuilder();
          }
        }
        private static Builder create() {
          return new Builder();
        }
        
        public Builder clear() {
          super.clear();
          if (legalshortnameBuilder_ == null) {
            legalshortname_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            legalshortnameBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          if (legalnameBuilder_ == null) {
            legalname_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            legalnameBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          if (alternativeNamesBuilder_ == null) {
            alternativeNames_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            alternativeNamesBuilder_.clear();
          }
          if (websiteurlBuilder_ == null) {
            websiteurl_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            websiteurlBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000008);
          if (logourlBuilder_ == null) {
            logourl_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            logourlBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          if (eclegalbodyBuilder_ == null) {
            eclegalbody_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            eclegalbodyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000020);
          if (eclegalpersonBuilder_ == null) {
            eclegalperson_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            eclegalpersonBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000040);
          if (ecnonprofitBuilder_ == null) {
            ecnonprofit_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            ecnonprofitBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000080);
          if (ecresearchorganizationBuilder_ == null) {
            ecresearchorganization_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            ecresearchorganizationBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000100);
          if (echighereducationBuilder_ == null) {
            echighereducation_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            echighereducationBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000200);
          if (ecinternationalorganizationeurinterestsBuilder_ == null) {
            ecinternationalorganizationeurinterests_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            ecinternationalorganizationeurinterestsBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000400);
          if (ecinternationalorganizationBuilder_ == null) {
            ecinternationalorganization_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            ecinternationalorganizationBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000800);
          if (ecenterpriseBuilder_ == null) {
            ecenterprise_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            ecenterpriseBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00001000);
          if (ecsmevalidatedBuilder_ == null) {
            ecsmevalidated_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            ecsmevalidatedBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00002000);
          if (ecnutscodeBuilder_ == null) {
            ecnutscode_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
          } else {
            ecnutscodeBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00004000);
          if (countryBuilder_ == null) {
            country_ = eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.getDefaultInstance();
          } else {
            countryBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00008000);
          return this;
        }
        
        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }
        
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.getDescriptor();
        }
        
        public eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata getDefaultInstanceForType() {
          return eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.getDefaultInstance();
        }
        
        public eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata build() {
          eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }
        
        private eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata buildParsed()
            throws com.google.protobuf.InvalidProtocolBufferException {
          eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(
              result).asInvalidProtocolBufferException();
          }
          return result;
        }
        
        public eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata buildPartial() {
          eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata result = new eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          if (legalshortnameBuilder_ == null) {
            result.legalshortname_ = legalshortname_;
          } else {
            result.legalshortname_ = legalshortnameBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          if (legalnameBuilder_ == null) {
            result.legalname_ = legalname_;
          } else {
            result.legalname_ = legalnameBuilder_.build();
          }
          if (alternativeNamesBuilder_ == null) {
            if (((bitField0_ & 0x00000004) == 0x00000004)) {
              alternativeNames_ = java.util.Collections.unmodifiableList(alternativeNames_);
              bitField0_ = (bitField0_ & ~0x00000004);
            }
            result.alternativeNames_ = alternativeNames_;
          } else {
            result.alternativeNames_ = alternativeNamesBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000004;
          }
          if (websiteurlBuilder_ == null) {
            result.websiteurl_ = websiteurl_;
          } else {
            result.websiteurl_ = websiteurlBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000008;
          }
          if (logourlBuilder_ == null) {
            result.logourl_ = logourl_;
          } else {
            result.logourl_ = logourlBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
            to_bitField0_ |= 0x00000010;
          }
          if (eclegalbodyBuilder_ == null) {
            result.eclegalbody_ = eclegalbody_;
          } else {
            result.eclegalbody_ = eclegalbodyBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
            to_bitField0_ |= 0x00000020;
          }
          if (eclegalpersonBuilder_ == null) {
            result.eclegalperson_ = eclegalperson_;
          } else {
            result.eclegalperson_ = eclegalpersonBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000080) == 0x00000080)) {
            to_bitField0_ |= 0x00000040;
          }
          if (ecnonprofitBuilder_ == null) {
            result.ecnonprofit_ = ecnonprofit_;
          } else {
            result.ecnonprofit_ = ecnonprofitBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000100) == 0x00000100)) {
            to_bitField0_ |= 0x00000080;
          }
          if (ecresearchorganizationBuilder_ == null) {
            result.ecresearchorganization_ = ecresearchorganization_;
          } else {
            result.ecresearchorganization_ = ecresearchorganizationBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000200) == 0x00000200)) {
            to_bitField0_ |= 0x00000100;
          }
          if (echighereducationBuilder_ == null) {
            result.echighereducation_ = echighereducation_;
          } else {
            result.echighereducation_ = echighereducationBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000400) == 0x00000400)) {
            to_bitField0_ |= 0x00000200;
          }
          if (ecinternationalorganizationeurinterestsBuilder_ == null) {
            result.ecinternationalorganizationeurinterests_ = ecinternationalorganizationeurinterests_;
          } else {
            result.ecinternationalorganizationeurinterests_ = ecinternationalorganizationeurinterestsBuilder_.build();
          }
          if (((from_bitField0_ & 0x00000800) == 0x00000800)) {
            to_bitField0_ |= 0x00000400;
          }
          if (ecinternationalorganizationBuilder_ == null) {
            result.ecinternationalorganization_ = ecinternationalorganization_;
          } else {
            result.ecinternationalorganization_ = ecinternationalorganizationBuilder_.build();
          }
          if (((from_bitField0_ & 0x00001000) == 0x00001000)) {
            to_bitField0_ |= 0x00000800;
          }
          if (ecenterpriseBuilder_ == null) {
            result.ecenterprise_ = ecenterprise_;
          } else {
            result.ecenterprise_ = ecenterpriseBuilder_.build();
          }
          if (((from_bitField0_ & 0x00002000) == 0x00002000)) {
            to_bitField0_ |= 0x00001000;
          }
          if (ecsmevalidatedBuilder_ == null) {
            result.ecsmevalidated_ = ecsmevalidated_;
          } else {
            result.ecsmevalidated_ = ecsmevalidatedBuilder_.build();
          }
          if (((from_bitField0_ & 0x00004000) == 0x00004000)) {
            to_bitField0_ |= 0x00002000;
          }
          if (ecnutscodeBuilder_ == null) {
            result.ecnutscode_ = ecnutscode_;
          } else {
            result.ecnutscode_ = ecnutscodeBuilder_.build();
          }
          if (((from_bitField0_ & 0x00008000) == 0x00008000)) {
            to_bitField0_ |= 0x00004000;
          }
          if (countryBuilder_ == null) {
            result.country_ = country_;
          } else {
            result.country_ = countryBuilder_.build();
          }
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }
        
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata) {
            return mergeFrom((eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }
        
        public Builder mergeFrom(eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata other) {
          if (other == eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.getDefaultInstance()) return this;
          if (other.hasLegalshortname()) {
            mergeLegalshortname(other.getLegalshortname());
          }
          if (other.hasLegalname()) {
            mergeLegalname(other.getLegalname());
          }
          if (alternativeNamesBuilder_ == null) {
            if (!other.alternativeNames_.isEmpty()) {
              if (alternativeNames_.isEmpty()) {
                alternativeNames_ = other.alternativeNames_;
                bitField0_ = (bitField0_ & ~0x00000004);
              } else {
                ensureAlternativeNamesIsMutable();
                alternativeNames_.addAll(other.alternativeNames_);
              }
              onChanged();
            }
          } else {
            if (!other.alternativeNames_.isEmpty()) {
              if (alternativeNamesBuilder_.isEmpty()) {
                alternativeNamesBuilder_.dispose();
                alternativeNamesBuilder_ = null;
                alternativeNames_ = other.alternativeNames_;
                bitField0_ = (bitField0_ & ~0x00000004);
                alternativeNamesBuilder_ = 
                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                     getAlternativeNamesFieldBuilder() : null;
              } else {
                alternativeNamesBuilder_.addAllMessages(other.alternativeNames_);
              }
            }
          }
          if (other.hasWebsiteurl()) {
            mergeWebsiteurl(other.getWebsiteurl());
          }
          if (other.hasLogourl()) {
            mergeLogourl(other.getLogourl());
          }
          if (other.hasEclegalbody()) {
            mergeEclegalbody(other.getEclegalbody());
          }
          if (other.hasEclegalperson()) {
            mergeEclegalperson(other.getEclegalperson());
          }
          if (other.hasEcnonprofit()) {
            mergeEcnonprofit(other.getEcnonprofit());
          }
          if (other.hasEcresearchorganization()) {
            mergeEcresearchorganization(other.getEcresearchorganization());
          }
          if (other.hasEchighereducation()) {
            mergeEchighereducation(other.getEchighereducation());
          }
          if (other.hasEcinternationalorganizationeurinterests()) {
            mergeEcinternationalorganizationeurinterests(other.getEcinternationalorganizationeurinterests());
          }
          if (other.hasEcinternationalorganization()) {
            mergeEcinternationalorganization(other.getEcinternationalorganization());
          }
          if (other.hasEcenterprise()) {
            mergeEcenterprise(other.getEcenterprise());
          }
          if (other.hasEcsmevalidated()) {
            mergeEcsmevalidated(other.getEcsmevalidated());
          }
          if (other.hasEcnutscode()) {
            mergeEcnutscode(other.getEcnutscode());
          }
          if (other.hasCountry()) {
            mergeCountry(other.getCountry());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }
        
        public final boolean isInitialized() {
          if (hasLegalshortname()) {
            if (!getLegalshortname().isInitialized()) {
              
              return false;
            }
          }
          if (hasLegalname()) {
            if (!getLegalname().isInitialized()) {
              
              return false;
            }
          }
          for (int i = 0; i < getAlternativeNamesCount(); i++) {
            if (!getAlternativeNames(i).isInitialized()) {
              
              return false;
            }
          }
          if (hasWebsiteurl()) {
            if (!getWebsiteurl().isInitialized()) {
              
              return false;
            }
          }
          if (hasLogourl()) {
            if (!getLogourl().isInitialized()) {
              
              return false;
            }
          }
          if (hasEclegalbody()) {
            if (!getEclegalbody().isInitialized()) {
              
              return false;
            }
          }
          if (hasEclegalperson()) {
            if (!getEclegalperson().isInitialized()) {
              
              return false;
            }
          }
          if (hasEcnonprofit()) {
            if (!getEcnonprofit().isInitialized()) {
              
              return false;
            }
          }
          if (hasEcresearchorganization()) {
            if (!getEcresearchorganization().isInitialized()) {
              
              return false;
            }
          }
          if (hasEchighereducation()) {
            if (!getEchighereducation().isInitialized()) {
              
              return false;
            }
          }
          if (hasEcinternationalorganizationeurinterests()) {
            if (!getEcinternationalorganizationeurinterests().isInitialized()) {
              
              return false;
            }
          }
          if (hasEcinternationalorganization()) {
            if (!getEcinternationalorganization().isInitialized()) {
              
              return false;
            }
          }
          if (hasEcenterprise()) {
            if (!getEcenterprise().isInitialized()) {
              
              return false;
            }
          }
          if (hasEcsmevalidated()) {
            if (!getEcsmevalidated().isInitialized()) {
              
              return false;
            }
          }
          if (hasEcnutscode()) {
            if (!getEcnutscode().isInitialized()) {
              
              return false;
            }
          }
          if (hasCountry()) {
            if (!getCountry().isInitialized()) {
              
              return false;
            }
          }
          return true;
        }
        
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder(
              this.getUnknownFields());
          while (true) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  this.setUnknownFields(unknownFields.build());
                  onChanged();
                  return this;
                }
                break;
              }
              case 10: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasLegalshortname()) {
                  subBuilder.mergeFrom(getLegalshortname());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setLegalshortname(subBuilder.buildPartial());
                break;
              }
              case 18: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasLegalname()) {
                  subBuilder.mergeFrom(getLegalname());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setLegalname(subBuilder.buildPartial());
                break;
              }
              case 26: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasWebsiteurl()) {
                  subBuilder.mergeFrom(getWebsiteurl());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setWebsiteurl(subBuilder.buildPartial());
                break;
              }
              case 34: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasLogourl()) {
                  subBuilder.mergeFrom(getLogourl());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setLogourl(subBuilder.buildPartial());
                break;
              }
              case 42: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasEclegalbody()) {
                  subBuilder.mergeFrom(getEclegalbody());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEclegalbody(subBuilder.buildPartial());
                break;
              }
              case 50: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasEclegalperson()) {
                  subBuilder.mergeFrom(getEclegalperson());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEclegalperson(subBuilder.buildPartial());
                break;
              }
              case 58: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasEcnonprofit()) {
                  subBuilder.mergeFrom(getEcnonprofit());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEcnonprofit(subBuilder.buildPartial());
                break;
              }
              case 66: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasEcresearchorganization()) {
                  subBuilder.mergeFrom(getEcresearchorganization());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEcresearchorganization(subBuilder.buildPartial());
                break;
              }
              case 74: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasEchighereducation()) {
                  subBuilder.mergeFrom(getEchighereducation());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEchighereducation(subBuilder.buildPartial());
                break;
              }
              case 82: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasEcinternationalorganizationeurinterests()) {
                  subBuilder.mergeFrom(getEcinternationalorganizationeurinterests());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEcinternationalorganizationeurinterests(subBuilder.buildPartial());
                break;
              }
              case 90: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasEcinternationalorganization()) {
                  subBuilder.mergeFrom(getEcinternationalorganization());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEcinternationalorganization(subBuilder.buildPartial());
                break;
              }
              case 98: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasEcenterprise()) {
                  subBuilder.mergeFrom(getEcenterprise());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEcenterprise(subBuilder.buildPartial());
                break;
              }
              case 106: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasEcsmevalidated()) {
                  subBuilder.mergeFrom(getEcsmevalidated());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEcsmevalidated(subBuilder.buildPartial());
                break;
              }
              case 114: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                if (hasEcnutscode()) {
                  subBuilder.mergeFrom(getEcnutscode());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setEcnutscode(subBuilder.buildPartial());
                break;
              }
              case 130: {
                eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.newBuilder();
                if (hasCountry()) {
                  subBuilder.mergeFrom(getCountry());
                }
                input.readMessage(subBuilder, extensionRegistry);
                setCountry(subBuilder.buildPartial());
                break;
              }
              case 138: {
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder subBuilder = eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder();
                input.readMessage(subBuilder, extensionRegistry);
                addAlternativeNames(subBuilder.buildPartial());
                break;
              }
            }
          }
        }
        
        private int bitField0_;
        
        // optional .eu.dnetlib.data.proto.StringField legalshortname = 1;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField legalshortname_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> legalshortnameBuilder_;
        public boolean hasLegalshortname() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getLegalshortname() {
          if (legalshortnameBuilder_ == null) {
            return legalshortname_;
          } else {
            return legalshortnameBuilder_.getMessage();
          }
        }
        public Builder setLegalshortname(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (legalshortnameBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            legalshortname_ = value;
            onChanged();
          } else {
            legalshortnameBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder setLegalshortname(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (legalshortnameBuilder_ == null) {
            legalshortname_ = builderForValue.build();
            onChanged();
          } else {
            legalshortnameBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder mergeLegalshortname(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (legalshortnameBuilder_ == null) {
            if (((bitField0_ & 0x00000001) == 0x00000001) &&
                legalshortname_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              legalshortname_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(legalshortname_).mergeFrom(value).buildPartial();
            } else {
              legalshortname_ = value;
            }
            onChanged();
          } else {
            legalshortnameBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000001;
          return this;
        }
        public Builder clearLegalshortname() {
          if (legalshortnameBuilder_ == null) {
            legalshortname_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            legalshortnameBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000001);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getLegalshortnameBuilder() {
          bitField0_ |= 0x00000001;
          onChanged();
          return getLegalshortnameFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getLegalshortnameOrBuilder() {
          if (legalshortnameBuilder_ != null) {
            return legalshortnameBuilder_.getMessageOrBuilder();
          } else {
            return legalshortname_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getLegalshortnameFieldBuilder() {
          if (legalshortnameBuilder_ == null) {
            legalshortnameBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    legalshortname_,
                    getParentForChildren(),
                    isClean());
            legalshortname_ = null;
          }
          return legalshortnameBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField legalname = 2;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField legalname_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> legalnameBuilder_;
        public boolean hasLegalname() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getLegalname() {
          if (legalnameBuilder_ == null) {
            return legalname_;
          } else {
            return legalnameBuilder_.getMessage();
          }
        }
        public Builder setLegalname(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (legalnameBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            legalname_ = value;
            onChanged();
          } else {
            legalnameBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder setLegalname(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (legalnameBuilder_ == null) {
            legalname_ = builderForValue.build();
            onChanged();
          } else {
            legalnameBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder mergeLegalname(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (legalnameBuilder_ == null) {
            if (((bitField0_ & 0x00000002) == 0x00000002) &&
                legalname_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              legalname_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(legalname_).mergeFrom(value).buildPartial();
            } else {
              legalname_ = value;
            }
            onChanged();
          } else {
            legalnameBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000002;
          return this;
        }
        public Builder clearLegalname() {
          if (legalnameBuilder_ == null) {
            legalname_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            legalnameBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getLegalnameBuilder() {
          bitField0_ |= 0x00000002;
          onChanged();
          return getLegalnameFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getLegalnameOrBuilder() {
          if (legalnameBuilder_ != null) {
            return legalnameBuilder_.getMessageOrBuilder();
          } else {
            return legalname_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getLegalnameFieldBuilder() {
          if (legalnameBuilder_ == null) {
            legalnameBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    legalname_,
                    getParentForChildren(),
                    isClean());
            legalname_ = null;
          }
          return legalnameBuilder_;
        }
        
        // repeated .eu.dnetlib.data.proto.StringField alternativeNames = 17;
        private java.util.List<eu.dnetlib.data.proto.FieldTypeProtos.StringField> alternativeNames_ =
          java.util.Collections.emptyList();
        private void ensureAlternativeNamesIsMutable() {
          if (!((bitField0_ & 0x00000004) == 0x00000004)) {
            alternativeNames_ = new java.util.ArrayList<eu.dnetlib.data.proto.FieldTypeProtos.StringField>(alternativeNames_);
            bitField0_ |= 0x00000004;
           }
        }
        
        private com.google.protobuf.RepeatedFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> alternativeNamesBuilder_;
        
        public java.util.List<eu.dnetlib.data.proto.FieldTypeProtos.StringField> getAlternativeNamesList() {
          if (alternativeNamesBuilder_ == null) {
            return java.util.Collections.unmodifiableList(alternativeNames_);
          } else {
            return alternativeNamesBuilder_.getMessageList();
          }
        }
        public int getAlternativeNamesCount() {
          if (alternativeNamesBuilder_ == null) {
            return alternativeNames_.size();
          } else {
            return alternativeNamesBuilder_.getCount();
          }
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getAlternativeNames(int index) {
          if (alternativeNamesBuilder_ == null) {
            return alternativeNames_.get(index);
          } else {
            return alternativeNamesBuilder_.getMessage(index);
          }
        }
        public Builder setAlternativeNames(
            int index, eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (alternativeNamesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureAlternativeNamesIsMutable();
            alternativeNames_.set(index, value);
            onChanged();
          } else {
            alternativeNamesBuilder_.setMessage(index, value);
          }
          return this;
        }
        public Builder setAlternativeNames(
            int index, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (alternativeNamesBuilder_ == null) {
            ensureAlternativeNamesIsMutable();
            alternativeNames_.set(index, builderForValue.build());
            onChanged();
          } else {
            alternativeNamesBuilder_.setMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAlternativeNames(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (alternativeNamesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureAlternativeNamesIsMutable();
            alternativeNames_.add(value);
            onChanged();
          } else {
            alternativeNamesBuilder_.addMessage(value);
          }
          return this;
        }
        public Builder addAlternativeNames(
            int index, eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (alternativeNamesBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ensureAlternativeNamesIsMutable();
            alternativeNames_.add(index, value);
            onChanged();
          } else {
            alternativeNamesBuilder_.addMessage(index, value);
          }
          return this;
        }
        public Builder addAlternativeNames(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (alternativeNamesBuilder_ == null) {
            ensureAlternativeNamesIsMutable();
            alternativeNames_.add(builderForValue.build());
            onChanged();
          } else {
            alternativeNamesBuilder_.addMessage(builderForValue.build());
          }
          return this;
        }
        public Builder addAlternativeNames(
            int index, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (alternativeNamesBuilder_ == null) {
            ensureAlternativeNamesIsMutable();
            alternativeNames_.add(index, builderForValue.build());
            onChanged();
          } else {
            alternativeNamesBuilder_.addMessage(index, builderForValue.build());
          }
          return this;
        }
        public Builder addAllAlternativeNames(
            java.lang.Iterable<? extends eu.dnetlib.data.proto.FieldTypeProtos.StringField> values) {
          if (alternativeNamesBuilder_ == null) {
            ensureAlternativeNamesIsMutable();
            super.addAll(values, alternativeNames_);
            onChanged();
          } else {
            alternativeNamesBuilder_.addAllMessages(values);
          }
          return this;
        }
        public Builder clearAlternativeNames() {
          if (alternativeNamesBuilder_ == null) {
            alternativeNames_ = java.util.Collections.emptyList();
            bitField0_ = (bitField0_ & ~0x00000004);
            onChanged();
          } else {
            alternativeNamesBuilder_.clear();
          }
          return this;
        }
        public Builder removeAlternativeNames(int index) {
          if (alternativeNamesBuilder_ == null) {
            ensureAlternativeNamesIsMutable();
            alternativeNames_.remove(index);
            onChanged();
          } else {
            alternativeNamesBuilder_.remove(index);
          }
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getAlternativeNamesBuilder(
            int index) {
          return getAlternativeNamesFieldBuilder().getBuilder(index);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getAlternativeNamesOrBuilder(
            int index) {
          if (alternativeNamesBuilder_ == null) {
            return alternativeNames_.get(index);  } else {
            return alternativeNamesBuilder_.getMessageOrBuilder(index);
          }
        }
        public java.util.List<? extends eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
             getAlternativeNamesOrBuilderList() {
          if (alternativeNamesBuilder_ != null) {
            return alternativeNamesBuilder_.getMessageOrBuilderList();
          } else {
            return java.util.Collections.unmodifiableList(alternativeNames_);
          }
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder addAlternativeNamesBuilder() {
          return getAlternativeNamesFieldBuilder().addBuilder(
              eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance());
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder addAlternativeNamesBuilder(
            int index) {
          return getAlternativeNamesFieldBuilder().addBuilder(
              index, eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance());
        }
        public java.util.List<eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder> 
             getAlternativeNamesBuilderList() {
          return getAlternativeNamesFieldBuilder().getBuilderList();
        }
        private com.google.protobuf.RepeatedFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getAlternativeNamesFieldBuilder() {
          if (alternativeNamesBuilder_ == null) {
            alternativeNamesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    alternativeNames_,
                    ((bitField0_ & 0x00000004) == 0x00000004),
                    getParentForChildren(),
                    isClean());
            alternativeNames_ = null;
          }
          return alternativeNamesBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField websiteurl = 3;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField websiteurl_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> websiteurlBuilder_;
        public boolean hasWebsiteurl() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getWebsiteurl() {
          if (websiteurlBuilder_ == null) {
            return websiteurl_;
          } else {
            return websiteurlBuilder_.getMessage();
          }
        }
        public Builder setWebsiteurl(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (websiteurlBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            websiteurl_ = value;
            onChanged();
          } else {
            websiteurlBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000008;
          return this;
        }
        public Builder setWebsiteurl(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (websiteurlBuilder_ == null) {
            websiteurl_ = builderForValue.build();
            onChanged();
          } else {
            websiteurlBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000008;
          return this;
        }
        public Builder mergeWebsiteurl(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (websiteurlBuilder_ == null) {
            if (((bitField0_ & 0x00000008) == 0x00000008) &&
                websiteurl_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              websiteurl_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(websiteurl_).mergeFrom(value).buildPartial();
            } else {
              websiteurl_ = value;
            }
            onChanged();
          } else {
            websiteurlBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000008;
          return this;
        }
        public Builder clearWebsiteurl() {
          if (websiteurlBuilder_ == null) {
            websiteurl_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            websiteurlBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000008);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getWebsiteurlBuilder() {
          bitField0_ |= 0x00000008;
          onChanged();
          return getWebsiteurlFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getWebsiteurlOrBuilder() {
          if (websiteurlBuilder_ != null) {
            return websiteurlBuilder_.getMessageOrBuilder();
          } else {
            return websiteurl_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getWebsiteurlFieldBuilder() {
          if (websiteurlBuilder_ == null) {
            websiteurlBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    websiteurl_,
                    getParentForChildren(),
                    isClean());
            websiteurl_ = null;
          }
          return websiteurlBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField logourl = 4;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField logourl_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> logourlBuilder_;
        public boolean hasLogourl() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getLogourl() {
          if (logourlBuilder_ == null) {
            return logourl_;
          } else {
            return logourlBuilder_.getMessage();
          }
        }
        public Builder setLogourl(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (logourlBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            logourl_ = value;
            onChanged();
          } else {
            logourlBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        public Builder setLogourl(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (logourlBuilder_ == null) {
            logourl_ = builderForValue.build();
            onChanged();
          } else {
            logourlBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        public Builder mergeLogourl(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (logourlBuilder_ == null) {
            if (((bitField0_ & 0x00000010) == 0x00000010) &&
                logourl_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              logourl_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(logourl_).mergeFrom(value).buildPartial();
            } else {
              logourl_ = value;
            }
            onChanged();
          } else {
            logourlBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000010;
          return this;
        }
        public Builder clearLogourl() {
          if (logourlBuilder_ == null) {
            logourl_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            logourlBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getLogourlBuilder() {
          bitField0_ |= 0x00000010;
          onChanged();
          return getLogourlFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getLogourlOrBuilder() {
          if (logourlBuilder_ != null) {
            return logourlBuilder_.getMessageOrBuilder();
          } else {
            return logourl_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getLogourlFieldBuilder() {
          if (logourlBuilder_ == null) {
            logourlBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    logourl_,
                    getParentForChildren(),
                    isClean());
            logourl_ = null;
          }
          return logourlBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField eclegalbody = 5;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField eclegalbody_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> eclegalbodyBuilder_;
        public boolean hasEclegalbody() {
          return ((bitField0_ & 0x00000020) == 0x00000020);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEclegalbody() {
          if (eclegalbodyBuilder_ == null) {
            return eclegalbody_;
          } else {
            return eclegalbodyBuilder_.getMessage();
          }
        }
        public Builder setEclegalbody(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (eclegalbodyBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            eclegalbody_ = value;
            onChanged();
          } else {
            eclegalbodyBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000020;
          return this;
        }
        public Builder setEclegalbody(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (eclegalbodyBuilder_ == null) {
            eclegalbody_ = builderForValue.build();
            onChanged();
          } else {
            eclegalbodyBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000020;
          return this;
        }
        public Builder mergeEclegalbody(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (eclegalbodyBuilder_ == null) {
            if (((bitField0_ & 0x00000020) == 0x00000020) &&
                eclegalbody_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              eclegalbody_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(eclegalbody_).mergeFrom(value).buildPartial();
            } else {
              eclegalbody_ = value;
            }
            onChanged();
          } else {
            eclegalbodyBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000020;
          return this;
        }
        public Builder clearEclegalbody() {
          if (eclegalbodyBuilder_ == null) {
            eclegalbody_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            eclegalbodyBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000020);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getEclegalbodyBuilder() {
          bitField0_ |= 0x00000020;
          onChanged();
          return getEclegalbodyFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEclegalbodyOrBuilder() {
          if (eclegalbodyBuilder_ != null) {
            return eclegalbodyBuilder_.getMessageOrBuilder();
          } else {
            return eclegalbody_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getEclegalbodyFieldBuilder() {
          if (eclegalbodyBuilder_ == null) {
            eclegalbodyBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    eclegalbody_,
                    getParentForChildren(),
                    isClean());
            eclegalbody_ = null;
          }
          return eclegalbodyBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField eclegalperson = 6;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField eclegalperson_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> eclegalpersonBuilder_;
        public boolean hasEclegalperson() {
          return ((bitField0_ & 0x00000040) == 0x00000040);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEclegalperson() {
          if (eclegalpersonBuilder_ == null) {
            return eclegalperson_;
          } else {
            return eclegalpersonBuilder_.getMessage();
          }
        }
        public Builder setEclegalperson(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (eclegalpersonBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            eclegalperson_ = value;
            onChanged();
          } else {
            eclegalpersonBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000040;
          return this;
        }
        public Builder setEclegalperson(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (eclegalpersonBuilder_ == null) {
            eclegalperson_ = builderForValue.build();
            onChanged();
          } else {
            eclegalpersonBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000040;
          return this;
        }
        public Builder mergeEclegalperson(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (eclegalpersonBuilder_ == null) {
            if (((bitField0_ & 0x00000040) == 0x00000040) &&
                eclegalperson_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              eclegalperson_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(eclegalperson_).mergeFrom(value).buildPartial();
            } else {
              eclegalperson_ = value;
            }
            onChanged();
          } else {
            eclegalpersonBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000040;
          return this;
        }
        public Builder clearEclegalperson() {
          if (eclegalpersonBuilder_ == null) {
            eclegalperson_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            eclegalpersonBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000040);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getEclegalpersonBuilder() {
          bitField0_ |= 0x00000040;
          onChanged();
          return getEclegalpersonFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEclegalpersonOrBuilder() {
          if (eclegalpersonBuilder_ != null) {
            return eclegalpersonBuilder_.getMessageOrBuilder();
          } else {
            return eclegalperson_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getEclegalpersonFieldBuilder() {
          if (eclegalpersonBuilder_ == null) {
            eclegalpersonBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    eclegalperson_,
                    getParentForChildren(),
                    isClean());
            eclegalperson_ = null;
          }
          return eclegalpersonBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField ecnonprofit = 7;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecnonprofit_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> ecnonprofitBuilder_;
        public boolean hasEcnonprofit() {
          return ((bitField0_ & 0x00000080) == 0x00000080);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcnonprofit() {
          if (ecnonprofitBuilder_ == null) {
            return ecnonprofit_;
          } else {
            return ecnonprofitBuilder_.getMessage();
          }
        }
        public Builder setEcnonprofit(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecnonprofitBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ecnonprofit_ = value;
            onChanged();
          } else {
            ecnonprofitBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000080;
          return this;
        }
        public Builder setEcnonprofit(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (ecnonprofitBuilder_ == null) {
            ecnonprofit_ = builderForValue.build();
            onChanged();
          } else {
            ecnonprofitBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000080;
          return this;
        }
        public Builder mergeEcnonprofit(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecnonprofitBuilder_ == null) {
            if (((bitField0_ & 0x00000080) == 0x00000080) &&
                ecnonprofit_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              ecnonprofit_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(ecnonprofit_).mergeFrom(value).buildPartial();
            } else {
              ecnonprofit_ = value;
            }
            onChanged();
          } else {
            ecnonprofitBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000080;
          return this;
        }
        public Builder clearEcnonprofit() {
          if (ecnonprofitBuilder_ == null) {
            ecnonprofit_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            ecnonprofitBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000080);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getEcnonprofitBuilder() {
          bitField0_ |= 0x00000080;
          onChanged();
          return getEcnonprofitFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcnonprofitOrBuilder() {
          if (ecnonprofitBuilder_ != null) {
            return ecnonprofitBuilder_.getMessageOrBuilder();
          } else {
            return ecnonprofit_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getEcnonprofitFieldBuilder() {
          if (ecnonprofitBuilder_ == null) {
            ecnonprofitBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    ecnonprofit_,
                    getParentForChildren(),
                    isClean());
            ecnonprofit_ = null;
          }
          return ecnonprofitBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField ecresearchorganization = 8;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecresearchorganization_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> ecresearchorganizationBuilder_;
        public boolean hasEcresearchorganization() {
          return ((bitField0_ & 0x00000100) == 0x00000100);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcresearchorganization() {
          if (ecresearchorganizationBuilder_ == null) {
            return ecresearchorganization_;
          } else {
            return ecresearchorganizationBuilder_.getMessage();
          }
        }
        public Builder setEcresearchorganization(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecresearchorganizationBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ecresearchorganization_ = value;
            onChanged();
          } else {
            ecresearchorganizationBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000100;
          return this;
        }
        public Builder setEcresearchorganization(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (ecresearchorganizationBuilder_ == null) {
            ecresearchorganization_ = builderForValue.build();
            onChanged();
          } else {
            ecresearchorganizationBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000100;
          return this;
        }
        public Builder mergeEcresearchorganization(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecresearchorganizationBuilder_ == null) {
            if (((bitField0_ & 0x00000100) == 0x00000100) &&
                ecresearchorganization_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              ecresearchorganization_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(ecresearchorganization_).mergeFrom(value).buildPartial();
            } else {
              ecresearchorganization_ = value;
            }
            onChanged();
          } else {
            ecresearchorganizationBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000100;
          return this;
        }
        public Builder clearEcresearchorganization() {
          if (ecresearchorganizationBuilder_ == null) {
            ecresearchorganization_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            ecresearchorganizationBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000100);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getEcresearchorganizationBuilder() {
          bitField0_ |= 0x00000100;
          onChanged();
          return getEcresearchorganizationFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcresearchorganizationOrBuilder() {
          if (ecresearchorganizationBuilder_ != null) {
            return ecresearchorganizationBuilder_.getMessageOrBuilder();
          } else {
            return ecresearchorganization_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getEcresearchorganizationFieldBuilder() {
          if (ecresearchorganizationBuilder_ == null) {
            ecresearchorganizationBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    ecresearchorganization_,
                    getParentForChildren(),
                    isClean());
            ecresearchorganization_ = null;
          }
          return ecresearchorganizationBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField echighereducation = 9;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField echighereducation_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> echighereducationBuilder_;
        public boolean hasEchighereducation() {
          return ((bitField0_ & 0x00000200) == 0x00000200);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEchighereducation() {
          if (echighereducationBuilder_ == null) {
            return echighereducation_;
          } else {
            return echighereducationBuilder_.getMessage();
          }
        }
        public Builder setEchighereducation(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (echighereducationBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            echighereducation_ = value;
            onChanged();
          } else {
            echighereducationBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000200;
          return this;
        }
        public Builder setEchighereducation(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (echighereducationBuilder_ == null) {
            echighereducation_ = builderForValue.build();
            onChanged();
          } else {
            echighereducationBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000200;
          return this;
        }
        public Builder mergeEchighereducation(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (echighereducationBuilder_ == null) {
            if (((bitField0_ & 0x00000200) == 0x00000200) &&
                echighereducation_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              echighereducation_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(echighereducation_).mergeFrom(value).buildPartial();
            } else {
              echighereducation_ = value;
            }
            onChanged();
          } else {
            echighereducationBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000200;
          return this;
        }
        public Builder clearEchighereducation() {
          if (echighereducationBuilder_ == null) {
            echighereducation_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            echighereducationBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000200);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getEchighereducationBuilder() {
          bitField0_ |= 0x00000200;
          onChanged();
          return getEchighereducationFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEchighereducationOrBuilder() {
          if (echighereducationBuilder_ != null) {
            return echighereducationBuilder_.getMessageOrBuilder();
          } else {
            return echighereducation_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getEchighereducationFieldBuilder() {
          if (echighereducationBuilder_ == null) {
            echighereducationBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    echighereducation_,
                    getParentForChildren(),
                    isClean());
            echighereducation_ = null;
          }
          return echighereducationBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField ecinternationalorganizationeurinterests = 10;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecinternationalorganizationeurinterests_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> ecinternationalorganizationeurinterestsBuilder_;
        public boolean hasEcinternationalorganizationeurinterests() {
          return ((bitField0_ & 0x00000400) == 0x00000400);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcinternationalorganizationeurinterests() {
          if (ecinternationalorganizationeurinterestsBuilder_ == null) {
            return ecinternationalorganizationeurinterests_;
          } else {
            return ecinternationalorganizationeurinterestsBuilder_.getMessage();
          }
        }
        public Builder setEcinternationalorganizationeurinterests(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecinternationalorganizationeurinterestsBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ecinternationalorganizationeurinterests_ = value;
            onChanged();
          } else {
            ecinternationalorganizationeurinterestsBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000400;
          return this;
        }
        public Builder setEcinternationalorganizationeurinterests(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (ecinternationalorganizationeurinterestsBuilder_ == null) {
            ecinternationalorganizationeurinterests_ = builderForValue.build();
            onChanged();
          } else {
            ecinternationalorganizationeurinterestsBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000400;
          return this;
        }
        public Builder mergeEcinternationalorganizationeurinterests(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecinternationalorganizationeurinterestsBuilder_ == null) {
            if (((bitField0_ & 0x00000400) == 0x00000400) &&
                ecinternationalorganizationeurinterests_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              ecinternationalorganizationeurinterests_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(ecinternationalorganizationeurinterests_).mergeFrom(value).buildPartial();
            } else {
              ecinternationalorganizationeurinterests_ = value;
            }
            onChanged();
          } else {
            ecinternationalorganizationeurinterestsBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000400;
          return this;
        }
        public Builder clearEcinternationalorganizationeurinterests() {
          if (ecinternationalorganizationeurinterestsBuilder_ == null) {
            ecinternationalorganizationeurinterests_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            ecinternationalorganizationeurinterestsBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000400);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getEcinternationalorganizationeurinterestsBuilder() {
          bitField0_ |= 0x00000400;
          onChanged();
          return getEcinternationalorganizationeurinterestsFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcinternationalorganizationeurinterestsOrBuilder() {
          if (ecinternationalorganizationeurinterestsBuilder_ != null) {
            return ecinternationalorganizationeurinterestsBuilder_.getMessageOrBuilder();
          } else {
            return ecinternationalorganizationeurinterests_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getEcinternationalorganizationeurinterestsFieldBuilder() {
          if (ecinternationalorganizationeurinterestsBuilder_ == null) {
            ecinternationalorganizationeurinterestsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    ecinternationalorganizationeurinterests_,
                    getParentForChildren(),
                    isClean());
            ecinternationalorganizationeurinterests_ = null;
          }
          return ecinternationalorganizationeurinterestsBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField ecinternationalorganization = 11;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecinternationalorganization_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> ecinternationalorganizationBuilder_;
        public boolean hasEcinternationalorganization() {
          return ((bitField0_ & 0x00000800) == 0x00000800);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcinternationalorganization() {
          if (ecinternationalorganizationBuilder_ == null) {
            return ecinternationalorganization_;
          } else {
            return ecinternationalorganizationBuilder_.getMessage();
          }
        }
        public Builder setEcinternationalorganization(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecinternationalorganizationBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ecinternationalorganization_ = value;
            onChanged();
          } else {
            ecinternationalorganizationBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00000800;
          return this;
        }
        public Builder setEcinternationalorganization(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (ecinternationalorganizationBuilder_ == null) {
            ecinternationalorganization_ = builderForValue.build();
            onChanged();
          } else {
            ecinternationalorganizationBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00000800;
          return this;
        }
        public Builder mergeEcinternationalorganization(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecinternationalorganizationBuilder_ == null) {
            if (((bitField0_ & 0x00000800) == 0x00000800) &&
                ecinternationalorganization_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              ecinternationalorganization_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(ecinternationalorganization_).mergeFrom(value).buildPartial();
            } else {
              ecinternationalorganization_ = value;
            }
            onChanged();
          } else {
            ecinternationalorganizationBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00000800;
          return this;
        }
        public Builder clearEcinternationalorganization() {
          if (ecinternationalorganizationBuilder_ == null) {
            ecinternationalorganization_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            ecinternationalorganizationBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00000800);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getEcinternationalorganizationBuilder() {
          bitField0_ |= 0x00000800;
          onChanged();
          return getEcinternationalorganizationFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcinternationalorganizationOrBuilder() {
          if (ecinternationalorganizationBuilder_ != null) {
            return ecinternationalorganizationBuilder_.getMessageOrBuilder();
          } else {
            return ecinternationalorganization_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getEcinternationalorganizationFieldBuilder() {
          if (ecinternationalorganizationBuilder_ == null) {
            ecinternationalorganizationBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    ecinternationalorganization_,
                    getParentForChildren(),
                    isClean());
            ecinternationalorganization_ = null;
          }
          return ecinternationalorganizationBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField ecenterprise = 12;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecenterprise_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> ecenterpriseBuilder_;
        public boolean hasEcenterprise() {
          return ((bitField0_ & 0x00001000) == 0x00001000);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcenterprise() {
          if (ecenterpriseBuilder_ == null) {
            return ecenterprise_;
          } else {
            return ecenterpriseBuilder_.getMessage();
          }
        }
        public Builder setEcenterprise(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecenterpriseBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ecenterprise_ = value;
            onChanged();
          } else {
            ecenterpriseBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00001000;
          return this;
        }
        public Builder setEcenterprise(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (ecenterpriseBuilder_ == null) {
            ecenterprise_ = builderForValue.build();
            onChanged();
          } else {
            ecenterpriseBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00001000;
          return this;
        }
        public Builder mergeEcenterprise(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecenterpriseBuilder_ == null) {
            if (((bitField0_ & 0x00001000) == 0x00001000) &&
                ecenterprise_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              ecenterprise_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(ecenterprise_).mergeFrom(value).buildPartial();
            } else {
              ecenterprise_ = value;
            }
            onChanged();
          } else {
            ecenterpriseBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00001000;
          return this;
        }
        public Builder clearEcenterprise() {
          if (ecenterpriseBuilder_ == null) {
            ecenterprise_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            ecenterpriseBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00001000);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getEcenterpriseBuilder() {
          bitField0_ |= 0x00001000;
          onChanged();
          return getEcenterpriseFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcenterpriseOrBuilder() {
          if (ecenterpriseBuilder_ != null) {
            return ecenterpriseBuilder_.getMessageOrBuilder();
          } else {
            return ecenterprise_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getEcenterpriseFieldBuilder() {
          if (ecenterpriseBuilder_ == null) {
            ecenterpriseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    ecenterprise_,
                    getParentForChildren(),
                    isClean());
            ecenterprise_ = null;
          }
          return ecenterpriseBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField ecsmevalidated = 13;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecsmevalidated_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> ecsmevalidatedBuilder_;
        public boolean hasEcsmevalidated() {
          return ((bitField0_ & 0x00002000) == 0x00002000);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcsmevalidated() {
          if (ecsmevalidatedBuilder_ == null) {
            return ecsmevalidated_;
          } else {
            return ecsmevalidatedBuilder_.getMessage();
          }
        }
        public Builder setEcsmevalidated(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecsmevalidatedBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ecsmevalidated_ = value;
            onChanged();
          } else {
            ecsmevalidatedBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00002000;
          return this;
        }
        public Builder setEcsmevalidated(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (ecsmevalidatedBuilder_ == null) {
            ecsmevalidated_ = builderForValue.build();
            onChanged();
          } else {
            ecsmevalidatedBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00002000;
          return this;
        }
        public Builder mergeEcsmevalidated(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecsmevalidatedBuilder_ == null) {
            if (((bitField0_ & 0x00002000) == 0x00002000) &&
                ecsmevalidated_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              ecsmevalidated_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(ecsmevalidated_).mergeFrom(value).buildPartial();
            } else {
              ecsmevalidated_ = value;
            }
            onChanged();
          } else {
            ecsmevalidatedBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00002000;
          return this;
        }
        public Builder clearEcsmevalidated() {
          if (ecsmevalidatedBuilder_ == null) {
            ecsmevalidated_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            ecsmevalidatedBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00002000);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getEcsmevalidatedBuilder() {
          bitField0_ |= 0x00002000;
          onChanged();
          return getEcsmevalidatedFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcsmevalidatedOrBuilder() {
          if (ecsmevalidatedBuilder_ != null) {
            return ecsmevalidatedBuilder_.getMessageOrBuilder();
          } else {
            return ecsmevalidated_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getEcsmevalidatedFieldBuilder() {
          if (ecsmevalidatedBuilder_ == null) {
            ecsmevalidatedBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    ecsmevalidated_,
                    getParentForChildren(),
                    isClean());
            ecsmevalidated_ = null;
          }
          return ecsmevalidatedBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.StringField ecnutscode = 14;
        private eu.dnetlib.data.proto.FieldTypeProtos.StringField ecnutscode_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> ecnutscodeBuilder_;
        public boolean hasEcnutscode() {
          return ((bitField0_ & 0x00004000) == 0x00004000);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField getEcnutscode() {
          if (ecnutscodeBuilder_ == null) {
            return ecnutscode_;
          } else {
            return ecnutscodeBuilder_.getMessage();
          }
        }
        public Builder setEcnutscode(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecnutscodeBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            ecnutscode_ = value;
            onChanged();
          } else {
            ecnutscodeBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00004000;
          return this;
        }
        public Builder setEcnutscode(
            eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder builderForValue) {
          if (ecnutscodeBuilder_ == null) {
            ecnutscode_ = builderForValue.build();
            onChanged();
          } else {
            ecnutscodeBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00004000;
          return this;
        }
        public Builder mergeEcnutscode(eu.dnetlib.data.proto.FieldTypeProtos.StringField value) {
          if (ecnutscodeBuilder_ == null) {
            if (((bitField0_ & 0x00004000) == 0x00004000) &&
                ecnutscode_ != eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance()) {
              ecnutscode_ =
                eu.dnetlib.data.proto.FieldTypeProtos.StringField.newBuilder(ecnutscode_).mergeFrom(value).buildPartial();
            } else {
              ecnutscode_ = value;
            }
            onChanged();
          } else {
            ecnutscodeBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00004000;
          return this;
        }
        public Builder clearEcnutscode() {
          if (ecnutscodeBuilder_ == null) {
            ecnutscode_ = eu.dnetlib.data.proto.FieldTypeProtos.StringField.getDefaultInstance();
            onChanged();
          } else {
            ecnutscodeBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00004000);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder getEcnutscodeBuilder() {
          bitField0_ |= 0x00004000;
          onChanged();
          return getEcnutscodeFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder getEcnutscodeOrBuilder() {
          if (ecnutscodeBuilder_ != null) {
            return ecnutscodeBuilder_.getMessageOrBuilder();
          } else {
            return ecnutscode_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder> 
            getEcnutscodeFieldBuilder() {
          if (ecnutscodeBuilder_ == null) {
            ecnutscodeBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.StringField, eu.dnetlib.data.proto.FieldTypeProtos.StringField.Builder, eu.dnetlib.data.proto.FieldTypeProtos.StringFieldOrBuilder>(
                    ecnutscode_,
                    getParentForChildren(),
                    isClean());
            ecnutscode_ = null;
          }
          return ecnutscodeBuilder_;
        }
        
        // optional .eu.dnetlib.data.proto.Qualifier country = 16;
        private eu.dnetlib.data.proto.FieldTypeProtos.Qualifier country_ = eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.getDefaultInstance();
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.Qualifier, eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.Builder, eu.dnetlib.data.proto.FieldTypeProtos.QualifierOrBuilder> countryBuilder_;
        public boolean hasCountry() {
          return ((bitField0_ & 0x00008000) == 0x00008000);
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.Qualifier getCountry() {
          if (countryBuilder_ == null) {
            return country_;
          } else {
            return countryBuilder_.getMessage();
          }
        }
        public Builder setCountry(eu.dnetlib.data.proto.FieldTypeProtos.Qualifier value) {
          if (countryBuilder_ == null) {
            if (value == null) {
              throw new NullPointerException();
            }
            country_ = value;
            onChanged();
          } else {
            countryBuilder_.setMessage(value);
          }
          bitField0_ |= 0x00008000;
          return this;
        }
        public Builder setCountry(
            eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.Builder builderForValue) {
          if (countryBuilder_ == null) {
            country_ = builderForValue.build();
            onChanged();
          } else {
            countryBuilder_.setMessage(builderForValue.build());
          }
          bitField0_ |= 0x00008000;
          return this;
        }
        public Builder mergeCountry(eu.dnetlib.data.proto.FieldTypeProtos.Qualifier value) {
          if (countryBuilder_ == null) {
            if (((bitField0_ & 0x00008000) == 0x00008000) &&
                country_ != eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.getDefaultInstance()) {
              country_ =
                eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.newBuilder(country_).mergeFrom(value).buildPartial();
            } else {
              country_ = value;
            }
            onChanged();
          } else {
            countryBuilder_.mergeFrom(value);
          }
          bitField0_ |= 0x00008000;
          return this;
        }
        public Builder clearCountry() {
          if (countryBuilder_ == null) {
            country_ = eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.getDefaultInstance();
            onChanged();
          } else {
            countryBuilder_.clear();
          }
          bitField0_ = (bitField0_ & ~0x00008000);
          return this;
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.Builder getCountryBuilder() {
          bitField0_ |= 0x00008000;
          onChanged();
          return getCountryFieldBuilder().getBuilder();
        }
        public eu.dnetlib.data.proto.FieldTypeProtos.QualifierOrBuilder getCountryOrBuilder() {
          if (countryBuilder_ != null) {
            return countryBuilder_.getMessageOrBuilder();
          } else {
            return country_;
          }
        }
        private com.google.protobuf.SingleFieldBuilder<
            eu.dnetlib.data.proto.FieldTypeProtos.Qualifier, eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.Builder, eu.dnetlib.data.proto.FieldTypeProtos.QualifierOrBuilder> 
            getCountryFieldBuilder() {
          if (countryBuilder_ == null) {
            countryBuilder_ = new com.google.protobuf.SingleFieldBuilder<
                eu.dnetlib.data.proto.FieldTypeProtos.Qualifier, eu.dnetlib.data.proto.FieldTypeProtos.Qualifier.Builder, eu.dnetlib.data.proto.FieldTypeProtos.QualifierOrBuilder>(
                    country_,
                    getParentForChildren(),
                    isClean());
            country_ = null;
          }
          return countryBuilder_;
        }
        
        // @@protoc_insertion_point(builder_scope:eu.dnetlib.data.proto.Organization.Metadata)
      }
      
      static {
        defaultInstance = new Metadata(true);
        defaultInstance.initFields();
      }
      
      // @@protoc_insertion_point(class_scope:eu.dnetlib.data.proto.Organization.Metadata)
    }
    
    private int bitField0_;
    // optional .eu.dnetlib.data.proto.Organization.Metadata metadata = 2;
    public static final int METADATA_FIELD_NUMBER = 2;
    private eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata metadata_;
    public boolean hasMetadata() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata getMetadata() {
      return metadata_;
    }
    public eu.dnetlib.data.proto.OrganizationProtos.Organization.MetadataOrBuilder getMetadataOrBuilder() {
      return metadata_;
    }
    
    private void initFields() {
      metadata_ = eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (hasMetadata()) {
        if (!getMetadata().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(2, metadata_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, metadata_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static eu.dnetlib.data.proto.OrganizationProtos.Organization parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static eu.dnetlib.data.proto.OrganizationProtos.Organization parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static eu.dnetlib.data.proto.OrganizationProtos.Organization parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static eu.dnetlib.data.proto.OrganizationProtos.Organization parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static eu.dnetlib.data.proto.OrganizationProtos.Organization parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static eu.dnetlib.data.proto.OrganizationProtos.Organization parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static eu.dnetlib.data.proto.OrganizationProtos.Organization parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static eu.dnetlib.data.proto.OrganizationProtos.Organization parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static eu.dnetlib.data.proto.OrganizationProtos.Organization parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static eu.dnetlib.data.proto.OrganizationProtos.Organization parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(eu.dnetlib.data.proto.OrganizationProtos.Organization prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements eu.dnetlib.data.proto.OrganizationProtos.OrganizationOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return eu.dnetlib.data.proto.OrganizationProtos.internal_static_eu_dnetlib_data_proto_Organization_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return eu.dnetlib.data.proto.OrganizationProtos.internal_static_eu_dnetlib_data_proto_Organization_fieldAccessorTable;
      }
      
      // Construct using eu.dnetlib.data.proto.OrganizationProtos.Organization.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getMetadataFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (metadataBuilder_ == null) {
          metadata_ = eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.getDefaultInstance();
        } else {
          metadataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return eu.dnetlib.data.proto.OrganizationProtos.Organization.getDescriptor();
      }
      
      public eu.dnetlib.data.proto.OrganizationProtos.Organization getDefaultInstanceForType() {
        return eu.dnetlib.data.proto.OrganizationProtos.Organization.getDefaultInstance();
      }
      
      public eu.dnetlib.data.proto.OrganizationProtos.Organization build() {
        eu.dnetlib.data.proto.OrganizationProtos.Organization result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private eu.dnetlib.data.proto.OrganizationProtos.Organization buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        eu.dnetlib.data.proto.OrganizationProtos.Organization result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public eu.dnetlib.data.proto.OrganizationProtos.Organization buildPartial() {
        eu.dnetlib.data.proto.OrganizationProtos.Organization result = new eu.dnetlib.data.proto.OrganizationProtos.Organization(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (metadataBuilder_ == null) {
          result.metadata_ = metadata_;
        } else {
          result.metadata_ = metadataBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof eu.dnetlib.data.proto.OrganizationProtos.Organization) {
          return mergeFrom((eu.dnetlib.data.proto.OrganizationProtos.Organization)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(eu.dnetlib.data.proto.OrganizationProtos.Organization other) {
        if (other == eu.dnetlib.data.proto.OrganizationProtos.Organization.getDefaultInstance()) return this;
        if (other.hasMetadata()) {
          mergeMetadata(other.getMetadata());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (hasMetadata()) {
          if (!getMetadata().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 18: {
              eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.Builder subBuilder = eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.newBuilder();
              if (hasMetadata()) {
                subBuilder.mergeFrom(getMetadata());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setMetadata(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // optional .eu.dnetlib.data.proto.Organization.Metadata metadata = 2;
      private eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata metadata_ = eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata, eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.Builder, eu.dnetlib.data.proto.OrganizationProtos.Organization.MetadataOrBuilder> metadataBuilder_;
      public boolean hasMetadata() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata getMetadata() {
        if (metadataBuilder_ == null) {
          return metadata_;
        } else {
          return metadataBuilder_.getMessage();
        }
      }
      public Builder setMetadata(eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata value) {
        if (metadataBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          metadata_ = value;
          onChanged();
        } else {
          metadataBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setMetadata(
          eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.Builder builderForValue) {
        if (metadataBuilder_ == null) {
          metadata_ = builderForValue.build();
          onChanged();
        } else {
          metadataBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeMetadata(eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata value) {
        if (metadataBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              metadata_ != eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.getDefaultInstance()) {
            metadata_ =
              eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.newBuilder(metadata_).mergeFrom(value).buildPartial();
          } else {
            metadata_ = value;
          }
          onChanged();
        } else {
          metadataBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearMetadata() {
        if (metadataBuilder_ == null) {
          metadata_ = eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.getDefaultInstance();
          onChanged();
        } else {
          metadataBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.Builder getMetadataBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getMetadataFieldBuilder().getBuilder();
      }
      public eu.dnetlib.data.proto.OrganizationProtos.Organization.MetadataOrBuilder getMetadataOrBuilder() {
        if (metadataBuilder_ != null) {
          return metadataBuilder_.getMessageOrBuilder();
        } else {
          return metadata_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata, eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.Builder, eu.dnetlib.data.proto.OrganizationProtos.Organization.MetadataOrBuilder> 
          getMetadataFieldBuilder() {
        if (metadataBuilder_ == null) {
          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata, eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.Builder, eu.dnetlib.data.proto.OrganizationProtos.Organization.MetadataOrBuilder>(
                  metadata_,
                  getParentForChildren(),
                  isClean());
          metadata_ = null;
        }
        return metadataBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:eu.dnetlib.data.proto.Organization)
    }
    
    static {
      defaultInstance = new Organization(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:eu.dnetlib.data.proto.Organization)
  }
  
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_eu_dnetlib_data_proto_Organization_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_eu_dnetlib_data_proto_Organization_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_eu_dnetlib_data_proto_Organization_Metadata_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_eu_dnetlib_data_proto_Organization_Metadata_fieldAccessorTable;
  
  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\022Organization.proto\022\025eu.dnetlib.data.pr" +
      "oto\032\017FieldType.proto\"\250\010\n\014Organization\022>\n" +
      "\010metadata\030\002 \001(\0132,.eu.dnetlib.data.proto." +
      "Organization.Metadata\032\327\007\n\010Metadata\022:\n\016le" +
      "galshortname\030\001 \001(\0132\".eu.dnetlib.data.pro" +
      "to.StringField\0225\n\tlegalname\030\002 \001(\0132\".eu.d" +
      "netlib.data.proto.StringField\022<\n\020alterna" +
      "tiveNames\030\021 \003(\0132\".eu.dnetlib.data.proto." +
      "StringField\0226\n\nwebsiteurl\030\003 \001(\0132\".eu.dne" +
      "tlib.data.proto.StringField\0223\n\007logourl\030\004",
      " \001(\0132\".eu.dnetlib.data.proto.StringField" +
      "\0227\n\013eclegalbody\030\005 \001(\0132\".eu.dnetlib.data." +
      "proto.StringField\0229\n\reclegalperson\030\006 \001(\013" +
      "2\".eu.dnetlib.data.proto.StringField\0227\n\013" +
      "ecnonprofit\030\007 \001(\0132\".eu.dnetlib.data.prot" +
      "o.StringField\022B\n\026ecresearchorganization\030" +
      "\010 \001(\0132\".eu.dnetlib.data.proto.StringFiel" +
      "d\022=\n\021echighereducation\030\t \001(\0132\".eu.dnetli" +
      "b.data.proto.StringField\022S\n\'ecinternatio" +
      "nalorganizationeurinterests\030\n \001(\0132\".eu.d",
      "netlib.data.proto.StringField\022G\n\033ecinter" +
      "nationalorganization\030\013 \001(\0132\".eu.dnetlib." +
      "data.proto.StringField\0228\n\014ecenterprise\030\014" +
      " \001(\0132\".eu.dnetlib.data.proto.StringField" +
      "\022:\n\016ecsmevalidated\030\r \001(\0132\".eu.dnetlib.da" +
      "ta.proto.StringField\0226\n\necnutscode\030\016 \001(\013" +
      "2\".eu.dnetlib.data.proto.StringField\0221\n\007" +
      "country\030\020 \001(\0132 .eu.dnetlib.data.proto.Qu" +
      "alifierB+\n\025eu.dnetlib.data.protoB\022Organi" +
      "zationProtos"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_eu_dnetlib_data_proto_Organization_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_eu_dnetlib_data_proto_Organization_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_eu_dnetlib_data_proto_Organization_descriptor,
              new java.lang.String[] { "Metadata", },
              eu.dnetlib.data.proto.OrganizationProtos.Organization.class,
              eu.dnetlib.data.proto.OrganizationProtos.Organization.Builder.class);
          internal_static_eu_dnetlib_data_proto_Organization_Metadata_descriptor =
            internal_static_eu_dnetlib_data_proto_Organization_descriptor.getNestedTypes().get(0);
          internal_static_eu_dnetlib_data_proto_Organization_Metadata_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_eu_dnetlib_data_proto_Organization_Metadata_descriptor,
              new java.lang.String[] { "Legalshortname", "Legalname", "AlternativeNames", "Websiteurl", "Logourl", "Eclegalbody", "Eclegalperson", "Ecnonprofit", "Ecresearchorganization", "Echighereducation", "Ecinternationalorganizationeurinterests", "Ecinternationalorganization", "Ecenterprise", "Ecsmevalidated", "Ecnutscode", "Country", },
              eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.class,
              eu.dnetlib.data.proto.OrganizationProtos.Organization.Metadata.Builder.class);
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          eu.dnetlib.data.proto.FieldTypeProtos.getDescriptor(),
        }, assigner);
  }
  
  // @@protoc_insertion_point(outer_class_scope)
}
