code: @Override
      public int compareTo(Reference o) {
          return new CompareToBuilder()
                  .append(source, o.source)
                  .append(name, o.name)
                  .append(url, o.url)
                  .toComparison();
      }
docs: Implementation of the comparable interface.
  
  @param o the Reference being compared
  @return an integer indicating the ordering of the two objects