Buggy code:
} public static class CollectionOfStrings { private final Iterable < String > data ; @ JsonCreator public CollectionOfStrings ( Iterable < String > innerData ) { } public Iterable < String > getData ( ) { } } public static class CollectionOfRolesList { @ JsonCreator public CollectionOfRolesList ( @ JsonUnwrapped Iterable < SerialDetails . IdentityToAccountRoleImpl > roles ) { } private final Iterable < IdentityToAccountRole > roles ; public Iterable < IdentityToAccountRole > getRoles ( ) { } } private static final SimpleDateFormat ISO_DATE_FORMAT = new SimpleDateFormat ( "yyyy-MM-dd'T'HH:mm:ss'Z'" , Locale . ENGLISH ) ; private static final Date parseIsoDate ( String date ) { } @ JsonIgnoreProperties ( ignoreUnknown = true ) public static class OwnedTenantImpl implements OwnedTenant { private final Date date_entered ; private final String customerId ; private final String type ; private final String tenantId ; @ Override public Date getCreationTime ( ) { } @ Override public String getCustomerId ( ) { } @ Override public String getTenantType ( ) { } @ Override public String getTenantId ( ) { } @ JsonCreator public OwnedTenantImpl ( @ JsonProperty ( value = "date_entered" , required = true ) String date_entered , @ JsonProperty ( value = "customerId" , required = true ) String customerId , @ JsonProperty ( value = "type" , required = false ) String type , @ JsonProperty ( value = "tenantId" , required = true ) String tenantId ) { } } public static class CollectionOfOwnedTenants { @ JsonCreator public CollectionOfOwnedTenants ( @ JsonUnwrapped Iterable < SerialDetails . OwnedTenantImpl > tenants ) { } private final Iterable < OwnedTenant > tenants ; public Iterable < OwnedTenant > getTenants ( ) { } } @ JsonIgnoreProperties ( ignoreUnknown = true ) public static class PaymentImpl implements Payment { private final int id ; private final double amount ; private final Date create_date ; @ Override public int getId ( ) { } @ Override public double getAmountInEuros ( ) { } @ Override public Date getCreateDate ( ) { } @ JsonCreator public PaymentImpl ( @ JsonProperty ( value = "id" , required = false ) int id , @ JsonProperty ( value = "amount" , required = false ) double amount , @ JsonProperty ( value = "create_date" , required = false ) Date create_date ) { } } public static class InvoiceImpl implements Invoice { @ JsonCreator public InvoiceImpl ( @ JsonProperty ( value = "id" , required = true ) int id , @ JsonProperty ( value = "createDate" , required = false ) Date createDate , @ JsonProperty ( value = "dueDate" , required = false ) Date dueDate , @ JsonProperty ( value = "total" , required = true ) double total , @ JsonProperty ( value = "balance" , required = false ) double balance , @ JsonProperty ( "invoicesURI" ) Map < String , URI > invoicesURI , @ JsonProperty ( "payments" ) Iterable < SerialDetails . PaymentImpl > payments ) { } private final int id ; private final Date create_date ; private final Date due_date ; private final double total ; private final double balance ; private final Map < String , URI > invoicesURI ; private final Iterable < Payment > payments ; @ Override public int getId ( ) { } @ Override public Date getCreateDate ( ) { } @ Override public Date getDueDate ( ) { } @ Override public double getTotalInEuros ( ) { } @ Override public double getBalance ( ) { } @ Override public Map < String , URI > getInvoicesURI ( ) { } @ Override public Iterable < Payment > getPayments ( ) { } } @ JsonIgnoreProperties ( ignoreUnknown = true ) public static class ListOfInvoicesImpl { @ JsonCreator public ListOfInvoicesImpl ( @ JsonProperty ( "invoices" ) Iterable < SerialDetails . InvoiceImpl > invoices ) { } public Iterable < Invoice > getInvoices ( ) { } private final Iterable < Invoice > invoices ; } @ JsonIgnoreProperties ( ignoreUnknown = true ) static class HouryEventImpl implements HourlyEventBase , HourBlockSizeOpenstackAggregatedMetricEvent , HourSnapshotSizeOpenstackAggregatedMetricEvent , HourComputeOutgoingBytesOpenstackAggregatedMetricEvent , HourInstanceOpenstackAggregatedMetricEvent , HourMaxFloatingIpsOpenstackAggregatedMetricEvent , HourObjectOutgoingBytesOpenstackAggregatedMetricEvent , HourObjectSizeOpenstackAggregatedMetricEvent { @ Override public EventType getEventType ( ) { try { return EventType . valueOf ( getType ( ) ) ; <START_BUG> } catch ( NullPointerException err ) { <END_BUG> return EventType . Unknown ; } } @ JsonCreator @ SuppressWarnings ( "nls" ) protected HouryEventImpl ( Map < String , Object > fields ) { } protected long getLong ( String name ) { } protected Date getDate ( String name ) { } protected String getString ( String name ) { } private Map < String , Object > fields ; public Map < String , Object > getFields ( ) { } public String getType ( ) { } @ Override public String getProjectId ( ) { } @ Override public Date getUtcComputeDate ( ) { } private final String type ; private final String projectId ; private final Date computeDate ; protected StringBuilder createStringBuilderPrefix ( ) { } @ Override public String toString ( ) { } @ SuppressWarnings ( "unchecked" ) @ Override public < T extends HourlyEvent > Optional < T > castAs ( Class < T > clazz ) { } @ Override public UUID getResourceId ( ) { } @ Override public long getSizeInBytes ( ) { } public long getSize ( ) { } @ Override public UUID getVolumeType ( ) { } @ Override public long getRequestsCounter ( ) { } @ Override public Iterable < String > getIps ( ) { } @ Override public int getCounter ( ) { } @ Override public UUID getInstanceId ( ) { } @ Override public String getInstanceType ( ) { }

Fix:
} catch ( IllegalArgumentException | NullPointerException err ) {