class AttachmentUploadRequest {

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        AttachmentUploadRequest<?> request = (AttachmentUploadRequest<?>) o;
        return Objects.equals(getTarget(), request.getTarget()) &&
                items.equals(request.items);
    }

    private  AttachmentUploadRequest(T target, List<Item> items);

}