{
  "_class" : "io.jenkins.plugins.analysis.core.restapi.ReportApi",
  "issues" : [
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "CollaborationAwareMessageBusAdapter.java",
      "category" : "STYLE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Actors/src/main/java/it/tidalwave/actor/impl/CollaborationAwareMessageBusAdapter.java",
      "fingerprint" : "d2d09f575203d58ca6dc11a97fe1ab2f",
      "lineEnd" : 138,
      "lineStart" : 138,
      "message" : "it.tidalwave.actor.impl.CollaborationAwareMessageBusAdapter.registerCollaborationListener(Method) uses the same code for two branches",
      "moduleName" : "TheseFoolishThings :: Actors",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.actor.impl",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "CollaborationAwareMessageBusAdapter.java(138,0): DB_DUPLICATE_BRANCHES: STYLE: it.tidalwave.actor.impl.CollaborationAwareMessageBusAdapter.registerCollaborationListener(Method) uses the same code for two branches",
      "type" : "DB_DUPLICATE_BRANCHES"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "ExecutorWithPriority.java",
      "category" : "PERFORMANCE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Actors/src/main/java/it/tidalwave/actor/impl/ExecutorWithPriority.java",
      "fingerprint" : "47f5fabdcbbf82f7cbc1e7f1edd28992",
      "lineEnd" : 73,
      "lineStart" : 73,
      "message" : "The class it.tidalwave.actor.impl.ExecutorWithPriority$2 could be refactored into a named _static_ inner class",
      "moduleName" : "TheseFoolishThings :: Actors",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.actor.impl",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "ExecutorWithPriority.java(73,0): SIC_INNER_SHOULD_BE_STATIC_ANON: PERFORMANCE: The class it.tidalwave.actor.impl.ExecutorWithPriority$2 could be refactored into a named _static_ inner class",
      "type" : "SIC_INNER_SHOULD_BE_STATIC_ANON"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "ExecutorWithPriority.java",
      "category" : "PERFORMANCE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Actors/src/main/java/it/tidalwave/actor/impl/ExecutorWithPriority.java",
      "fingerprint" : "37846ee1c653c72d8b3a8140d78fb389",
      "lineEnd" : 106,
      "lineStart" : 106,
      "message" : "The class it.tidalwave.actor.impl.ExecutorWithPriority$3 could be refactored into a named _static_ inner class",
      "moduleName" : "TheseFoolishThings :: Actors",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.actor.impl",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "ExecutorWithPriority.java(106,0): SIC_INNER_SHOULD_BE_STATIC_ANON: PERFORMANCE: The class it.tidalwave.actor.impl.ExecutorWithPriority$3 could be refactored into a named _static_ inner class",
      "type" : "SIC_INNER_SHOULD_BE_STATIC_ANON"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "MessageBusAdapterFactory.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringMessageBus/src/main/java/it/tidalwave/messagebus/impl/spring/MessageBusAdapterFactory.java",
      "fingerprint" : "913a23124b07942dd9e763261ca3fc84",
      "lineEnd" : 75,
      "lineStart" : 75,
      "message" : "Invocation of reflect.Method.setAccessible(boolean), which should be invoked from within a doPrivileged block, in new it.tidalwave.messagebus.impl.spring.MessageBusAdapterFactory$MessageBusListenerAdapter(MessageBusAdapterFactory, Object, Method, Class)",
      "moduleName" : "TheseFoolishThings :: MessageBus :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.messagebus.impl.spring",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "MessageBusAdapterFactory.java(75,0): DP_DO_INSIDE_DO_PRIVILEGED: MALICIOUS_CODE: Invocation of reflect.Method.setAccessible(boolean), which should be invoked from within a doPrivileged block, in new it.tidalwave.messagebus.impl.spring.MessageBusAdapterFactory$MessageBusListenerAdapter(MessageBusAdapterFactory, Object, Method, Class)",
      "type" : "DP_DO_INSIDE_DO_PRIVILEGED"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringSimpleMessageSubscriberAspect.aj",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "it/tidalwave/messagebus/impl/spring/SpringSimpleMessageSubscriberAspect.aj",
      "fingerprint" : "945c612de87a60bfe1c843d80952bb10",
      "lineEnd" : 0,
      "lineStart" : 0,
      "message" : "it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberAspect.ajc$perSingletonInstance isn't final but should be",
      "moduleName" : "TheseFoolishThings :: MessageBus :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.messagebus.impl.spring",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "SpringSimpleMessageSubscriberAspect.aj(0,0): MS_SHOULD_BE_FINAL: MALICIOUS_CODE: it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberAspect.ajc$perSingletonInstance isn't final but should be",
      "type" : "MS_SHOULD_BE_FINAL"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringSimpleMessageSubscriberSupport.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringMessageBus/src/main/java/it/tidalwave/messagebus/impl/spring/SpringSimpleMessageSubscriberSupport.java",
      "fingerprint" : "c8bf8cf56da342f70f7a5987591146b4",
      "lineEnd" : 51,
      "lineStart" : 51,
      "message" : "Overridable method ajc$afterReturning$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$2$1ea6722c is called from constructor new it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberSupport(Object).",
      "moduleName" : "TheseFoolishThings :: MessageBus :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.messagebus.impl.spring",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "SpringSimpleMessageSubscriberSupport.java(51,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method ajc$afterReturning$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$2$1ea6722c is called from constructor new it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberSupport(Object).",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringSimpleMessageSubscriberSupport.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringMessageBus/src/main/java/it/tidalwave/messagebus/impl/spring/SpringSimpleMessageSubscriberSupport.java",
      "fingerprint" : "2551bd92f75db7ab85940d221acd60ba",
      "lineEnd" : 51,
      "lineStart" : 51,
      "message" : "Overridable method ajc$before$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$1$e854fa65 is called from constructor new it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberSupport(Object).",
      "moduleName" : "TheseFoolishThings :: MessageBus :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.messagebus.impl.spring",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "SpringSimpleMessageSubscriberSupport.java(51,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method ajc$before$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$1$e854fa65 is called from constructor new it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberSupport(Object).",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringSimpleMessageSubscriberSupport.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringMessageBus/src/main/java/it/tidalwave/messagebus/impl/spring/SpringSimpleMessageSubscriberSupport.java",
      "fingerprint" : "c0ed73ccf8503779c71bf94acc367a9a",
      "lineEnd" : 55,
      "lineStart" : 51,
      "message" : "Non-null field beanFactory is not initialized by new it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberSupport(Object)",
      "moduleName" : "TheseFoolishThings :: MessageBus :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.messagebus.impl.spring",
      "reference" : "478",
      "severity" : "NORMAL",
      "toString" : "SpringSimpleMessageSubscriberSupport.java(51,0): NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: CORRECTNESS: Non-null field beanFactory is not initialized by new it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberSupport(Object)",
      "type" : "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringSimpleMessageSubscriberSupport.java",
      "category" : "STYLE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringMessageBus/src/main/java/it/tidalwave/messagebus/impl/spring/SpringSimpleMessageSubscriberSupport.java",
      "fingerprint" : "688c861135187c1691e2fbed36b21fb5",
      "lineEnd" : 51,
      "lineStart" : 51,
      "message" : "Redundant nullcheck of this, which is known to be non-null in new it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberSupport(Object)",
      "moduleName" : "TheseFoolishThings :: MessageBus :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.messagebus.impl.spring",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "SpringSimpleMessageSubscriberSupport.java(51,0): RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE: STYLE: Redundant nullcheck of this, which is known to be non-null in new it.tidalwave.messagebus.impl.spring.SpringSimpleMessageSubscriberSupport(Object)",
      "type" : "RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "RoundRobinAsyncMessageDelivery.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/MessageBus/src/main/java/it/tidalwave/messagebus/spi/RoundRobinAsyncMessageDelivery.java",
      "fingerprint" : "953ef9ecc082ff2a51996f531d2a8022",
      "lineEnd" : 61,
      "lineStart" : 47,
      "message" : "Non-null field messageBusSupport is not initialized by new it.tidalwave.messagebus.spi.RoundRobinAsyncMessageDelivery()",
      "moduleName" : "TheseFoolishThings :: MessageBus",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.messagebus.spi",
      "reference" : "478",
      "severity" : "NORMAL",
      "toString" : "RoundRobinAsyncMessageDelivery.java(47,0): NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: CORRECTNESS: Non-null field messageBusSupport is not initialized by new it.tidalwave.messagebus.spi.RoundRobinAsyncMessageDelivery()",
      "type" : "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SimpleAsyncMessageDelivery.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/MessageBus/src/main/java/it/tidalwave/messagebus/spi/SimpleAsyncMessageDelivery.java",
      "fingerprint" : "53040b7c3286dd4fc80dba9037472571",
      "lineEnd" : 42,
      "lineStart" : 42,
      "message" : "Non-null field messageBusSupport is not initialized by new it.tidalwave.messagebus.spi.SimpleAsyncMessageDelivery()",
      "moduleName" : "TheseFoolishThings :: MessageBus",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.messagebus.spi",
      "reference" : "478",
      "severity" : "NORMAL",
      "toString" : "SimpleAsyncMessageDelivery.java(42,0): NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: CORRECTNESS: Non-null field messageBusSupport is not initialized by new it.tidalwave.messagebus.spi.SimpleAsyncMessageDelivery()",
      "type" : "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SimpleMessageBus.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/MessageBus/src/main/java/it/tidalwave/messagebus/spi/SimpleMessageBus.java",
      "fingerprint" : "dedc8406d099b7891eac4112cb475dfa",
      "lineEnd" : 162,
      "lineStart" : 162,
      "message" : "Adding elements of an entry set may fail due to reuse of Map.Entry object in it.tidalwave.messagebus.spi.SimpleMessageBus.dispatchMessage(Class, Object)",
      "moduleName" : "TheseFoolishThings :: MessageBus",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.messagebus.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "SimpleMessageBus.java(162,0): DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS: BAD_PRACTICE: Adding elements of an entry set may fail due to reuse of Map.Entry object in it.tidalwave.messagebus.spi.SimpleMessageBus.dispatchMessage(Class, Object)",
      "type" : "DMI_ENTRY_SETS_MAY_REUSE_ENTRY_OBJECTS"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SimpleMessageBus.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/MessageBus/src/main/java/it/tidalwave/messagebus/spi/SimpleMessageBus.java",
      "fingerprint" : "537912b54c1a7f38fe0e385eb369277c",
      "lineEnd" : 95,
      "lineStart" : 95,
      "message" : "Overridable method initialize is called from constructor new it.tidalwave.messagebus.spi.SimpleMessageBus(Executor, MessageDelivery).",
      "moduleName" : "TheseFoolishThings :: MessageBus",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.messagebus.spi",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "SimpleMessageBus.java(95,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method initialize is called from constructor new it.tidalwave.messagebus.spi.SimpleMessageBus(Executor, MessageDelivery).",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AsExtensionsBean.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/AsExtensionsBean.java",
      "fingerprint" : "abec7daef231bbf6ae615aeefa037ebe",
      "lineEnd" : 43,
      "lineStart" : 43,
      "message" : "Overridable method ajc$afterReturning$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$2$1ea6722c is called from constructor new it.tidalwave.role.AsExtensionsBean().",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "AsExtensionsBean.java(43,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method ajc$afterReturning$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$2$1ea6722c is called from constructor new it.tidalwave.role.AsExtensionsBean().",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AsExtensionsBean.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/AsExtensionsBean.java",
      "fingerprint" : "b86c9603cf502681a836507b3ce99b2d",
      "lineEnd" : 43,
      "lineStart" : 43,
      "message" : "Overridable method ajc$before$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$1$e854fa65 is called from constructor new it.tidalwave.role.AsExtensionsBean().",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "AsExtensionsBean.java(43,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method ajc$before$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$1$e854fa65 is called from constructor new it.tidalwave.role.AsExtensionsBean().",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AsExtensionsBean.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/AsExtensionsBean.java",
      "fingerprint" : "85c95610871f56a489ed45cc878e4603",
      "lineEnd" : 43,
      "lineStart" : 43,
      "message" : "Non-null field roleManager is not initialized by new it.tidalwave.role.AsExtensionsBean()",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role",
      "reference" : "478",
      "severity" : "NORMAL",
      "toString" : "AsExtensionsBean.java(43,0): NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: CORRECTNESS: Non-null field roleManager is not initialized by new it.tidalwave.role.AsExtensionsBean()",
      "type" : "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AsExtensionsBean.java",
      "category" : "STYLE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/AsExtensionsBean.java",
      "fingerprint" : "def6b28b82301bd1734fbe86d9bfd7c8",
      "lineEnd" : 43,
      "lineStart" : 43,
      "message" : "Redundant nullcheck of this, which is known to be non-null in new it.tidalwave.role.AsExtensionsBean()",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "AsExtensionsBean.java(43,0): RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE: STYLE: Redundant nullcheck of this, which is known to be non-null in new it.tidalwave.role.AsExtensionsBean()",
      "type" : "RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AnnotationSpringRoleManager.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/AnnotationSpringRoleManager.java",
      "fingerprint" : "5d08c3edb7d5acac184e168e21adb0ba",
      "lineEnd" : 57,
      "lineStart" : 55,
      "message" : "Non-null field beanFactory is not initialized by new it.tidalwave.role.spring.spi.AnnotationSpringRoleManager()",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "478",
      "severity" : "NORMAL",
      "toString" : "AnnotationSpringRoleManager.java(55,0): NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: CORRECTNESS: Non-null field beanFactory is not initialized by new it.tidalwave.role.spring.spi.AnnotationSpringRoleManager()",
      "type" : "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DciContextWithAutoThreadBindingAspect.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/DciContextWithAutoThreadBindingAspect.java",
      "fingerprint" : "8221265e527a9496b701f4e3820e171",
      "lineEnd" : 0,
      "lineStart" : 0,
      "message" : "it.tidalwave.role.spring.spi.DciContextWithAutoThreadBindingAspect.ajc$perSingletonInstance isn't final but should be",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "DciContextWithAutoThreadBindingAspect.java(0,0): MS_SHOULD_BE_FINAL: MALICIOUS_CODE: it.tidalwave.role.spring.spi.DciContextWithAutoThreadBindingAspect.ajc$perSingletonInstance isn't final but should be",
      "type" : "MS_SHOULD_BE_FINAL"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DciContextWithAutoThreadBindingAspect.java",
      "category" : "PERFORMANCE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/DciContextWithAutoThreadBindingAspect.java",
      "fingerprint" : "28d49b7dd74014600bc6b0c1c2d7abc2",
      "lineEnd" : 71,
      "lineStart" : 71,
      "message" : "The class it.tidalwave.role.spring.spi.DciContextWithAutoThreadBindingAspect$1 could be refactored into a named _static_ inner class",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "DciContextWithAutoThreadBindingAspect.java(71,0): SIC_INNER_SHOULD_BE_STATIC_ANON: PERFORMANCE: The class it.tidalwave.role.spring.spi.DciContextWithAutoThreadBindingAspect$1 could be refactored into a named _static_ inner class",
      "type" : "SIC_INNER_SHOULD_BE_STATIC_ANON"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringAsDelegate.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringAsDelegate.java",
      "fingerprint" : "fd45f1f19687aa08549443256f216aa3",
      "lineEnd" : 67,
      "lineStart" : 67,
      "message" : "Overridable method ajc$afterReturning$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$2$1ea6722c is called from constructor new it.tidalwave.role.spring.spi.SpringAsDelegate().",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "SpringAsDelegate.java(67,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method ajc$afterReturning$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$2$1ea6722c is called from constructor new it.tidalwave.role.spring.spi.SpringAsDelegate().",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringAsDelegate.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringAsDelegate.java",
      "fingerprint" : "b5b18b96db6f2b0359d8086534a28d17",
      "lineEnd" : 67,
      "lineStart" : 67,
      "message" : "Overridable method ajc$before$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$1$e854fa65 is called from constructor new it.tidalwave.role.spring.spi.SpringAsDelegate().",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "SpringAsDelegate.java(67,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method ajc$before$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$1$e854fa65 is called from constructor new it.tidalwave.role.spring.spi.SpringAsDelegate().",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringAsDelegate.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringAsDelegate.java",
      "fingerprint" : "586d6d9911f2db25ecc2f2909d405389",
      "lineEnd" : 80,
      "lineStart" : 80,
      "message" : "Overridable method ajc$afterReturning$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$2$1ea6722c is called from constructor new it.tidalwave.role.spring.spi.SpringAsDelegate(Object).",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "SpringAsDelegate.java(80,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method ajc$afterReturning$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$2$1ea6722c is called from constructor new it.tidalwave.role.spring.spi.SpringAsDelegate(Object).",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringAsDelegate.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringAsDelegate.java",
      "fingerprint" : "2d9073fae578f59b13215823cf3dc38a",
      "lineEnd" : 80,
      "lineStart" : 80,
      "message" : "Overridable method ajc$before$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$1$e854fa65 is called from constructor new it.tidalwave.role.spring.spi.SpringAsDelegate(Object).",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "SpringAsDelegate.java(80,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method ajc$before$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$1$e854fa65 is called from constructor new it.tidalwave.role.spring.spi.SpringAsDelegate(Object).",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringAsDelegate.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringAsDelegate.java",
      "fingerprint" : "3740f1e0b77f6200eb32775dff2a613b",
      "lineEnd" : 70,
      "lineStart" : 67,
      "message" : "Non-null field roleManager is not initialized by new it.tidalwave.role.spring.spi.SpringAsDelegate()",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "478",
      "severity" : "NORMAL",
      "toString" : "SpringAsDelegate.java(67,0): NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: CORRECTNESS: Non-null field roleManager is not initialized by new it.tidalwave.role.spring.spi.SpringAsDelegate()",
      "type" : "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringAsDelegate.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringAsDelegate.java",
      "fingerprint" : "999379a6711ab178c7d6aecca2d7daa8",
      "lineEnd" : 83,
      "lineStart" : 80,
      "message" : "Non-null field roleManager is not initialized by new it.tidalwave.role.spring.spi.SpringAsDelegate(Object)",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "478",
      "severity" : "NORMAL",
      "toString" : "SpringAsDelegate.java(80,0): NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: CORRECTNESS: Non-null field roleManager is not initialized by new it.tidalwave.role.spring.spi.SpringAsDelegate(Object)",
      "type" : "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringAsDelegate.java",
      "category" : "STYLE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringAsDelegate.java",
      "fingerprint" : "f5a8c91a215190cd69936adfe6d74777",
      "lineEnd" : 67,
      "lineStart" : 67,
      "message" : "Redundant nullcheck of this, which is known to be non-null in new it.tidalwave.role.spring.spi.SpringAsDelegate()",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "SpringAsDelegate.java(67,0): RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE: STYLE: Redundant nullcheck of this, which is known to be non-null in new it.tidalwave.role.spring.spi.SpringAsDelegate()",
      "type" : "RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringAsDelegate.java",
      "category" : "STYLE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringAsDelegate.java",
      "fingerprint" : "5bf9eb10bc301b988cac93b49d1bfcad",
      "lineEnd" : 80,
      "lineStart" : 80,
      "message" : "Redundant nullcheck of this, which is known to be non-null in new it.tidalwave.role.spring.spi.SpringAsDelegate(Object)",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "SpringAsDelegate.java(80,0): RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE: STYLE: Redundant nullcheck of this, which is known to be non-null in new it.tidalwave.role.spring.spi.SpringAsDelegate(Object)",
      "type" : "RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringContextManagerProvider.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringContextManagerProvider.java",
      "fingerprint" : "405cf70837081644b04af9204f5b3b14",
      "lineEnd" : 43,
      "lineStart" : 43,
      "message" : "Overridable method ajc$afterReturning$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$2$1ea6722c is called from constructor new it.tidalwave.role.spring.spi.SpringContextManagerProvider().",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "SpringContextManagerProvider.java(43,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method ajc$afterReturning$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$2$1ea6722c is called from constructor new it.tidalwave.role.spring.spi.SpringContextManagerProvider().",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringContextManagerProvider.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringContextManagerProvider.java",
      "fingerprint" : "3d52f4507eb188337e6d09f3f3a9de39",
      "lineEnd" : 43,
      "lineStart" : 43,
      "message" : "Overridable method ajc$before$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$1$e854fa65 is called from constructor new it.tidalwave.role.spring.spi.SpringContextManagerProvider().",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "SpringContextManagerProvider.java(43,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method ajc$before$org_springframework_beans_factory_aspectj_AbstractDependencyInjectionAspect$1$e854fa65 is called from constructor new it.tidalwave.role.spring.spi.SpringContextManagerProvider().",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringContextManagerProvider.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringContextManagerProvider.java",
      "fingerprint" : "fae4785cd5e065d58537474965973c35",
      "lineEnd" : 43,
      "lineStart" : 43,
      "message" : "Non-null field contextManager is not initialized by new it.tidalwave.role.spring.spi.SpringContextManagerProvider()",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "478",
      "severity" : "NORMAL",
      "toString" : "SpringContextManagerProvider.java(43,0): NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: CORRECTNESS: Non-null field contextManager is not initialized by new it.tidalwave.role.spring.spi.SpringContextManagerProvider()",
      "type" : "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SpringContextManagerProvider.java",
      "category" : "STYLE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/SpringRoles/src/main/java/it/tidalwave/role/spring/spi/SpringContextManagerProvider.java",
      "fingerprint" : "f9caa10f3602ce123bf38bbe83f97fa1",
      "lineEnd" : 43,
      "lineStart" : 43,
      "message" : "Redundant nullcheck of this, which is known to be non-null in new it.tidalwave.role.spring.spi.SpringContextManagerProvider()",
      "moduleName" : "TheseFoolishThings :: Roles :: Spring",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spring.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "SpringContextManagerProvider.java(43,0): RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE: STYLE: Redundant nullcheck of this, which is known to be non-null in new it.tidalwave.role.spring.spi.SpringContextManagerProvider()",
      "type" : "RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "ContextManager.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Roles/src/main/java/it/tidalwave/role/ContextManager.java",
      "fingerprint" : "6c6bab60ae3e2877ed8414daf9190787",
      "lineEnd" : 98,
      "lineStart" : 98,
      "message" : "Public static it.tidalwave.role.ContextManager$Locator.find() may expose internal representation by returning ContextManager$Locator.contextManager",
      "moduleName" : "TheseFoolishThings :: Roles",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "ContextManager.java(98,0): MS_EXPOSE_REP: MALICIOUS_CODE: Public static it.tidalwave.role.ContextManager$Locator.find() may expose internal representation by returning ContextManager$Locator.contextManager",
      "type" : "MS_EXPOSE_REP"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "FileTextReadable.java",
      "category" : "I18N",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Roles/src/main/java/it/tidalwave/role/io/spi/FileTextReadable.java",
      "fingerprint" : "d1c95eb8480a65f032bc119bf235227e",
      "lineEnd" : 60,
      "lineStart" : 60,
      "message" : "Found reliance on default encoding in it.tidalwave.role.io.spi.FileTextReadable.openReader(): new java.io.FileReader(File)",
      "moduleName" : "TheseFoolishThings :: Roles",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.io.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "FileTextReadable.java(60,0): DM_DEFAULT_ENCODING: I18N: Found reliance on default encoding in it.tidalwave.role.io.spi.FileTextReadable.openReader(): new java.io.FileReader(File)",
      "type" : "DM_DEFAULT_ENCODING"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "FileTextWritable.java",
      "category" : "I18N",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Roles/src/main/java/it/tidalwave/role/io/spi/FileTextWritable.java",
      "fingerprint" : "826714ff1b299e900223b463d50993d6",
      "lineEnd" : 60,
      "lineStart" : 60,
      "message" : "Found reliance on default encoding in it.tidalwave.role.io.spi.FileTextWritable.openWriter(): new java.io.FileWriter(File)",
      "moduleName" : "TheseFoolishThings :: Roles",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.io.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "FileTextWritable.java(60,0): DM_DEFAULT_ENCODING: I18N: Found reliance on default encoding in it.tidalwave.role.io.spi.FileTextWritable.openWriter(): new java.io.FileWriter(File)",
      "type" : "DM_DEFAULT_ENCODING"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultContextManager.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Roles/src/main/java/it/tidalwave/role/spi/DefaultContextManager.java",
      "fingerprint" : "aaf0dcdbcd05ad37fd1f18230b678ef4",
      "lineEnd" : 79,
      "lineStart" : 79,
      "message" : "Overridable method append is called from constructor new it.tidalwave.role.spi.DefaultContextManager().",
      "moduleName" : "TheseFoolishThings :: Roles",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spi",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "DefaultContextManager.java(79,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method append is called from constructor new it.tidalwave.role.spi.DefaultContextManager().",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultContextManager.java",
      "category" : "PERFORMANCE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Roles/src/main/java/it/tidalwave/role/spi/DefaultContextManager.java",
      "fingerprint" : "f35375e36ab9953bfabfabc0dc61b737",
      "lineEnd" : 55,
      "lineStart" : 55,
      "message" : "The class it.tidalwave.role.spi.DefaultContextManager$1 could be refactored into a named _static_ inner class",
      "moduleName" : "TheseFoolishThings :: Roles",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "DefaultContextManager.java(55,0): SIC_INNER_SHOULD_BE_STATIC_ANON: PERFORMANCE: The class it.tidalwave.role.spi.DefaultContextManager$1 could be refactored into a named _static_ inner class",
      "type" : "SIC_INNER_SHOULD_BE_STATIC_ANON"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "BooleanBoundFunctionSupport.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Roles/src/main/java/it/tidalwave/role/ui/function/BooleanBoundFunctionSupport.java",
      "fingerprint" : "7e2c04081b3015b1edb0c3b986f54a28",
      "lineEnd" : 67,
      "lineStart" : 67,
      "message" : "Overridable method function is called from constructor new it.tidalwave.role.ui.function.BooleanBoundFunctionSupport(ChangingSource[]).",
      "moduleName" : "TheseFoolishThings :: Roles",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.ui.function",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "BooleanBoundFunctionSupport.java(67,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method function is called from constructor new it.tidalwave.role.ui.function.BooleanBoundFunctionSupport(ChangingSource[]).",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "WeakCopyFunctionSupport.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Roles/src/main/java/it/tidalwave/role/ui/function/WeakCopyFunctionSupport.java",
      "fingerprint" : "a652e9a29a77fcd074d7d6d0e2f671ff",
      "lineEnd" : 50,
      "lineStart" : 49,
      "message" : "Non-null field targetValue is not initialized by new it.tidalwave.role.ui.function.WeakCopyFunctionSupport(ChangingSource)",
      "moduleName" : "TheseFoolishThings :: Roles",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.ui.function",
      "reference" : "478",
      "severity" : "NORMAL",
      "toString" : "WeakCopyFunctionSupport.java(49,0): NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: CORRECTNESS: Non-null field targetValue is not initialized by new it.tidalwave.role.ui.function.WeakCopyFunctionSupport(ChangingSource)",
      "type" : "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AsDisplayableComparator.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Roles/src/main/java/it/tidalwave/role/ui/impl/AsDisplayableComparator.java",
      "fingerprint" : "d674a5e33451f39c0618fc9b4a182322",
      "lineEnd" : 59,
      "lineStart" : 44,
      "message" : "it.tidalwave.role.ui.impl.AsDisplayableComparator implements Comparator but not Serializable",
      "moduleName" : "TheseFoolishThings :: Roles",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.ui.impl",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "AsDisplayableComparator.java(44,0): SE_COMPARATOR_SHOULD_BE_SERIALIZABLE: BAD_PRACTICE: it.tidalwave.role.ui.impl.AsDisplayableComparator implements Comparator but not Serializable",
      "type" : "SE_COMPARATOR_SHOULD_BE_SERIALIZABLE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultPresentationModel.java",
      "category" : "STYLE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Roles/src/main/java/it/tidalwave/role/ui/impl/DefaultPresentationModel.java",
      "fingerprint" : "73879f688c67255db4df498ae18fc450",
      "lineEnd" : 109,
      "lineStart" : 109,
      "message" : "Redundant nullcheck of role, which is known to be non-null in it.tidalwave.role.ui.impl.DefaultPresentationModel$1.run(Throwable)",
      "moduleName" : "TheseFoolishThings :: Roles",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.ui.impl",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "DefaultPresentationModel.java(109,0): RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE: STYLE: Redundant nullcheck of role, which is known to be non-null in it.tidalwave.role.ui.impl.DefaultPresentationModel$1.run(Throwable)",
      "type" : "RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DisplayableComparator.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Roles/src/main/java/it/tidalwave/role/ui/impl/DisplayableComparator.java",
      "fingerprint" : "61f04bbab317a730ab8369e0800d2a3",
      "lineEnd" : 58,
      "lineStart" : 43,
      "message" : "it.tidalwave.role.ui.impl.DisplayableComparator implements Comparator but not Serializable",
      "moduleName" : "TheseFoolishThings :: Roles",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.role.ui.impl",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "DisplayableComparator.java(43,0): SE_COMPARATOR_SHOULD_BE_SERIALIZABLE: BAD_PRACTICE: it.tidalwave.role.ui.impl.DisplayableComparator implements Comparator but not Serializable",
      "type" : "SE_COMPARATOR_SHOULD_BE_SERIALIZABLE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AsDelegateProvider.java",
      "category" : "PERFORMANCE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/spi/AsDelegateProvider.java",
      "fingerprint" : "799a0da694fd7b76d6611cda5e02b026",
      "lineEnd" : 141,
      "lineStart" : 141,
      "message" : "The class it.tidalwave.util.spi.AsDelegateProvider$EmptyAsDelegateProvider$1 could be refactored into a named _static_ inner class",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "AsDelegateProvider.java(141,0): SIC_INNER_SHOULD_BE_STATIC_ANON: PERFORMANCE: The class it.tidalwave.util.spi.AsDelegateProvider$EmptyAsDelegateProvider$1 could be refactored into a named _static_ inner class",
      "type" : "SIC_INNER_SHOULD_BE_STATIC_ANON"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "AsSupport.java",
      "category" : "MALICIOUS_CODE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/spi/AsSupport.java",
      "fingerprint" : "df95f9e8dfa4397bffc072cc26378465",
      "lineEnd" : 64,
      "lineStart" : 64,
      "message" : "Overridable method createAsDelegate is called from constructor new it.tidalwave.util.spi.AsSupport().",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.spi",
      "reference" : "481",
      "severity" : "LOW",
      "toString" : "AsSupport.java(64,0): MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR: MALICIOUS_CODE: Overridable method createAsDelegate is called from constructor new it.tidalwave.util.spi.AsSupport().",
      "type" : "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultProcessExecutor.java",
      "category" : "I18N",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java",
      "fingerprint" : "22a61a349131452fc20a230179a88cee",
      "lineEnd" : 486,
      "lineStart" : 486,
      "message" : "Use of non-localized String.toUpperCase() or String.toLowerCase() in it.tidalwave.util.spi.DefaultProcessExecutor.isWindows()",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "DefaultProcessExecutor.java(486,0): DM_CONVERT_CASE: I18N: Use of non-localized String.toUpperCase() or String.toLowerCase() in it.tidalwave.util.spi.DefaultProcessExecutor.isWindows()",
      "type" : "DM_CONVERT_CASE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultProcessExecutor.java",
      "category" : "I18N",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java",
      "fingerprint" : "546fcec2f3fc51e896f3a93765e3b9a9",
      "lineEnd" : 431,
      "lineStart" : 431,
      "message" : "Found reliance on default encoding in it.tidalwave.util.spi.DefaultProcessExecutor.start(): new java.io.PrintWriter(OutputStream, boolean)",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "DefaultProcessExecutor.java(431,0): DM_DEFAULT_ENCODING: I18N: Found reliance on default encoding in it.tidalwave.util.spi.DefaultProcessExecutor.start(): new java.io.PrintWriter(OutputStream, boolean)",
      "type" : "DM_DEFAULT_ENCODING"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultProcessExecutor.java",
      "category" : "STYLE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java",
      "fingerprint" : "cf72bf19c353afd0d889c0f512a33b98",
      "lineEnd" : 458,
      "lineStart" : 458,
      "message" : "Useless control flow in it.tidalwave.util.spi.DefaultProcessExecutor.waitForCompletion()",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "DefaultProcessExecutor.java(458,0): UCF_USELESS_CONTROL_FLOW: STYLE: Useless control flow in it.tidalwave.util.spi.DefaultProcessExecutor.waitForCompletion()",
      "type" : "UCF_USELESS_CONTROL_FLOW"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultProcessExecutor.java",
      "category" : "I18N",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java",
      "fingerprint" : "282979a34723be2e2509ea3ef5ab71c6",
      "lineEnd" : 282,
      "lineStart" : 282,
      "message" : "Found reliance on default encoding in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.read(): new java.io.InputStreamReader(InputStream)",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "DefaultProcessExecutor.java(282,0): DM_DEFAULT_ENCODING: I18N: Found reliance on default encoding in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.read(): new java.io.InputStreamReader(InputStream)",
      "type" : "DM_DEFAULT_ENCODING"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultProcessExecutor.java",
      "category" : "MT_CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java",
      "fingerprint" : "a4ff01756de9ea4b0bf187d6935c6579",
      "lineEnd" : 322,
      "lineStart" : 322,
      "message" : "Naked notify in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.read()",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "DefaultProcessExecutor.java(322,0): NN_NAKED_NOTIFY: MT_CORRECTNESS: Naked notify in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.read()",
      "type" : "NN_NAKED_NOTIFY"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultProcessExecutor.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java",
      "fingerprint" : "f53c819baaf66f7ccd0135a0b88105ee",
      "lineEnd" : 160,
      "lineStart" : 160,
      "message" : "Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.start()",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "DefaultProcessExecutor.java(160,0): RV_RETURN_VALUE_IGNORED_BAD_PRACTICE: BAD_PRACTICE: Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.start()",
      "type" : "RV_RETURN_VALUE_IGNORED_BAD_PRACTICE"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DefaultProcessExecutor.java",
      "category" : "MT_CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/Utilities/src/main/java/it/tidalwave/util/spi/DefaultProcessExecutor.java",
      "fingerprint" : "45757508fede6ce813179388b36a1e30",
      "lineEnd" : 255,
      "lineStart" : 255,
      "message" : "Unconditional wait in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.waitFor(String)",
      "moduleName" : "TheseFoolishThings :: Utilities",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.util.spi",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "DefaultProcessExecutor.java(255,0): UW_UNCOND_WAIT: MT_CORRECTNESS: Unconditional wait in it.tidalwave.util.spi.DefaultProcessExecutor$DefaultConsoleOutput.waitFor(String)",
      "type" : "UW_UNCOND_WAIT"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DisplayableExample.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/examples/DciDisplayableExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/displayable/DisplayableExample.java",
      "fingerprint" : "ef9f74a40652b34ef55de3d670754530",
      "lineEnd" : 45,
      "lineStart" : 45,
      "message" : "Non-null field contextManager is not initialized by new it.tidalwave.thesefoolishthings.examples.dci.displayable.DisplayableExample()",
      "moduleName" : "TheseFoolishThings :: Examples :: DCI :: Displayable",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.dci.displayable",
      "reference" : "478",
      "severity" : "NORMAL",
      "toString" : "DisplayableExample.java(45,0): NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: CORRECTNESS: Non-null field contextManager is not initialized by new it.tidalwave.thesefoolishthings.examples.dci.displayable.DisplayableExample()",
      "type" : "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DciMarshalXStreamExample.java",
      "category" : "CORRECTNESS",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/examples/DciMarshalXStreamExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/marshal/xstream/DciMarshalXStreamExample.java",
      "fingerprint" : "b7578c7fe9b3ecd553b67dbaa05b3f76",
      "lineEnd" : 59,
      "lineStart" : 59,
      "message" : "Non-null field contextManager is not initialized by new it.tidalwave.thesefoolishthings.examples.dci.marshal.xstream.DciMarshalXStreamExample()",
      "moduleName" : "TheseFoolishThings :: Examples :: DCI :: Marshal XStream",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.dci.marshal.xstream",
      "reference" : "478",
      "severity" : "NORMAL",
      "toString" : "DciMarshalXStreamExample.java(59,0): NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR: CORRECTNESS: Non-null field contextManager is not initialized by new it.tidalwave.thesefoolishthings.examples.dci.marshal.xstream.DciMarshalXStreamExample()",
      "type" : "NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "DciMarshalXStreamExample.java",
      "category" : "PERFORMANCE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/examples/DciMarshalXStreamExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/marshal/xstream/DciMarshalXStreamExample.java",
      "fingerprint" : "653c8b5c13e56630cbdc0a4eaa19bb97",
      "lineEnd" : 106,
      "lineStart" : 103,
      "message" : "Private method it.tidalwave.thesefoolishthings.examples.dci.marshal.xstream.DciMarshalXStreamExample.alternateSyntax() is never called",
      "moduleName" : "TheseFoolishThings :: Examples :: DCI :: Marshal XStream",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.dci.marshal.xstream",
      "reference" : "488",
      "severity" : "LOW",
      "toString" : "DciMarshalXStreamExample.java(103,0): UPM_UNCALLED_PRIVATE_METHOD: PERFORMANCE: Private method it.tidalwave.thesefoolishthings.examples.dci.marshal.xstream.DciMarshalXStreamExample.alternateSyntax() is never called",
      "type" : "UPM_UNCALLED_PRIVATE_METHOD"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SwingPersonPresentation.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/swing/SwingPersonPresentation.java",
      "fingerprint" : "f131a611fe9c5be4316ede9a29b6067f",
      "lineEnd" : 0,
      "lineStart" : 0,
      "message" : "Class it.tidalwave.thesefoolishthings.examples.dci.swing.swing.SwingPersonPresentation defines non-transient non-serializable instance field bindings",
      "moduleName" : "TheseFoolishThings :: Examples :: DCI :: Swing",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.dci.swing.swing",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "SwingPersonPresentation.java(0,0): SE_BAD_FIELD: BAD_PRACTICE: Class it.tidalwave.thesefoolishthings.examples.dci.swing.swing.SwingPersonPresentation defines non-transient non-serializable instance field bindings",
      "type" : "SE_BAD_FIELD"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "SwingPersonPresentation.java",
      "category" : "PERFORMANCE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/examples/DciSwingExample/src/main/java/it/tidalwave/thesefoolishthings/examples/dci/swing/swing/SwingPersonPresentation.java",
      "fingerprint" : "39a5e79a90d946719198c934fc95d720",
      "lineEnd" : 123,
      "lineStart" : 123,
      "message" : "The class it.tidalwave.thesefoolishthings.examples.dci.swing.swing.SwingPersonPresentation$1 could be refactored into a named _static_ inner class",
      "moduleName" : "TheseFoolishThings :: Examples :: DCI :: Swing",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.dci.swing.swing",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "SwingPersonPresentation.java(123,0): SIC_INNER_SHOULD_BE_STATIC_ANON: PERFORMANCE: The class it.tidalwave.thesefoolishthings.examples.dci.swing.swing.SwingPersonPresentation$1 could be refactored into a named _static_ inner class",
      "type" : "SIC_INNER_SHOULD_BE_STATIC_ANON"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "PersonFinderImpl2a.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2a.java",
      "fingerprint" : "fabac0e6beb243e8f6073c2b107ccbec",
      "lineEnd" : 0,
      "lineStart" : 0,
      "message" : "Class it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinderImpl2a defines non-transient non-serializable instance field persons",
      "moduleName" : "TheseFoolishThings :: Examples :: Finder :: Extended Finder",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.extendedfinderexample",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "PersonFinderImpl2a.java(0,0): SE_BAD_FIELD: BAD_PRACTICE: Class it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinderImpl2a defines non-transient non-serializable instance field persons",
      "type" : "SE_BAD_FIELD"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "PersonFinderImpl2a.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2a.java",
      "fingerprint" : "ce7c8078be2898f81c8cf6ef9a3df771",
      "lineEnd" : 105,
      "lineStart" : 56,
      "message" : "it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinderImpl2a is Serializable; consider declaring a serialVersionUID",
      "moduleName" : "TheseFoolishThings :: Examples :: Finder :: Extended Finder",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.extendedfinderexample",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "PersonFinderImpl2a.java(56,0): SE_NO_SERIALVERSIONID: BAD_PRACTICE: it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinderImpl2a is Serializable; consider declaring a serialVersionUID",
      "type" : "SE_NO_SERIALVERSIONID"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "PersonFinderImpl2b.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2b.java",
      "fingerprint" : "1bfba185d5f92911f032bc1722c26fdf",
      "lineEnd" : 0,
      "lineStart" : 0,
      "message" : "Class it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinderImpl2b defines non-transient non-serializable instance field status",
      "moduleName" : "TheseFoolishThings :: Examples :: Finder :: Extended Finder",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.extendedfinderexample",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "PersonFinderImpl2b.java(0,0): SE_BAD_FIELD: BAD_PRACTICE: Class it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinderImpl2b defines non-transient non-serializable instance field status",
      "type" : "SE_BAD_FIELD"
    },
    {
      "addedAt" : 0,
      "authorEmail" : "-",
      "authorName" : "-",
      "baseName" : "PersonFinderImpl2b.java",
      "category" : "BAD_PRACTICE",
      "columnEnd" : 0,
      "columnStart" : 0,
      "commit" : "-",
      "description" : "",
      "fileName" : "../../TheseFoolishThings_Metrics/workspace/modules/examples/ExtendedFinderExample/src/main/java/it/tidalwave/thesefoolishthings/examples/extendedfinderexample/PersonFinderImpl2b.java",
      "fingerprint" : "1c972e50851ea48f59440f9b01f7fbc7",
      "lineEnd" : 117,
      "lineStart" : 74,
      "message" : "it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinderImpl2b is Serializable; consider declaring a serialVersionUID",
      "moduleName" : "TheseFoolishThings :: Examples :: Finder :: Extended Finder",
      "origin" : "spotbugs",
      "originName" : "",
      "packageName" : "it.tidalwave.thesefoolishthings.examples.extendedfinderexample",
      "reference" : "478",
      "severity" : "LOW",
      "toString" : "PersonFinderImpl2b.java(74,0): SE_NO_SERIALVERSIONID: BAD_PRACTICE: it.tidalwave.thesefoolishthings.examples.extendedfinderexample.PersonFinderImpl2b is Serializable; consider declaring a serialVersionUID",
      "type" : "SE_NO_SERIALVERSIONID"
    }
  ],
  "size" : 60,
  "toString" : "60 warnings (normal: 11, low: 49)"
}