code: public List<Rankable> getRankings() {
          List<Rankable> copy = Lists.newLinkedList();
          for (Rankable r : rankedItems) {
              copy.add(r.copy());
          }
          return ImmutableList.copyOf(copy);
      }
docs: The returned defensive copy is only "somewhat" defensive. We do, for
  instance, return a defensive copy of the enclosing List instance, and we
  do try to defensively copy any contained Rankable objects, too. However,
  the contract of {@link org.apache.storm.starter.tools.Rankable#copy()}
  does not guarantee that any Object's embedded within a Rankable will be
  defensively copied, too.
  
  @return a somewhat defensive copy of ranked items