)]}'
{
  "log": [
    {
      "commit": "1c5554dedb0924689285a34489ec1d6b57d076e9",
      "tree": "873ce645c105d8201f2b1a361014a93246b958ac",
      "parents": [
        "366efb31c4b5f1a04490d76d2c1405de6bfe1697"
      ],
      "author": {
        "name": "lowasser",
        "email": "lowasser@google.com",
        "time": "Wed Oct 29 18:49:50 2014"
      },
      "committer": {
        "name": "The Guava Authors",
        "email": "guava-discuss@googlegroups.com",
        "time": "Thu Oct 30 14:07:01 2014"
      },
      "message": "Add an IteratorBasedAbstractMap class to simplify map implementations in common.collect.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78776528\n"
    },
    {
      "commit": "366efb31c4b5f1a04490d76d2c1405de6bfe1697",
      "tree": "4a091736b9047b8a5b3fdc894ac9e66ed1e979f1",
      "parents": [
        "86e4a8d67b1898c3a947f24c59c5ae720c86b975"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 16:33:18 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Oct 30 13:39:57 2014"
      },
      "message": "Introduce Multimap convenience methods (k0, v0, etc.), and migrate to them.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78763814\n"
    },
    {
      "commit": "86e4a8d67b1898c3a947f24c59c5ae720c86b975",
      "tree": "310efa4889e47dd00338765500bf57b0a826f9cf",
      "parents": [
        "7eed0f95640eed8d068a46ade7fc0a13f226c422"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 16:31:50 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Oct 30 13:39:57 2014"
      },
      "message": "Use Map convenience methods in a few more places.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78763717\n"
    },
    {
      "commit": "7eed0f95640eed8d068a46ade7fc0a13f226c422",
      "tree": "bd543b9a8323985b77b9eea1479823896536153b",
      "parents": [
        "9370140be0c19cb27d47c6185fe232ef9000a6b8"
      ],
      "author": {
        "name": "kak",
        "email": "kak@google.com",
        "time": "Wed Oct 29 15:31:10 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Oct 30 13:39:57 2014"
      },
      "message": "Replace instances of CollectionSubject with IterableSubject (the former has\nbeen deprecated and will be removed soon).\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78759479\n"
    },
    {
      "commit": "9370140be0c19cb27d47c6185fe232ef9000a6b8",
      "tree": "da60634b357fe46f9d9d5d0adcbfe4a55aa12386",
      "parents": [
        "730a5d308a4e5e3423ff3f3eea1209072a8e6e75"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 14:49:08 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Oct 30 13:39:57 2014"
      },
      "message": "Add convenience methods for e0().getKey(), etc., and migrate to them.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78756685\n"
    },
    {
      "commit": "730a5d308a4e5e3423ff3f3eea1209072a8e6e75",
      "tree": "67973d1bb0b073e81fa62a41c50dd40a97a27306",
      "parents": [
        "e052e3edf713c0c20dc5ab8ee98d3fde09473727"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 14:37:36 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Oct 30 13:39:56 2014"
      },
      "message": "Add convenience methods for samples.e0(), etc., and migrate to them.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78756024\n"
    },
    {
      "commit": "e052e3edf713c0c20dc5ab8ee98d3fde09473727",
      "tree": "cc2d0b9409ae9e4e19d80a0f560d7f3e388c0052",
      "parents": [
        "d6a9346dd6ca7170756a2a6d939d7b55384229ac"
      ],
      "author": {
        "name": "kak",
        "email": "kak@google.com",
        "time": "Wed Oct 29 14:33:55 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Oct 30 13:39:54 2014"
      },
      "message": "Migrate off of deprecated CollectionSubject.has().exactly(...).\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78755738\n"
    },
    {
      "commit": "d6a9346dd6ca7170756a2a6d939d7b55384229ac",
      "tree": "e2cd37dbf33c72f27ebce95b15d6f536c835e359",
      "parents": [
        "b8515f3f490f3f9d3127570e9ac21c4a7c59d586"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Tue Oct 28 17:04:41 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:52 2014"
      },
      "message": "Hide samples.e0, etc. behind methods.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78677562\n"
    },
    {
      "commit": "b8515f3f490f3f9d3127570e9ac21c4a7c59d586",
      "tree": "8abcb9bf85ae6c1687f31b23c5886486f4b1ccbb",
      "parents": [
        "069cd931ef9fca21860217fea540fff6fc9530de"
      ],
      "author": {
        "name": "kak",
        "email": "kak@google.com",
        "time": "Tue Oct 28 14:42:31 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:51 2014"
      },
      "message": "Clean up usages of deprecated Truth has() Collection methods:\n-has().item(...) -\u003e contains(...)\n-has().allOf(...) -\u003e containsAllOf(...)\n-has().exactly(...) -\u003e containsExactly(...)\n-has().exactlyAs(...) -\u003e containsExactlyElementsIn(...)\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78667656\n"
    },
    {
      "commit": "069cd931ef9fca21860217fea540fff6fc9530de",
      "tree": "4ff9404b45aecc680d5bfef4ea668796b6c61840",
      "parents": [
        "50169063389b5dede9fba4f36895d66f9f479c80"
      ],
      "author": {
        "name": "kak",
        "email": "kak@google.com",
        "time": "Tue Oct 28 14:36:29 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:51 2014"
      },
      "message": "Clean up usages of deprecated Truth has() Collection methods:\n-has().item(...) -\u003e contains(...)\n-has().allOf(...) -\u003e containsAllOf(...)\n-has().exactly(...) -\u003e containsExactly(...)\n-has().exactlyAs(...) -\u003e containsExactlyElementsIn(...)\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78667341\n"
    },
    {
      "commit": "50169063389b5dede9fba4f36895d66f9f479c80",
      "tree": "145409864b01857c9dff701bce46d1304112f9d6",
      "parents": [
        "e12c62dc17ad21c2fc8a9a918c159f661ee2f202"
      ],
      "author": {
        "name": "kak",
        "email": "kak@google.com",
        "time": "Tue Oct 28 14:34:45 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:51 2014"
      },
      "message": "Clean up usages of deprecated Truth has() Collection methods:\n-has().item(...) -\u003e contains(...)\n-has().allOf(...) -\u003e containsAllOf(...)\n-has().exactly(...) -\u003e containsExactly(...)\n-has().exactlyAs(...) -\u003e containsExactlyElementsIn(...)\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78667251\n"
    },
    {
      "commit": "e12c62dc17ad21c2fc8a9a918c159f661ee2f202",
      "tree": "e0f4304740859554386f272f2a732439bd2f103a",
      "parents": [
        "da04fede442227bba94623e0a184f4dbed68552d"
      ],
      "author": {
        "name": "kak",
        "email": "kak@google.com",
        "time": "Tue Oct 28 14:21:46 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:51 2014"
      },
      "message": "Clean up usages of deprecated Truth has() Collection methods:\n-has().item(...) -\u003e contains(...)\n-has().allOf(...) -\u003e containsAllOf(...)\n-has().exactly(...) -\u003e containsExactly(...)\n-has().exactlyAs(...) -\u003e containsExactlyElementsIn(...)\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78666537\n"
    },
    {
      "commit": "da04fede442227bba94623e0a184f4dbed68552d",
      "tree": "1cfdd25e3e27c52266dde6b238de27fed5902275",
      "parents": [
        "6d55c174c91f5ff4c9a26956227b111c1fc15e7e"
      ],
      "author": {
        "name": "kak",
        "email": "kak@google.com",
        "time": "Tue Oct 28 13:43:58 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:51 2014"
      },
      "message": "Clean up usages of deprecated Truth has() Collection methods:\n-has().item(...) -\u003e contains(...)\n-has().allOf(...) -\u003e containsAllOf(...)\n-has().exactly(...) -\u003e containsExactly(...)\n-has().exactlyAs(...) -\u003e containsExactlyElementsIn(...)\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78664552\n"
    },
    {
      "commit": "6d55c174c91f5ff4c9a26956227b111c1fc15e7e",
      "tree": "21f2965a51c89d8ede8b2795bcf18ec64d320f85",
      "parents": [
        "2a35e947679a898d86ee9f655f6b121b3c75d1f4"
      ],
      "author": {
        "name": "lowasser",
        "email": "lowasser@google.com",
        "time": "Mon Oct 27 17:12:26 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:51 2014"
      },
      "message": "Add comment to apparently unused line in LongAddables.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78588590\n"
    },
    {
      "commit": "2a35e947679a898d86ee9f655f6b121b3c75d1f4",
      "tree": "6a0c96f2b64a9331e541f1d204088ab5e3a4d4e3",
      "parents": [
        "810e9ec4d94baff856d12905ec26390c6be09eee"
      ],
      "author": {
        "name": "kak",
        "email": "kak@google.com",
        "time": "Fri Oct 24 23:04:16 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:51 2014"
      },
      "message": "Migrate off of deprecated Truth methods (created using Refaster)\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78472045\n"
    },
    {
      "commit": "810e9ec4d94baff856d12905ec26390c6be09eee",
      "tree": "e18212c106cd6b1d968f1e076d690732ef7c5d29",
      "parents": [
        "9113082b77c6f80e0d4d80b24eb16bcee1a23a08"
      ],
      "author": {
        "name": "kak",
        "email": "kak@google.com",
        "time": "Fri Oct 24 22:56:56 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:51 2014"
      },
      "message": "Migrate off of deprecated Truth methods (created using Refaster)\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78471461\n"
    },
    {
      "commit": "9113082b77c6f80e0d4d80b24eb16bcee1a23a08",
      "tree": "e69c6897e936abc94171a78c128fb114f5768781",
      "parents": [
        "582bce8560ea41d8adbbfc5d6ce7fbed5b9fdf66"
      ],
      "author": {
        "name": "kak",
        "email": "kak@google.com",
        "time": "Fri Oct 24 22:56:25 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:51 2014"
      },
      "message": "Migrate off of deprecated Truth methods (created using Refaster)\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78471417\n"
    },
    {
      "commit": "582bce8560ea41d8adbbfc5d6ce7fbed5b9fdf66",
      "tree": "967bf98d9c1707dbc45e2a1d5b5835e3b532a42d",
      "parents": [
        "d4c5140a957592d78bd66c40751cb1bcc9cac198"
      ],
      "author": {
        "name": "kak",
        "email": "kak@google.com",
        "time": "Fri Oct 24 22:48:04 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:48 2014"
      },
      "message": "Migrate off of deprecated Truth methods (created using Refaster)\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78470770\n"
    },
    {
      "commit": "d4c5140a957592d78bd66c40751cb1bcc9cac198",
      "tree": "e258e870e2e54840ac3835831d222e9621377a13",
      "parents": [
        "24c27151be5afdcf58c03565e56d27f8a84e1407"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Fri Oct 24 19:37:35 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:48 2014"
      },
      "message": "Added Ping-From and Ping-To headers associated with \u003ca ping\u003e.\n\nThe spec for \u003ca ping\u003e adds two new HTTP headers that may be sent with\na ping request. See\nhttp://html.spec.whatwg.org/multipage/semantics.html#hyperlink-auditing.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78456250\n"
    },
    {
      "commit": "24c27151be5afdcf58c03565e56d27f8a84e1407",
      "tree": "60fc95435433784a24c556db0b0eb2e576bc29d0",
      "parents": [
        "2c7ff3dc85e60e86d78283d46f7d1c8546a6aaca"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Fri Oct 24 14:14:22 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:48 2014"
      },
      "message": "Remove the array copy from Fingerprint2011.hashBytes(byte[], int, int) method.\n\nConclusion: for hashFunctionWithOffset the improvements are visible in terms of bytes used, but also in terms of execution speed (before: 297,340; after: 173,506). Interestingly enough, there are small improvements for the hashBytes without offset version (before: 184,860; after: 164,804).\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78433787\n"
    },
    {
      "commit": "2c7ff3dc85e60e86d78283d46f7d1c8546a6aaca",
      "tree": "a44c40f55b55bceaf7ec7c71f56afd63ef4d8bda",
      "parents": [
        "533a9460e0b2fec39fe74e7a3cd9a0ea353b1453"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Oct 23 17:10:36 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 18:07:46 2014"
      },
      "message": "Roll-forward of: Change CountingInputStream and CountingOutputStream to require a non-null delegate stream, as reported in...\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78358518\n"
    },
    {
      "commit": "533a9460e0b2fec39fe74e7a3cd9a0ea353b1453",
      "tree": "3d548805fe638ed42b6278e6edd71341200a74bb",
      "parents": [
        "ca9e7f9c32762531c134afef7f6f40e53b96a8b7"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Oct 23 16:44:38 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 17:56:27 2014"
      },
      "message": "Rollback of: Change CountingInputStream and CountingOutputStream to require a non-null delegate stream, as reported in Guava issue #1869.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78356364\n"
    },
    {
      "commit": "ca9e7f9c32762531c134afef7f6f40e53b96a8b7",
      "tree": "a44c40f55b55bceaf7ec7c71f56afd63ef4d8bda",
      "parents": [
        "945a200eabe24528307f08a51689f54c12a25053"
      ],
      "author": {
        "name": "cgdecker",
        "email": "cgdecker@google.com",
        "time": "Thu Oct 23 16:25:11 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 17:56:24 2014"
      },
      "message": "Change CountingInputStream and CountingOutputStream to require a non-null delegate stream, as reported in Guava issue #1869.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78355152\n"
    },
    {
      "commit": "945a200eabe24528307f08a51689f54c12a25053",
      "tree": "3d548805fe638ed42b6278e6edd71341200a74bb",
      "parents": [
        "cef87687204b7cf2a6dfb49f5fcdad7e613281a8"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Tue Oct 21 15:46:11 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 17:56:22 2014"
      },
      "message": "Improve error message.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78174362\n"
    },
    {
      "commit": "cef87687204b7cf2a6dfb49f5fcdad7e613281a8",
      "tree": "dc9c53ef187e02a545cf15e5cc67d40540decb44",
      "parents": [
        "6e5761cf8f64cfb78e44d50851dace43ededcbc1"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Oct 21 00:04:48 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 17:56:20 2014"
      },
      "message": "Update public suffix patterns.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78130620\n"
    },
    {
      "commit": "6e5761cf8f64cfb78e44d50851dace43ededcbc1",
      "tree": "e8271e016c81560e2f420564bf941e073a10be19",
      "parents": [
        "809807e352656f02b422e44ed22cca9dee5d5ecd"
      ],
      "author": {
        "name": "kak",
        "email": "kak@google.com",
        "time": "Mon Oct 20 21:48:19 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 17:56:14 2014"
      },
      "message": "Update Guava to Truth 0.24\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78118999\n"
    },
    {
      "commit": "809807e352656f02b422e44ed22cca9dee5d5ecd",
      "tree": "d4731afc7ca6b2b3b1e18322bb4ceceab347c22a",
      "parents": [
        "bece9ef0a577758f8f973de1cdee5853f60df468"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Oct 20 18:12:47 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 17:56:13 2014"
      },
      "message": "Fix @since documentation tags.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d78101179\n"
    },
    {
      "commit": "bece9ef0a577758f8f973de1cdee5853f60df468",
      "tree": "9dd1bc003d94afa817732fd99b654c107c22091e",
      "parents": [
        "af3f8d18044ae5854deaa16fd534731490b49d97"
      ],
      "author": {
        "name": "cpovirk",
        "email": "cpovirk@google.com",
        "time": "Fri Oct 17 18:39:46 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 17:55:51 2014"
      },
      "message": "Avoid importing BitSet for Javadoc-only usage.\nWe\u0027ve gotten reports that this breaks things in GWT: https://code.google.com/p/guava-libraries/issues/detail?id\u003d1824\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d77957959\n"
    },
    {
      "commit": "af3f8d18044ae5854deaa16fd534731490b49d97",
      "tree": "4cbd91c6ee4a940dff2130f5818d91dc743eb00f",
      "parents": [
        "f2a818b2890f8df36b02387a36e18a5152662d73"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Oct 16 23:28:50 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Oct 29 17:55:47 2014"
      },
      "message": "This CL fixes null annotations in com.google.common.primitives\n\nThe annotations on the tryParse() methods are inconsistent. Many of them don\u0027t have @Nullable annotations. This is problematic, because: a) the method can return null; and b) the package itself is annotated with @ParametersAreNonnullByDefault. This causes Eclipse to display dead code warnings when checking the return value from these methods.\n\nI\u0027ve included the @CheckForNull annotation, since I saw you guys using it already. Technically, this isn\u0027t required and @Nullable by itself should be fine. But it doesn\u0027t hurt to have both. Also Eclipse doesn\u0027t understand @CheckForNull.\n\nI also threw in a few @Nullable on equals() methods that were missing.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d77896210\n"
    },
    {
      "commit": "f2a818b2890f8df36b02387a36e18a5152662d73",
      "tree": "5400506a760d2f6f2e4bcc077244e43395a209cc",
      "parents": [
        "12a130a3b37b3a4917ade78e16954ca668e5b980"
      ],
      "author": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Thu Oct 09 20:56:56 2014"
      },
      "committer": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Thu Oct 09 20:56:56 2014"
      },
      "message": "Ensure that using a rate of Double.MIN_VALUE (the smallest positive double value) results in an effectively zero rate. It currently seems unlimited.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d77276457\n"
    },
    {
      "commit": "12a130a3b37b3a4917ade78e16954ca668e5b980",
      "tree": "fe4e85dc10c0cf668d9ba1d1dc2b0f3b45a0c81e",
      "parents": [
        "d0a0c8fb1c7df372e617878c1d8414861558637d"
      ],
      "author": {
        "name": "lowasser",
        "email": "lowasser@google.com",
        "time": "Tue Sep 30 20:48:27 2014"
      },
      "committer": {
        "name": "Anonymous",
        "email": "guava-discuss@googlegroups.com",
        "time": "Wed Oct 01 13:12:57 2014"
      },
      "message": "Small step first: rename and clarify the meaning of ImprovedAbstractMap, now ViewCachingAbstractMap.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76723220\n"
    },
    {
      "commit": "d0a0c8fb1c7df372e617878c1d8414861558637d",
      "tree": "e0f1d513ab63a977e719f56965abe2f318a43a81",
      "parents": [
        "f7e4a609d40d6ff422e5c90c860525b45b526250"
      ],
      "author": {
        "name": "lowasser",
        "email": "lowasser@google.com",
        "time": "Fri Sep 26 21:19:14 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Sep 29 15:19:37 2014"
      },
      "message": "Add copyOf(Iterable\u003cEntry\u003e) to ImmutableMap, ImmutableMultimap, and their subtypes.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76459632\n"
    },
    {
      "commit": "f7e4a609d40d6ff422e5c90c860525b45b526250",
      "tree": "74cb6492f4aa7d115158bce519dae9a89c1ae2d0",
      "parents": [
        "366da0b7956e2ae3e794c0d600d21e5dc7a404f0"
      ],
      "author": {
        "name": "lowasser",
        "email": "lowasser@google.com",
        "time": "Fri Sep 26 18:57:30 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Sep 29 15:17:07 2014"
      },
      "message": "Move indexMap to a more logical location.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76448806\n"
    },
    {
      "commit": "366da0b7956e2ae3e794c0d600d21e5dc7a404f0",
      "tree": "41ace8916a49d7fdd5b02498c06b95fb0a8b7e5d",
      "parents": [
        "5f62e2b41cbbcc3191d2c021b56d2f1a9d4a41b2"
      ],
      "author": {
        "name": "lowasser",
        "email": "lowasser@google.com",
        "time": "Thu Sep 25 22:10:13 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Sep 29 15:02:10 2014"
      },
      "message": "Dedup logic in ImmutableEnumMap that is available elsewhere.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76375623\n"
    },
    {
      "commit": "5f62e2b41cbbcc3191d2c021b56d2f1a9d4a41b2",
      "tree": "afc4cd39bcb0221d4d0550b6a80763dad41c3e13",
      "parents": [
        "4ce29b4cec61bb122cdbf833b487f90f250c4a55"
      ],
      "author": {
        "name": "lowasser",
        "email": "lowasser@google.com",
        "time": "Thu Sep 25 17:12:27 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Sep 29 14:59:43 2014"
      },
      "message": "In ImmutableMap.keySet().iterator(), transform the entrySet iterator rather than transforming its asList view, for the cases where that is not efficient.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76351252\n"
    },
    {
      "commit": "4ce29b4cec61bb122cdbf833b487f90f250c4a55",
      "tree": "b1640b9fa334ff8f10e7d4e942e881828a8c9106",
      "parents": [
        "055f93996fe9dba92972a7a1742b182fd80ed133"
      ],
      "author": {
        "name": "lowasser",
        "email": "lowasser@google.com",
        "time": "Thu Sep 25 17:06:37 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Sep 29 14:57:21 2014"
      },
      "message": "Inline Maps.valueIterator(UnmodifiableIterator\u003cEntry\u003e) into its one call site\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76350780\n"
    },
    {
      "commit": "055f93996fe9dba92972a7a1742b182fd80ed133",
      "tree": "8145ac13793eb35675db6152822bcfd57e491594",
      "parents": [
        "1c73b2d932d3951ebee432c11c0f5aac9ea1b696"
      ],
      "author": {
        "name": "lowasser",
        "email": "lowasser@google.com",
        "time": "Thu Sep 25 17:05:35 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Sep 29 14:53:36 2014"
      },
      "message": "Add a common superclass for ImmutableMap implementations that create a custom Iterator to iterate, reducing the total number of nested classes.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76350704\n"
    },
    {
      "commit": "1c73b2d932d3951ebee432c11c0f5aac9ea1b696",
      "tree": "139025f1e6b79cde047d685212c3ab998f8c1f43",
      "parents": [
        "3308540179837605b325eaff23c7af4bcf1668ec"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 24 18:52:01 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 25 14:02:37 2014"
      },
      "message": "Establish RangeMap iteration order, as per Guava issue 1842.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76272760\n"
    },
    {
      "commit": "3308540179837605b325eaff23c7af4bcf1668ec",
      "tree": "9414657f0d6d8eeb59d9de69ec2cbd7653b1a51d",
      "parents": [
        "8aa58da247d453622e39a979d3194eb3352c2b0d"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 24 17:58:37 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 25 14:02:37 2014"
      },
      "message": "Reuse ImmutableMap.EMPTY_ENTRY_ARRAY in other ImmutableMap types\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76267320\n"
    },
    {
      "commit": "8aa58da247d453622e39a979d3194eb3352c2b0d",
      "tree": "0c88b5c1c792b122d7a1f975ca7fabf887cf3ad1",
      "parents": [
        "7f63fa933180d475bb39f7bd73f100ae0278c544"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 24 17:28:55 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 25 14:02:37 2014"
      },
      "message": "Eliminate varargs-accepting create() method, which was never called with multiple arguments.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76264541\n"
    },
    {
      "commit": "7f63fa933180d475bb39f7bd73f100ae0278c544",
      "tree": "3e00b466ee39dd0226f8c583f63d18aab9907fa3",
      "parents": [
        "77f624b3851403ee2714616513457df9e1b04325"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 24 14:55:48 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 25 14:01:21 2014"
      },
      "message": "Return to scrubbing cgdecker\u0027s username, which we temporarily stopped doing in 69045357f5b4.\nWe will finally stop scrubbing it again when the standard MOE binary is rebuilt with CL 75843182.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76253324\n"
    },
    {
      "commit": "77f624b3851403ee2714616513457df9e1b04325",
      "tree": "f23cef62a93816ff1a6c38a429b9d8d556631d85",
      "parents": [
        "842efacbd00611778a4b33d917be6f71542259a8"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 21:14:03 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 24 13:31:08 2014"
      },
      "message": "Simplify ImmutableMap.asMultimap().\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76196628\n"
    },
    {
      "commit": "842efacbd00611778a4b33d917be6f71542259a8",
      "tree": "cb6a12524ae3f5fa10f5494cf26d82a72db6c2b3",
      "parents": [
        "544b57a25702ee58b9b87c3673b8748352a429e3"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:56:16 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 24 13:31:03 2014"
      },
      "message": "Dedup conflict checks and get(Object) implementation between RegularImmutableMap and RegularImmutableBiMap.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76194662\n"
    },
    {
      "commit": "544b57a25702ee58b9b87c3673b8748352a429e3",
      "tree": "2c6bb60e90d9871a1ee814cadd92415ed09f5bcf",
      "parents": [
        "95f7a46fe582c870be38b3bc6d4a1bf9938593f3"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:17:35 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 24 12:59:44 2014"
      },
      "message": "copyOfEnumMap only gets called with an EnumMap, so narrow its parameter type from Map to EnumMap.\n\nThis also makes it clearer that copyOf on an empty EnumMap will succeed.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76190743\n"
    },
    {
      "commit": "95f7a46fe582c870be38b3bc6d4a1bf9938593f3",
      "tree": "9dedecd63d39b7f68e9eb6e5f6d5702ee7adeaa2",
      "parents": [
        "c2748c69b3a77f55990486130a139a161b3e12b2"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 19:48:21 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 24 12:59:42 2014"
      },
      "message": "TerminalEntry\u0027s constructor already calls checkEntryNotNull; no need to do it again.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76188203\n"
    },
    {
      "commit": "c2748c69b3a77f55990486130a139a161b3e12b2",
      "tree": "5f1aefd075c4a549ad053fc7c2b42f2d463fc3cf",
      "parents": [
        "0bb9c27ab75205ffefba86cbb6cc4a3b4ceec988"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 18:46:53 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 24 12:59:41 2014"
      },
      "message": "Factor out an array-backed ImmutableMapEntrySet to use in RegularImmutableMap and RegularImmutableBiMap.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76182964\n"
    },
    {
      "commit": "0bb9c27ab75205ffefba86cbb6cc4a3b4ceec988",
      "tree": "6f7402e2985cb7c0580ab1c9efec1e0594045145",
      "parents": [
        "eec87b8bc4844859756ccaf88a405836e5e561da"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 17:42:19 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 24 12:59:40 2014"
      },
      "message": "Investigate possible deduplication between RegularImmutableMap and RegularImmutableBiMap.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76176371\n"
    },
    {
      "commit": "eec87b8bc4844859756ccaf88a405836e5e561da",
      "tree": "c9ab0ba4fe2e9a64d70e72f62433c2cbb0c14a7b",
      "parents": [
        "7ae4ac4474915b4b8d4ec419c93aa93829ec464a"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 17:14:18 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 24 12:59:38 2014"
      },
      "message": "Delete unused SingletonImmutableBiMap(Entry) constructor.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76173755\n"
    },
    {
      "commit": "7ae4ac4474915b4b8d4ec419c93aa93829ec464a",
      "tree": "fc11f6896193e0d26e21b59f8b9330fbed1c89ce",
      "parents": [
        "8061999c2ae5a914ae765c1bdc373b9cc4ee70d0"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Sep 22 21:44:48 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:16 2014"
      },
      "message": "One last (?) round of presizing builders where possible in common.collect.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d76105103\n"
    },
    {
      "commit": "8061999c2ae5a914ae765c1bdc373b9cc4ee70d0",
      "tree": "47dab3ae0cc22a12729cbd4c418e97e23c4352e1",
      "parents": [
        "f2fb1352a5ee1b808635f699b93311698d9c5bef"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Fri Sep 19 20:27:45 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:15 2014"
      },
      "message": "Refactor the three places in common.collect that we convert a List\u003cE\u003e to an ImmutableMap\u003cE, Integer\u003e.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75926603\n"
    },
    {
      "commit": "f2fb1352a5ee1b808635f699b93311698d9c5bef",
      "tree": "c76d1932c9acfac2dcd6d364e9032162fd76bfdb",
      "parents": [
        "390198de59b9c782b6749eab0af8d55a20e965a5"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 18 23:18:50 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:14 2014"
      },
      "message": "Refactor ImmutableSortedMap construction paths.  The previous implementation did some redundant copying.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75853973\n"
    },
    {
      "commit": "390198de59b9c782b6749eab0af8d55a20e965a5",
      "tree": "86fac68573a4a871b1f17fb6b1adc2fb3fbd711b",
      "parents": [
        "a25328617843ad6faf88fdd20634a68d8b8267b8"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 18 22:50:30 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:13 2014"
      },
      "message": "Presize the ImmutableMap.Builder used in ImmutableMultiset construction.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75851783\n"
    },
    {
      "commit": "a25328617843ad6faf88fdd20634a68d8b8267b8",
      "tree": "d1e6e5ced9fdb07fa7d313772c11c4df0d971a56",
      "parents": [
        "620e1ea516dd68329a0cf8c4dfffdc28f527927c"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 18 22:19:06 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:11 2014"
      },
      "message": "Make ImmutableCollection.contains abstract, and fix some embarrassing oversights of where it should have been overridden.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75849013\n"
    },
    {
      "commit": "620e1ea516dd68329a0cf8c4dfffdc28f527927c",
      "tree": "e531b3db16dc1e1302d7ac6fd1d76284963d251e",
      "parents": [
        "770d751a62053a9bea928e42823c42dcd6a4e2d2"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 18 19:37:44 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:10 2014"
      },
      "message": "Add ImmutableBiMap.Builder.put(Entry) overload, which had previously not been overridden from ImmutableMap.Builder.  Now, it correctly returns ImmutableBiMap.Builder.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75833810\n"
    },
    {
      "commit": "770d751a62053a9bea928e42823c42dcd6a4e2d2",
      "tree": "eab7c8140c6d58fc503f489e675adcdf87b18615",
      "parents": [
        "01b8a2c4d4cfb32ced9143560b75f26fd2923e67"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 17 20:21:15 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:09 2014"
      },
      "message": "Expand and improve uses of Ordering.immutableSortedCopy in common.collect.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75744632\n"
    },
    {
      "commit": "01b8a2c4d4cfb32ced9143560b75f26fd2923e67",
      "tree": "34bd9909e9b50ad6878a7fca4c7988cf2112a565",
      "parents": [
        "3b47a3006a9ee32731107b080923d718444ad0fd"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Sep 15 18:16:59 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:08 2014"
      },
      "message": "Don\u0027t frontload CharMatcher.toString() computation, that\u0027s silly.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75555670\n"
    },
    {
      "commit": "3b47a3006a9ee32731107b080923d718444ad0fd",
      "tree": "89bf2d6f7611a55540405573193e0b6a164b8768",
      "parents": [
        "e7f902c768e974552f954a1a55970d6ef39dc6fb"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Sep 15 16:32:30 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:07 2014"
      },
      "message": "Actually, LocalCache.getIfPresent _does_ increment the hits counter.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75546548\n"
    },
    {
      "commit": "e7f902c768e974552f954a1a55970d6ef39dc6fb",
      "tree": "1094874cfaad4c25603483833bf1e2935b2f5ce8",
      "parents": [
        "0b4e7e5df7f985026f731f10f2c37a44543a5355"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Sep 15 15:26:48 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:06 2014"
      },
      "message": "Fixed a FreshValueGenerator bug that causes failure in generating fresh values recursively when there are finite number of distinct values provided by user.\n\nThe fix is to make sure the \"freshness\" AtomicInteger is only incremented at the end of generating a fresh value for user code. Recursive generation of values for nested types (such as generating the K and V for a Map\u003cK, V\u003e) doesn\u0027t increment the freshness.\n\nThis ensures that for finite set of distinct values, we don\u0027t ever skip distinct value.\n\nAlong the way, the special casing for Optional had to be changed. So I just spent extra effort supporting an @Empty annotation that can be used to generate \"empty\" value for any arbitrary type.\n\nOriginally, I tried to return empty collections. But some existing tests failed because the classes don\u0027t always like being injected with empty collections or maps (they may have a precondition check to reject empty collection).\n\nSo @Empty is only applied to Optional, Range and ConcurrentMap.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75542159\n"
    },
    {
      "commit": "0b4e7e5df7f985026f731f10f2c37a44543a5355",
      "tree": "5bd0274cc6038fcf02814fbcd1f53954f8c67321",
      "parents": [
        "bf6a7fe2ec6c516bc7a1b6c2968db4666dca2b66"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Fri Sep 12 14:20:18 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:05 2014"
      },
      "message": "Modify SmoothRateLimiter so that the ratio between maximum-permits-per-second and minimum-permits-per-seconds can be specified -- currently this ratio is hard coded to 3.\n\nThis makes it much more flexible as \"ramp up limiter\" aka \"acceleration limiter\".\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75381543\n"
    },
    {
      "commit": "bf6a7fe2ec6c516bc7a1b6c2968db4666dca2b66",
      "tree": "abe13e0bc442bb11c463c723fd72efa6b33f031a",
      "parents": [
        "70abca0b7e5f21d4e6e8686c7a2098f28f1a58cd"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 11 21:50:02 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:03 2014"
      },
      "message": "Use presized ImmutableList.Builder in ImmutableSortedMap creation.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75327745\n"
    },
    {
      "commit": "70abca0b7e5f21d4e6e8686c7a2098f28f1a58cd",
      "tree": "002ce79b3600cac277e48371f543e6140ada46a1",
      "parents": [
        "e3ee2cb617d0381c2464dd75a28460d832e92a2a"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 11 21:12:40 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:04:02 2014"
      },
      "message": "Fix @GuardedBy annotations with invalid lock expressions.\n\n- fix typos\n- qualified \u0027this\u0027 accesses can only be used for enclosing classes: the\ndeclaring class is accessed as \u0027this\u0027, enclosing classes are accessed as\n\u0027OuterClass.this\u0027\n- replace annotations being used for general documentation with comments\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75324114\n"
    },
    {
      "commit": "e3ee2cb617d0381c2464dd75a28460d832e92a2a",
      "tree": "a7fa0db2c4d8619e0d7b36aaa21db54de9288dd8",
      "parents": [
        "67448d5dd766c461c7fdb41c39085fdd00f37a2e"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 11 17:22:43 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:03:59 2014"
      },
      "message": "Fix @GuardedBy annotations with invalid lock expressions.\n\n- fix typos\n- qualified \u0027this\u0027 accesses can only be used for enclosing classes: the\ndeclaring class is accessed as \u0027this\u0027, enclosing classes are accessed as\n\u0027OuterClass.this\u0027\n- replace annotations being used for general documentation with comments\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75302901\n"
    },
    {
      "commit": "67448d5dd766c461c7fdb41c39085fdd00f37a2e",
      "tree": "2709e8bb1d55dcd3e6dd224d544988c8f2dbf8d4",
      "parents": [
        "64658a320272c1ca4154a45681155283f4d9c42d"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 10 17:37:14 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:03:57 2014"
      },
      "message": "Stop using MapSubject.hasKey() and .lacksKey().\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d75211614\n"
    },
    {
      "commit": "64658a320272c1ca4154a45681155283f4d9c42d",
      "tree": "509bfd4bad439fbb16714ab9a8a9ce22ed55a9ee",
      "parents": [
        "69045357f5b4c33a14d29e5792e6a74c76c2c4dd"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Sep 08 01:02:07 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:03:56 2014"
      },
      "message": "use getAvailableCurrencies() under Java 7 to get fresh currency instance\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d74986782\n"
    },
    {
      "commit": "69045357f5b4c33a14d29e5792e6a74c76c2c4dd",
      "tree": "84c401403b42f5b33ad50ab90ce636b209ac0f84",
      "parents": [
        "df0e460606f116a041e441584026dbfa2a0b2ee1"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Fri Sep 05 19:25:22 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 23 20:03:43 2014"
      },
      "message": "Temporarily avoid scrubbing cgdecker\u0027s username.\nThis change will be reverted when we stop using my custom-build MOE binary, which already contains CL 75843182.\nLater, it will come back when the standard binary is updated.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d74887544\n"
    },
    {
      "commit": "df0e460606f116a041e441584026dbfa2a0b2ee1",
      "tree": "3c0f153219fc84fdd77cdbb87a9bb00ef183bd8c",
      "parents": [
        "ac25c5019e61dae7a993562235b8de4fdada0394"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Fri Sep 05 17:32:25 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Fri Sep 05 17:32:25 2014"
      },
      "message": "GWT: Better error checking, logging, and documentation.\n- Error checking: I had been trying to enable compilation with -strict (\u003chttps://gist.github.com/Abdennebi/2828230\u003e). However, while the GWT compiler parameter is \"-strict\" and the Maven system property is \"gwt.compiler.strict,\" the Maven parameter is \"failOnError:\" \u003chttp://mojo.codehaus.org/gwt-maven-plugin/compile-mojo.html#failOnError\u003e. Additionally, while the compilation goal supports failOnError, the test goal does not: \u003chttp://mojo.codehaus.org/gwt-maven-plugin/test-mojo.html\u003e. Maven had been ignoring the unrecognized names.\n- Logging: Turn up the logLevel to make any future problems easier to diagnose.\n- Documentation: Explain the presence of some scary \"Ignored 53 units with compilation errors\" warnings.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d74868684\n"
    },
    {
      "commit": "ac25c5019e61dae7a993562235b8de4fdada0394",
      "tree": "1b5cccd1a3b15ca684711de675231f28c5624626",
      "parents": [
        "ffe2d77c9d3b349d72bc1ebec39345ff0833a43e"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Fri Sep 05 14:03:35 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Fri Sep 05 14:03:35 2014"
      },
      "message": "Integration of Justin Sampson\u0027s fixes to Monitor and addition of extensive tests.\n\nJustin is original author of Monitor and heroic volunteer xoogler.\n\nThere was significant additional work by myself (martinrb) while preparing this CL.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d74829983\n"
    },
    {
      "commit": "ffe2d77c9d3b349d72bc1ebec39345ff0833a43e",
      "tree": "9f61fc8a0020b9426f334bd8be9e37258c3cb177",
      "parents": [
        "13800999134027e799b9250d261dd2c2a969183d"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 04 22:23:49 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 04 22:23:49 2014"
      },
      "message": "Add of() factories for ImmutableClassToInstanceMap for n\u003d0,1.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d74815130\n"
    },
    {
      "commit": "13800999134027e799b9250d261dd2c2a969183d",
      "tree": "d50f1c9cf1b52042e25c8d5a104ca3e2da9a86f5",
      "parents": [
        "6c9f886357a277e0fde19b87556eb7c0fa617e14"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 04 19:02:54 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 04 19:02:54 2014"
      },
      "message": "Fix hash map ordering bug.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d74779605\n"
    },
    {
      "commit": "6c9f886357a277e0fde19b87556eb7c0fa617e14",
      "tree": "e7e9ce54c9d07d1eda139bb06bd32622e6bb5996",
      "parents": [
        "8ec4c42646f590daf72bed88a92db6f4ac2de65e"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 04 11:48:20 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Thu Sep 04 11:51:05 2014"
      },
      "message": "Temporarily duplicate Ascii.truncate() for internal build-system reasons.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d74746985\n"
    },
    {
      "commit": "8ec4c42646f590daf72bed88a92db6f4ac2de65e",
      "tree": "4351517fb193b804a002c9491172a9ec3a372a04",
      "parents": [
        "c8dadc4e635c6fce132e8c7d0a0ceff4cfcb9207"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 03 20:10:29 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 03 20:21:14 2014"
      },
      "message": "Strip \u003cresource\u003e lines from .gwt.xml. They are not yet supported by a release version of GWT. (Support was added in internal CL 62367280, which imported \u003chttps://gwt.googlesource.com/gwt/+/f39e11150ef0ea635a7f7d30154221907775efc6\u003e. I\u0027m not sure when our build was changed to generate the new elements.)\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d74705447\n"
    },
    {
      "commit": "c8dadc4e635c6fce132e8c7d0a0ceff4cfcb9207",
      "tree": "de19aafaf13b6156880966718c5bf95e4b547d5b",
      "parents": [
        "f26af757bb6045da98785dc435edc1b0e4ff4125"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 03 20:07:39 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 03 20:21:09 2014"
      },
      "message": "Delayed fallout from build-system changes of CL 74684238, which adds \u003cresource\u003e elements to some .gwt.xml files.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d74686661\n"
    },
    {
      "commit": "f26af757bb6045da98785dc435edc1b0e4ff4125",
      "tree": "8c51b17afb848d9737544378a2adedde4cb857b3",
      "parents": [
        "1f5af9bda144a0a4344ef954ab55a1b507035e28"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 03 15:38:07 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Sep 03 15:38:07 2014"
      },
      "message": "Changes AtomicLongMap#removeAllZeros to use iterator for removals.\n\nAlthough ConcurrentHashMap doesn\u0027t throw ConcurrentModificaitonException, the GWT emulation in gwt/corp/emul uses HashMap and we are submitting a change that will start making GWT\u0027s HashMap to throw ConcurrentModificationException which breaks this code.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d74631176\n"
    },
    {
      "commit": "1f5af9bda144a0a4344ef954ab55a1b507035e28",
      "tree": "28a221c85928cdb956a5062fc5320381cc32d76c",
      "parents": [
        "f5d24b9c0bc6a5f6b203e52626a44d40c7fa04d5"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 02 14:05:28 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Tue Sep 02 14:05:28 2014"
      },
      "message": "Fix javadoc typo: wrapTask\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d74092956\n"
    },
    {
      "commit": "f5d24b9c0bc6a5f6b203e52626a44d40c7fa04d5",
      "tree": "92a4ac30cb30831574d03e9583caa78dc564ab1f",
      "parents": [
        "654bc1eb3c3a93f46427f958839eacd6dd24f1a3"
      ],
      "author": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Mon Aug 25 04:33:16 2014"
      },
      "committer": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Mon Aug 25 04:33:16 2014"
      },
      "message": "Generalize the javadocs on CacheBuilder.ticker()\n\nSee https://code.google.com/p/guava-libraries/issues/detail?id\u003d1836\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d73901400\n"
    },
    {
      "commit": "654bc1eb3c3a93f46427f958839eacd6dd24f1a3",
      "tree": "b2f38a584f6341d479aae0a9793a05d5898d0fcd",
      "parents": [
        "3b246131c2f100530989b3630ca1ab78198f0060"
      ],
      "author": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 18:54:35 2014"
      },
      "committer": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 20:22:23 2014"
      },
      "message": "Stop using now-internally-deprecated Truth APIs (which are not yet pushed to open-source Truth), and leave a todo to migrate to the newer Truth apis once they are released to maven, or after Guava 18 is released and we can rely on snapshots.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d73722570\n"
    },
    {
      "commit": "3b246131c2f100530989b3630ca1ab78198f0060",
      "tree": "a38b018938968c5a1f72511851b3278973a458cf",
      "parents": [
        "4e6028d0cf2c91e71eba7da98000a61350b61c87"
      ],
      "author": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 18:51:14 2014"
      },
      "committer": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 20:21:18 2014"
      },
      "message": "Update tests to cope with the fact that \"google\" is now a public suffix. This fixes today\u0027s test failures.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d73721981\n"
    },
    {
      "commit": "4e6028d0cf2c91e71eba7da98000a61350b61c87",
      "tree": "0e65065b23617bd554ab3e7b1f53c003cfda1b31",
      "parents": [
        "627049c4d72f3f4de4b9b6168e243ad86b56f92d"
      ],
      "author": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 18:46:26 2014"
      },
      "committer": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 20:20:59 2014"
      },
      "message": "Update public suffix patterns\n\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d73686076\n"
    },
    {
      "commit": "627049c4d72f3f4de4b9b6168e243ad86b56f92d",
      "tree": "1058e9b0ef9591fec9abc926a06d5e84cf795b19",
      "parents": [
        "4015f4d1abe34428a2e99bfa1767fbb4d5657e21"
      ],
      "author": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 18:26:53 2014"
      },
      "committer": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 20:19:55 2014"
      },
      "message": "Stop using isBetween and isInclusivelyInRange in preparation for the (not yet released to open-source) assertThat(4).isIn(Range.open(2, 5)); etc.\nCleanup the stragglers.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d73545684\n"
    },
    {
      "commit": "4015f4d1abe34428a2e99bfa1767fbb4d5657e21",
      "tree": "57262da88f7e65ae2dcdd0730d251e5ba2301719",
      "parents": [
        "0605e099723b57777c67e306bbb5f3d50d6723aa"
      ],
      "author": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 18:23:50 2014"
      },
      "committer": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 18:23:50 2014"
      },
      "message": "Incorporate Justin Sampson\u0027s wording improvement in\nhttps://code.google.com/r/jsampson-guava/source/diff?spec\u003dsvn965c15345482203be7f4af3ce2c44488bc0ff9ec\u0026name\u003djsampson/monitor-fixes\u0026r\u003d965c15345482203be7f4af3ce2c44488bc0ff9ec\u0026format\u003dside\u0026path\u003d/guava/src/com/google/common/util/concurrent/Monitor.java\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d73540789\n"
    },
    {
      "commit": "0605e099723b57777c67e306bbb5f3d50d6723aa",
      "tree": "ee84bcc9b01f00195f240c6e9f78c25cee8413e0",
      "parents": [
        "36265a5acc5e9a6307b06b2c931763595e349f30"
      ],
      "author": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 17:50:59 2014"
      },
      "committer": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 17:50:59 2014"
      },
      "message": "Add more tests for Futures.immediateCancelledFuture() to essentially document\nwhy two chained CancellationExceptions are thrown.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d73186288\n"
    },
    {
      "commit": "36265a5acc5e9a6307b06b2c931763595e349f30",
      "tree": "e718dec75884f9b8af7f5897546e6c8edf9b305d",
      "parents": [
        "4ef414f5b0610b540a1837f214b30d6424e99761"
      ],
      "author": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 17:48:52 2014"
      },
      "committer": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 17:48:52 2014"
      },
      "message": "Rewrite ServiceManager to use MultimapBuilder\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d73173782\n"
    },
    {
      "commit": "4ef414f5b0610b540a1837f214b30d6424e99761",
      "tree": "8b62f9e964c768cc7c426b6e9fcb1fe32cc9adf2",
      "parents": [
        "1c384d3f1bbc51d153f3bece2c70008fcb04cf51"
      ],
      "author": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 17:44:17 2014"
      },
      "committer": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Wed Aug 20 17:44:17 2014"
      },
      "message": "Add AbstractPackageSanityTests.UNDERSCORE_IN_NAME to make it easy to exclude generated classes like AutoValue_Foo from testing. The issue is that these classes typically do not apply @Nullable to the argument of equals(Object), so that they will work when Nullable is not on the classpath. But NullPointerTester requires @Nullable on this argument because otherwise it will fail when equals(null) follows its contract and does not throw an exception.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d73169035\n"
    },
    {
      "commit": "1c384d3f1bbc51d153f3bece2c70008fcb04cf51",
      "tree": "7f4970d267d9d5699d4225b425d84fe2bceda0eb",
      "parents": [
        "ba64bdfc7d46c84fb47e17edcc0261b38600efd6"
      ],
      "author": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 12 17:51:37 2014"
      },
      "committer": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 12 17:51:37 2014"
      },
      "message": "Update Truth dep to 0.23. (https://code.google.com/p/guava-libraries/issues/detail?id\u003d1830)\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d73072462\n"
    },
    {
      "commit": "ba64bdfc7d46c84fb47e17edcc0261b38600efd6",
      "tree": "dea4891684c660a44979484e5f95b060acf26bbe",
      "parents": [
        "d39692070af2dc23b7a985f8a16d684c096654e2"
      ],
      "author": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 12 17:49:52 2014"
      },
      "committer": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 12 17:49:52 2014"
      },
      "message": "Update Iterators.emptyIterator() @deprecated Javadoc to specify the replacement as ImmutableList.\u003cT\u003eof().iterator() rather than just ImmutableList.of().iterator(). The latter will basically never compile.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d73064832\n"
    },
    {
      "commit": "d39692070af2dc23b7a985f8a16d684c096654e2",
      "tree": "da6eb41341004c7b1898a6bb3270d35b637fec1b",
      "parents": [
        "16734985d58a13ca49765915aeb835f0c754b36c"
      ],
      "author": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 21:23:04 2014"
      },
      "committer": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 21:23:04 2014"
      },
      "message": "Update Javadoc in Futures and other classes to reference directExecutor or newDirectExecutorService rather than sameThreadExecutor. Also change the references to inline execution or an inline executor to use the term \"direct\" instead.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d72669239\n"
    },
    {
      "commit": "16734985d58a13ca49765915aeb835f0c754b36c",
      "tree": "fd04bebb67f9930ccdea61125ffd715d8f642298",
      "parents": [
        "65d998cdcbddf8f3dc71e0415851311c31ac7c8e"
      ],
      "author": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 21:21:44 2014"
      },
      "committer": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 21:21:44 2014"
      },
      "message": "Fix documentation error in DoubleMath.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d72665652\n"
    },
    {
      "commit": "65d998cdcbddf8f3dc71e0415851311c31ac7c8e",
      "tree": "5ab1d396a2ad72e3d5d13dec99cb486178ca16c4",
      "parents": [
        "3e15a2b37c7efbf577a5116a00b2d6ca47ed6121"
      ],
      "author": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 20:41:18 2014"
      },
      "committer": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 20:41:18 2014"
      },
      "message": "Remove system property control for the default strategy to use for BloomFilters. This was only supposed to work for Guava 17.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d72664539\n"
    },
    {
      "commit": "3e15a2b37c7efbf577a5116a00b2d6ca47ed6121",
      "tree": "b265673470e80dc892df45ac2cbcbc31bf7ad170",
      "parents": [
        "7c85e1303b7a506d500652d608329adf5dd90813"
      ],
      "author": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 20:40:05 2014"
      },
      "committer": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 20:40:05 2014"
      },
      "message": "Update Guava versions to 19.0-SNAPSHOT.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d72661640\n"
    },
    {
      "commit": "7c85e1303b7a506d500652d608329adf5dd90813",
      "tree": "cacf66593270944eb2c42713d3909a0d320b4723",
      "parents": [
        "7378c5c2c1736900d4c67ea338e20dc4dca81abd"
      ],
      "author": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 20:38:02 2014"
      },
      "committer": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 20:38:02 2014"
      },
      "message": "Major refactoring of EventBus, in preparation for further changes.\n\n- Make an Executor a property of all EventBuses, not just AsyncEventBus. A normal EventBus uses a direct Executor by default. Executors are stored per-subscriber.\n- Pull out the event dispatch strategy into a Dispatcher class. This handles how events are queued (or not) as they\u0027re posted. EventBus and AsyncEventBus each use strategies that should match their old behavior exactly.\n- Pull out the subscriber registration code into a SubscriberRegistry class. At the same time, switch back to using a ConcurrentMap\u003cClass\u003c?\u003e, CopyOnWriteArraySet\u003cSubscriber\u003e\u003e to store subscribers in order to allow lightweight, copy-free immutable snapshots of all subscribers to an event.\n- Rename EventSubscriber to Subscriber and make some changes to it. Move most code related to actually invoking a subscriber method to it.\n- Expose the EventBus\u0027s identifier.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d72652483\n"
    },
    {
      "commit": "7378c5c2c1736900d4c67ea338e20dc4dca81abd",
      "tree": "8103161dda7285ee28e09747e6dc6dfd3a93a654",
      "parents": [
        "c20d7397dd89acc5e27e33bf5aff0ca0f316d587"
      ],
      "author": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 20:36:03 2014"
      },
      "committer": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 20:36:03 2014"
      },
      "message": "Fix Maps.newHashMapWithExpectedSize for JDK8.\n\nTwo changes to HashMap in JDK8 have affected this test:\n- First, the table field is set lazily, so it is null until you add\nelements to the Map.\n- Second, the resize() calculations have changed in JDK8, so we adjust\nthe predicted size accordingly.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d72650895\n"
    },
    {
      "commit": "c20d7397dd89acc5e27e33bf5aff0ca0f316d587",
      "tree": "9d602f4f21b5ee0c5d023c2836bab3b790cefcb4",
      "parents": [
        "166bff55633bf814bc6d7827f93c8578c4091d48"
      ],
      "author": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 17:09:21 2014"
      },
      "committer": {
        "name": "Colin Decker",
        "email": "cgdecker@google.com",
        "time": "Tue Aug 05 17:09:21 2014"
      },
      "message": "Open source Hashing.crc32c().\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d72569582\n"
    },
    {
      "commit": "166bff55633bf814bc6d7827f93c8578c4091d48",
      "tree": "0e305a6b96b9063318c0bf4ff5c60b18950cada6",
      "parents": [
        "492cb0404d0b1017a1f1bc84182aaed099d59107"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Aug 04 14:54:02 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Aug 04 15:22:17 2014"
      },
      "message": "Finish open-sourcing tests for Monitor.\n\nA previous CL open-sourced MonitorTestCase, but this class is abstract\nand its two subclasses also need open-sourcing!\n\nOur release processes didn\u0027t notice that we had tests that were never\nrun, but original author and Xoogler Justin noticed!\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d72519095\n"
    },
    {
      "commit": "492cb0404d0b1017a1f1bc84182aaed099d59107",
      "tree": "fa5dc101adf890f3aed0cc42f533273a4285f769",
      "parents": [
        "8cc7ba1a9e41b3dd21bea4d5bf30a5cebc0f18c2"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Aug 04 14:40:20 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Mon Aug 04 15:03:59 2014"
      },
      "message": "Update Truth location from org.truth0 to com.google.common.truth.\n(internal CL 72431224)\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d72437171\n"
    },
    {
      "commit": "8cc7ba1a9e41b3dd21bea4d5bf30a5cebc0f18c2",
      "tree": "ef98c7d996463df3deb3e22bb055b32acb0580ff",
      "parents": [
        "f031a751150e474f9f55bc6b23eba7cc9a31dccf"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Fri Aug 01 13:48:08 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Fri Aug 01 13:55:02 2014"
      },
      "message": "Migrate usages of Truth\u0027s Subject.is(Object) to isEqualTo(Object). The former is being removed.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d72319735\n"
    },
    {
      "commit": "f031a751150e474f9f55bc6b23eba7cc9a31dccf",
      "tree": "636ddc953fc97bd1a524d7c4ddecfb24d40adfb9",
      "parents": [
        "d77a109189f137c5b1403656f16d05e9266c9928"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Jul 30 22:49:07 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Jul 30 22:49:07 2014"
      },
      "message": "Fix generic types in BloomFilter public API.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d72265659\n"
    },
    {
      "commit": "d77a109189f137c5b1403656f16d05e9266c9928",
      "tree": "b84744cd82fcc1f75be076858bcf525aed5632d7",
      "parents": [
        "495f60836c95faa28955a1183a92b0ecd3b50365"
      ],
      "author": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Jul 30 14:07:46 2014"
      },
      "committer": {
        "name": "Chris Povirk",
        "email": "cpovirk@google.com",
        "time": "Wed Jul 30 14:07:46 2014"
      },
      "message": "Migrate guava to directExecutor now that it will be in the next release.\n\nMostly trivial, the only possibly interesting one was in LocalCache.\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d71753284\n"
    },
    {
      "commit": "495f60836c95faa28955a1183a92b0ecd3b50365",
      "tree": "3863720dadeb3169763ceaf37d0fcf76aa7541b2",
      "parents": [
        "875f8ee6168b5822169f47273fb700271e43c744"
      ],
      "author": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Mon Jul 28 13:14:04 2014"
      },
      "committer": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Mon Jul 28 20:28:40 2014"
      },
      "message": "Open source directExecutor and newDirectExecutorService, deprecate sameThreadExecutor\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d71699710\n"
    },
    {
      "commit": "875f8ee6168b5822169f47273fb700271e43c744",
      "tree": "6e2e6a559faf8228ce0f6a63bcde6e0de2f647b9",
      "parents": [
        "eb2675f808de4e564b93e09208670c852460ae71"
      ],
      "author": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Mon Jul 28 13:12:44 2014"
      },
      "committer": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Mon Jul 28 20:28:40 2014"
      },
      "message": "Fix CollectionFeature.ALLOWS_NULL_QUERIES to MapFeature.ALLOWS_NULL_KEY_QUERIES.\n\nFrom leventov.ru: https://code.google.com/p/guava-libraries/issues/detail?id\u003d1649#c10\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d71683488\n"
    },
    {
      "commit": "eb2675f808de4e564b93e09208670c852460ae71",
      "tree": "e01aca173c8039a665af9a27439cfe65c75ef0da",
      "parents": [
        "04b2c7afbe586ca8178ac8a17f4be0bb3a6673c9"
      ],
      "author": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Mon Jul 28 13:10:13 2014"
      },
      "committer": {
        "name": "Christian Edward Gruber",
        "email": "cgruber@google.com",
        "time": "Mon Jul 28 20:28:40 2014"
      },
      "message": "Allow overriding of entrySet() and values() derived suites. This is similar to the existing support for keySet().\n\nFrom leventov.ru: https://code.google.com/p/guava-libraries/issues/detail?id\u003d1801\n-------------\nCreated by MOE: http://code.google.com/p/moe-java\nMOE_MIGRATED_REVID\u003d71670585\n"
    }
  ],
  "next": "04b2c7afbe586ca8178ac8a17f4be0bb3a6673c9"
}
