### Question:
ApiVersionImpl implements ApiVersion, Serializable { @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } ApiVersionImpl that = (ApiVersionImpl) o; return mApiLevel == that.mApiLevel && Objects.equals(mCodename, that.mCodename); } private  ApiVersionImpl(@NonNull ApiVersion apiVersion); private  ApiVersionImpl(int apiLevel, @Nullable String codename); @Nullable static ApiVersion clone(@Nullable ApiVersion apiVersion); static ApiVersion clone(@NonNull AndroidVersion androidVersion); @Override int getApiLevel(); @Nullable @Override String getCodename(); @NonNull @Override String getApiString(); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void equals() throws Exception { EqualsVerifier.forClass(ApiVersionImpl.class).verify(); }