internal static byte[] PackAndValidateCompressedRulePackage(byte[] uncompressedSerializedRulePackageData, ValidationContext validationContext) { byte[] array; if (!ClassificationDefinitionUtils.TryCompressXmlBytes(uncompressedSerializedRulePackageData, out array)) { throw new ClassificationRuleCollectionStorageException(); } ByteQuantifiedSize value = (ByteQuantifiedSize)DataClassificationConfigSchema.MaxRulePackageSize.DefaultValue; if (validationContext != null && validationContext.DcValidationConfig != null) { value = validationContext.DcValidationConfig.MaxRulePackageSize; } ByteQuantifiedSize value2 = ByteQuantifiedSize.FromBytes((ulong)((long)array.Length)); if (value2 > value) { throw new ClassificationRuleCollectionPayloadSizeExceededLimitException(value2.ToKB(), value.ToKB()); } return(array); }