diff --git a/cn/index.html b/cn/index.html
new file mode 100644
index 0000000..66b5387
--- /dev/null
+++ b/cn/index.html
@@ -0,0 +1,653 @@
+<!DOCTYPE html>
+<!--
+  ~ Copyright (c) 2017 Goldman Sachs.
+  ~ All rights reserved. This program and the accompanying materials
+  ~ are made available under the terms of the Eclipse Public License v1.0
+  ~ and Eclipse Distribution License v. 1.0 which accompany this distribution.
+  ~ The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+  ~ and the Eclipse Distribution License is available at
+  ~ http://www.eclipse.org/org/documents/edl-v10.php.
+  -->
+
+<html lang="cn">
+
+<head>
+
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="description" content="">
+    <meta name="author" content="">
+    <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
+
+    <title>Eclipse Collections - 满足你所有需求的集合包。 </title>
+
+    <!-- Bootstrap Core CSS -->
+    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha256-7s5uDGW3AHqw6xtJmNNtr+OBRJUlgkNJEo78P4b0yRw= sha512-nNo+yCHEyn0smMxSswnf/OnX6/KwJuZTlNZBjauKhTK0c+zT+q5JOCx0UFhXQ6rJR9jg6Es8gPuD2uZcYDLqSw==" crossorigin="anonymous">
+
+    <!-- Custom CSS -->
+    <link href="../css/landing-page.css" rel="stylesheet">
+
+    <!-- Custom Fonts -->
+    <link href="//fonts.googleapis.com/css?family=Roboto+Condensed:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
+
+    <!-- Google Code Prettify -->
+    <link href="../css/sunburst.css" rel="stylesheet" type="text/css">
+
+    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
+    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+    <!--[if lt IE 9]>
+        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
+    <![endif]-->
+
+    <script>
+        (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+                    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+        })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+        ga('create', 'UA-71645852-1', 'auto');
+        ga('send', 'pageview');
+
+    </script>
+
+</head>
+
+<body>
+
+    <!-- Navigation -->
+    <nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
+        <div class="container topnav">
+            <!-- Brand and toggle get grouped for better mobile display -->
+            <div class="navbar-header">
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+                <img src="../img/eclipse-collections-logo.png" style="width:175px;height:50px;" align="left" alt="Eclipse Collections">
+            </div>
+            <!-- Collect the nav links, forms, and other content for toggling -->
+            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="#start">入门须知</a>
+                    </li>
+                    <li>
+                        <a href="#concept">概念</a>
+                    </li>
+                    <li>
+                        <a href="#learn">学习</a>
+                    </li>
+                    <li>
+                        <a href="#history">历史</a>
+                    </li>
+                    <li>
+                        <a href="#refGuide">参考指南</a>
+                    </li>
+                    <li>
+                        <a href="#sourceCode">源代码</a>
+                    </li>
+                    <li>
+                        <a href="#contribute">贡献</a>
+                    </li>
+                    <li class="dropdown">
+                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
+                           aria-expanded="false">Javadoc <span class="caret"></span></a>
+                        <ul class="dropdown-menu">
+                            <li><a href="../javadoc/9.1.0">9.1.0</a></li>
+                            <li><a href="../javadoc/9.0.0">9.0.0</a></li>
+                            <li><a href="../javadoc/8.2.0">8.2.0</a></li>
+                            <li><a href="../javadoc/8.1.0">8.1.0</a></li>
+                            <li><a href="../javadoc/8.0.0">8.0.0</a></li>
+                            <li><a href="../javadoc/7.1.0">7.1.0</a></li>
+                        </ul>
+                    </li>
+                    <li class="dropdown">
+                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
+                           aria-expanded="false">语言<span class="caret"></span></a>
+                        <ul class="dropdown-menu">
+                            <li><a href="../index.html">English</a></li>
+                            <li><a href="">中文</a></li>
+                            <li><a href="../ja/index.html">日本語</a></li>
+                            <li><a href="../ru/index.html">Русский</a></li>
+                            <li><a href="../pt-br/index.html">Português-Brasil</a></li>
+                        </ul>
+                    </li>
+                </ul>
+            </div>
+            <!-- /.navbar-collapse -->
+        </div>
+        <!-- /.container -->
+    </nav>
+
+
+    <!-- Header -->
+    <a class="anchor" name="about"></a>
+    <div class="intro-header">
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-push-2 col-lg-8">
+                    <div class="intro-message">
+                        <h1>Eclipse <span style="font-weight: 400">Collections</span></h1>
+                        <h3>- 满足你所有需求的集合包 -</h3>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- /.intro-header -->
+
+    <!-- Page Content -->
+
+    <a class="anchor" name="start"></a>
+    <div class="content-section-a">
+
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-lg-5 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Eclipse Collections入门须知</h2>
+                    <p class="lead">Eclipse Collections 是最完善的Java集合框架，它会为你的Java 编程带来无限的乐趣。
+                        <br><br>现在就使用你最喜欢的构建工具把它运用在你的Java项目中吧!</p>
+                </div>
+                <div class="col-lg-7 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#maven" data-toggle="tab">Maven</a></li>
+                        <li><a href="#gradle" data-toggle="tab">Gradle</a></li>
+                        <li><a href="#ivy" data-toggle="tab">Ivy</a></li>
+                        <li><a href="#download" data-toggle="tab">Download</a></li>
+                    </ul>
+                    <div id="dependencies" class="tab-content">
+                        <div class="tab-pane fade in active" id="maven">
+                            <pre  class="prettyprint">
+&lt;dependency&gt;
+  &lt;groupId&gt;org.eclipse.collections&lt;/groupId&gt;
+  &lt;artifactId&gt;eclipse-collections-api&lt;/artifactId&gt;
+  &lt;version&gt;9.1.0&lt;/version&gt;
+&lt;/dependency&gt;
+
+&lt;dependency&gt;
+  &lt;groupId&gt;org.eclipse.collections&lt;/groupId&gt;
+  &lt;artifactId&gt;eclipse-collections&lt;/artifactId&gt;
+  &lt;version&gt;9.1.0&lt;/version>
+&lt;/dependency&gt;</pre>
+                        </div>
+                        <div class="tab-pane fade" id="gradle">
+                            <pre  class="prettyprint">
+compile 'org.eclipse.collections:eclipse-collections-api:9.1.0'
+compile 'org.eclipse.collections:eclipse-collections:9.1.0'</pre>
+                        </div>
+                        <div class="tab-pane fade" id="ivy">
+                            <pre  class="prettyprint">
+&lt;dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="9.1.0" /&gt;
+&lt;dependency org="org.eclipse.collections" name="eclipse-collections" rev="9.1.0" /&gt;</pre>
+                        </div>
+                        <div class="tab-pane fade" id="download">
+                            <pre class="prettyprint">
+<a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections-api/9.1.0">eclipse-collections-api-9.1.0.jar</a>
+<a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections/9.1.0">eclipse-collections-9.1.0.jar</a></pre>
+                        </div>
+
+                    </div>
+                </div>
+            </div>
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- Get Started -->
+
+    <a class="anchor" name="concept"></a>
+    <div class="content-section-b">
+
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-push-7 col-lg-5 col-sm-push-6  col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">简单明了而且功能强大的APIs</h2>
+                    <p class="lead">您可以直接调用集合中丰富的API让Java 8 Lambda表达式和方法引用发挥到极致。
+                    </p>
+                </div>
+                <div class="col-lg-pull-5 col-lg-7 col-sm-pull-6  col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#method" data-toggle="tab">Eclipse Collections和方法引用的实例</a></li>
+                        <li><a href="#ec" data-toggle="tab">Eclipse Collections和Lambda表达式的实例</a></li>
+                        <li><a href="#streams" data-toggle="tab">Java 8 Streams的实例</a></li>
+                    </ul>
+                    <div id="ec-vs-streams" class="tab-content">
+                        <div class="tab-pane fade in active" id="method">
+                            <pre  class="prettyprint lang-java">
+boolean anyPeopleHaveCats =
+  this.people
+    .anySatisfyWith(Person::hasPet, PetType.CAT);
+
+int countPeopleWithCats =
+  this.people
+    .countWith(Person::hasPet, PetType.CAT);
+
+MutableList&lt;Person&gt; peopleWithCats =
+  this.people
+    .selectWith(Person::hasPet, PetType.CAT)</pre>
+                        </div>
+                        <div class="tab-pane fade" id="ec">
+                            <pre  class="prettyprint lang-java">
+boolean anyPeopleHaveCats =
+  this.people
+    .anySatisfy(person -> person.hasPet(PetType.CAT));
+
+int countPeopleWithCats =
+  this.people
+    .count(person -> person.hasPet(PetType.CAT));
+
+MutableList&lt;Person&gt; peopleWithCats =
+  this.people
+    .select(person -> person.hasPet(PetType.CAT));</pre>
+                        </div>
+                        <div class="tab-pane fade" id="streams">
+                            <pre  class="prettyprint lang-java">
+boolean anyPeopleHaveCats =
+  this.people
+    .stream()
+    .anyMatch(person -> person.hasPet(PetType.CAT));
+
+long countPeopleWithCats =
+  this.people
+    .stream()
+    .filter(person -> person.hasPet(PetType.CAT))
+    .count();
+
+List&lt;Person&gt; peopleWithCats =
+  this.people
+    .stream()
+    .filter(person -> person.hasPet(PetType.CAT))
+    .collect(Collectors.toList());</pre>
+                        </div>
+                    </div>
+                    <!-- /.tab-content -->
+                </div>
+                <!-- /.col -->
+            </div>
+            <!-- /.row -->
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- Rich and fluent API -->
+
+    <div class="content-section-a">
+
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-5 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">拥有不同种类的容器，其中包括<br>可变和不可变集合，原始类型集合, bimaps, multimaps 和 bags</h2>
+                    <p class="lead">通过Eclipse Collections的工厂方法，您可以轻松地创建各种集合类型。</p>
+                </div>
+                <div class="col-lg-7 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#mutable" data-toggle="tab">可变集合</a></li>
+                        <li><a href="#immutable" data-toggle="tab">不可变集合</a></li>
+                        <li><a href="#primitives" data-toggle="tab">原始类型集合</a></li>
+                    </ul>
+                    <div id="container-types" class="tab-content">
+                        <div class="tab-pane fade in active" id="mutable">
+                            <pre  class="prettyprint lang-java">
+//使用empty(), of(), with()方法初始化可变列表
+MutableList&lt;String&gt; mutableListEmpty =
+  Lists.mutable.empty();
+MutableList&lt;String&gt; mutableListOf =
+  Lists.mutable.of("One", "One", "Two", "Three");
+MutableList&lt;String&gt; mutableListWith =
+  Lists.mutable.with("One", "One", "Two", "Three");
+
+//不同容器的示例
+MutableSet&lt;String&gt; mutableSet =
+  Sets.mutable.with("One", "One", "Two", "Three");
+MutableBag&lt;String&gt; mutableBag =
+  Bags.mutable.with("One", "One", "Two", "Three");
+MutableStack&lt;String&gt; mutableStack =
+  Stacks.mutable.with("One", "One", "Two", "Three");
+MutableMap&lt;String, String&gt; mutableMap =
+  Maps.mutable.with("key1", "value1", "key2", "value2", "key3", "value3");
+MutableMultimap&lt;String, String&gt; multimapWithList =
+  Multimaps.mutable.list.with("key1", "value1-1", "key1", "value1-2", "key2","value2-1");
+MutableBiMap&lt;String, String&gt; mutableBiMap =
+  BiMaps.mutable.with("key1", "value1", "key2", "value2", "key3", "value3");</pre>
+                        </div>
+                        <div class="tab-pane fade" id="immutable">
+                            <pre  class="prettyprint lang-java">
+//使用empty(), of(), with()方法初始化不可变列表
+ImmutableList&lt;String&gt; immutableListEmpty =
+  Lists.immutable.empty();
+ImmutableList&lt;String&gt; immutableListOf =
+  Lists.immutable.of("One", "One", "Two", "Three");
+ImmutableList&lt;String&gt; immutableListWith =
+  Lists.immutable.with("One", "One", "Two", "Three");
+
+//不同容器的示例
+ImmutableSet&lt;String&gt; immutableSet =
+  Sets.immutable.with("One", "One", "Two", "Three");
+ImmutableBag&lt;String&gt; immutableBag =
+  Bags.immutable.with("One", "One", "Two", "Three");
+ImmutableStack&lt;String&gt; immutableStack =
+  Stacks.immutable.with("One", "One", "Two", "Three");
+ImmutableMap&lt;String, String&gt; immutableMap =
+  Maps.immutable.with("key1", "value1", "key2", "value2", "key3", "value3");
+ImmutableMultimap&lt;String, String&gt; immutableMultimapWithList =
+  Multimaps.immutable.list.with("key1", "value1-1", "key1", "value1-2", "key2","value2-1");
+ImmutableBiMap&lt;String, String&gt; immutableBiMap =
+  BiMaps.immutable.with("key1", "value1", "key2", "value2", "key3", "value3");</pre>
+                        </div>
+                        <div class="tab-pane fade" id="primitives">
+                            <pre  class="prettyprint lang-java">
+//全部8种原始类型都有相应的可变与不可变的Lists, Sets, Bags, Stacks 和 Maps
+MutableIntList intList =
+  IntLists.mutable.of(1, 2, 3);
+MutableLongList longList =
+  LongLists.mutable.of(1L, 2L, 3L);
+MutableCharList charList =
+  CharLists.mutable.of('a', 'b', 'c');
+MutableShortList shortList =
+  ShortLists.mutable.of((short)1, (short)2, (short)3);
+MutableByteList byteList =
+  ByteLists.mutable.of((byte)1, (byte)2, (byte)3);
+MutableBooleanList booleanList =
+  BooleanLists.mutable.of(true, false);
+MutableFloatList floatList =
+  FloatLists.mutable.of(1.0f, 2.0f, 3.0f);
+MutableDoubleList doubleList =
+  DoubleLists.mutable.of(1.0, 2.0, 3.0);
+
+//使用IntInterval创建指定范围的整数集合
+IntInterval oneTo10 =
+  IntInterval.fromTo(1, 10); // 从 1 到 10 的整数
+// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
+IntInterval oneTo10By3 =
+  IntInterval.fromToBy(1, 10, 3); // 从 1 到 10 间隔为3的整数
+// [1, 4, 7, 10]
+IntInterval oddsFrom1To10 =
+  IntInterval.oddsFromTo(1, 10); // 从 1 到 10 的奇数
+// [1, 3, 5, 7, 9]
+IntInterval evensFrom1To10 =
+  IntInterval.evensFromTo(1, 10); // 从 1 到 10 的偶数
+// [2, 4, 6, 8, 10]</pre>
+                        </div>
+                    </div>
+                    <!-- /.tab-content -->
+                </div>
+                <!-- /.col -->
+            </div>
+            <!-- /.row -->
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- Container Types -->
+
+    <a class="anchor" name="memory"></a>
+    <div class="content-section-b">
+
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-push-6 col-lg-6 col-sm-push-6 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">使用高效的容器来降低内存空间</h2>
+                    <p class="lead">Eclipse Collections拥有内存优化的Sets， Maps和原始类型集合。 </p>
+                </div>
+                <div class="col-lg-pull-6 col-lg-6 col-sm-pull-6 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#set" data-toggle="tab">Sets</a></li>
+                        <li><a href="#map" data-toggle="tab">Maps</a></li>
+                        <li><a href="#ints" data-toggle="tab">原始类型集合</a></li>
+                    </ul>
+                    <div id="memory" class="tab-content">
+                        <div class="tab-pane fade in active" id="set">
+                            <img class="img-responsive" src="../img/set.png" alt="">
+                        </div>
+                        <div class="tab-pane fade" id="map">
+                            <img class="img-responsive" src="../img/map.png" alt="">
+                        </div>
+                        <div class="tab-pane fade" id="ints">
+                            <img class="img-responsive" src="../img/ints.png" alt="">
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- Memory footprint -->
+
+    <a class="anchor" name="learn"></a>
+    <div class="content-section-a">
+
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-5 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">通过Kata学习Eclipse Collections</h2>
+                    <p class="lead">
+                        请参考<a href="https://github.com/eclipse/eclipse-collections-kata">Eclipse Collections Kata</a>, 一种学习Eclipse Collections常用方法的有趣途径。
+                        我们给这个kata练习定制了一系列失败的单元测试。
+                        你的任务是运用Eclipse Collections提供的方法让单元测试通过。
+                    </p>
+                </div>
+                <div class="col-lg-7 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#exercise" data-toggle="tab">练习示例</a></li>
+                        <li><a href="#solution" data-toggle="tab">解答示例</a></li>
+                    </ul>
+                    <div class="tab-content">
+                        <div class="tab-pane fade in active" id="exercise">
+                            <pre  class="prettyprint lang-java">
+@Test
+public void getFirstNamesOfAllPeople()
+{
+  MutableList&lt;Person&gt; people = this.people;
+  MutableList&lt;String&gt; firstNames = null; //用MutableList上的转化方法来替代null。
+  MutableList&lt;String&gt; expectedFirstNames =
+    Lists.mutable.with("Mary", "Bob", "Ted", "Jake", "Barry", "Terry", "Harry", "John");
+  Assert.assertEquals(expectedFirstNames, firstNames);
+}</pre>
+                        </div>
+                        <div class="tab-pane fade" id="solution">
+                            <pre  class="prettyprint lang-java">
+@Test
+public void getFirstNamesOfAllPeople()
+{
+  MutableList&lt;Person&gt; people = this.people;
+  MutableList&lt;String&gt; firstNames = people.collect(Person::getFirstName);
+  MutableList&lt;String&gt; expectedFirstNames =
+    Lists.mutable.with("Mary", "Bob", "Ted", "Jake", "Barry", "Terry", "Harry", "John");
+  Assert.assertEquals(expectedFirstNames, firstNames);
+}</pre>
+                        </div>
+                    </div>
+                    <!-- /.tab-content -->
+                </div>
+                <!-- /.col -->
+            </div>
+            <!-- /.row -->
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- Kata -->
+
+    <a class="anchor" name="history"></a>
+    <div class="content-section-b">
+
+        <div class="container-fluid">
+
+            <h2 class="section-heading">Eclipse Collections的历史</h2>
+            <p class="lead">
+                Eclipse Collections起源于2004年在高盛公司内部开发的一个名为Caramel的集合框架。
+
+                自那以后，这个框架不断发展并在2012年开源成为GitHub中一个叫做
+                <a href="https://github.com/goldmansachs/gs-collections">GS Collections</a>的项目。
+                <br><br>
+                许多
+                <a href="https://github.com/eclipse/eclipse-collections/wiki/Conference-talks-and-meetups">会议</a>中都有介绍GS Collections。
+                包括2012的JVM Summit和2014的JavaOne。
+                此外，在2014年的
+                <a href="http://www.infoq.com/presentations/java-streams-scala-parallel-collections">QCon New York</a>上还介绍了在Java 8，Scala和GS Collections的平行惰性实现之间的性能比较。
+                <a href="https://github.com/eclipse/eclipse-collections/wiki/Articles">关于GS Collections的文章</a>
+                (<a href="http://www.infoq.com/cn/articles/gs-collections-examples-tutorial-part1/">第一部分</a> /
+                <a href="http://www.infoq.com/cn/articles/gs-collections-examples-tutorial-part2">第二部分</a>)
+                已经刊登在InfoQ.com， 文中通过实例展示了集合框架的一些功能，并且还向GS Collections的创始人进行了采访。
+                <br><br>
+
+                多年来，大约40多名来自同一家公司的开发人员对集合框架做出了贡献。
+                <br><br>
+
+                为了最大限度地发挥开源项目的最佳特质，GS Collections已经被迁移到Eclipse Foundation，并在2015年被重新命名为Eclipse Collections。
+                现在这个框架完全向大家开放，接受贡献！
+            </p>
+        </div>
+    </div>
+
+    <a class="anchor" name="refGuide"></a>
+    <div class="content-section-a">
+        <div class="container-fluid">
+            <h2 class="section-heading">参考指南</h2>
+            <p class="lead">
+                GitHub上有Eclipse Collections的详细参考指南：
+                <a href="https://github.com/eclipse/eclipse-collections/blob/master/docs/guide.md#eclipse-collections-reference-guide">参考指南</a>.
+            </p>
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- Reference Guide  -->
+    <a class="anchor" name="sourceCode"></a>
+    <div class="content-section-b">
+        <div class="container-fluid">
+            <h2 class="section-heading">源代码</h2>
+            <p class="lead">
+                在GitHub上可以找到<a href="https://github.com/eclipse/eclipse-collections">Eclipse Collections</a>的源代码</p>.
+            </p>
+        </div>
+        <!-- /.container -->
+    </div>
+    <!-- Source Code  -->
+    </div>
+    <!-- Introduction  -->
+
+    <a class="anchor" name="contribute"></a>
+    <div class="content-footer">
+
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-4 col-sm-4">
+                    <h3>贡献</h3>
+                    <p class="regular">
+                        欢迎大家来贡献！
+                        <br><br>
+                        请参考<a href="https://github.com/eclipse/eclipse-collections/wiki/Roadmap">这里</a>的Eclipse Collections项目路线图.
+                        <br><br>
+                        我们通过GitHub的pull请求接受贡献。
+                        有关详细信息， 请参阅<a href="https://github.com/eclipse/eclipse-collections/blob/master/CONTRIBUTING.md">如何贡献</a>
+                    </p>
+                </div>
+                <div class="col-lg-4 col-sm-4">
+                    <h3>最新消息</h3>
+                    <p class="regular">Eclipse Collections 9.1.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.1.0">发布</a> <a class="light">(Jan 1st 2018)</a></p>
+                    <p class="regular">Eclipse Collections 9.0.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">发布</a> <a class="light">(Sep 21nd 2017)</a></p>
+                    <p class="regular">Eclipse Collections 8.2.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.2.0">发布</a> <a class="light">(Jun 22nd 2017)</a></p>
+                    <p class="regular">Eclipse Collections 8.1.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.1.0">发布</a> <a class="light">(Mar 16th 2017)</a></p>
+                    <p class="regular">Eclipse Collections 8.0.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.0.0">发布</a> <a class="light">(Sep 8th 2016)</a></p>
+                </div>
+                <div class="col-lg-4 col-sm-4">
+                    <h3>社区链接集合</h3>
+                        <p class="regular">Eclipse PMI: <a href="https://projects.eclipse.org/projects/technology.collections">eclipse project management infrastructure</a></p>
+                        <p class="regular">GitHub: <a href="https://github.com/eclipse/eclipse-collections">eclipse-collections</a></p>
+                        <p class="regular">Issues: <a href="https://github.com/eclipse/eclipse-collections/issues">GitHub issues</a></p>
+                        <p class="regular">Mailing lists: <a href="https://dev.eclipse.org/mailman/listinfo/collections-dev">collections-dev</a> mailing list</p>
+                        <p class="regular">Wiki: <a href="https://github.com/eclipse/eclipse-collections/wiki">GitHub wiki</a></p>
+                        <p class="regular">Forum: <a href="https://www.eclipse.org/forums/index.php?t=thread&amp;frm_id=329">Eclipse Collections Forum</a></p>
+                        <p class="regular">StackOverflow: tag with <a href="http://stackoverflow.com/questions/tagged/eclipse-collections">eclipse-collections</a></p>
+                </div>
+                <!-- /.col -->
+            </div>
+            <!-- /.row -->
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- Container Types -->
+
+
+    <div class="banner">
+
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-12">
+                    <h3>- 更多的功能，更少的浪费 -</h3>
+                </div>
+            </div>
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- /.banner -->
+
+    <!-- Footer -->
+    <footer>
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-lg-12">
+                    <ul class="list-inline">
+                        <li>
+                            <p class="copyright text-muted small">Copyright &copy; 2016 The Eclipse Foundation. All Rights Reserved. </p>
+                        </li>
+                        <li class="footer-menu-divider">&sdot;</li>
+                        <li>
+                            <a class="small" href="http://www.eclipse.org/legal/privacy.php">Privacy</a>
+                        </li>
+                        <li class="footer-menu-divider">&sdot;</li>
+                        <li>
+                            <a class="small" href="http://www.eclipse.org/legal/termsofuse.php">Terms</a>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+        </div>
+    </footer>
+
+    <!-- jQuery -->
+    <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
+
+    <!-- Bootstrap Core JavaScript -->
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha256-KXn5puMvxCw+dAYznun+drMdG1IFl3agK0p/pqT9KAo= sha512-2e8qq0ETcfWRI4HJBzQiA3UoyFk6tbNyG+qSaIBZLyW9Xf3sWZHN/lxe9fTh1U45DpPf07yj94KsUHHWe4Yk1A==" crossorigin="anonymous"></script>
+
+    <!-- Google Code Prettify -->
+    <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?skin=sunburst"></script>
+</body>
+
+</html>
diff --git a/index.html b/index.html
index a5ec44c..2503ff3 100755
--- a/index.html
+++ b/index.html
@@ -43,8 +43,8 @@
 
     <script>
         (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+                    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
         })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
         ga('create', 'UA-71645852-1', 'auto');
@@ -56,117 +56,118 @@
 
 <body>
 
-<!-- Navigation -->
-<nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
-    <div class="container topnav">
-        <!-- Brand and toggle get grouped for better mobile display -->
-        <div class="navbar-header">
-            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-                <span class="sr-only">Toggle navigation</span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-            </button>
-            <img src="img/eclipse-collections-logo.png" style="width:175px;height:50px;" align="left" alt="Eclipse Collections">
+    <!-- Navigation -->
+    <nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
+        <div class="container topnav">
+            <!-- Brand and toggle get grouped for better mobile display -->
+            <div class="navbar-header">
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+                <img src="img/eclipse-collections-logo.png" style="width:175px;height:50px;" align="left" alt="Eclipse Collections">
+            </div>
+            <!-- Collect the nav links, forms, and other content for toggling -->
+            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="#start">Get Started</a>
+                    </li>
+                    <li>
+                        <a href="#concept">Concept</a>
+                    </li>
+                    <li>
+                        <a href="#learn">Learn</a>
+                    </li>
+                    <li>
+                        <a href="#history">History</a>
+                    </li>
+                    <li>
+                        <a href="#refGuide">Reference Guide</a>
+                    </li>
+                    <li>
+                        <a href="#sourceCode">Source Code</a>
+                    </li>
+                    <li>
+                        <a href="#contribute">Contribute</a>
+                    </li>
+                    <li class="dropdown">
+                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
+                           aria-expanded="false">Javadoc <span class="caret"></span></a>
+                        <ul class="dropdown-menu">
+                            <li><a href="javadoc/9.1.0">9.1.0</a></li>
+                            <li><a href="javadoc/9.0.0">9.0.0</a></li>
+                            <li><a href="javadoc/8.2.0">8.2.0</a></li>
+                            <li><a href="javadoc/8.1.0">8.1.0</a></li>
+                            <li><a href="javadoc/8.0.0">8.0.0</a></li>
+                            <li><a href="javadoc/7.1.0">7.1.0</a></li>
+                        </ul>
+                    </li>
+                    <li class="dropdown">
+                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
+                           aria-expanded="false">Language <span class="caret"></span></a>
+                        <ul class="dropdown-menu">
+                            <li><a href="">English</a></li>
+                            <li><a href="cn/index.html">中文</a></li>
+                            <li><a href="ja/index.html">日本語</a></li>
+                            <li><a href="ru/index.html">Русский</a></li>
+                            <li><a href="pt-br/index.html">Português-Brasil</a></li>
+                        </ul>
+                    </li>
+                </ul>
+            </div>
+            <!-- /.navbar-collapse -->
         </div>
-        <!-- Collect the nav links, forms, and other content for toggling -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-            <ul class="nav navbar-nav navbar-right">
-                <li>
-                    <a href="#start">Get Started</a>
-                </li>
-                <li>
-                    <a href="#concept">Concept</a>
-                </li>
-                <li>
-                    <a href="#learn">Learn</a>
-                </li>
-                <li>
-                    <a href="#history">History</a>
-                </li>
-                <li>
-                    <a href="#refGuide">Reference Guide</a>
-                </li>
-                <li>
-                    <a href="#sourceCode">Source Code</a>
-                </li>
-                <li>
-                    <a href="#contribute">Contribute</a>
-                </li>
-                <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
-                       aria-expanded="false">Javadoc <span class="caret"></span></a>
-                    <ul class="dropdown-menu">
-                        <li><a href="javadoc/9.1.0">9.1.0</a></li>
-                        <li><a href="javadoc/9.0.0">9.0.0</a></li>
-                        <li><a href="javadoc/8.2.0">8.2.0</a></li>
-                        <li><a href="javadoc/8.1.0">8.1.0</a></li>
-                        <li><a href="javadoc/8.0.0">8.0.0</a></li>
-                        <li><a href="javadoc/7.1.0">7.1.0</a></li>
-                    </ul>
-                </li>
-                <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
-                       aria-expanded="false">Language <span class="caret"></span></a>
-                    <ul class="dropdown-menu">
-                        <li><a href="">English</a></li>
-                        <li><a href="ja/index.html">日本語</a></li>
-                        <li><a href="ru/index.html">Русский</a></li>
-                        <li><a href="pt-br/index.html">Português-Brasil</a></li>
-                    </ul>
-                </li>
-            </ul>
-        </div>
-        <!-- /.navbar-collapse -->
-    </div>
-    <!-- /.container -->
-</nav>
+        <!-- /.container -->
+    </nav>
 
 
-<!-- Header -->
-<a class="anchor" name="about"></a>
-<div class="intro-header">
-    <div class="container-fluid">
+    <!-- Header -->
+    <a class="anchor" name="about"></a>
+    <div class="intro-header">
+        <div class="container-fluid">
 
-        <div class="row">
-            <div class="col-lg-push-2 col-lg-8">
-                <div class="intro-message">
-                    <h1>Eclipse <span style="font-weight: 400">Collections</span></h1>
-                    <h3>- Features you want with the collections you need -</h3>
+            <div class="row">
+                <div class="col-lg-push-2 col-lg-8">
+                    <div class="intro-message">
+                        <h1>Eclipse <span style="font-weight: 400">Collections</span></h1>
+                        <h3>- Features you want with the collections you need -</h3>
+                    </div>
                 </div>
             </div>
+
         </div>
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- /.intro-header -->
 
-</div>
-<!-- /.intro-header -->
+    <!-- Page Content -->
 
-<!-- Page Content -->
+    <a class="anchor" name="start"></a>
+    <div class="content-section-a">
 
-<a class="anchor" name="start"></a>
-<div class="content-section-a">
-
-    <div class="container-fluid">
-        <div class="row">
-            <div class="col-lg-5 col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Get started with <br>Eclipse Collections</h2>
-                <p class="lead">Eclipse Collections is the best Java collections framework ever
-                    that brings happiness to your Java development.
-                    <br><br>Integrate it to your codebase today with your favorite build tools!</p>
-            </div>
-            <div class="col-lg-7 col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#maven" data-toggle="tab">Maven</a></li>
-                    <li><a href="#gradle" data-toggle="tab">Gradle</a></li>
-                    <li><a href="#ivy" data-toggle="tab">Ivy</a></li>
-                    <li><a href="#download" data-toggle="tab">Download</a></li>
-                </ul>
-                <div id="dependencies" class="tab-content">
-                    <div class="tab-pane fade in active" id="maven">
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-lg-5 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Get started with <br>Eclipse Collections</h2>
+                    <p class="lead">Eclipse Collections is the best Java collections framework ever
+                        that brings happiness to your Java development.
+                        <br><br>Integrate it to your codebase today with your favorite build tools!</p>
+                </div>
+                <div class="col-lg-7 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#maven" data-toggle="tab">Maven</a></li>
+                        <li><a href="#gradle" data-toggle="tab">Gradle</a></li>
+                        <li><a href="#ivy" data-toggle="tab">Ivy</a></li>
+                        <li><a href="#download" data-toggle="tab">Download</a></li>
+                    </ul>
+                    <div id="dependencies" class="tab-content">
+                        <div class="tab-pane fade in active" id="maven">
                             <pre  class="prettyprint">
 &lt;dependency&gt;
   &lt;groupId&gt;org.eclipse.collections&lt;/groupId&gt;
@@ -179,55 +180,55 @@
   &lt;artifactId&gt;eclipse-collections&lt;/artifactId&gt;
   &lt;version&gt;9.1.0&lt;/version>
 &lt;/dependency&gt;</pre>
-                    </div>
-                    <div class="tab-pane fade" id="gradle">
+                        </div>
+                        <div class="tab-pane fade" id="gradle">
                             <pre  class="prettyprint">
 compile 'org.eclipse.collections:eclipse-collections-api:9.1.0'
 compile 'org.eclipse.collections:eclipse-collections:9.1.0'</pre>
-                    </div>
-                    <div class="tab-pane fade" id="ivy">
+                        </div>
+                        <div class="tab-pane fade" id="ivy">
                             <pre  class="prettyprint">
 &lt;dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="9.1.0" /&gt;
 &lt;dependency org="org.eclipse.collections" name="eclipse-collections" rev="9.1.0" /&gt;</pre>
-                    </div>
-                    <div class="tab-pane fade" id="download">
+                        </div>
+                        <div class="tab-pane fade" id="download">
                             <pre class="prettyprint">
 <a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections-api/9.1.0">eclipse-collections-api-9.1.0.jar</a>
 <a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections/9.1.0">eclipse-collections-9.1.0.jar</a></pre>
-                    </div>
+                        </div>
 
+                    </div>
                 </div>
             </div>
+
         </div>
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Get Started -->
 
-</div>
-<!-- Get Started -->
+    <a class="anchor" name="concept"></a>
+    <div class="content-section-b">
 
-<a class="anchor" name="concept"></a>
-<div class="content-section-b">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-push-7 col-lg-5 col-sm-push-6  col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Rich, Concise and Readable APIs</h2>
-                <p class="lead">Maximize the power of Java 8 Lambda expressions and method references with
-                    rich APIs directly available on your collections.
-                </p>
-            </div>
-            <div class="col-lg-pull-5 col-lg-7 col-sm-pull-6  col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#method" data-toggle="tab">Eclipse Collections w/ Method Ref</a></li>
-                    <li><a href="#ec" data-toggle="tab">Eclipse Collections w/ Lambda expression</a></li>
-                    <li><a href="#streams" data-toggle="tab">Java 8 Streams</a></li>
-                </ul>
-                <div id="ec-vs-streams" class="tab-content">
-                    <div class="tab-pane fade in active" id="method">
+            <div class="row">
+                <div class="col-lg-push-7 col-lg-5 col-sm-push-6  col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Rich, Concise and Readable APIs</h2>
+                    <p class="lead">Maximize the power of Java 8 Lambda expressions and method references with
+                        rich APIs directly available on your collections.
+                    </p>
+                </div>
+                <div class="col-lg-pull-5 col-lg-7 col-sm-pull-6  col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#method" data-toggle="tab">Eclipse Collections w/ Method Ref</a></li>
+                        <li><a href="#ec" data-toggle="tab">Eclipse Collections w/ Lambda expression</a></li>
+                        <li><a href="#streams" data-toggle="tab">Java 8 Streams</a></li>
+                    </ul>
+                    <div id="ec-vs-streams" class="tab-content">
+                        <div class="tab-pane fade in active" id="method">
                             <pre  class="prettyprint lang-java">
 boolean anyPeopleHaveCats =
   this.people
@@ -240,8 +241,8 @@
 MutableList&lt;Person&gt; peopleWithCats =
   this.people
     .selectWith(Person::hasPet, PetType.CAT)</pre>
-                    </div>
-                    <div class="tab-pane fade" id="ec">
+                        </div>
+                        <div class="tab-pane fade" id="ec">
                             <pre  class="prettyprint lang-java">
 boolean anyPeopleHaveCats =
   this.people
@@ -254,8 +255,8 @@
 MutableList&lt;Person&gt; peopleWithCats =
   this.people
     .select(person -> person.hasPet(PetType.CAT));</pre>
-                    </div>
-                    <div class="tab-pane fade" id="streams">
+                        </div>
+                        <div class="tab-pane fade" id="streams">
                             <pre  class="prettyprint lang-java">
 boolean anyPeopleHaveCats =
   this.people
@@ -273,39 +274,39 @@
     .stream()
     .filter(person -> person.hasPet(PetType.CAT))
     .collect(Collectors.toList());</pre>
+                        </div>
                     </div>
+                    <!-- /.tab-content -->
                 </div>
-                <!-- /.tab-content -->
+                <!-- /.col -->
             </div>
-            <!-- /.col -->
+            <!-- /.row -->
+
         </div>
-        <!-- /.row -->
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Rich and fluent API -->
 
-</div>
-<!-- Rich and fluent API -->
+    <div class="content-section-a">
 
-<div class="content-section-a">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-5 col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Many container types including <br>immutable collections, primitive collections, bimaps, multimaps and bags</h2>
-                <p class="lead">You can make use of various container types, leveraging handy factory methods for instantiation.</p>
-            </div>
-            <div class="col-lg-7 col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#mutable" data-toggle="tab">Mutable collections</a></li>
-                    <li><a href="#immutable" data-toggle="tab">Immutable collections</a></li>
-                    <li><a href="#primitives" data-toggle="tab">Primitive collections</a></li>
-                </ul>
-                <div id="container-types" class="tab-content">
-                    <div class="tab-pane fade in active" id="mutable">
+            <div class="row">
+                <div class="col-lg-5 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Many container types including <br>immutable collections, primitive collections, bimaps, multimaps and bags</h2>
+                    <p class="lead">You can make use of various container types, leveraging handy factory methods for instantiation.</p>
+                </div>
+                <div class="col-lg-7 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#mutable" data-toggle="tab">Mutable collections</a></li>
+                        <li><a href="#immutable" data-toggle="tab">Immutable collections</a></li>
+                        <li><a href="#primitives" data-toggle="tab">Primitive collections</a></li>
+                    </ul>
+                    <div id="container-types" class="tab-content">
+                        <div class="tab-pane fade in active" id="mutable">
                             <pre  class="prettyprint lang-java">
 //Initializing mutable list with empty(), of(), with() method
 MutableList&lt;String&gt; mutableListEmpty =
@@ -328,8 +329,8 @@
   Multimaps.mutable.list.with("key1", "value1-1", "key1", "value1-2", "key2","value2-1");
 MutableBiMap&lt;String, String&gt; mutableBiMap =
   BiMaps.mutable.with("key1", "value1", "key2", "value2", "key3", "value3");</pre>
-                    </div>
-                    <div class="tab-pane fade" id="immutable">
+                        </div>
+                        <div class="tab-pane fade" id="immutable">
                             <pre  class="prettyprint lang-java">
 //Initializing immutable list with empty(), of(), with() method
 ImmutableList&lt;String&gt; immutableListEmpty =
@@ -352,8 +353,8 @@
   Multimaps.immutable.list.with("key1", "value1-1", "key1", "value1-2", "key2","value2-1");
 ImmutableBiMap&lt;String, String&gt; immutableBiMap =
   BiMaps.immutable.with("key1", "value1", "key2", "value2", "key3", "value3");</pre>
-                    </div>
-                    <div class="tab-pane fade" id="primitives">
+                        </div>
+                        <div class="tab-pane fade" id="primitives">
                             <pre  class="prettyprint lang-java">
 //Mutable and immutable Lists, Sets, Bags, Stacks and Maps are available for all 8 primitive types
 MutableIntList intList =
@@ -386,81 +387,81 @@
 IntInterval evensFrom1To10 =
   IntInterval.evensFromTo(1, 10); // even ints from i to 10
 // [2, 4, 6, 8, 10]</pre>
+                        </div>
                     </div>
+                    <!-- /.tab-content -->
                 </div>
-                <!-- /.tab-content -->
+                <!-- /.col -->
             </div>
-            <!-- /.col -->
+            <!-- /.row -->
+
         </div>
-        <!-- /.row -->
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Container Types -->
 
-</div>
-<!-- Container Types -->
+    <a class="anchor" name="memory"></a>
+    <div class="content-section-b">
 
-<a class="anchor" name="memory"></a>
-<div class="content-section-b">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-push-6 col-lg-6 col-sm-push-6 col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Reduce memory footprint <br>with memory efficient containers</h2>
-                <p class="lead">Eclipse Collections provides memory efficient implementation of Sets and Maps as well as primitive collections. </p>
-            </div>
-            <div class="col-lg-pull-6 col-lg-6 col-sm-pull-6 col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#set" data-toggle="tab">Sets</a></li>
-                    <li><a href="#map" data-toggle="tab">Maps</a></li>
-                    <li><a href="#ints" data-toggle="tab">Primitive Collections</a></li>
-                </ul>
-                <div id="memory" class="tab-content">
-                    <div class="tab-pane fade in active" id="set">
-                        <img class="img-responsive" src="img/set.png" alt="">
-                    </div>
-                    <div class="tab-pane fade" id="map">
-                        <img class="img-responsive" src="img/map.png" alt="">
-                    </div>
-                    <div class="tab-pane fade" id="ints">
-                        <img class="img-responsive" src="img/ints.png" alt="">
+            <div class="row">
+                <div class="col-lg-push-6 col-lg-6 col-sm-push-6 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Reduce memory footprint <br>with memory efficient containers</h2>
+                    <p class="lead">Eclipse Collections provides memory efficient implementation of Sets and Maps as well as primitive collections. </p>
+                </div>
+                <div class="col-lg-pull-6 col-lg-6 col-sm-pull-6 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#set" data-toggle="tab">Sets</a></li>
+                        <li><a href="#map" data-toggle="tab">Maps</a></li>
+                        <li><a href="#ints" data-toggle="tab">Primitive Collections</a></li>
+                    </ul>
+                    <div id="memory" class="tab-content">
+                        <div class="tab-pane fade in active" id="set">
+                            <img class="img-responsive" src="img/set.png" alt="">
+                        </div>
+                        <div class="tab-pane fade" id="map">
+                            <img class="img-responsive" src="img/map.png" alt="">
+                        </div>
+                        <div class="tab-pane fade" id="ints">
+                            <img class="img-responsive" src="img/ints.png" alt="">
+                        </div>
                     </div>
                 </div>
             </div>
+
         </div>
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Memory footprint -->
 
-</div>
-<!-- Memory footprint -->
+    <a class="anchor" name="learn"></a>
+    <div class="content-section-a">
 
-<a class="anchor" name="learn"></a>
-<div class="content-section-a">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-5 col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Learn Eclipse Collections with Kata</h2>
-                <p class="lead">
-                    Check out the <a href="https://github.com/eclipse/eclipse-collections-kata">Eclipse Collections Kata</a>, a fun way to help you learn idiomatic Eclipse Collections usage.
-                    This particular kata is set up as a series of unit tests which fail.
-                    Your task is to make them pass, using Eclipse Collections.
-                </p>
-            </div>
-            <div class="col-lg-7 col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#exercise" data-toggle="tab">Sample Exercise</a></li>
-                    <li><a href="#solution" data-toggle="tab">Sample Solution</a></li>
-                </ul>
-                <div class="tab-content">
-                    <div class="tab-pane fade in active" id="exercise">
+            <div class="row">
+                <div class="col-lg-5 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Learn Eclipse Collections with Kata</h2>
+                    <p class="lead">
+                        Check out the <a href="https://github.com/eclipse/eclipse-collections-kata">Eclipse Collections Kata</a>, a fun way to help you learn idiomatic Eclipse Collections usage.
+                        This particular kata is set up as a series of unit tests which fail.
+                        Your task is to make them pass, using Eclipse Collections.
+                    </p>
+                </div>
+                <div class="col-lg-7 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#exercise" data-toggle="tab">Sample Exercise</a></li>
+                        <li><a href="#solution" data-toggle="tab">Sample Solution</a></li>
+                    </ul>
+                    <div class="tab-content">
+                        <div class="tab-pane fade in active" id="exercise">
                             <pre  class="prettyprint lang-java">
 @Test
 public void getFirstNamesOfAllPeople()
@@ -471,8 +472,8 @@
     Lists.mutable.with("Mary", "Bob", "Ted", "Jake", "Barry", "Terry", "Harry", "John");
   Assert.assertEquals(expectedFirstNames, firstNames);
 }</pre>
-                    </div>
-                    <div class="tab-pane fade" id="solution">
+                        </div>
+                        <div class="tab-pane fade" id="solution">
                             <pre  class="prettyprint lang-java">
 @Test
 public void getFirstNamesOfAllPeople()
@@ -483,173 +484,173 @@
     Lists.mutable.with("Mary", "Bob", "Ted", "Jake", "Barry", "Terry", "Harry", "John");
   Assert.assertEquals(expectedFirstNames, firstNames);
 }</pre>
+                        </div>
                     </div>
+                    <!-- /.tab-content -->
                 </div>
-                <!-- /.tab-content -->
+                <!-- /.col -->
             </div>
-            <!-- /.col -->
+            <!-- /.row -->
+
         </div>
-        <!-- /.row -->
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Kata -->
 
-</div>
-<!-- Kata -->
+    <a class="anchor" name="history"></a>
+    <div class="content-section-b">
 
-<a class="anchor" name="history"></a>
-<div class="content-section-b">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
+            <h2 class="section-heading">History of Eclipse Collections</h2>
+            <p class="lead">
+                The origin of Eclipse Collections was started off as a collections framework named Caramel at Goldman Sachs in 2004.
 
-        <h2 class="section-heading">History of Eclipse Collections</h2>
-        <p class="lead">
-            The origin of Eclipse Collections was started off as a collections framework named Caramel at Goldman Sachs in 2004.
+                Since then the framework has evolved, and in 2012, it was open sourced to GitHub as a project called
+                <a href="https://github.com/goldmansachs/gs-collections">GS Collections</a>.
+                <br><br>
+                GS Collections has been presented at number of
+                <a href="https://github.com/eclipse/eclipse-collections/wiki/Conference-talks-and-meetups">conferences</a>
+                including JVM Summit in 2012 and JavaOne in 2014.
+                A performance comparison between the parallel lazy implementations of Java 8, Scala and GS Collections was presented at
+                <a href="http://www.infoq.com/presentations/java-streams-scala-parallel-collections">QCon New York</a> in 2014.
+                Also <a href="https://github.com/eclipse/eclipse-collections/wiki/Articles">articles</a> about GS Collections
+                (<a href="http://www.infoq.com/articles/GS-Collections-by-Example-1">Part1</a> /
+                <a href="http://www.infoq.com/articles/GS-Collections-by-Example-2">Part2</a>)
+                have published on InfoQ.com
+                showing some of the capabilities of the collections framework through examples, and also interviews to the creator of GS Collections.
+                <br><br>
 
-            Since then the framework has evolved, and in 2012, it was open sourced to GitHub as a project called
-            <a href="https://github.com/goldmansachs/gs-collections">GS Collections</a>.
-            <br><br>
-            GS Collections has been presented at number of
-            <a href="https://github.com/eclipse/eclipse-collections/wiki/Conference-talks-and-meetups">conferences</a>
-            including JVM Summit in 2012 and JavaOne in 2014.
-            A performance comparison between the parallel lazy implementations of Java 8, Scala and GS Collections was presented at
-            <a href="http://www.infoq.com/presentations/java-streams-scala-parallel-collections">QCon New York</a> in 2014.
-            Also <a href="https://github.com/eclipse/eclipse-collections/wiki/Articles">articles</a> about GS Collections
-            (<a href="http://www.infoq.com/articles/GS-Collections-by-Example-1">Part1</a> /
-            <a href="http://www.infoq.com/articles/GS-Collections-by-Example-2">Part2</a>)
-            have published on InfoQ.com
-            showing some of the capabilities of the collections framework through examples, and also interviews to the creator of GS Collections.
-            <br><br>
+                Over the years, around 40 or so developers from the same company have contributed to the collections framework.
+                <br><br>
 
-            Over the years, around 40 or so developers from the same company have contributed to the collections framework.
-            <br><br>
-
-            To maximize the best nature of open source project, GS Collections has been migrated to the Eclipse Foundation, re-branded as Eclipse Collections in 2015.
-            Now the framework is fully open to the community, accepting contributions!
-        </p>
-    </div>
-</div>
-
-<a class="anchor" name="refGuide"></a>
-<div class="content-section-a">
-    <div class="container-fluid">
-        <h2 class="section-heading">Reference Guide</h2>
-        <p class="lead">
-            A comprehensive reference guide of the library is available on GitHub:
-            <a href="https://github.com/eclipse/eclipse-collections/blob/master/docs/guide.md#eclipse-collections-reference-guide">Reference Guide</a>.
-        </p>
-    </div>
-    <!-- /.container -->
-
-</div>
-<!-- Reference Guide  -->
-<a class="anchor" name="sourceCode"></a>
-<div class="content-section-b">
-    <div class="container-fluid">
-        <h2 class="section-heading">Source Code</h2>
-        <p class="lead">
-            Source code can be found on GitHub: <a href="https://github.com/eclipse/eclipse-collections">Eclipse Collections</a></p>.
-        </p>
-    </div>
-    <!-- /.container -->
-</div>
-<!-- Source Code  -->
-</div>
-<!-- Introduction  -->
-
-<a class="anchor" name="contribute"></a>
-<div class="content-footer">
-
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-4 col-sm-4">
-                <h3>Contribute</h3>
-                <p class="regular">
-                    We welcome contributions!
-                    <br><br>
-                    Eclipse Collections Project Roadmap can be found <a href="https://github.com/eclipse/eclipse-collections/wiki/Roadmap">here</a>.
-                    <br><br>
-                    We accept contributions via pull requests in GitHub.
-                    Please see <a href="https://github.com/eclipse/eclipse-collections/blob/master/CONTRIBUTING.md">How To Contribute</a> to get started.
-                </p>
-            </div>
-            <div class="col-lg-4 col-sm-4">
-                <h3>Latest News</h3>
-                <p class="regular">Eclipse Collections 9.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.1.0">released</a> <a class="light">(Jan 1st 2018)</a></p>
-                <p class="regular">Eclipse Collections 9.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">released</a> <a class="light">(Sep 21nd 2017)</a></p>
-                <p class="regular">Eclipse Collections 8.2.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.2.0">released</a> <a class="light">(Jun 22nd 2017)</a></p>
-                <p class="regular">Eclipse Collections 8.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.1.0">released</a> <a class="light">(Mar 16th 2017)</a></p>
-                <p class="regular">Eclipse Collections 8.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.0.0">released</a> <a class="light">(Sep 8th 2016)</a></p>
-            </div>
-            <div class="col-lg-4 col-sm-4">
-                <h3>Community Links</h3>
-                <p class="regular">Eclipse PMI: <a href="https://projects.eclipse.org/projects/technology.collections">eclipse project management infrastructure</a></p>
-                <p class="regular">GitHub: <a href="https://github.com/eclipse/eclipse-collections">eclipse-collections</a></p>
-                <p class="regular">Issues: <a href="https://github.com/eclipse/eclipse-collections/issues">GitHub issues</a></p>
-                <p class="regular">Mailing lists: <a href="https://dev.eclipse.org/mailman/listinfo/collections-dev">collections-dev</a> mailing list</p>
-                <p class="regular">Wiki: <a href="https://github.com/eclipse/eclipse-collections/wiki">GitHub wiki</a></p>
-                <p class="regular">Forum: <a href="https://www.eclipse.org/forums/index.php?t=thread&amp;frm_id=329">Eclipse Collections Forum</a></p>
-                <p class="regular">StackOverflow: tag with <a href="http://stackoverflow.com/questions/tagged/eclipse-collections">eclipse-collections</a></p>
-            </div>
-            <!-- /.col -->
-        </div>
-        <!-- /.row -->
-
-    </div>
-    <!-- /.container -->
-
-</div>
-<!-- Container Types -->
-
-
-<div class="banner">
-
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-12">
-                <h3>- More features, less waste -</h3>
-            </div>
-        </div>
-
-    </div>
-    <!-- /.container -->
-
-</div>
-<!-- /.banner -->
-
-<!-- Footer -->
-<footer>
-    <div class="container-fluid">
-        <div class="row">
-            <div class="col-lg-12">
-                <ul class="list-inline">
-                    <li>
-                        <p class="copyright text-muted small">Copyright &copy; 2016 The Eclipse Foundation. All Rights Reserved. </p>
-                    </li>
-                    <li class="footer-menu-divider">&sdot;</li>
-                    <li>
-                        <a class="small" href="http://www.eclipse.org/legal/privacy.php">Privacy</a>
-                    </li>
-                    <li class="footer-menu-divider">&sdot;</li>
-                    <li>
-                        <a class="small" href="http://www.eclipse.org/legal/termsofuse.php">Terms</a>
-                    </li>
-                </ul>
-            </div>
+                To maximize the best nature of open source project, GS Collections has been migrated to the Eclipse Foundation, re-branded as Eclipse Collections in 2015.
+                Now the framework is fully open to the community, accepting contributions!
+            </p>
         </div>
     </div>
-</footer>
 
-<!-- jQuery -->
-<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
+    <a class="anchor" name="refGuide"></a>
+    <div class="content-section-a">
+        <div class="container-fluid">
+            <h2 class="section-heading">Reference Guide</h2>
+            <p class="lead">
+                A comprehensive reference guide of the library is available on GitHub:
+                <a href="https://github.com/eclipse/eclipse-collections/blob/master/docs/guide.md#eclipse-collections-reference-guide">Reference Guide</a>.
+            </p>
+        </div>
+        <!-- /.container -->
 
-<!-- Bootstrap Core JavaScript -->
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha256-KXn5puMvxCw+dAYznun+drMdG1IFl3agK0p/pqT9KAo= sha512-2e8qq0ETcfWRI4HJBzQiA3UoyFk6tbNyG+qSaIBZLyW9Xf3sWZHN/lxe9fTh1U45DpPf07yj94KsUHHWe4Yk1A==" crossorigin="anonymous"></script>
+    </div>
+    <!-- Reference Guide  -->
+    <a class="anchor" name="sourceCode"></a>
+    <div class="content-section-b">
+        <div class="container-fluid">
+            <h2 class="section-heading">Source Code</h2>
+            <p class="lead">
+                Source code can be found on GitHub: <a href="https://github.com/eclipse/eclipse-collections">Eclipse Collections</a></p>.
+            </p>
+        </div>
+        <!-- /.container -->
+    </div>
+    <!-- Source Code  -->
+    </div>
+    <!-- Introduction  -->
 
-<!-- Google Code Prettify -->
-<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?skin=sunburst"></script>
+    <a class="anchor" name="contribute"></a>
+    <div class="content-footer">
+
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-4 col-sm-4">
+                    <h3>Contribute</h3>
+                    <p class="regular">
+                        We welcome contributions!
+                        <br><br>
+                        Eclipse Collections Project Roadmap can be found <a href="https://github.com/eclipse/eclipse-collections/wiki/Roadmap">here</a>.
+                        <br><br>
+                        We accept contributions via pull requests in GitHub.
+                        Please see <a href="https://github.com/eclipse/eclipse-collections/blob/master/CONTRIBUTING.md">How To Contribute</a> to get started.
+                    </p>
+                </div>
+                <div class="col-lg-4 col-sm-4">
+                    <h3>Latest News</h3>
+                    <p class="regular">Eclipse Collections 9.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.1.0">released</a> <a class="light">(Jan 1st 2018)</a></p>
+                    <p class="regular">Eclipse Collections 9.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">released</a> <a class="light">(Sep 21nd 2017)</a></p>
+                    <p class="regular">Eclipse Collections 8.2.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.2.0">released</a> <a class="light">(Jun 22nd 2017)</a></p>
+                    <p class="regular">Eclipse Collections 8.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.1.0">released</a> <a class="light">(Mar 16th 2017)</a></p>
+                    <p class="regular">Eclipse Collections 8.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.0.0">released</a> <a class="light">(Sep 8th 2016)</a></p>
+                </div>
+                <div class="col-lg-4 col-sm-4">
+                    <h3>Community Links</h3>
+                        <p class="regular">Eclipse PMI: <a href="https://projects.eclipse.org/projects/technology.collections">eclipse project management infrastructure</a></p>
+                        <p class="regular">GitHub: <a href="https://github.com/eclipse/eclipse-collections">eclipse-collections</a></p>
+                        <p class="regular">Issues: <a href="https://github.com/eclipse/eclipse-collections/issues">GitHub issues</a></p>
+                        <p class="regular">Mailing lists: <a href="https://dev.eclipse.org/mailman/listinfo/collections-dev">collections-dev</a> mailing list</p>
+                        <p class="regular">Wiki: <a href="https://github.com/eclipse/eclipse-collections/wiki">GitHub wiki</a></p>
+                        <p class="regular">Forum: <a href="https://www.eclipse.org/forums/index.php?t=thread&amp;frm_id=329">Eclipse Collections Forum</a></p>
+                        <p class="regular">StackOverflow: tag with <a href="http://stackoverflow.com/questions/tagged/eclipse-collections">eclipse-collections</a></p>
+                </div>
+                <!-- /.col -->
+            </div>
+            <!-- /.row -->
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- Container Types -->
+
+
+    <div class="banner">
+
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-12">
+                    <h3>- More features, less waste -</h3>
+                </div>
+            </div>
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- /.banner -->
+
+    <!-- Footer -->
+    <footer>
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-lg-12">
+                    <ul class="list-inline">
+                        <li>
+                            <p class="copyright text-muted small">Copyright &copy; 2016 The Eclipse Foundation. All Rights Reserved. </p>
+                        </li>
+                        <li class="footer-menu-divider">&sdot;</li>
+                        <li>
+                            <a class="small" href="http://www.eclipse.org/legal/privacy.php">Privacy</a>
+                        </li>
+                        <li class="footer-menu-divider">&sdot;</li>
+                        <li>
+                            <a class="small" href="http://www.eclipse.org/legal/termsofuse.php">Terms</a>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+        </div>
+    </footer>
+
+    <!-- jQuery -->
+    <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
+
+    <!-- Bootstrap Core JavaScript -->
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha256-KXn5puMvxCw+dAYznun+drMdG1IFl3agK0p/pqT9KAo= sha512-2e8qq0ETcfWRI4HJBzQiA3UoyFk6tbNyG+qSaIBZLyW9Xf3sWZHN/lxe9fTh1U45DpPf07yj94KsUHHWe4Yk1A==" crossorigin="anonymous"></script>
+
+    <!-- Google Code Prettify -->
+    <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?skin=sunburst"></script>
 </body>
 
 </html>
diff --git a/ja/index.html b/ja/index.html
index 6513628..fe0da96 100644
--- a/ja/index.html
+++ b/ja/index.html
@@ -44,8 +44,8 @@
 
     <script>
         (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+                    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
         })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
         ga('create', 'UA-71645852-1', 'auto');
@@ -74,19 +74,19 @@
         <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
             <ul class="nav navbar-nav navbar-right">
                 <li>
-                    <a href="#start">Get Started</a>
+                    <a href="#start">始め方</a>
                 </li>
                 <li>
-                    <a href="#concept">Concept</a>
+                    <a href="#concept">コンセプト</a>
                 </li>
                 <li>
-                    <a href="#learn">Learn</a>
+                    <a href="#learn">学ぶ</a>
                 </li>
                 <li>
-                    <a href="#history">History</a>
+                    <a href="#history">歴史</a>
                 </li>
                 <li>
-                    <a href="#contribute">Contribute</a>
+                    <a href="#contribute">コントリビュート</a>
                 </li>
                 <li class="dropdown">
                     <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
@@ -102,9 +102,10 @@
                 </li>
                 <li class="dropdown">
                     <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
-                       aria-expanded="false">Language <span class="caret"></span></a>
+                       aria-expanded="false">言語 <span class="caret"></span></a>
                     <ul class="dropdown-menu">
                         <li><a href="../index.html">English</a></li>
+                        <li><a href="../cn/index.html">中文</a></li>
                         <li><a href="">日本語</a></li>
                         <li><a href="../ru/index.html">Русский</a></li>
                         <li><a href="../pt-br/index.html">Português-Brasil</a></li>
diff --git a/pt-br/index.html b/pt-br/index.html
index 97460ce..aca91df 100644
--- a/pt-br/index.html
+++ b/pt-br/index.html
@@ -43,8 +43,8 @@
 
     <script>
         (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+                    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
         })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
         ga('create', 'UA-71645852-1', 'auto');
@@ -56,117 +56,118 @@
 
 <body>
 
-<!-- Navigation -->
-<nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
-    <div class="container topnav">
-        <!-- Brand and toggle get grouped for better mobile display -->
-        <div class="navbar-header">
-            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-                <span class="sr-only">Toggle navigation</span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-            </button>
-            <img src="../img/eclipse-collections-logo.png" style="width:175px;height:50px;" align="left" alt="Eclipse Collections">
+    <!-- Navigation -->
+    <nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
+        <div class="container topnav">
+            <!-- Brand and toggle get grouped for better mobile display -->
+            <div class="navbar-header">
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+                <img src="../img/eclipse-collections-logo.png" style="width:175px;height:50px;" align="left" alt="Eclipse Collections">
+            </div>
+            <!-- Collect the nav links, forms, and other content for toggling -->
+            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="#start">Comece já</a>
+                    </li>
+                    <li>
+                        <a href="#concept">Conceito</a>
+                    </li>
+                    <li>
+                        <a href="#learn">Aprenda</a>
+                    </li>
+                    <li>
+                        <a href="#history">Histórico</a>
+                    </li>
+                    <li>
+                        <a href="#refGuide">Guia de referência</a>
+                    </li>
+                    <li>
+                        <a href="#sourceCode">Código Fonte</a>
+                    </li>
+                    <li>
+                        <a href="#contribute">Contribua</a>
+                    </li>
+                    <li class="dropdown">
+                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
+                           aria-expanded="false">Javadoc <span class="caret"></span></a>
+                        <ul class="dropdown-menu">
+                            <li><a href="../javadoc/9.1.0">9.1.0</a></li>
+                            <li><a href="../javadoc/9.0.0">9.0.0</a></li>
+                            <li><a href="../javadoc/8.2.0">8.2.0</a></li>
+                            <li><a href="../javadoc/8.1.0">8.1.0</a></li>
+                            <li><a href="../javadoc/8.0.0">8.0.0</a></li>
+                            <li><a href="../javadoc/7.1.0">7.1.0</a></li>
+                        </ul>
+                    </li>
+                    <li class="dropdown">
+                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
+                           aria-expanded="false">Idiomas <span class="caret"></span></a>
+                        <ul class="dropdown-menu">
+                            <li><a href="../index.html">English</a></li>
+                            <li><a href="../cn/index.html">中文</a></li>
+                            <li><a href="../ja/index.html">日本語</a></li>
+                            <li><a href="../ru/index.html">Русский</a></li>
+                            <li><a href="">Português-Brasil</a></li>
+                        </ul>
+                    </li>
+                </ul>
+            </div>
+            <!-- /.navbar-collapse -->
         </div>
-        <!-- Collect the nav links, forms, and other content for toggling -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-            <ul class="nav navbar-nav navbar-right">
-                <li>
-                    <a href="#start">Comece já</a>
-                </li>
-                <li>
-                    <a href="#concept">Conceito</a>
-                </li>
-                <li>
-                    <a href="#learn">Aprenda</a>
-                </li>
-                <li>
-                    <a href="#history">Histórico</a>
-                </li>
-                <li>
-                    <a href="#refGuide">Guia de referência</a>
-                </li>
-                <li>
-                    <a href="#sourceCode">Código Fonte</a>
-                </li>
-                <li>
-                    <a href="#contribute">Contribua</a>
-                </li>
-                <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
-                       aria-expanded="false">Javadoc <span class="caret"></span></a>
-                    <ul class="dropdown-menu">
-                        <li><a href="../javadoc/9.1.0">9.1.0</a></li>
-                        <li><a href="../javadoc/9.0.0">9.0.0</a></li>
-                        <li><a href="../javadoc/8.2.0">8.2.0</a></li>
-                        <li><a href="../javadoc/8.1.0">8.1.0</a></li>
-                        <li><a href="../javadoc/8.0.0">8.0.0</a></li>
-                        <li><a href="../javadoc/7.1.0">7.1.0</a></li>
-                    </ul>
-                </li>
-                <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
-                       aria-expanded="false">Idiomas <span class="caret"></span></a>
-                    <ul class="dropdown-menu">
-                        <li><a href="../index.html">English</a></li>
-                        <li><a href="../ja/index.html">日本語</a></li>
-                        <li><a href="../ru/index.html">Русский</a></li>
-                        <li><a href="">Português-Brasil</a></li>
-                    </ul>
-                </li>
-            </ul>
-        </div>
-        <!-- /.navbar-collapse -->
-    </div>
-    <!-- /.container -->
-</nav>
+        <!-- /.container -->
+    </nav>
 
 
-<!-- Header -->
-<a class="anchor" name="about"></a>
-<div class="intro-header">
-    <div class="container-fluid">
+    <!-- Header -->
+    <a class="anchor" name="about"></a>
+    <div class="intro-header">
+        <div class="container-fluid">
 
-        <div class="row">
-            <div class="col-lg-push-2 col-lg-8">
-                <div class="intro-message">
-                    <h1>Eclipse <span style="font-weight: 400">Collections</span></h1>
-                    <h3>- Recursos que você deseja com as coleções que você precisa -</h3>
+            <div class="row">
+                <div class="col-lg-push-2 col-lg-8">
+                    <div class="intro-message">
+                        <h1>Eclipse <span style="font-weight: 400">Collections</span></h1>
+                        <h3>- Recursos que você deseja com as coleções que você precisa -</h3>
+                    </div>
                 </div>
             </div>
+
         </div>
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- /.intro-header -->
 
-</div>
-<!-- /.intro-header -->
+    <!-- Page Content -->
 
-<!-- Page Content -->
+    <a class="anchor" name="start"></a>
+    <div class="content-section-a">
 
-<a class="anchor" name="start"></a>
-<div class="content-section-a">
-
-    <div class="container-fluid">
-        <div class="row">
-            <div class="col-lg-5 col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Começando com <br>Eclipse Collections</h2>
-                <p class="lead">Eclipse Collections é a melhor biblioteca de coleções de Java
-                    que traz felicidade ao seu desenvolvimento Java.
-                    <br><br>Integre-o em sua base de código hoje com suas ferramentas de build favoritas!</p>
-            </div>
-            <div class="col-lg-7 col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#maven" data-toggle="tab">Maven</a></li>
-                    <li><a href="#gradle" data-toggle="tab">Gradle</a></li>
-                    <li><a href="#ivy" data-toggle="tab">Ivy</a></li>
-                    <li><a href="#download" data-toggle="tab">Download</a></li>
-                </ul>
-                <div id="dependencies" class="tab-content">
-                    <div class="tab-pane fade in active" id="maven">
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-lg-5 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Começando com <br>Eclipse Collections</h2>
+                    <p class="lead">Eclipse Collections é a melhor biblioteca de coleções de Java
+                        que traz felicidade ao seu desenvolvimento Java.
+                        <br><br>Integre-o em sua base de código hoje com suas ferramentas de build favoritas!</p>
+                </div>
+                <div class="col-lg-7 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#maven" data-toggle="tab">Maven</a></li>
+                        <li><a href="#gradle" data-toggle="tab">Gradle</a></li>
+                        <li><a href="#ivy" data-toggle="tab">Ivy</a></li>
+                        <li><a href="#download" data-toggle="tab">Download</a></li>
+                    </ul>
+                    <div id="dependencies" class="tab-content">
+                        <div class="tab-pane fade in active" id="maven">
                             <pre  class="prettyprint">
 &lt;dependency&gt;
   &lt;groupId&gt;org.eclipse.collections&lt;/groupId&gt;
@@ -179,55 +180,55 @@
   &lt;artifactId&gt;eclipse-collections&lt;/artifactId&gt;
   &lt;version&gt;9.1.0&lt;/version>
 &lt;/dependency&gt;</pre>
-                    </div>
-                    <div class="tab-pane fade" id="gradle">
+                        </div>
+                        <div class="tab-pane fade" id="gradle">
                             <pre  class="prettyprint">
 compile 'org.eclipse.collections:eclipse-collections-api:9.1.0'
 compile 'org.eclipse.collections:eclipse-collections:9.1.0'</pre>
-                    </div>
-                    <div class="tab-pane fade" id="ivy">
+                        </div>
+                        <div class="tab-pane fade" id="ivy">
                             <pre  class="prettyprint">
 &lt;dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="9.1.0" /&gt;
 &lt;dependency org="org.eclipse.collections" name="eclipse-collections" rev="9.1.0" /&gt;</pre>
-                    </div>
-                    <div class="tab-pane fade" id="download">
+                        </div>
+                        <div class="tab-pane fade" id="download">
                             <pre class="prettyprint">
 <a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections-api/9.1.0">eclipse-collections-api-9.1.0.jar</a>
 <a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections/9.1.0">eclipse-collections-9.1.0.jar</a></pre>
-                    </div>
+                        </div>
 
+                    </div>
                 </div>
             </div>
+
         </div>
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Get Started -->
 
-</div>
-<!-- Get Started -->
+    <a class="anchor" name="concept"></a>
+    <div class="content-section-b">
 
-<a class="anchor" name="concept"></a>
-<div class="content-section-b">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-push-7 col-lg-5 col-sm-push-6  col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">APIs ricas, concisas e legíveis</h2>
-                <p class="lead">Maximize o poder das expressões Lambda e referências de métodos do Java 8
-                    com APIs ricas diretamente disponíveis em suas coleções.
-                </p>
-            </div>
-            <div class="col-lg-pull-5 col-lg-7 col-sm-pull-6  col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#method" data-toggle="tab">Exemplo com referências de métodos</a></li>
-                    <li><a href="#ec" data-toggle="tab">Exemplo com expressões Lambda</a></li>
-                    <li><a href="#streams" data-toggle="tab">Java 8 Streams</a></li>
-                </ul>
-                <div id="ec-vs-streams" class="tab-content">
-                    <div class="tab-pane fade in active" id="method">
+            <div class="row">
+                <div class="col-lg-push-7 col-lg-5 col-sm-push-6  col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">APIs ricas, concisas e legíveis</h2>
+                    <p class="lead">Maximize o poder das expressões Lambda e referências de métodos do Java 8
+                        com APIs ricas diretamente disponíveis em suas coleções.
+                    </p>
+                </div>
+                <div class="col-lg-pull-5 col-lg-7 col-sm-pull-6  col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#method" data-toggle="tab">Exemplo com referências de métodos</a></li>
+                        <li><a href="#ec" data-toggle="tab">Exemplo com expressões Lambda</a></li>
+                        <li><a href="#streams" data-toggle="tab">Java 8 Streams</a></li>
+                    </ul>
+                    <div id="ec-vs-streams" class="tab-content">
+                        <div class="tab-pane fade in active" id="method">
                             <pre  class="prettyprint lang-java">
 boolean anyPeopleHaveCats =
   this.people
@@ -240,8 +241,8 @@
 MutableList&lt;Person&gt; peopleWithCats =
   this.people
     .selectWith(Person::hasPet, PetType.CAT)</pre>
-                    </div>
-                    <div class="tab-pane fade" id="ec">
+                        </div>
+                        <div class="tab-pane fade" id="ec">
                             <pre  class="prettyprint lang-java">
 boolean anyPeopleHaveCats =
   this.people
@@ -254,8 +255,8 @@
 MutableList&lt;Person&gt; peopleWithCats =
   this.people
     .select(person -> person.hasPet(PetType.CAT));</pre>
-                    </div>
-                    <div class="tab-pane fade" id="streams">
+                        </div>
+                        <div class="tab-pane fade" id="streams">
                             <pre  class="prettyprint lang-java">
 boolean anyPeopleHaveCats =
   this.people
@@ -273,39 +274,39 @@
     .stream()
     .filter(person -> person.hasPet(PetType.CAT))
     .collect(Collectors.toList());</pre>
+                        </div>
                     </div>
+                    <!-- /.tab-content -->
                 </div>
-                <!-- /.tab-content -->
+                <!-- /.col -->
             </div>
-            <!-- /.col -->
+            <!-- /.row -->
+
         </div>
-        <!-- /.row -->
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Rich and fluent API -->
 
-</div>
-<!-- Rich and fluent API -->
+    <div class="content-section-a">
 
-<div class="content-section-a">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-5 col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Muitos tipos de recipientes, incluindo coleções imutáveis, coleções primitivas, Bimaps, MutableMap e Bags</h2>
-                <p class="lead">Você pode usar vários tipos de recipientes, aproveitando métodos de fábrica úteis para instanciação.</p>
-            </div>
-            <div class="col-lg-7 col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#mutable" data-toggle="tab">Coleções mutáveis</a></li>
-                    <li><a href="#immutable" data-toggle="tab">Coleções imutáveis</a></li>
-                    <li><a href="#primitives" data-toggle="tab">Coleções de tipo primitivos</a></li>
-                </ul>
-                <div id="container-types" class="tab-content">
-                    <div class="tab-pane fade in active" id="mutable">
+            <div class="row">
+                <div class="col-lg-5 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Muitos tipos de recipientes, incluindo coleções imutáveis, coleções primitivas, Bimaps, MutableMap e Bags</h2>
+                    <p class="lead">Você pode usar vários tipos de recipientes, aproveitando métodos de fábrica úteis para instanciação.</p>
+                </div>
+                <div class="col-lg-7 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#mutable" data-toggle="tab">Coleções mutáveis</a></li>
+                        <li><a href="#immutable" data-toggle="tab">Coleções imutáveis</a></li>
+                        <li><a href="#primitives" data-toggle="tab">Coleções de tipo primitivos</a></li>
+                    </ul>
+                    <div id="container-types" class="tab-content">
+                        <div class="tab-pane fade in active" id="mutable">
                             <pre  class="prettyprint lang-java">
 //Inicializando a lista mutável com método empty(), of(), with()
 MutableList&lt;String&gt; mutableListEmpty =
@@ -328,8 +329,8 @@
   Multimaps.mutable.list.with("key1", "value1-1", "key1", "value1-2", "key2","value2-1");
 MutableBiMap&lt;String, String&gt; mutableBiMap =
   BiMaps.mutable.with("key1", "value1", "key2", "value2", "key3", "value3");</pre>
-                    </div>
-                    <div class="tab-pane fade" id="immutable">
+                        </div>
+                        <div class="tab-pane fade" id="immutable">
                             <pre  class="prettyprint lang-java">
 //Inicializando lista imutável com método empty(), of(), with()
 ImmutableList&lt;String&gt; immutableListEmpty =
@@ -352,8 +353,8 @@
   Multimaps.immutable.list.with("key1", "value1-1", "key1", "value1-2", "key2","value2-1");
 ImmutableBiMap&lt;String, String&gt; immutableBiMap =
   BiMaps.immutable.with("key1", "value1", "key2", "value2", "key3", "value3");</pre>
-                    </div>
-                    <div class="tab-pane fade" id="primitives">
+                        </div>
+                        <div class="tab-pane fade" id="primitives">
                             <pre  class="prettyprint lang-java">
 //Listas (List) mutáveis e imutáveis, Conjuntos (Sets), Sacos (Bags), Pilhas (Stacks) e Mapas (Maps) estão disponíveis para todos os 8 tipos primitivos
 MutableIntList intList =
@@ -386,81 +387,81 @@
 IntInterval evensFrom1To10 =
   IntInterval.evensFromTo(1, 10); // even ints de i a 10
 // [2, 4, 6, 8, 10]</pre>
+                        </div>
                     </div>
+                    <!-- /.tab-content -->
                 </div>
-                <!-- /.tab-content -->
+                <!-- /.col -->
             </div>
-            <!-- /.col -->
+            <!-- /.row -->
+
         </div>
-        <!-- /.row -->
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Container Types -->
 
-</div>
-<!-- Container Types -->
+    <a class="anchor" name="memory"></a>
+    <div class="content-section-b">
 
-<a class="anchor" name="memory"></a>
-<div class="content-section-b">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-push-6 col-lg-6 col-sm-push-6 col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Reduzir o uso de memória <br>com recipientes eficientes em memória</h2>
-                <p class="lead">Eclipse Collections fornece implementação eficiente de memória de Conjuntos e Mapas bem como coleções de primitivas. </p>
-            </div>
-            <div class="col-lg-pull-6 col-lg-6 col-sm-pull-6 col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#set" data-toggle="tab">Conjuntos</a></li>
-                    <li><a href="#map" data-toggle="tab">Mapas</a></li>
-                    <li><a href="#ints" data-toggle="tab">Coleções de Primitivas</a></li>
-                </ul>
-                <div id="memory" class="tab-content">
-                    <div class="tab-pane fade in active" id="set">
-                        <img class="img-responsive" src="../img/set.png" alt="">
-                    </div>
-                    <div class="tab-pane fade" id="map">
-                        <img class="img-responsive" src="../img/map.png" alt="">
-                    </div>
-                    <div class="tab-pane fade" id="ints">
-                        <img class="img-responsive" src="../img/ints.png" alt="">
+            <div class="row">
+                <div class="col-lg-push-6 col-lg-6 col-sm-push-6 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Reduzir o uso de memória <br>com recipientes eficientes em memória</h2>
+                    <p class="lead">Eclipse Collections fornece implementação eficiente de memória de Conjuntos e Mapas bem como coleções de primitivas. </p>
+                </div>
+                <div class="col-lg-pull-6 col-lg-6 col-sm-pull-6 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#set" data-toggle="tab">Conjuntos</a></li>
+                        <li><a href="#map" data-toggle="tab">Mapas</a></li>
+                        <li><a href="#ints" data-toggle="tab">Coleções de Primitivas</a></li>
+                    </ul>
+                    <div id="memory" class="tab-content">
+                        <div class="tab-pane fade in active" id="set">
+                            <img class="img-responsive" src="../img/set.png" alt="">
+                        </div>
+                        <div class="tab-pane fade" id="map">
+                            <img class="img-responsive" src="../img/map.png" alt="">
+                        </div>
+                        <div class="tab-pane fade" id="ints">
+                            <img class="img-responsive" src="../img/ints.png" alt="">
+                        </div>
                     </div>
                 </div>
             </div>
+
         </div>
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Memory footprint -->
 
-</div>
-<!-- Memory footprint -->
+    <a class="anchor" name="learn"></a>
+    <div class="content-section-a">
 
-<a class="anchor" name="learn"></a>
-<div class="content-section-a">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-5 col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Aprenda Eclipse Collections com Kata</h2>
-                <p class="lead">
-                    Confira o  <a href="https://github.com/eclipse/eclipse-collections-kata">Eclipse Collections Kata</a>, uma maneira divertida de ajudá-lo a aprender o uso idiomático da Eclipse Collections.
-                    Este kata em particular é configurado como uma série de testes unitários que falham.
-                    Sua tarefa é fazê-los passar, usando as coleções da Eclipse Collections.
-                </p>
-            </div>
-            <div class="col-lg-7 col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#exercise" data-toggle="tab">Exemplo de exercício</a></li>
-                    <li><a href="#solution" data-toggle="tab">Exemplo de Solução</a></li>
-                </ul>
-                <div class="tab-content">
-                    <div class="tab-pane fade in active" id="exercise">
+            <div class="row">
+                <div class="col-lg-5 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Aprenda Eclipse Collections com Kata</h2>
+                    <p class="lead">
+                        Confira o  <a href="https://github.com/eclipse/eclipse-collections-kata">Eclipse Collections Kata</a>, uma maneira divertida de ajudá-lo a aprender o uso idiomático da Eclipse Collections.
+                        Este kata em particular é configurado como uma série de testes unitários que falham.
+                        Sua tarefa é fazê-los passar, usando as coleções da Eclipse Collections.
+                    </p>
+                </div>
+                <div class="col-lg-7 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#exercise" data-toggle="tab">Exemplo de exercício</a></li>
+                        <li><a href="#solution" data-toggle="tab">Exemplo de Solução</a></li>
+                    </ul>
+                    <div class="tab-content">
+                        <div class="tab-pane fade in active" id="exercise">
                             <pre  class="prettyprint lang-java">
 @Test
 public void getFirstNamesOfAllPeople()
@@ -471,8 +472,8 @@
     Lists.mutable.with("Mary", "Bob", "Ted", "Jake", "Barry", "Terry", "Harry", "John");
   Assert.assertEquals(expectedFirstNames, firstNames);
 }</pre>
-                    </div>
-                    <div class="tab-pane fade" id="solution">
+                        </div>
+                        <div class="tab-pane fade" id="solution">
                             <pre  class="prettyprint lang-java">
 @Test
 public void getFirstNamesOfAllPeople()
@@ -483,173 +484,173 @@
     Lists.mutable.with("Mary", "Bob", "Ted", "Jake", "Barry", "Terry", "Harry", "John");
   Assert.assertEquals(expectedFirstNames, firstNames);
 }</pre>
+                        </div>
                     </div>
+                    <!-- /.tab-content -->
                 </div>
-                <!-- /.tab-content -->
+                <!-- /.col -->
             </div>
-            <!-- /.col -->
+            <!-- /.row -->
+
         </div>
-        <!-- /.row -->
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Kata -->
 
-</div>
-<!-- Kata -->
+    <a class="anchor" name="history"></a>
+    <div class="content-section-b">
 
-<a class="anchor" name="history"></a>
-<div class="content-section-b">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
+            <h2 class="section-heading">Histórico da Eclipse Collections</h2>
+            <p class="lead">
+                A Eclipse Collections foi iniciada como uma biblioteca de coleções chamada Caramel em Goldman Sachs em 2004.
 
-        <h2 class="section-heading">Histórico da Eclipse Collections</h2>
-        <p class="lead">
-            A Eclipse Collections foi iniciada como uma biblioteca de coleções chamada Caramel em Goldman Sachs em 2004.
+                Desde então, a biblioteca evoluiu e, em 2012, teve seu código fonte aberto no GitHub como um projeto chamado
+                <a href="https://github.com/goldmansachs/gs-collections">GS Collections</a>.
+                <br><br>
+                GS Collections foi apresentado em inúmeras
+                <a href="https://github.com/eclipse/eclipse-collections/wiki/Conference-talks-and-meetups">conferências</a>
+                incluindo JVM Summit em 2012 e JavaOne em 2014.
+                Uma comparação de desempenho entre as implementações preguiçosas paralelas das coleções Java 8, Scala e GS foi apresentada em
+                <a href="http://www.infoq.com/presentations/java-streams-scala-parallel-collections">QCon New York</a> em 2014.
+                Além disso <a href="https://github.com/eclipse/eclipse-collections/wiki/Articles">artigos</a> sobre GS Collections
+                (<a href="http://www.infoq.com/articles/GS-Collections-by-Example-1">Parte 1</a> /
+                <a href="http://www.infoq.com/articles/GS-Collections-by-Example-2">Parte 2</a>)
+                foram publicados em InfoQ.com
+                mostrando algumas das capacidades da biblioteca de coleções através de exemplos, e também entrevistas com o criador do GS Collections.
+                <br><br>
 
-            Desde então, a biblioteca evoluiu e, em 2012, teve seu código fonte aberto no GitHub como um projeto chamado
-            <a href="https://github.com/goldmansachs/gs-collections">GS Collections</a>.
-            <br><br>
-            GS Collections foi apresentado em inúmeras
-            <a href="https://github.com/eclipse/eclipse-collections/wiki/Conference-talks-and-meetups">conferências</a>
-            incluindo JVM Summit em 2012 e JavaOne em 2014.
-            Uma comparação de desempenho entre as implementações preguiçosas paralelas das coleções Java 8, Scala e GS foi apresentada em
-            <a href="http://www.infoq.com/presentations/java-streams-scala-parallel-collections">QCon New York</a> em 2014.
-            Além disso <a href="https://github.com/eclipse/eclipse-collections/wiki/Articles">artigos</a> sobre GS Collections
-            (<a href="http://www.infoq.com/articles/GS-Collections-by-Example-1">Parte 1</a> /
-            <a href="http://www.infoq.com/articles/GS-Collections-by-Example-2">Parte 2</a>)
-            foram publicados em InfoQ.com
-            mostrando algumas das capacidades da biblioteca de coleções através de exemplos, e também entrevistas com o criador do GS Collections.
-            <br><br>
+                Ao longo dos anos, cerca de 40 ou mais desenvolvedores da mesma empresa contribuíram para a biblioteca de coleções.
+                <br><br>
 
-            Ao longo dos anos, cerca de 40 ou mais desenvolvedores da mesma empresa contribuíram para a biblioteca de coleções.
-            <br><br>
-
-            Para maximizar a melhor natureza do projeto de código aberto, a GS Collection foi migrada para Fundação Eclipse, renomeada como Eclipse Collections em 2015.
-            Agora, a biblioteca está totalmente aberto à comunidade, aceitando contribuições!
-        </p>
-    </div>
-</div>
-
-<a class="anchor" name="refGuide"></a>
-<div class="content-section-a">
-    <div class="container-fluid">
-        <h2 class="section-heading">Guia de referência</h2>
-        <p class="lead">
-            Um guia de referência abrangente da biblioteca está disponível no GitHub:
-            <a href="https://github.com/eclipse/eclipse-collections/blob/master/docs/guide.md#eclipse-collections-reference-guide">Guia de referência (em Inglês)</a>.
-        </p>
-    </div>
-    <!-- /.container -->
-
-</div>
-<!-- Reference Guide  -->
-<a class="anchor" name="sourceCode"></a>
-<div class="content-section-b">
-    <div class="container-fluid">
-        <h2 class="section-heading">Código Fonte</h2>
-        <p class="lead">
-            O código fonte pode ser encontrado no GitHub: <a href="https://github.com/eclipse/eclipse-collections">Eclipse Collections</a></p>.
-        </p>
-    </div>
-    <!-- /.container -->
-</div>
-<!-- Source Code  -->
-</div>
-<!-- Introduction  -->
-
-<a class="anchor" name="contribute"></a>
-<div class="content-footer">
-
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-4 col-sm-4">
-                <h3>Contribua</h3>
-                <p class="regular">
-                    Contribuições são bem vindas!
-                    <br><br>
-                    O Roadmap do projeto Eclipse Collections pode ser encontrado <a href="https://github.com/eclipse/eclipse-collections/wiki/Roadmap">aqui</a>.
-                    <br><br>
-                    Aceitamos contribuições através de pull requests no GitHub.
-                    Por favor, veja <a href="https://github.com/eclipse/eclipse-collections/blob/master/CONTRIBUTING.md">Como contribuir </a> para começar.
-                </p>
-            </div>
-            <div class="col-lg-4 col-sm-4">
-                <h3>Últimas notícias</h3>
-                <p class="regular">Eclipse Collections 9.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">liberado</a> <a class="light">(Jan 1 2018)</a></p>
-                <p class="regular">Eclipse Collections 9.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">liberado</a> <a class="light">(Set 21 2017)</a></p>
-                <p class="regular">Eclipse Collections 8.2.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.2.0">liberado</a> <a class="light">(Jun 22 2017)</a></p>
-                <p class="regular">Eclipse Collections 8.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.1.0">liberado</a> <a class="light">(Mar 16 2017)</a></p>
-                <p class="regular">Eclipse Collections 8.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.0.0">liberado</a> <a class="light">(Set 8 2016)</a></p>
-            </div>
-            <div class="col-lg-4 col-sm-4">
-                <h3>Links da comunidade</h3>
-                <p class="regular">Eclipse PMI: <a href="https://projects.eclipse.org/projects/technology.collections">Infraestrutura de gerenciamento de projetos Eclipse</a></p>
-                <p class="regular">GitHub: <a href="https://github.com/eclipse/eclipse-collections">eclipse-collections</a></p>
-                <p class="regular">Issues: <a href="https://github.com/eclipse/eclipse-collections/issues">GitHub issues</a></p>
-                <p class="regular">lista de discussão: <a href="https://dev.eclipse.org/mailman/listinfo/collections-dev">collections-dev</a> </p>
-                <p class="regular">Wiki: <a href="https://github.com/eclipse/eclipse-collections/wiki">GitHub wiki</a></p>
-                <p class="regular">Forum: <a href="https://www.eclipse.org/forums/index.php?t=thread&amp;frm_id=329">Eclipse Collections Forum</a></p>
-                <p class="regular">StackOverflow: tag com <a href="http://stackoverflow.com/questions/tagged/eclipse-collections">eclipse-collections</a></p>
-            </div>
-            <!-- /.col -->
-        </div>
-        <!-- /.row -->
-
-    </div>
-    <!-- /.container -->
-
-</div>
-<!-- Container Types -->
-
-
-<div class="banner">
-
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-12">
-                <h3>- Mais recursos, menos desperdício -</h3>
-            </div>
-        </div>
-
-    </div>
-    <!-- /.container -->
-
-</div>
-<!-- /.banner -->
-
-<!-- Footer -->
-<footer>
-    <div class="container-fluid">
-        <div class="row">
-            <div class="col-lg-12">
-                <ul class="list-inline">
-                    <li>
-                        <p class="copyright text-muted small">Copyright &copy; 2016 The Eclipse Foundation. All Rights Reserved. </p>
-                    </li>
-                    <li class="footer-menu-divider">&sdot;</li>
-                    <li>
-                        <a class="small" href="http://www.eclipse.org/legal/privacy.php">Privacy</a>
-                    </li>
-                    <li class="footer-menu-divider">&sdot;</li>
-                    <li>
-                        <a class="small" href="http://www.eclipse.org/legal/termsofuse.php">Terms</a>
-                    </li>
-                </ul>
-            </div>
+                Para maximizar a melhor natureza do projeto de código aberto, a GS Collection foi migrada para Fundação Eclipse, renomeada como Eclipse Collections em 2015.
+                Agora, a biblioteca está totalmente aberto à comunidade, aceitando contribuições!
+            </p>
         </div>
     </div>
-</footer>
 
-<!-- jQuery -->
-<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
+    <a class="anchor" name="refGuide"></a>
+    <div class="content-section-a">
+        <div class="container-fluid">
+            <h2 class="section-heading">Guia de referência</h2>
+            <p class="lead">
+                Um guia de referência abrangente da biblioteca está disponível no GitHub:
+                <a href="https://github.com/eclipse/eclipse-collections/blob/master/docs/guide.md#eclipse-collections-reference-guide">Guia de referência (em Inglês)</a>.
+            </p>
+        </div>
+        <!-- /.container -->
 
-<!-- Bootstrap Core JavaScript -->
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha256-KXn5puMvxCw+dAYznun+drMdG1IFl3agK0p/pqT9KAo= sha512-2e8qq0ETcfWRI4HJBzQiA3UoyFk6tbNyG+qSaIBZLyW9Xf3sWZHN/lxe9fTh1U45DpPf07yj94KsUHHWe4Yk1A==" crossorigin="anonymous"></script>
+    </div>
+    <!-- Reference Guide  -->
+    <a class="anchor" name="sourceCode"></a>
+    <div class="content-section-b">
+        <div class="container-fluid">
+            <h2 class="section-heading">Código Fonte</h2>
+            <p class="lead">
+                O código fonte pode ser encontrado no GitHub: <a href="https://github.com/eclipse/eclipse-collections">Eclipse Collections</a></p>.
+            </p>
+        </div>
+        <!-- /.container -->
+    </div>
+    <!-- Source Code  -->
+    </div>
+    <!-- Introduction  -->
 
-<!-- Google Code Prettify -->
-<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?skin=sunburst"></script>
+    <a class="anchor" name="contribute"></a>
+    <div class="content-footer">
+
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-4 col-sm-4">
+                    <h3>Contribua</h3>
+                    <p class="regular">
+                        Contribuições são bem vindas!
+                        <br><br>
+                         O Roadmap do projeto Eclipse Collections pode ser encontrado <a href="https://github.com/eclipse/eclipse-collections/wiki/Roadmap">aqui</a>.
+                        <br><br>
+                        Aceitamos contribuições através de pull requests no GitHub.
+                        Por favor, veja <a href="https://github.com/eclipse/eclipse-collections/blob/master/CONTRIBUTING.md">Como contribuir </a> para começar.
+                    </p>
+                </div>
+                <div class="col-lg-4 col-sm-4">
+                    <h3>Últimas notícias</h3>
+                    <p class="regular">Eclipse Collections 9.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">liberado</a> <a class="light">(Jan 1 2018)</a></p>
+                    <p class="regular">Eclipse Collections 9.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">liberado</a> <a class="light">(Set 21 2017)</a></p>
+                    <p class="regular">Eclipse Collections 8.2.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.2.0">liberado</a> <a class="light">(Jun 22 2017)</a></p>
+                    <p class="regular">Eclipse Collections 8.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.1.0">liberado</a> <a class="light">(Mar 16 2017)</a></p>
+                    <p class="regular">Eclipse Collections 8.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.0.0">liberado</a> <a class="light">(Set 8 2016)</a></p>
+                </div>
+                <div class="col-lg-4 col-sm-4">
+                    <h3>Links da comunidade</h3>
+                        <p class="regular">Eclipse PMI: <a href="https://projects.eclipse.org/projects/technology.collections">Infraestrutura de gerenciamento de projetos Eclipse</a></p>
+                        <p class="regular">GitHub: <a href="https://github.com/eclipse/eclipse-collections">eclipse-collections</a></p>
+                        <p class="regular">Issues: <a href="https://github.com/eclipse/eclipse-collections/issues">GitHub issues</a></p>
+                        <p class="regular">lista de discussão: <a href="https://dev.eclipse.org/mailman/listinfo/collections-dev">collections-dev</a> </p>
+                        <p class="regular">Wiki: <a href="https://github.com/eclipse/eclipse-collections/wiki">GitHub wiki</a></p>
+                        <p class="regular">Forum: <a href="https://www.eclipse.org/forums/index.php?t=thread&amp;frm_id=329">Eclipse Collections Forum</a></p>
+                        <p class="regular">StackOverflow: tag com <a href="http://stackoverflow.com/questions/tagged/eclipse-collections">eclipse-collections</a></p>
+                </div>
+                <!-- /.col -->
+            </div>
+            <!-- /.row -->
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- Container Types -->
+
+
+    <div class="banner">
+
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-12">
+                    <h3>- Mais recursos, menos desperdício -</h3>
+                </div>
+            </div>
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- /.banner -->
+
+    <!-- Footer -->
+    <footer>
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-lg-12">
+                    <ul class="list-inline">
+                        <li>
+                            <p class="copyright text-muted small">Copyright &copy; 2016 The Eclipse Foundation. All Rights Reserved. </p>
+                        </li>
+                        <li class="footer-menu-divider">&sdot;</li>
+                        <li>
+                            <a class="small" href="http://www.eclipse.org/legal/privacy.php">Privacy</a>
+                        </li>
+                        <li class="footer-menu-divider">&sdot;</li>
+                        <li>
+                            <a class="small" href="http://www.eclipse.org/legal/termsofuse.php">Terms</a>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+        </div>
+    </footer>
+
+    <!-- jQuery -->
+    <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
+
+    <!-- Bootstrap Core JavaScript -->
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha256-KXn5puMvxCw+dAYznun+drMdG1IFl3agK0p/pqT9KAo= sha512-2e8qq0ETcfWRI4HJBzQiA3UoyFk6tbNyG+qSaIBZLyW9Xf3sWZHN/lxe9fTh1U45DpPf07yj94KsUHHWe4Yk1A==" crossorigin="anonymous"></script>
+
+    <!-- Google Code Prettify -->
+    <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?skin=sunburst"></script>
 </body>
 
 </html>
diff --git a/ru/index.html b/ru/index.html
index 581dde1..509464c 100644
--- a/ru/index.html
+++ b/ru/index.html
@@ -43,8 +43,8 @@
 
     <script>
         (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+                    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
         })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
         ga('create', 'UA-71645852-1', 'auto');
@@ -56,119 +56,120 @@
 
 <body>
 
-<!-- Navigation -->
-<nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
-    <div class="container topnav">
-        <!-- Brand and toggle get grouped for better mobile display -->
-        <div class="navbar-header">
-            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-                <span class="sr-only">Toggle navigation</span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-                <span class="icon-bar"></span>
-            </button>
-            <img src="../img/eclipse-collections-logo.png" style="width:175px;height:50px;" align="left" alt="Eclipse Collections">
+    <!-- Navigation -->
+    <nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
+        <div class="container topnav">
+            <!-- Brand and toggle get grouped for better mobile display -->
+            <div class="navbar-header">
+                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
+                    <span class="sr-only">Toggle navigation</span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                    <span class="icon-bar"></span>
+                </button>
+                <img src="../img/eclipse-collections-logo.png" style="width:175px;height:50px;" align="left" alt="Eclipse Collections">
+            </div>
+            <!-- Collect the nav links, forms, and other content for toggling -->
+            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+                <ul class="nav navbar-nav navbar-right">
+                    <li>
+                        <a href="#start">Обзор</a>
+                    </li>
+                    <li>
+                        <a href="#concept">Концепции</a>
+                    </li>
+                    <li>
+                        <a href="#learn">Учите</a>
+                    </li>
+                    <li>
+                        <a href="#history">История</a>
+                    </li>
+                    <li>
+                        <a href="#refGuide">Руководство</a>
+                    </li>
+                    <li>
+                        <a href="#sourceCode">Исходный код</a>
+                    </li>
+                    <li>
+                        <a href="#contribute">Участвуйте</a>
+                    </li>
+                    <li class="dropdown">
+                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
+                           aria-expanded="false">Javadoc<span class="caret"></span></a>
+                        <ul class="dropdown-menu">
+                            <li><a href="../javadoc/9.1.0">9.1.0</a></li>
+                            <li><a href="../javadoc/9.0.0">9.0.0</a></li>
+                            <li><a href="../javadoc/8.2.0">8.2.0</a></li>
+                            <li><a href="../javadoc/8.1.0">8.1.0</a></li>
+                            <li><a href="../javadoc/8.0.0">8.0.0</a></li>
+                            <li><a href="../javadoc/7.1.0">7.1.0</a></li>
+                        </ul>
+                    </li>
+                    <li class="dropdown">
+                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
+                           aria-expanded="false">Языки<span class="caret"></span></a>
+                        <ul class="dropdown-menu">
+                            <li><a href="../index.html">English</a></li>
+                            <li><a href="../cn/index.html">中文</a></li>
+                            <li><a href="../ja/index.html">日本語</a></li>
+                            <li><a href="">Русский</a></li>
+                            <li><a href="../pt-br/index.html">Português-Brasil</a></li>
+                        </ul>
+                    </li>
+                </ul>
+            </div>
+            <!-- /.navbar-collapse -->
         </div>
-        <!-- Collect the nav links, forms, and other content for toggling -->
-        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-            <ul class="nav navbar-nav navbar-right">
-                <li>
-                    <a href="#start">Обзор</a>
-                </li>
-                <li>
-                    <a href="#concept">Концепции</a>
-                </li>
-                <li>
-                    <a href="#learn">Учите</a>
-                </li>
-                <li>
-                    <a href="#history">История</a>
-                </li>
-                <li>
-                    <a href="#refGuide">Руководство</a>
-                </li>
-                <li>
-                    <a href="#sourceCode">Исходный код</a>
-                </li>
-                <li>
-                    <a href="#contribute">Участвуйте</a>
-                </li>
-                <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
-                       aria-expanded="false">Javadoc<span class="caret"></span></a>
-                    <ul class="dropdown-menu">
-                        <li><a href="../javadoc/9.1.0">9.1.0</a></li>
-                        <li><a href="../javadoc/9.0.0">9.0.0</a></li>
-                        <li><a href="../javadoc/8.2.0">8.2.0</a></li>
-                        <li><a href="../javadoc/8.1.0">8.1.0</a></li>
-                        <li><a href="../javadoc/8.0.0">8.0.0</a></li>
-                        <li><a href="../javadoc/7.1.0">7.1.0</a></li>
-                    </ul>
-                </li>
-                <li class="dropdown">
-                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
-                       aria-expanded="false">Языки<span class="caret"></span></a>
-                    <ul class="dropdown-menu">
-                        <li><a href="../index.html">English</a></li>
-                        <li><a href="../ja/index.html">日本語</a></li>
-                        <li><a href="">Русский</a></li>
-                        <li><a href="../pt-br/index.html">Português-Brasil</a></li>
-                    </ul>
-                </li>
-            </ul>
-        </div>
-        <!-- /.navbar-collapse -->
-    </div>
-    <!-- /.container -->
-</nav>
+        <!-- /.container -->
+    </nav>
 
 
-<!-- Header -->
-<a class="anchor" name="about"></a>
-<div class="intro-header">
-    <div class="container-fluid">
+    <!-- Header -->
+    <a class="anchor" name="about"></a>
+    <div class="intro-header">
+        <div class="container-fluid">
 
-        <div class="row">
-            <div class="col-lg-push-2 col-lg-8">
-                <div class="intro-message">
-                    <h1>Eclipse <span style="font-weight: 400">Collections</span></h1>
-                    <h3>- Функции, которые вы хотите, в коллекциях, которые вам нужны -</h3>
+            <div class="row">
+                <div class="col-lg-push-2 col-lg-8">
+                    <div class="intro-message">
+                        <h1>Eclipse <span style="font-weight: 400">Collections</span></h1>
+                        <h3>- Функции, которые вы хотите, в коллекциях, которые вам нужны -</h3>
+                    </div>
                 </div>
             </div>
+
         </div>
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- /.intro-header -->
 
-</div>
-<!-- /.intro-header -->
+    <!-- Page Content -->
 
-<!-- Page Content -->
+    <a class="anchor" name="start"></a>
+    <div class="content-section-a">
 
-<a class="anchor" name="start"></a>
-<div class="content-section-a">
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-lg-5 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Что такое<br>Eclipse Collections</h2>
+                    <p class="lead">Eclipse Collections - это самая лучшая библиотека коллекций для Java,
+                        доставляющая много удовольствия разработчикам программ.
 
-    <div class="container-fluid">
-        <div class="row">
-            <div class="col-lg-5 col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Что такое<br>Eclipse Collections</h2>
-                <p class="lead">Eclipse Collections - это самая лучшая библиотека коллекций для Java,
-                    доставляющая много удовольствия разработчикам программ.
-
-                    <br><br>Добавьте её к коду вашего проекта, используя систему
-                    сборки предпочитаемую вами!</p>
-            </div>
-            <div class="col-lg-7 col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#maven" data-toggle="tab">Maven</a></li>
-                    <li><a href="#gradle" data-toggle="tab">Gradle</a></li>
-                    <li><a href="#ivy" data-toggle="tab">Ivy</a></li>
-                    <li><a href="#download" data-toggle="tab">Download</a></li>
-                </ul>
-                <div id="dependencies" class="tab-content">
-                    <div class="tab-pane fade in active" id="maven">
+                        <br><br>Добавьте её к коду вашего проекта, используя систему
+                        сборки предпочитаемую вами!</p>
+                </div>
+                <div class="col-lg-7 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#maven" data-toggle="tab">Maven</a></li>
+                        <li><a href="#gradle" data-toggle="tab">Gradle</a></li>
+                        <li><a href="#ivy" data-toggle="tab">Ivy</a></li>
+                        <li><a href="#download" data-toggle="tab">Download</a></li>
+                    </ul>
+                    <div id="dependencies" class="tab-content">
+                        <div class="tab-pane fade in active" id="maven">
                             <pre  class="prettyprint">
 &lt;dependency&gt;
   &lt;groupId&gt;org.eclipse.collections&lt;/groupId&gt;
@@ -181,56 +182,56 @@
   &lt;artifactId&gt;eclipse-collections&lt;/artifactId&gt;
   &lt;version&gt;9.1.0&lt;/version>
 &lt;/dependency&gt;</pre>
-                    </div>
-                    <div class="tab-pane fade" id="gradle">
+                        </div>
+                        <div class="tab-pane fade" id="gradle">
                             <pre  class="prettyprint">
 compile 'org.eclipse.collections:eclipse-collections-api:9.1.0'
 compile 'org.eclipse.collections:eclipse-collections:9.1.0'</pre>
-                    </div>
-                    <div class="tab-pane fade" id="ivy">
+                        </div>
+                        <div class="tab-pane fade" id="ivy">
                             <pre  class="prettyprint">
 &lt;dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="9.1.0" /&gt;
 &lt;dependency org="org.eclipse.collections" name="eclipse-collections" rev="9.1.0" /&gt;</pre>
-                    </div>
-                    <div class="tab-pane fade" id="download">
+                        </div>
+                        <div class="tab-pane fade" id="download">
                             <pre class="prettyprint">
 <a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections-api/9.1.0">eclipse-collections-api-9.1.0.jar</a>
 <a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections/9.1.0">eclipse-collections-9.1.0.jar</a></pre>
-                    </div>
+                        </div>
 
+                    </div>
                 </div>
             </div>
+
         </div>
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Get Started -->
 
-</div>
-<!-- Get Started -->
+    <a class="anchor" name="concept"></a>
+    <div class="content-section-b">
 
-<a class="anchor" name="concept"></a>
-<div class="content-section-b">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-push-7 col-lg-5 col-sm-push-6  col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Богатые, выразительные и легко читаемые интерфейсы (API)</h2>
-                <p class="lead">
-                    Получите максимум эффективности от лямбда-выражений и ссылок на методы в Java 8,
-                    используя богатые интерфейсы, которые доступны прямо на ваших коллекциях.
-                </p>
-            </div>
-            <div class="col-lg-pull-5 col-lg-7 col-sm-pull-6  col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#method" data-toggle="tab">Eclipse Collections с ссылками на методы</a></li>
-                    <li><a href="#ec" data-toggle="tab">Eclipse Collections с лямбда-выражениями</a></li>
-                    <li><a href="#streams" data-toggle="tab">Java 8 Stream API</a></li>
-                </ul>
-                <div id="ec-vs-streams" class="tab-content">
-                    <div class="tab-pane fade in active" id="method">
+            <div class="row">
+                <div class="col-lg-push-7 col-lg-5 col-sm-push-6  col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Богатые, выразительные и легко читаемые интерфейсы (API)</h2>
+                    <p class="lead">
+                        Получите максимум эффективности от лямбда-выражений и ссылок на методы в Java 8,
+                        используя богатые интерфейсы, которые доступны прямо на ваших коллекциях.
+                    </p>
+                </div>
+                <div class="col-lg-pull-5 col-lg-7 col-sm-pull-6  col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#method" data-toggle="tab">Eclipse Collections с ссылками на методы</a></li>
+                        <li><a href="#ec" data-toggle="tab">Eclipse Collections с лямбда-выражениями</a></li>
+                        <li><a href="#streams" data-toggle="tab">Java 8 Stream API</a></li>
+                    </ul>
+                    <div id="ec-vs-streams" class="tab-content">
+                        <div class="tab-pane fade in active" id="method">
                             <pre  class="prettyprint lang-java">
 boolean anyPeopleHaveCats =
   this.people
@@ -243,8 +244,8 @@
 MutableList&lt;Person&gt; peopleWithCats =
   this.people
     .selectWith(Person::hasPet, PetType.CAT)</pre>
-                    </div>
-                    <div class="tab-pane fade" id="ec">
+                        </div>
+                        <div class="tab-pane fade" id="ec">
                             <pre  class="prettyprint lang-java">
 boolean anyPeopleHaveCats =
   this.people
@@ -257,8 +258,8 @@
 MutableList&lt;Person&gt; peopleWithCats =
   this.people
     .select(person -> person.hasPet(PetType.CAT));</pre>
-                    </div>
-                    <div class="tab-pane fade" id="streams">
+                        </div>
+                        <div class="tab-pane fade" id="streams">
                             <pre  class="prettyprint lang-java">
 boolean anyPeopleHaveCats =
   this.people
@@ -276,44 +277,44 @@
     .stream()
     .filter(person -> person.hasPet(PetType.CAT))
     .collect(Collectors.toList());</pre>
+                        </div>
                     </div>
+                    <!-- /.tab-content -->
                 </div>
-                <!-- /.tab-content -->
+                <!-- /.col -->
             </div>
-            <!-- /.col -->
+            <!-- /.row -->
+
         </div>
-        <!-- /.row -->
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Rich and fluent API -->
 
-</div>
-<!-- Rich and fluent API -->
+    <div class="content-section-a">
 
-<div class="content-section-a">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-5 col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Большое разнообразие структур данных, включая<br>
-                    неизменяемые коллекции, коллекции примитивных типов, Bimap, Multimap и Bag
-                </h2>
-                <p class="lead">
-                    Неизменяемые (immutable) коллекции, коллекции примитивных типов, Bimap ("инвертированный" словарь, можно найти ключ по значению),
-                    Multimap (мультисловари, словари с не уникальными ключами) и Bag (мультимножество, множество с повторяющимся элементами) -
-                    вы можете создать все эти разнообразные типы контейнеров, используя удобные и легко находимые фабрики.</p>
-            </div>
-            <div class="col-lg-7 col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#mutable" data-toggle="tab">Изменяемые коллекции</a></li>
-                    <li><a href="#immutable" data-toggle="tab">Неизменяемые коллекции</a></li>
-                    <li><a href="#primitives" data-toggle="tab">Коллекции примитивных типов</a></li>
-                </ul>
-                <div id="container-types" class="tab-content">
-                    <div class="tab-pane fade in active" id="mutable">
+            <div class="row">
+                <div class="col-lg-5 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Большое разнообразие структур данных, включая<br>
+                        неизменяемые коллекции, коллекции примитивных типов, Bimap, Multimap и Bag
+                    </h2>
+                    <p class="lead">
+                        Неизменяемые (immutable) коллекции, коллекции примитивных типов, Bimap ("инвертированный" словарь, можно найти ключ по значению),
+                        Multimap (мультисловари, словари с не уникальными ключами) и Bag (мультимножество, множество с повторяющимся элементами) -
+                        вы можете создать все эти разнообразные типы контейнеров, используя удобные и легко находимые фабрики.</p>
+                </div>
+                <div class="col-lg-7 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#mutable" data-toggle="tab">Изменяемые коллекции</a></li>
+                        <li><a href="#immutable" data-toggle="tab">Неизменяемые коллекции</a></li>
+                        <li><a href="#primitives" data-toggle="tab">Коллекции примитивных типов</a></li>
+                    </ul>
+                    <div id="container-types" class="tab-content">
+                        <div class="tab-pane fade in active" id="mutable">
                             <pre  class="prettyprint lang-java">
 // Инициализируем изменяемый список при помощи методов with empty(), of(), with()
 MutableList&lt;String&gt; mutableListEmpty =
@@ -336,8 +337,8 @@
   Multimaps.mutable.list.with("key1", "value1-1", "key1", "value1-2", "key2","value2-1");
 MutableBiMap&lt;String, String&gt; mutableBiMap =
   BiMaps.mutable.with("key1", "value1", "key2", "value2", "key3", "value3");</pre>
-                    </div>
-                    <div class="tab-pane fade" id="immutable">
+                        </div>
+                        <div class="tab-pane fade" id="immutable">
                             <pre  class="prettyprint lang-java">
 // Инициализируем неизменяемые списки при помощи методов with empty(), of(), with()
 ImmutableList&lt;String&gt; immutableListEmpty =
@@ -360,8 +361,8 @@
   Multimaps.immutable.list.with("key1", "value1-1", "key1", "value1-2", "key2","value2-1");
 ImmutableBiMap&lt;String, String&gt; immutableBiMap =
   BiMaps.immutable.with("key1", "value1", "key2", "value2", "key3", "value3");</pre>
-                    </div>
-                    <div class="tab-pane fade" id="primitives">
+                        </div>
+                        <div class="tab-pane fade" id="primitives">
                             <pre  class="prettyprint lang-java">
 //Изменяемые и неизменяемые контейнеры List, Set, Bag, Stack и Map существуют для всех примитивных типов
 MutableIntList intList =
@@ -394,83 +395,83 @@
 IntInterval evensFrom1To10 =
   IntInterval.evensFromTo(1, 10); // even ints from i to 10
 // [2, 4, 6, 8, 10]</pre>
+                        </div>
                     </div>
+                    <!-- /.tab-content -->
                 </div>
-                <!-- /.tab-content -->
+                <!-- /.col -->
             </div>
-            <!-- /.col -->
+            <!-- /.row -->
+
         </div>
-        <!-- /.row -->
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Container Types -->
 
-</div>
-<!-- Container Types -->
+    <a class="anchor" name="memory"></a>
+    <div class="content-section-b">
 
-<a class="anchor" name="memory"></a>
-<div class="content-section-b">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-push-6 col-lg-6 col-sm-push-6 col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Уменьшите расход памяти<br>при помощи коллекций с эффективным использованием памяти</h2>
-                <p class="lead">Eclipse Collections содержит оптимизированные по памяти реализации интерфейсов Set (множества) и Maps (словари),
-                    а также коллекции примитивных типов.</p>
-            </div>
-            <div class="col-lg-pull-6 col-lg-6 col-sm-pull-6 col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#set" data-toggle="tab">Sets</a></li>
-                    <li><a href="#map" data-toggle="tab">Maps</a></li>
-                    <li><a href="#ints" data-toggle="tab">Примитивные Коллекции</a></li>
-                </ul>
-                <div id="memory" class="tab-content">
-                    <div class="tab-pane fade in active" id="set">
-                        <img class="img-responsive" src="../img/set.png" alt="">
-                    </div>
-                    <div class="tab-pane fade" id="map">
-                        <img class="img-responsive" src="../img/map.png" alt="">
-                    </div>
-                    <div class="tab-pane fade" id="ints">
-                        <img class="img-responsive" src="../img/ints.png" alt="">
+            <div class="row">
+                <div class="col-lg-push-6 col-lg-6 col-sm-push-6 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Уменьшите расход памяти<br>при помощи коллекций с эффективным использованием памяти</h2>
+                    <p class="lead">Eclipse Collections содержит оптимизированные по памяти реализации интерфейсов Set (множества) и Maps (словари),
+                        а также коллекции примитивных типов.</p>
+                </div>
+                <div class="col-lg-pull-6 col-lg-6 col-sm-pull-6 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#set" data-toggle="tab">Sets</a></li>
+                        <li><a href="#map" data-toggle="tab">Maps</a></li>
+                        <li><a href="#ints" data-toggle="tab">Примитивные Коллекции</a></li>
+                    </ul>
+                    <div id="memory" class="tab-content">
+                        <div class="tab-pane fade in active" id="set">
+                            <img class="img-responsive" src="../img/set.png" alt="">
+                        </div>
+                        <div class="tab-pane fade" id="map">
+                            <img class="img-responsive" src="../img/map.png" alt="">
+                        </div>
+                        <div class="tab-pane fade" id="ints">
+                            <img class="img-responsive" src="../img/ints.png" alt="">
+                        </div>
                     </div>
                 </div>
             </div>
+
         </div>
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Memory footprint -->
 
-</div>
-<!-- Memory footprint -->
+    <a class="anchor" name="learn"></a>
+    <div class="content-section-a">
 
-<a class="anchor" name="learn"></a>
-<div class="content-section-a">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-5 col-sm-6">
-                <hr class="section-heading-spacer">
-                <div class="clearfix"></div>
-                <h2 class="section-heading">Выучите Eclipse Collections с помощью ката</h2>
-                <p class="lead">
-                    Ознакомьтесь с <a href="https://github.com/eclipse/eclipse-collections-kata">Eclipse Collections Ката</a> -
-                    это лёгкий и интересный способ выучить, как писать правильный, идиоматический код с Eclipse Collections.
-                    Эта ката состоит из последовательности тестов, которые изначально не проходят.
-                    Ваша задача - сделать так, чтобы тесты проходили, используя Eclipse Collections.
-                </p>
-            </div>
-            <div class="col-lg-7 col-sm-6">
-                <ul class="nav nav-tabs">
-                    <li class="active"><a href="#exercise" data-toggle="tab">Пример упражнения</a></li>
-                    <li><a href="#solution" data-toggle="tab">Пример решения</a></li>
-                </ul>
-                <div class="tab-content">
-                    <div class="tab-pane fade in active" id="exercise">
+            <div class="row">
+                <div class="col-lg-5 col-sm-6">
+                    <hr class="section-heading-spacer">
+                    <div class="clearfix"></div>
+                    <h2 class="section-heading">Выучите Eclipse Collections с помощью ката</h2>
+                    <p class="lead">
+                        Ознакомьтесь с <a href="https://github.com/eclipse/eclipse-collections-kata">Eclipse Collections Ката</a> -
+                        это лёгкий и интересный способ выучить, как писать правильный, идиоматический код с Eclipse Collections.
+                        Эта ката состоит из последовательности тестов, которые изначально не проходят.
+                        Ваша задача - сделать так, чтобы тесты проходили, используя Eclipse Collections.
+                    </p>
+                </div>
+                <div class="col-lg-7 col-sm-6">
+                    <ul class="nav nav-tabs">
+                        <li class="active"><a href="#exercise" data-toggle="tab">Пример упражнения</a></li>
+                        <li><a href="#solution" data-toggle="tab">Пример решения</a></li>
+                    </ul>
+                    <div class="tab-content">
+                        <div class="tab-pane fade in active" id="exercise">
                             <pre  class="prettyprint lang-java">
 @Test
 public void getFirstNamesOfAllPeople()
@@ -481,8 +482,8 @@
     Lists.mutable.with("Mary", "Bob", "Ted", "Jake", "Barry", "Terry", "Harry", "John");
   Assert.assertEquals(expectedFirstNames, firstNames);
 }</pre>
-                    </div>
-                    <div class="tab-pane fade" id="solution">
+                        </div>
+                        <div class="tab-pane fade" id="solution">
                             <pre  class="prettyprint lang-java">
 @Test
 public void getFirstNamesOfAllPeople()
@@ -493,176 +494,176 @@
     Lists.mutable.with("Mary", "Bob", "Ted", "Jake", "Barry", "Terry", "Harry", "John");
   Assert.assertEquals(expectedFirstNames, firstNames);
 }</pre>
+                        </div>
                     </div>
+                    <!-- /.tab-content -->
                 </div>
-                <!-- /.tab-content -->
+                <!-- /.col -->
             </div>
-            <!-- /.col -->
+            <!-- /.row -->
+
         </div>
-        <!-- /.row -->
+        <!-- /.container -->
 
     </div>
-    <!-- /.container -->
+    <!-- Kata -->
 
-</div>
-<!-- Kata -->
+    <a class="anchor" name="history"></a>
+    <div class="content-section-b">
 
-<a class="anchor" name="history"></a>
-<div class="content-section-b">
+        <div class="container-fluid">
 
-    <div class="container-fluid">
+            <h2 class="section-heading">История Eclipse Collections</h2>
+            <p class="lead">
+                Eclipse Collections имеет свои корни в фреймворке Caramel, созданном в компании Goldman Sachs в 2004 году.
+                С тех пор фреймворк развивался, и в 2012 году его исходный код был открыт на GitHub как проект под названием
+                <a href="https://github.com/goldmansachs/gs-collections">GS Collections</a>.
+                <br><br>
+                О GS Collections было рассказано на множестве
+                <a href="https://github.com/eclipse/eclipse-collections/wiki/Conference-talks-and-meetups">конференций</a>,
+                включая JVM Language Summit в 2012 году и JavaOne в 2014 году.
+                Сравнение производительности параллельных ленивых реализаций коллекций в Java 8, Scala и GS Collections было представлено в
+                <a href="http://www.infoq.com/presentations/java-streams-scala-parallel-collections">QCon New York</a> в 2014 году.
+                <a href="https://github.com/eclipse/eclipse-collections/wiki/Articles">Статьи</a> о GS Collections
+                (<a href="http://www.infoq.com/articles/GS-Collections-by-Example-1">Часть 1</a> /
+                <a href="http://www.infoq.com/articles/GS-Collections-by-Example-2">Часть 2</a>)
+                были опубликованы на сайте InfoQ.com, демонстрируя возможности фреймворка
+                на моногчисленных примерах. Они также включали и интервью с создателем GS Collections.
+                <br><br>
 
-        <h2 class="section-heading">История Eclipse Collections</h2>
-        <p class="lead">
-            Eclipse Collections имеет свои корни в фреймворке Caramel, созданном в компании Goldman Sachs в 2004 году.
-            С тех пор фреймворк развивался, и в 2012 году его исходный код был открыт на GitHub как проект под названием
-            <a href="https://github.com/goldmansachs/gs-collections">GS Collections</a>.
-            <br><br>
-            О GS Collections было рассказано на множестве
-            <a href="https://github.com/eclipse/eclipse-collections/wiki/Conference-talks-and-meetups">конференций</a>,
-            включая JVM Language Summit в 2012 году и JavaOne в 2014 году.
-            Сравнение производительности параллельных ленивых реализаций коллекций в Java 8, Scala и GS Collections было представлено в
-            <a href="http://www.infoq.com/presentations/java-streams-scala-parallel-collections">QCon New York</a> в 2014 году.
-            <a href="https://github.com/eclipse/eclipse-collections/wiki/Articles">Статьи</a> о GS Collections
-            (<a href="http://www.infoq.com/articles/GS-Collections-by-Example-1">Часть 1</a> /
-            <a href="http://www.infoq.com/articles/GS-Collections-by-Example-2">Часть 2</a>)
-            были опубликованы на сайте InfoQ.com, демонстрируя возможности фреймворка
-            на моногчисленных примерах. Они также включали и интервью с создателем GS Collections.
-            <br><br>
+                За эти годы около 40 разработчиков внесли исправления и дополнения в этот фреймворк, но все эти разработчики
+                были из одной компании (Goldman Sachs).
+                <br><br>
 
-            За эти годы около 40 разработчиков внесли исправления и дополнения в этот фреймворк, но все эти разработчики
-            были из одной компании (Goldman Sachs).
-            <br><br>
-
-            Чтобы полностью реализовать потенциал открытого проекта, фреймворк GS Collections перешёл в Eclipse Foundation,
-            и был соответственно переименован в Eclipse Collections в 2015 году. Теперь платформа Eclipse Collections доступна всем,
-            и любой разработчик может принять участие в её развитии!
-        </p>
-    </div>
-</div>
-
-<a class="anchor" name="refGuide"></a>
-<div class="content-section-a">
-    <div class="container-fluid">
-        <h2 class="section-heading">Руководство</h2>
-        <p class="lead">
-            Полное руководство по библиотеке можно найти на GitHub здесь:
-            <a href="https://github.com/eclipse/eclipse-collections/blob/master/docs/guide.md#eclipse-collections-reference-guide">Reference Guide</a> (англ.)
-        </p>
-    </div>
-    <!-- /.container -->
-
-</div>
-<!-- Reference Guide  -->
-<a class="anchor" name="sourceCode"></a>
-<div class="content-section-b">
-    <div class="container-fluid">
-        <h2 class="section-heading">Исходный Код</h2>
-        <p class="lead">
-            Исходный код находится на GitHub: <a href="https://github.com/eclipse/eclipse-collections">Eclipse Collections</a></p>.
-        </p>
-    </div>
-    <!-- /.container -->
-</div>
-<!-- Source Code  -->
-</div>
-<!-- Introduction  -->
-
-<a class="anchor" name="contribute"></a>
-<div class="content-footer">
-
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-4 col-sm-4">
-                <h3>Участие</h3>
-                <p class="regular">
-                    Мы приветсвуем ваше участие!
-                    <br><br>
-                    Вы можете ознакомиться с планом равития Eclipse Collections
-                    <a href="https://github.com/eclipse/eclipse-collections/wiki/Roadmap">здесь</a>.
-                    <br><br>
-                    Мы принимаем предложения на изменение кода через запросы на слияние ("pull request") в GitHub.
-                    Чтобы сделать свой вклад в проект, пожалуйста ознакомьтесь с этим документом:
-                    <a href="https://github.com/eclipse/eclipse-collections/blob/master/CONTRIBUTING.md">How To Contribute</a> (англ.)
-                </p>
-            </div>
-            <div class="col-lg-4 col-sm-4">
-                <h3>Новости проекта</h3>
-                <p class="regular">Eclipse Collections 9.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">выпущен</a> <a class="light">(Jan 1st 2018)</a></p>
-                <p class="regular">Eclipse Collections 9.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">выпущен</a> <a class="light">(Sep 21nd 2017)</a></p>
-                <p class="regular">Eclipse Collections 8.2.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.2.0">выпущен</a> <a class="light">(Jun 22nd 2017)</a></p>
-                <p class="regular">Eclipse Collections 8.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.1.0">выпущен</a> <a class="light">(Mar 16th 2017)</a></p>
-                <p class="regular">Eclipse Collections 8.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.0.0">выпущен</a> <a class="light">(Sep 8th 2016)</a></p>
-            </div>
-            <div class="col-lg-4 col-sm-4">
-                <h3>Полезные ссылки</h3>
-                <p class="regular">Eclipse PMI: <a href="https://projects.eclipse.org/projects/technology.collections">управление проектом на сайте eclipse</a></p>
-                <p class="regular">GitHub: <a href="https://github.com/eclipse/eclipse-collections">eclipse-collections</a></p>
-                <p class="regular">Трекер заявок: <a href="https://github.com/eclipse/eclipse-collections/issues">отслеживание заявок на GitHub</a></p>
-                <p class="regular">Список рассылки: <a href="https://dev.eclipse.org/mailman/listinfo/collections-dev">collections-dev</a></p>
-                <p class="regular">Wiki: <a href="https://github.com/eclipse/eclipse-collections/wiki">GitHub wiki</a></p>
-                <p class="regular">Форум: <a href="https://www.eclipse.org/forums/index.php?t=thread&amp;frm_id=329">Eclipse Collections Forum</a></p>
-                <p class="regular">StackOverflow: с пометкой (тегом) <a href="http://stackoverflow.com/questions/tagged/eclipse-collections">eclipse-collections</a></p>
-            </div>
-            <!-- /.col -->
-        </div>
-        <!-- /.row -->
-
-    </div>
-    <!-- /.container -->
-
-</div>
-<!-- Container Types -->
-
-
-<div class="banner">
-
-    <div class="container-fluid">
-
-        <div class="row">
-            <div class="col-lg-12">
-                <h3>- Больше функций, меньше трат -</h3>
-            </div>
-        </div>
-
-    </div>
-    <!-- /.container -->
-
-</div>
-<!-- /.banner -->
-
-<!-- Footer -->
-<footer>
-    <div class="container-fluid">
-        <div class="row">
-            <div class="col-lg-12">
-                <ul class="list-inline">
-                    <li>
-                        <p class="copyright text-muted small">Copyright &copy; 2016 The Eclipse Foundation. All Rights Reserved. </p>
-                    </li>
-                    <li class="footer-menu-divider">&sdot;</li>
-                    <li>
-                        <a class="small" href="http://www.eclipse.org/legal/privacy.php">Privacy</a>
-                    </li>
-                    <li class="footer-menu-divider">&sdot;</li>
-                    <li>
-                        <a class="small" href="http://www.eclipse.org/legal/termsofuse.php">Terms</a>
-                    </li>
-                </ul>
-            </div>
+                Чтобы полностью реализовать потенциал открытого проекта, фреймворк GS Collections перешёл в Eclipse Foundation,
+                и был соответственно переименован в Eclipse Collections в 2015 году. Теперь платформа Eclipse Collections доступна всем,
+                и любой разработчик может принять участие в её развитии!
+            </p>
         </div>
     </div>
-</footer>
 
-<!-- jQuery -->
-<script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
+    <a class="anchor" name="refGuide"></a>
+    <div class="content-section-a">
+        <div class="container-fluid">
+            <h2 class="section-heading">Руководство</h2>
+            <p class="lead">
+                Полное руководство по библиотеке можно найти на GitHub здесь:
+                <a href="https://github.com/eclipse/eclipse-collections/blob/master/docs/guide.md#eclipse-collections-reference-guide">Reference Guide</a> (англ.)
+            </p>
+        </div>
+        <!-- /.container -->
 
-<!-- Bootstrap Core JavaScript -->
-<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha256-KXn5puMvxCw+dAYznun+drMdG1IFl3agK0p/pqT9KAo= sha512-2e8qq0ETcfWRI4HJBzQiA3UoyFk6tbNyG+qSaIBZLyW9Xf3sWZHN/lxe9fTh1U45DpPf07yj94KsUHHWe4Yk1A==" crossorigin="anonymous"></script>
+    </div>
+    <!-- Reference Guide  -->
+    <a class="anchor" name="sourceCode"></a>
+    <div class="content-section-b">
+        <div class="container-fluid">
+            <h2 class="section-heading">Исходный Код</h2>
+            <p class="lead">
+                Исходный код находится на GitHub: <a href="https://github.com/eclipse/eclipse-collections">Eclipse Collections</a></p>.
+            </p>
+        </div>
+        <!-- /.container -->
+    </div>
+    <!-- Source Code  -->
+    </div>
+    <!-- Introduction  -->
 
-<!-- Google Code Prettify -->
-<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?skin=sunburst"></script>
+    <a class="anchor" name="contribute"></a>
+    <div class="content-footer">
+
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-4 col-sm-4">
+                    <h3>Участие</h3>
+                    <p class="regular">
+                        Мы приветсвуем ваше участие!
+                        <br><br>
+                        Вы можете ознакомиться с планом равития Eclipse Collections
+                        <a href="https://github.com/eclipse/eclipse-collections/wiki/Roadmap">здесь</a>.
+                        <br><br>
+                        Мы принимаем предложения на изменение кода через запросы на слияние ("pull request") в GitHub.
+                        Чтобы сделать свой вклад в проект, пожалуйста ознакомьтесь с этим документом:
+                        <a href="https://github.com/eclipse/eclipse-collections/blob/master/CONTRIBUTING.md">How To Contribute</a> (англ.)
+                    </p>
+                </div>
+                <div class="col-lg-4 col-sm-4">
+                    <h3>Новости проекта</h3>
+                    <p class="regular">Eclipse Collections 9.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">выпущен</a> <a class="light">(Jan 1st 2018)</a></p>
+                    <p class="regular">Eclipse Collections 9.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">выпущен</a> <a class="light">(Sep 21nd 2017)</a></p>
+                    <p class="regular">Eclipse Collections 8.2.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.2.0">выпущен</a> <a class="light">(Jun 22nd 2017)</a></p>
+                    <p class="regular">Eclipse Collections 8.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.1.0">выпущен</a> <a class="light">(Mar 16th 2017)</a></p>
+                    <p class="regular">Eclipse Collections 8.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.0.0">выпущен</a> <a class="light">(Sep 8th 2016)</a></p>
+                </div>
+                <div class="col-lg-4 col-sm-4">
+                    <h3>Полезные ссылки</h3>
+                        <p class="regular">Eclipse PMI: <a href="https://projects.eclipse.org/projects/technology.collections">управление проектом на сайте eclipse</a></p>
+                        <p class="regular">GitHub: <a href="https://github.com/eclipse/eclipse-collections">eclipse-collections</a></p>
+                        <p class="regular">Трекер заявок: <a href="https://github.com/eclipse/eclipse-collections/issues">отслеживание заявок на GitHub</a></p>
+                        <p class="regular">Список рассылки: <a href="https://dev.eclipse.org/mailman/listinfo/collections-dev">collections-dev</a></p>
+                        <p class="regular">Wiki: <a href="https://github.com/eclipse/eclipse-collections/wiki">GitHub wiki</a></p>
+                        <p class="regular">Форум: <a href="https://www.eclipse.org/forums/index.php?t=thread&amp;frm_id=329">Eclipse Collections Forum</a></p>
+                        <p class="regular">StackOverflow: с пометкой (тегом) <a href="http://stackoverflow.com/questions/tagged/eclipse-collections">eclipse-collections</a></p>
+                </div>
+                <!-- /.col -->
+            </div>
+            <!-- /.row -->
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- Container Types -->
+
+
+    <div class="banner">
+
+        <div class="container-fluid">
+
+            <div class="row">
+                <div class="col-lg-12">
+                    <h3>- Больше функций, меньше трат -</h3>
+                </div>
+            </div>
+
+        </div>
+        <!-- /.container -->
+
+    </div>
+    <!-- /.banner -->
+
+    <!-- Footer -->
+    <footer>
+        <div class="container-fluid">
+            <div class="row">
+                <div class="col-lg-12">
+                    <ul class="list-inline">
+                        <li>
+                            <p class="copyright text-muted small">Copyright &copy; 2016 The Eclipse Foundation. All Rights Reserved. </p>
+                        </li>
+                        <li class="footer-menu-divider">&sdot;</li>
+                        <li>
+                            <a class="small" href="http://www.eclipse.org/legal/privacy.php">Privacy</a>
+                        </li>
+                        <li class="footer-menu-divider">&sdot;</li>
+                        <li>
+                            <a class="small" href="http://www.eclipse.org/legal/termsofuse.php">Terms</a>
+                        </li>
+                    </ul>
+                </div>
+            </div>
+        </div>
+    </footer>
+
+    <!-- jQuery -->
+    <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script>
+
+    <!-- Bootstrap Core JavaScript -->
+    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha256-KXn5puMvxCw+dAYznun+drMdG1IFl3agK0p/pqT9KAo= sha512-2e8qq0ETcfWRI4HJBzQiA3UoyFk6tbNyG+qSaIBZLyW9Xf3sWZHN/lxe9fTh1U45DpPf07yj94KsUHHWe4Yk1A==" crossorigin="anonymous"></script>
+
+    <!-- Google Code Prettify -->
+    <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?skin=sunburst"></script>
 </body>
 
 </html>
