private static <T, K extends AbstractReplacePatchItem<T>> K replacePatchItem( final T updated, final T original, final K proto) { if ((original == null && updated == null) || (original != null && original.equals(updated))) { return null; } proto.setValue(updated); return proto; }