class Change implements Serializable {

    private Change(@Nullable C originalObject, @Nullable C newObject) {
        Preconditions.checkState(originalObject != null || newObject != null, "Change should have at least one non null object");
        this.originalObject = originalObject;
        this.newObject = newObject;
    }

    private  Change(@Nullable C originalObject, @Nullable C newObject);

}