class 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);

}