package com.indeed.proctor.store;

import java.util.Objects;
import java.util.Set;

/**
 * Details of a single revision
 */
public class RevisionDetails {
    private final Revision revision;
    private final Set<String> modifiedTests;

    public RevisionDetails(
            final Revision revision,
            final Set<String> modifiedTests
    ) {
        this.revision = revision;
        this.modifiedTests = modifiedTests;
    }

    public Revision getRevision() {
        return revision;
    }

    public Set<String> getModifiedTests() {
        return modifiedTests;
    }

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

    @Override
    public int hashCode() {
        return Objects.hash(revision, modifiedTests);
    }

    @Override
    public String toString() {
        return com.google.common.base.Objects.toStringHelper(this)
                .add("revision", revision)
                .add("modifiedTests", modifiedTests)
                .toString();
    }
}

@@ -28,16 +28,49 @@
 store;%0A%0A
+import javax.annotation.Nonnull;%0A
 import j
@@ -87,16 +87,16 @@
 bjects;%0A
-
 import j
@@ -181,16 +181,29 @@
 tails %7B%0A
+    @Nonnull%0A
     priv
@@ -227,24 +227,37 @@
 n revision;%0A
+    @Nonnull%0A
     private 
@@ -322,32 +322,41 @@
 ls(%0A            
+@Nonnull 
 final Revision r
@@ -372,24 +372,33 @@
             
+@Nonnull 
 final Set%3CSt
@@ -502,32 +502,45 @@
 edTests;%0A    %7D%0A%0A
+    @Nonnull%0A
     public Revis
@@ -587,24 +587,37 @@
 ion;%0A    %7D%0A%0A
+    @Nonnull%0A
     public S

Add nonnull for fields in the model