{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UpstreamCause",
          "shortDescription" : "Started by upstream project \"TheseFoolishThings_Metrics\" build number 841",
          "upstreamBuild" : 841,
          "upstreamProject" : "TheseFoolishThings_Metrics",
          "upstreamUrl" : "job/TheseFoolishThings_Metrics/"
        }
      ]
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.testng.TestNGTestResultBuildAction",
      "failCount" : 0,
      "skipCount" : 0,
      "totalCount" : 211,
      "urlName" : "testngreports"
    },
    {
      
    },
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        
      ]
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.disk_usage.BuildDiskUsageAction"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : "origin/master 3.2-ALPHA-12-SNAPSHOT 72c0baca9ac5",
  "displayName" : "#476",
  "duration" : 30882,
  "estimatedDuration" : 14968,
  "executor" : None,
  "fullDisplayName" : "TheseFoolishThings :: Archive (master) #476",
  "id" : "476",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 476,
  "queueId" : 1151,
  "result" : "SUCCESS",
  "timestamp" : 1639809599448,
  "url" : "https://services.tidalwave.it/ci/view/Administration/job/TheseFoolishThings/476/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2b.java",
          "modules/examples/ExtendedFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderTestSupport.java",
          "modules/examples/ExtendedFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonRegistryImpl2bTest.java",
          "modules/Utilities/src/site/markdown/index.md.vm",
          "modules/examples/ExtendedFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderTest.java",
          "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2a.java",
          "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2.java",
          "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonRegistryImpl2b.java",
          "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/FinderExample2.java",
          "modules/examples/ExtendedFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonRegistryImpl2aTest.java",
          "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonRegistryImpl2.java",
          "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonRegistryImpl2a.java"
        ],
        "commitId" : "1574789c2d63eb2f20c4b86cb0398baed7b21050",
        "timestamp" : 1630622058000,
        "author" : {
          "absoluteUrl" : "https://services.tidalwave.it/ci/user/fabrizio.giudici",
          "fullName" : "Fabrizio Giudici"
        },
        "authorEmail" : "fabrizio.giudici@tidalwave.it",
        "comment" : "Fix for TFT-272.\u000a",
        "date" : "2021-09-03 00:34:18 +0200",
        "id" : "1574789c2d63eb2f20c4b86cb0398baed7b21050",
        "msg" : "Fix for TFT-272.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonRegistryImpl2a.java"
          },
          {
            "editType" : "add",
            "file" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonRegistryImpl2b.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/FinderExample2.java"
          },
          {
            "editType" : "add",
            "file" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2b.java"
          },
          {
            "editType" : "add",
            "file" : "modules/examples/ExtendedFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonRegistryImpl2aTest.java"
          },
          {
            "editType" : "delete",
            "file" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonRegistryImpl2.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/site/markdown/index.md.vm"
          },
          {
            "editType" : "add",
            "file" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2a.java"
          },
          {
            "editType" : "add",
            "file" : "modules/examples/ExtendedFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderTestSupport.java"
          },
          {
            "editType" : "delete",
            "file" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2.java"
          },
          {
            "editType" : "delete",
            "file" : "modules/examples/ExtendedFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderTest.java"
          },
          {
            "editType" : "add",
            "file" : "modules/examples/ExtendedFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonRegistryImpl2bTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2b.java",
          "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2a.java"
        ],
        "commitId" : "f55361018af55022b328832dfd94d1ecec8fa0d8",
        "timestamp" : 1630623643000,
        "author" : {
          "absoluteUrl" : "https://services.tidalwave.it/ci/user/fabrizio.giudici",
          "fullName" : "Fabrizio Giudici"
        },
        "authorEmail" : "fabrizio.giudici@tidalwave.it",
        "comment" : "Examples refactored.\u000a",
        "date" : "2021-09-03 01:00:43 +0200",
        "id" : "f55361018af55022b328832dfd94d1ecec8fa0d8",
        "msg" : "Examples refactored.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2a.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2b.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "modules/examples/DciMarshalXStreamExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/marshal/xstream/DciMarshalXStreamExample.java",
          "modules/Actors/src/main/java/it/tidalwave/actor/impl/DefaultCollaboration.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/impl/AsDisplayableComparator.java",
          "modules/examples/ExtendedFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderTestSupport.java",
          "modules/Actors/src/main/java/it/tidalwave/actor/impl/MBeansManager.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/IdTest.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/TypeSafeMapTest.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/ui/UserNotificationWithFeedbackTestHelper.java",
          "modules/Roles/src/test/java/it/tidalwave/role/SimpleCompositeTest.java",
          "modules/Utilities/src/main/java/it/tidalwave/util/Parameters.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/ui/UserNotificationMatcher.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/TypeSafeMultiMapTest.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/Presentable.java",
          "modules/Utilities/src/main/java/it/tidalwave/util/thread/ThreadAssertions.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/spi/SimpleCompositePresentable.java",
          "modules/examples/InMemoryFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/inmemoryfinderexample/PersonFinderTest.java",
          "modules/Roles/src/test/java/it/tidalwave/role/ui/PresentationModelMatcher.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/impl/DefaultStyleable.java",
          "modules/TestUtilities/src/main/java/it/tidalwave/util/test/TestLogger.java",
          "modules/Roles/src/test/java/it/tidalwave/role/spi/DefaultContextManagerTest.java",
          "modules/examples/Data/src/main/java/it/tidalwave/thesefoolishthings/examples/person/PersonRegistry.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/UserAction.java",
          "modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringAsDelegate.java",
          "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/FinderExample2.java",
          "modules/Actors/src/main/java/it/tidalwave/actor/CollaborationStartedMessage.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/ConcurrentHashMapWithOptionalsTest.java",
          "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/role/TableHeaderDescriptor.java",
          "modules/examples/DciMarshalXStreamExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/marshal/xstream/Main.java",
          "modules/Roles/src/main/java/it/tidalwave/role/spi/impl/LogUtil.java",
          "modules/Roles/src/test/java/it/tidalwave/role/ui/UserActionProviderTest.java",
          "modules/TestUtilities/src/main/java/it/tidalwave/util/test/MockTimeProvider.java",
          "modules/examples/DciPersistenceJpaExample/src/main/java/it/tidalwave/thesefoolishthings/examples/person/PersonJpaPersistable.java",
          "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/swing/Bindings.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/impl/DefaultPresentationModel.java",
          "modules/Roles/src/test/java/it/tidalwave/role/ui/impl/DisplayableComparatorTest.java",
          "modules/MessageBus/src/main/java/it/tidalwave/messagebus/spi/SimpleMessageBus.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/KeyTest.java",
          "modules/SpringRoles/src/main/java/it/tidalwave/role/AsExtensionsBean.java",
          "modules/Roles/src/main/java/it/tidalwave/role/io/spi/FileBinaryWritable.java",
          "modules/Roles/src/test/java/it/tidalwave/role/ui/spi/SimpleCompositePresentableTest.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/spi/MutableIconProviderSupport.java",
          "modules/examples/DciPersistenceJpaExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/persistable/jpa/DciPersistenceJpaExample.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/MutableDisplayable.java",
          "modules/SpringMessageBus/src/main/java/it/tidalwave/messagebus/impl/spring/MessageBusAdapterFactory.java",
          "modules/SpringMessageBus/src/main/java/it/tidalwave/messagebus/impl/spring/SpringSimpleMessageSubscriberSupport.java",
          "modules/examples/JPAFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/impl/JpaPersonFinderTest.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/spi/PresentationModelCollectors.java",
          "modules/examples/DciDisplayableExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/displayable/DisplayableExample.java",
          "modules/Roles/src/test/java/it/tidalwave/role/ui/PresentationModelTest.java",
          "modules/examples/JPAFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/Main.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/spi/FinderSupportTest.java",
          "modules/Actors/src/main/java/it/tidalwave/actor/impl/PostConstructInvoker.java",
          "modules/Roles/src/test/java/it/tidalwave/role/ui/DisplayableTest.java",
          "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/swing/HtmlRenderableListCellRenderer.java",
          "modules/Roles/src/main/java/it/tidalwave/dci/annotation/DciRole.java",
          "modules/Utilities/src/main/java/it/tidalwave/util/impl/TypeSafeHashMap.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/impl/DisplayableComparator.java",
          "modules/Utilities/src/main/java/it/tidalwave/util/impl/TypeSafeHashMultiMap.java",
          "modules/Roles/src/main/java/it/tidalwave/role/spi/impl/DatumAndRole.java",
          "modules/Actors/src/main/java/it/tidalwave/actor/impl/CollaborationAwareMessageBusAdapter.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/Styleable.java",
          "modules/examples/JPAFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/impl/JpaPersonRegistry.java",
          "modules/Roles/src/main/java/it/tidalwave/role/io/Unmarshallable.java",
          "modules/Roles/src/test/java/it/tidalwave/role/ui/spi/DefaultUserActionProviderTest.java",
          "modules/Actors/src/main/java/it/tidalwave/actor/impl/PreDestroyInvoker.java",
          "modules/Utilities/src/main/java/it/tidalwave/util/FunctionalCheckedExceptionWrappers.java",
          "modules/Actors/src/main/java/it/tidalwave/actor/spi/ActorActivator.java",
          "modules/examples/DciPersistenceJpaExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/persistable/jpa/Main.java",
          "modules/examples/DciDisplayableExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/displayable/Main.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/impl/DefaultUserAction.java",
          "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/person/PersonHtmlRenderable.java",
          "modules/Roles/src/main/java/it/tidalwave/role/PlainTextRenderable.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/BundleUtilitiesTest.java",
          "modules/Roles/src/main/java/it/tidalwave/role/Aggregate.java",
          "modules/Utilities/src/main/java/it/tidalwave/util/Id.java",
          "modules/examples/Data/src/main/java/it/tidalwave/thesefoolishthings/examples/person/Person.java",
          "modules/Roles/src/main/java/it/tidalwave/role/spi/RoleManagerSupport.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/AsExtensionsTest.java",
          "modules/examples/JPAFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/impl/PersonEntity.java",
          "modules/examples/Data/src/main/java/it/tidalwave/thesefoolishthings/examples/person/ListOfPersons.java",
          "modules/Actors/src/main/java/it/tidalwave/actor/impl/ExecutorWithPriority.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/ParameterTest.java",
          "modules/Roles/src/main/java/it/tidalwave/role/io/spi/FileTextReadable.java",
          "modules/Roles/src/main/java/it/tidalwave/role/io/spi/FileTextWritable.java",
          "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/SwingDciExample.java",
          "modules/Utilities/src/main/java/it/tidalwave/util/Task.java",
          "modules/examples/JPAFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/impl/JpaPersonFinder.java",
          "modules/examples/JPAFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/PersonRegistry3.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/FinderTest.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/UserActionProvider.java",
          "modules/Utilities/src/main/java/it/tidalwave/util/ReflectionUtils.java",
          "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/Main.java",
          "modules/Roles/src/main/java/it/tidalwave/role/io/spi/FileBinaryReadable.java",
          "modules/MessageBus/src/main/java/it/tidalwave/messagebus/spi/ReflectionUtils.java",
          "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonRegistryImpl2b.java",
          "modules/Roles/src/test/java/it/tidalwave/role/spi/ContextSamplerTest.java",
          "modules/Actors/src/main/java/it/tidalwave/actor/MessageSupport.java",
          "modules/Roles/src/test/java/it/tidalwave/role/spi/RoleManagerSupportTest.java",
          "modules/Utilities/src/main/java/it/tidalwave/util/impl/ArrayListFinder.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/FunctionalCheckedExceptionWrappersTest.java",
          "modules/MessageBus/src/main/java/it/tidalwave/messagebus/MessageBusHelper.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/ui/UserNotificationWithFeedbackMatcher.java",
          "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2b.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/PresentationModel.java",
          "modules/Roles/src/test/java/it/tidalwave/role/ui/impl/DefaultPresentationModelTest.java",
          "modules/Utilities/src/main/java/it/tidalwave/util/spi/FinderSupport.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/AsTest.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/LocalizedDateTimeFormattersTest.java",
          "modules/examples/DciPersistenceJpaExample/src/main/java/it/tidalwave/thesefoolishthings/examples/person/JpaPersistableSupport.java",
          "modules/Actors/src/main/java/it/tidalwave/actor/CollaborationCompletedMessage.java",
          "modules/SpringRoles/src/test/java/it/tidalwave/role/spring/spi/DciContextWithAutoThreadBindingAspectTest.java",
          "modules/examples/DciMarshalXStreamExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/marshal/xstream/IdXStreamConverter.java",
          "modules/examples/InMemoryFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/inmemoryfinderexample/Main.java",
          "modules/SpringMessageBus/src/test/java/it/tidalwave/messagebus/impl/spring/SpringSimpleMessageSubscriberAspectTest.java",
          "modules/Actors/src/main/java/it/tidalwave/actor/impl/MessageListenerAdapter.java",
          "modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java",
          "modules/Roles/src/main/java/it/tidalwave/role/ui/function/BooleanBoundFunctionSupport.java",
          "modules/examples/InMemoryFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/inmemoryfinderexample/PersonSortCriteria.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/TimeProviderTest.java",
          "modules/Roles/src/test/java/it/tidalwave/role/spi/impl/DatumAndRoleTest.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/PairTest.java",
          "modules/Actors/src/main/java/it/tidalwave/actor/impl/CollaborationMessageListenerAdapter.java"
        ],
        "commitId" : "a9a239e41fc1003ad6433c260975eeb4548342e2",
        "timestamp" : 1630686917000,
        "author" : {
          "absoluteUrl" : "https://services.tidalwave.it/ci/user/fabrizio.giudici",
          "fullName" : "Fabrizio Giudici"
        },
        "authorEmail" : "fabrizio.giudici@tidalwave.it",
        "comment" : "Organized imports.\u000a",
        "date" : "2021-09-03 18:35:17 +0200",
        "id" : "a9a239e41fc1003ad6433c260975eeb4548342e2",
        "msg" : "Organized imports.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "modules/Actors/src/main/java/it/tidalwave/actor/impl/CollaborationMessageListenerAdapter.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/TypeSafeMultiMapTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciPersistenceJpaExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/persistable/jpa/Main.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciDisplayableExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/displayable/DisplayableExample.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciMarshalXStreamExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/marshal/xstream/Main.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/MessageBus/src/main/java/it/tidalwave/messagebus/spi/ReflectionUtils.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Actors/src/main/java/it/tidalwave/actor/CollaborationCompletedMessage.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/Parameters.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/TypeSafeMapTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/UserAction.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/io/Unmarshallable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/spi/SimpleCompositePresentable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/FunctionalCheckedExceptionWrappersTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/MutableDisplayable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/impl/TypeSafeHashMultiMap.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2b.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Actors/src/main/java/it/tidalwave/actor/CollaborationStartedMessage.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/dci/annotation/DciRole.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/PresentationModel.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/InMemoryFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/inmemoryfinderexample/PersonFinderTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/impl/DefaultUserAction.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/InMemoryFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/inmemoryfinderexample/Main.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/PairTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/Data/src/main/java/it/tidalwave/thesefoolishthings/examples/person/PersonRegistry.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/JPAFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/PersonRegistry3.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/role/TableHeaderDescriptor.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/AsTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/impl/DefaultPresentationModel.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/ui/impl/DefaultPresentationModelTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/impl/ArrayListFinder.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/swing/HtmlRenderableListCellRenderer.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/FinderExample2.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/SpringMessageBus/src/test/java/it/tidalwave/messagebus/impl/spring/SpringSimpleMessageSubscriberAspectTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/ui/PresentationModelMatcher.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/Data/src/main/java/it/tidalwave/thesefoolishthings/examples/person/ListOfPersons.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/spi/impl/DatumAndRoleTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/MessageBus/src/main/java/it/tidalwave/messagebus/MessageBusHelper.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/ui/spi/SimpleCompositePresentableTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/JPAFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/impl/PersonEntity.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/TimeProviderTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Actors/src/main/java/it/tidalwave/actor/impl/PostConstructInvoker.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/Data/src/main/java/it/tidalwave/thesefoolishthings/examples/person/Person.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/impl/TypeSafeHashMap.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Actors/src/main/java/it/tidalwave/actor/impl/DefaultCollaboration.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/impl/DefaultStyleable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/spi/ContextSamplerTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/PlainTextRenderable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/JPAFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/impl/JpaPersonFinderTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/LocalizedDateTimeFormattersTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/JPAFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/Main.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/spi/PresentationModelCollectors.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/swing/Bindings.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/SwingDciExample.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Actors/src/main/java/it/tidalwave/actor/spi/ActorActivator.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/ui/UserNotificationWithFeedbackMatcher.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/ui/PresentationModelTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/spi/impl/LogUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/ui/impl/DisplayableComparatorTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/io/spi/FileTextReadable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Actors/src/main/java/it/tidalwave/actor/impl/PreDestroyInvoker.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/io/spi/FileBinaryReadable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Actors/src/main/java/it/tidalwave/actor/impl/MessageListenerAdapter.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/SpringMessageBus/src/main/java/it/tidalwave/messagebus/impl/spring/MessageBusAdapterFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonRegistryImpl2b.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/FinderTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciPersistenceJpaExample/src/main/java/it/tidalwave/thesefoolishthings/examples/person/PersonJpaPersistable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Actors/src/main/java/it/tidalwave/actor/impl/CollaborationAwareMessageBusAdapter.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/MessageBus/src/main/java/it/tidalwave/messagebus/spi/SimpleMessageBus.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/TestUtilities/src/main/java/it/tidalwave/util/test/TestLogger.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/Main.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/impl/DisplayableComparator.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringAsDelegate.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/KeyTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/JPAFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/impl/JpaPersonRegistry.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Actors/src/main/java/it/tidalwave/actor/impl/MBeansManager.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/ui/DisplayableTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/BundleUtilitiesTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciPersistenceJpaExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/persistable/jpa/DciPersistenceJpaExample.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/spi/RoleManagerSupportTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/spi/impl/DatumAndRole.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/SpringRoles/src/test/java/it/tidalwave/role/spring/spi/DciContextWithAutoThreadBindingAspectTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/InMemoryFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/inmemoryfinderexample/PersonSortCriteria.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/UserActionProvider.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciMarshalXStreamExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/marshal/xstream/IdXStreamConverter.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciMarshalXStreamExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/marshal/xstream/DciMarshalXStreamExample.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/person/PersonHtmlRenderable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/SpringRoles/src/main/java/it/tidalwave/role/AsExtensionsBean.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/ui/UserNotificationMatcher.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/io/spi/FileTextWritable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/spi/MutableIconProviderSupport.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/Task.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Actors/src/main/java/it/tidalwave/actor/impl/ExecutorWithPriority.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/impl/AsDisplayableComparator.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciPersistenceJpaExample/src/main/java/it/tidalwave/thesefoolishthings/examples/person/JpaPersistableSupport.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/ParameterTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/SimpleCompositeTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/spi/DefaultContextManagerTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/ui/UserNotificationWithFeedbackTestHelper.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/TestUtilities/src/main/java/it/tidalwave/util/test/MockTimeProvider.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/IdTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/ExtendedFinderExample/src/test/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderTestSupport.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/SpringMessageBus/src/main/java/it/tidalwave/messagebus/impl/spring/SpringSimpleMessageSubscriberSupport.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/Aggregate.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/AsExtensionsTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/thread/ThreadAssertions.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Actors/src/main/java/it/tidalwave/actor/MessageSupport.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/FunctionalCheckedExceptionWrappers.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/Styleable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/spi/FinderSupportTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/JPAFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/jpafinderexample/impl/JpaPersonFinder.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/spi/RoleManagerSupport.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/spi/FinderSupport.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/Id.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/examples/DciDisplayableExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/displayable/Main.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/ConcurrentHashMapWithOptionalsTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/ReflectionUtils.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/io/spi/FileBinaryWritable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/ui/UserActionProviderTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/function/BooleanBoundFunctionSupport.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/main/java/it/tidalwave/role/ui/Presentable.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Roles/src/test/java/it/tidalwave/role/ui/spi/DefaultUserActionProviderTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "modules/Utilities/src/test/java/it/tidalwave/util/TypeSafeMultiMapTest.java"
        ],
        "commitId" : "e8021b94e1016deb82fde407f6983de7c69cce78",
        "timestamp" : 1639573468000,
        "author" : {
          "absoluteUrl" : "https://services.tidalwave.it/ci/user/fabrizio.giudici",
          "fullName" : "Fabrizio Giudici"
        },
        "authorEmail" : "fabrizio.giudici@tidalwave.it",
        "comment" : "Refactored.\u000a",
        "date" : "2021-12-15 14:04:28 +0100",
        "id" : "e8021b94e1016deb82fde407f6983de7c69cce78",
        "msg" : "Refactored.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/TypeSafeMultiMapTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "modules/Utilities/src/test/java/it/tidalwave/util/PairTest.java"
        ],
        "commitId" : "15599ffe406cb4d7ccd7ef0c6c7837981913f6b9",
        "timestamp" : 1639674405000,
        "author" : {
          "absoluteUrl" : "https://services.tidalwave.it/ci/user/fabrizio.giudici",
          "fullName" : "Fabrizio Giudici"
        },
        "authorEmail" : "fabrizio.giudici@tidalwave.it",
        "comment" : "Test methods rearranged.\u000a",
        "date" : "2021-12-16 18:06:45 +0100",
        "id" : "15599ffe406cb4d7ccd7ef0c6c7837981913f6b9",
        "msg" : "Test methods rearranged.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/PairTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "modules/Utilities/src/main/java/it/tidalwave/util/StreamOperations.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/StreamOperationsTest.java"
        ],
        "commitId" : "b14d49583b37a0166af50561a8ef1470f41d77a0",
        "timestamp" : 1639768923000,
        "author" : {
          "absoluteUrl" : "https://services.tidalwave.it/ci/user/fabrizio.giudici",
          "fullName" : "Fabrizio Giudici"
        },
        "authorEmail" : "fabrizio.giudici@tidalwave.it",
        "comment" : "Fix for TFT-273.\u000a",
        "date" : "2021-12-17 20:22:03 +0100",
        "id" : "b14d49583b37a0166af50561a8ef1470f41d77a0",
        "msg" : "Fix for TFT-273.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/StreamOperations.java"
          },
          {
            "editType" : "add",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/StreamOperationsTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "modules/Utilities/src/main/java/it/tidalwave/util/Pair.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/PairTest.java"
        ],
        "commitId" : "efa23a888fdb810f4565b586408f9c532436dece",
        "timestamp" : 1639768923000,
        "author" : {
          "absoluteUrl" : "https://services.tidalwave.it/ci/user/fabrizio.giudici",
          "fullName" : "Fabrizio Giudici"
        },
        "authorEmail" : "fabrizio.giudici@tidalwave.it",
        "comment" : "Fix for TFT-274.\u000a",
        "date" : "2021-12-17 20:22:03 +0100",
        "id" : "efa23a888fdb810f4565b586408f9c532436dece",
        "msg" : "Fix for TFT-274.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/Pair.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/PairTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "modules/Utilities/src/main/java/it/tidalwave/util/Pair.java",
          "modules/Utilities/src/test/java/it/tidalwave/util/PairTest.java"
        ],
        "commitId" : "aa9d441fc1a7cb1186f3c509337d39acbe97eb47",
        "timestamp" : 1639768923000,
        "author" : {
          "absoluteUrl" : "https://services.tidalwave.it/ci/user/fabrizio.giudici",
          "fullName" : "Fabrizio Giudici"
        },
        "authorEmail" : "fabrizio.giudici@tidalwave.it",
        "comment" : "Fix for TFT-275.\u000a",
        "date" : "2021-12-17 20:22:03 +0100",
        "id" : "aa9d441fc1a7cb1186f3c509337d39acbe97eb47",
        "msg" : "Fix for TFT-275.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/PairTest.java"
          },
          {
            "editType" : "edit",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/Pair.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "modules/Utilities/src/test/java/it/tidalwave/util/TripleTest.java",
          "modules/Utilities/src/main/java/it/tidalwave/util/Triple.java"
        ],
        "commitId" : "c029d25f3c7a09bf349d7ba31c45ccfff9e17250",
        "timestamp" : 1639768923000,
        "author" : {
          "absoluteUrl" : "https://services.tidalwave.it/ci/user/fabrizio.giudici",
          "fullName" : "Fabrizio Giudici"
        },
        "authorEmail" : "fabrizio.giudici@tidalwave.it",
        "comment" : "Fix for TFT-276.\u000a",
        "date" : "2021-12-17 20:22:03 +0100",
        "id" : "c029d25f3c7a09bf349d7ba31c45ccfff9e17250",
        "msg" : "Fix for TFT-276.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "modules/Utilities/src/main/java/it/tidalwave/util/Triple.java"
          },
          {
            "editType" : "add",
            "file" : "modules/Utilities/src/test/java/it/tidalwave/util/TripleTest.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "modules/examples/pom.xml"
        ],
        "commitId" : "270c852c238062b8453b297b8a9505cae1128301",
        "timestamp" : 1639769755000,
        "author" : {
          "absoluteUrl" : "https://services.tidalwave.it/ci/user/fabrizio.giudici",
          "fullName" : "Fabrizio Giudici"
        },
        "authorEmail" : "fabrizio.giudici@tidalwave.it",
        "comment" : "Fix for TFT-277.\u000a",
        "date" : "2021-12-17 20:35:55 +0100",
        "id" : "270c852c238062b8453b297b8a9505cae1128301",
        "msg" : "Fix for TFT-277.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "modules/examples/pom.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "modules/examples/pom.xml"
        ],
        "commitId" : "38b1ae6e880cf75708a9f789b668e877f8372645",
        "timestamp" : 1639770244000,
        "author" : {
          "absoluteUrl" : "https://services.tidalwave.it/ci/user/fabrizio.giudici",
          "fullName" : "Fabrizio Giudici"
        },
        "authorEmail" : "fabrizio.giudici@tidalwave.it",
        "comment" : "Fix for TFT-278.\u000a",
        "date" : "2021-12-17 20:44:04 +0100",
        "id" : "38b1ae6e880cf75708a9f789b668e877f8372645",
        "msg" : "Fix for TFT-278.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "modules/examples/pom.xml"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://services.tidalwave.it/ci/user/fabrizio.giudici",
      "fullName" : "Fabrizio Giudici"
    }
  ]
}