code: private boolean isUniqueImplied(StorableIndex<S> candidate) {
          if (candidate.isUnique()) {
              return true;
          }
          if (this.size() <= 1) {
              return false;
          }
  
          Set<StorableProperty<S>> candidateProps = new HashSet<StorableProperty<S>>();
          for (int i=candidate.getPropertyCount(); --i>=0; ) {
              candidateProps.add(candidate.getProperty(i));
          }
  
          search: for (StorableIndex<S> index : this) {
              if (!index.isUnique()) {
                  continue search;
              }
              for (int i=index.getPropertyCount(); --i>=0; ) {
                  if (!candidateProps.contains(index.getProperty(i))) {
                      continue search;
                  }
              }
              return true;
          }
  
          return false;
      }
docs: Return true if index is unique or fully contains the members of a unique index.