AttachmentUploadResult { public Map<AttachmentUploadRequest.Item, Throwable> failedUploads() { return failedUploads; } AttachmentUploadResult(T target); private  AttachmentUploadResult(T target,
                                   Set<AttachmentUploadRequest.Item> successfulUploads,
                                   Map<AttachmentUploadRequest.Item, Throwable> failedUploads); static AttachmentUploadResult<T> newResult(T target,
                                        Set<AttachmentUploadRequest.Item> successfulUploads,
                                        Map<AttachmentUploadRequest.Item, Throwable> failedUploads); T getTarget(); boolean isSuccess(); Set<AttachmentUploadRequest.Item> successfulUploads(); Map<AttachmentUploadRequest.Item, Throwable> failedUploads(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }
@Test(expected = UnsupportedOperationException.class) public void testFailedUploadsNotModifiableInitial() { AttachmentUploadResult<SW360Release> result = new AttachmentUploadResult<>(new SW360Release()); result.failedUploads() .put(new AttachmentUploadRequest.Item(Paths.get("p"), SW360AttachmentType.SOURCE_SELF), new Exception()); }