/** {@inheritDoc} */
    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (o == null || getClass() != o.getClass()) {
        return false;
      }

      SCMRevisionImpl that = (SCMRevisionImpl) o;

      return revision == that.revision && getHead().equals(that.getHead());
    }
    @Override
    public boolean equals(Object o) {
      if (this == o) {
        return true;
      }
      if (o == null || getClass() != o.getClass()) {
        return false;
      }

      SCMRevisionImpl that = (SCMRevisionImpl) o;

      return StringUtils.equals(hash, that.hash) && getHead().equals(that.getHead());
    }
 public SpecificRevisionBuildChooser(SCMRevisionImpl revision) {
   ObjectId sha1 = ObjectId.fromString(revision.getHash());
   String name = revision.getHead().getName();
   this.revision = new Revision(sha1, Collections.singleton(new Branch(name, sha1)));
 }