{"action":"created","comment":{"url":"https://api.github.com/repos/javaslang/javaslang/pulls/comments/90478672","pull_request_review_id":10997294,"id":90478672,"diff_hunk":"@@ -1153,4 +1149,38 @@ default boolean startsWith(Iterable<? extends T> that, int offset) {\n     default Function1<Integer, T> withDefault(Function<? super Integer, ? extends T> defaultFunction) {\n         return i -> (i >= 0 && i < length()) ? apply(i) : defaultFunction.apply(i);\n     }\n+\n+    default java.util.List<T> asUnmodifiableList() { return new SeqList<>(Seq.this); }\n+\n+    @SuppressWarnings(\"unchecked\")\n+    class SeqList<T> implements java.util.List<T> {\n+        private final Seq<T> delegate;\n+        SeqList(Seq<T> delegate) { this.delegate = delegate; }\n+\n+        /*@formatter:off*/\n+        @Override public int size()                                  { return delegate.size(); }\n+        @Override public boolean isEmpty()                           { return delegate.isEmpty(); }\n+        @Override public boolean contains(Object element)            { return delegate.contains((T) element); }\n+        @Override public boolean containsAll(Collection<?> elements) { return delegate.containsAll((Iterable<? extends T>) elements.iterator()); }\n+        @Override public java.util.Iterator<T> iterator()            { return delegate.iterator(); }\n+        @Override public T get(int index)                            { return delegate.get(index); }\n+        @Override public int indexOf(Object element)                 { return delegate.indexOf((T) element); }\n+        @Override public int lastIndexOf(Object element)             { return delegate.lastIndexOf((T) element); }\n+        @Override public java.util.List<T> subList(int from, int to) { return delegate.slice(from, to).asUnmodifiableList(); }\n+        @Override public Object[] toArray()                          { return delegate.toJavaArray(); }\n+        @Override public <A>  A[] toArray(A[] array)                 { return delegate.toJavaList().toArray(array); }\n+        @Override public ListIterator<T> listIterator()              { return delegate.toJavaList().listIterator(); }\n+        @Override public ListIterator<T> listIterator(int index)     { return delegate.toJavaList().listIterator(index); }\n+\n+        @Override public void clear()                                     { throw new UnsupportedOperationException(); }\n+        @Override public T set(int i, T e)                                { throw new UnsupportedOperationException(); }\n+        @Override public T       remove(int i)                            { throw new UnsupportedOperationException(); }\n+        @Override public boolean remove(Object o)                         { throw new UnsupportedOperationException(); }\n+        @Override public boolean removeAll(Collection<?> c)               { throw new UnsupportedOperationException(); }\n+        @Override public boolean retainAll(Collection<?> c)               { throw new UnsupportedOperationException(); }\n+        @Override public void    add(int i, T e)                          { throw new UnsupportedOperationException(); }","path":"javaslang/src/main/java/javaslang/collection/Seq.java","position":50,"original_position":50,"commit_id":"e462748c880dfdb3a140329ef2b636285af1a728","original_commit_id":"e462748c880dfdb3a140329ef2b636285af1a728","user":{"login":"sputnikci","id":15047461,"avatar_url":"https://avatars.githubusercontent.com/u/15047461?v=3","gravatar_id":"","url":"https://api.github.com/users/sputnikci","html_url":"https://github.com/sputnikci","followers_url":"https://api.github.com/users/sputnikci/followers","following_url":"https://api.github.com/users/sputnikci/following{/other_user}","gists_url":"https://api.github.com/users/sputnikci/gists{/gist_id}","starred_url":"https://api.github.com/users/sputnikci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sputnikci/subscriptions","organizations_url":"https://api.github.com/users/sputnikci/orgs","repos_url":"https://api.github.com/users/sputnikci/repos","events_url":"https://api.github.com/users/sputnikci/events{/privacy}","received_events_url":"https://api.github.com/users/sputnikci/received_events","type":"User","site_admin":false},"body":"\\[Checkstyle\\] ERROR: '\\{' at column 75 should have line break after\\.","created_at":"2016-12-01T16:08:38Z","updated_at":"2016-12-01T16:08:38Z","html_url":"https://github.com/javaslang/javaslang/pull/1736#discussion_r90478672","pull_request_url":"https://api.github.com/repos/javaslang/javaslang/pulls/1736","_links":{"self":{"href":"https://api.github.com/repos/javaslang/javaslang/pulls/comments/90478672"},"html":{"href":"https://github.com/javaslang/javaslang/pull/1736#discussion_r90478672"},"pull_request":{"href":"https://api.github.com/repos/javaslang/javaslang/pulls/1736"}}},"pull_request":{"url":"https://api.github.com/repos/javaslang/javaslang/pulls/1736","id":96114077,"html_url":"https://github.com/javaslang/javaslang/pull/1736","diff_url":"https://github.com/javaslang/javaslang/pull/1736.diff","patch_url":"https://github.com/javaslang/javaslang/pull/1736.patch","issue_url":"https://api.github.com/repos/javaslang/javaslang/issues/1736","number":1736,"state":"open","locked":false,"title":"RFC: Added wrapping method `asUnmodifiableList` to `Seq`","user":{"login":"paplorinc","id":1841944,"avatar_url":"https://avatars.githubusercontent.com/u/1841944?v=3","gravatar_id":"","url":"https://api.github.com/users/paplorinc","html_url":"https://github.com/paplorinc","followers_url":"https://api.github.com/users/paplorinc/followers","following_url":"https://api.github.com/users/paplorinc/following{/other_user}","gists_url":"https://api.github.com/users/paplorinc/gists{/gist_id}","starred_url":"https://api.github.com/users/paplorinc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paplorinc/subscriptions","organizations_url":"https://api.github.com/users/paplorinc/orgs","repos_url":"https://api.github.com/users/paplorinc/repos","events_url":"https://api.github.com/users/paplorinc/events{/privacy}","received_events_url":"https://api.github.com/users/paplorinc/received_events","type":"User","site_admin":false},"body":"Addresses https://github.com/javaslang/javaslang/issues/1728\r\n\r\nThis PR is mainly meant to receive feedback.\r\nMore thorough tests should be added, and the rest of the interfaces should also be covered (`Map`, `Set`, etc)","created_at":"2016-12-01T15:48:46Z","updated_at":"2016-12-01T16:08:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"50a1899cee3d45b7e8f909099a4ab1708faf3da0","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/javaslang/javaslang/pulls/1736/commits","review_comments_url":"https://api.github.com/repos/javaslang/javaslang/pulls/1736/comments","review_comment_url":"https://api.github.com/repos/javaslang/javaslang/pulls/comments{/number}","comments_url":"https://api.github.com/repos/javaslang/javaslang/issues/1736/comments","statuses_url":"https://api.github.com/repos/javaslang/javaslang/statuses/e462748c880dfdb3a140329ef2b636285af1a728","head":{"label":"paplorinc:asUnmodifiableList","ref":"asUnmodifiableList","sha":"e462748c880dfdb3a140329ef2b636285af1a728","user":{"login":"paplorinc","id":1841944,"avatar_url":"https://avatars.githubusercontent.com/u/1841944?v=3","gravatar_id":"","url":"https://api.github.com/users/paplorinc","html_url":"https://github.com/paplorinc","followers_url":"https://api.github.com/users/paplorinc/followers","following_url":"https://api.github.com/users/paplorinc/following{/other_user}","gists_url":"https://api.github.com/users/paplorinc/gists{/gist_id}","starred_url":"https://api.github.com/users/paplorinc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paplorinc/subscriptions","organizations_url":"https://api.github.com/users/paplorinc/orgs","repos_url":"https://api.github.com/users/paplorinc/repos","events_url":"https://api.github.com/users/paplorinc/events{/privacy}","received_events_url":"https://api.github.com/users/paplorinc/received_events","type":"User","site_admin":false},"repo":{"id":55842829,"name":"javaslang","full_name":"paplorinc/javaslang","owner":{"login":"paplorinc","id":1841944,"avatar_url":"https://avatars.githubusercontent.com/u/1841944?v=3","gravatar_id":"","url":"https://api.github.com/users/paplorinc","html_url":"https://github.com/paplorinc","followers_url":"https://api.github.com/users/paplorinc/followers","following_url":"https://api.github.com/users/paplorinc/following{/other_user}","gists_url":"https://api.github.com/users/paplorinc/gists{/gist_id}","starred_url":"https://api.github.com/users/paplorinc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/paplorinc/subscriptions","organizations_url":"https://api.github.com/users/paplorinc/orgs","repos_url":"https://api.github.com/users/paplorinc/repos","events_url":"https://api.github.com/users/paplorinc/events{/privacy}","received_events_url":"https://api.github.com/users/paplorinc/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/paplorinc/javaslang","description":"A functional library for Java 8+ that provides persistent data types and functional control structures.","fork":true,"url":"https://api.github.com/repos/paplorinc/javaslang","forks_url":"https://api.github.com/repos/paplorinc/javaslang/forks","keys_url":"https://api.github.com/repos/paplorinc/javaslang/keys{/key_id}","collaborators_url":"https://api.github.com/repos/paplorinc/javaslang/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/paplorinc/javaslang/teams","hooks_url":"https://api.github.com/repos/paplorinc/javaslang/hooks","issue_events_url":"https://api.github.com/repos/paplorinc/javaslang/issues/events{/number}","events_url":"https://api.github.com/repos/paplorinc/javaslang/events","assignees_url":"https://api.github.com/repos/paplorinc/javaslang/assignees{/user}","branches_url":"https://api.github.com/repos/paplorinc/javaslang/branches{/branch}","tags_url":"https://api.github.com/repos/paplorinc/javaslang/tags","blobs_url":"https://api.github.com/repos/paplorinc/javaslang/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/paplorinc/javaslang/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/paplorinc/javaslang/git/refs{/sha}","trees_url":"https://api.github.com/repos/paplorinc/javaslang/git/trees{/sha}","statuses_url":"https://api.github.com/repos/paplorinc/javaslang/statuses/{sha}","languages_url":"https://api.github.com/repos/paplorinc/javaslang/languages","stargazers_url":"https://api.github.com/repos/paplorinc/javaslang/stargazers","contributors_url":"https://api.github.com/repos/paplorinc/javaslang/contributors","subscribers_url":"https://api.github.com/repos/paplorinc/javaslang/subscribers","subscription_url":"https://api.github.com/repos/paplorinc/javaslang/subscription","commits_url":"https://api.github.com/repos/paplorinc/javaslang/commits{/sha}","git_commits_url":"https://api.github.com/repos/paplorinc/javaslang/git/commits{/sha}","comments_url":"https://api.github.com/repos/paplorinc/javaslang/comments{/number}","issue_comment_url":"https://api.github.com/repos/paplorinc/javaslang/issues/comments{/number}","contents_url":"https://api.github.com/repos/paplorinc/javaslang/contents/{+path}","compare_url":"https://api.github.com/repos/paplorinc/javaslang/compare/{base}...{head}","merges_url":"https://api.github.com/repos/paplorinc/javaslang/merges","archive_url":"https://api.github.com/repos/paplorinc/javaslang/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/paplorinc/javaslang/downloads","issues_url":"https://api.github.com/repos/paplorinc/javaslang/issues{/number}","pulls_url":"https://api.github.com/repos/paplorinc/javaslang/pulls{/number}","milestones_url":"https://api.github.com/repos/paplorinc/javaslang/milestones{/number}","notifications_url":"https://api.github.com/repos/paplorinc/javaslang/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/paplorinc/javaslang/labels{/name}","releases_url":"https://api.github.com/repos/paplorinc/javaslang/releases{/id}","deployments_url":"https://api.github.com/repos/paplorinc/javaslang/deployments","created_at":"2016-04-09T12:20:36Z","updated_at":"2016-04-09T12:20:39Z","pushed_at":"2016-12-01T15:59:31Z","git_url":"git://github.com/paplorinc/javaslang.git","ssh_url":"git@github.com:paplorinc/javaslang.git","clone_url":"https://github.com/paplorinc/javaslang.git","svn_url":"https://github.com/paplorinc/javaslang","homepage":"http://javaslang.io","size":13453,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"javaslang:master","ref":"master","sha":"0f180a700c7b8144a7c26bf2cec2ea38b9c95291","user":{"login":"javaslang","id":5786132,"avatar_url":"https://avatars.githubusercontent.com/u/5786132?v=3","gravatar_id":"","url":"https://api.github.com/users/javaslang","html_url":"https://github.com/javaslang","followers_url":"https://api.github.com/users/javaslang/followers","following_url":"https://api.github.com/users/javaslang/following{/other_user}","gists_url":"https://api.github.com/users/javaslang/gists{/gist_id}","starred_url":"https://api.github.com/users/javaslang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/javaslang/subscriptions","organizations_url":"https://api.github.com/users/javaslang/orgs","repos_url":"https://api.github.com/users/javaslang/repos","events_url":"https://api.github.com/users/javaslang/events{/privacy}","received_events_url":"https://api.github.com/users/javaslang/received_events","type":"Organization","site_admin":false},"repo":{"id":16378879,"name":"javaslang","full_name":"javaslang/javaslang","owner":{"login":"javaslang","id":5786132,"avatar_url":"https://avatars.githubusercontent.com/u/5786132?v=3","gravatar_id":"","url":"https://api.github.com/users/javaslang","html_url":"https://github.com/javaslang","followers_url":"https://api.github.com/users/javaslang/followers","following_url":"https://api.github.com/users/javaslang/following{/other_user}","gists_url":"https://api.github.com/users/javaslang/gists{/gist_id}","starred_url":"https://api.github.com/users/javaslang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/javaslang/subscriptions","organizations_url":"https://api.github.com/users/javaslang/orgs","repos_url":"https://api.github.com/users/javaslang/repos","events_url":"https://api.github.com/users/javaslang/events{/privacy}","received_events_url":"https://api.github.com/users/javaslang/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/javaslang/javaslang","description":"Javaslang is an object-functional language extension to Java 8, which aims to reduce the lines of code and increase code quality. It provides persistent collections, functional abstractions for error handling, concurrent programming, pattern matching and much more.  Javaslang fuses the power of object-oriented programming with the elegance and robustness of functional programming. The most interesting part is a feature-rich, persistent collection library that smoothly integrates with Java's standard collections.","fork":false,"url":"https://api.github.com/repos/javaslang/javaslang","forks_url":"https://api.github.com/repos/javaslang/javaslang/forks","keys_url":"https://api.github.com/repos/javaslang/javaslang/keys{/key_id}","collaborators_url":"https://api.github.com/repos/javaslang/javaslang/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/javaslang/javaslang/teams","hooks_url":"https://api.github.com/repos/javaslang/javaslang/hooks","issue_events_url":"https://api.github.com/repos/javaslang/javaslang/issues/events{/number}","events_url":"https://api.github.com/repos/javaslang/javaslang/events","assignees_url":"https://api.github.com/repos/javaslang/javaslang/assignees{/user}","branches_url":"https://api.github.com/repos/javaslang/javaslang/branches{/branch}","tags_url":"https://api.github.com/repos/javaslang/javaslang/tags","blobs_url":"https://api.github.com/repos/javaslang/javaslang/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/javaslang/javaslang/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/javaslang/javaslang/git/refs{/sha}","trees_url":"https://api.github.com/repos/javaslang/javaslang/git/trees{/sha}","statuses_url":"https://api.github.com/repos/javaslang/javaslang/statuses/{sha}","languages_url":"https://api.github.com/repos/javaslang/javaslang/languages","stargazers_url":"https://api.github.com/repos/javaslang/javaslang/stargazers","contributors_url":"https://api.github.com/repos/javaslang/javaslang/contributors","subscribers_url":"https://api.github.com/repos/javaslang/javaslang/subscribers","subscription_url":"https://api.github.com/repos/javaslang/javaslang/subscription","commits_url":"https://api.github.com/repos/javaslang/javaslang/commits{/sha}","git_commits_url":"https://api.github.com/repos/javaslang/javaslang/git/commits{/sha}","comments_url":"https://api.github.com/repos/javaslang/javaslang/comments{/number}","issue_comment_url":"https://api.github.com/repos/javaslang/javaslang/issues/comments{/number}","contents_url":"https://api.github.com/repos/javaslang/javaslang/contents/{+path}","compare_url":"https://api.github.com/repos/javaslang/javaslang/compare/{base}...{head}","merges_url":"https://api.github.com/repos/javaslang/javaslang/merges","archive_url":"https://api.github.com/repos/javaslang/javaslang/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/javaslang/javaslang/downloads","issues_url":"https://api.github.com/repos/javaslang/javaslang/issues{/number}","pulls_url":"https://api.github.com/repos/javaslang/javaslang/pulls{/number}","milestones_url":"https://api.github.com/repos/javaslang/javaslang/milestones{/number}","notifications_url":"https://api.github.com/repos/javaslang/javaslang/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/javaslang/javaslang/labels{/name}","releases_url":"https://api.github.com/repos/javaslang/javaslang/releases{/id}","deployments_url":"https://api.github.com/repos/javaslang/javaslang/deployments","created_at":"2014-01-30T14:07:25Z","updated_at":"2016-12-01T14:41:20Z","pushed_at":"2016-12-01T15:59:32Z","git_url":"git://github.com/javaslang/javaslang.git","ssh_url":"git@github.com:javaslang/javaslang.git","clone_url":"https://github.com/javaslang/javaslang.git","svn_url":"https://github.com/javaslang/javaslang","homepage":"http://javaslang.io","size":15309,"stargazers_count":1380,"watchers_count":1380,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":171,"mirror_url":null,"open_issues_count":84,"forks":171,"open_issues":84,"watchers":1380,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/javaslang/javaslang/pulls/1736"},"html":{"href":"https://github.com/javaslang/javaslang/pull/1736"},"issue":{"href":"https://api.github.com/repos/javaslang/javaslang/issues/1736"},"comments":{"href":"https://api.github.com/repos/javaslang/javaslang/issues/1736/comments"},"review_comments":{"href":"https://api.github.com/repos/javaslang/javaslang/pulls/1736/comments"},"review_comment":{"href":"https://api.github.com/repos/javaslang/javaslang/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/javaslang/javaslang/pulls/1736/commits"},"statuses":{"href":"https://api.github.com/repos/javaslang/javaslang/statuses/e462748c880dfdb3a140329ef2b636285af1a728"}}}}
{"actor":{"display_login":"sputnikci"}}