joy-core/src/main/java/org/leadpony/joy/core/AbstractJsonProvider.java
@Override
    public JsonPatch createDiff(JsonStructure source, JsonStructure target) {
        requireNonNull(source, "source");
        requireNonNull(target, "target");
        if (source.getValueType() != target.getValueType()) {
            throw new IllegalArgumentException(Message.thatSourceAndTargetTypesDoNotMatch());
        }
        return JsonDiffPatchBuilder.createDiff(source, target);
    }
/**
     * {@inheritDoc}
     *
     * @throws IllegalArgumentException if the type of {@code target} is not the
     *                                  same as {@code source}.
     */
@throws IllegalArgumentException if the type of  target is not the
same as  source.
@throws IllegalArgumentException if the type of target is not the same as source .
@Override
    public JsonPatch createDiff(JsonStructure source, JsonStructure target) {
        requireNonNull(source, "source");
        requireNonNull(target, "target");
        if (source.getValueType() != target.getValueType()) {
            throw new IllegalArgumentException(Message.thatSourceAndTargetTypesDoNotMatch());
        }
        return JsonDiffPatchBuilder.createDiff(source, target);
    }
@ Override public JsonPatch createDiff ( JsonStructure source , JsonStructure target ) { requireNonNull ( source , "source" ) ; requireNonNull ( target , "target" ) ; if ( source . getValueType ( ) != target . getValueType ( ) ) { throw new IllegalArgumentException ( Message . thatSourceAndTargetTypesDoNotMatch ( ) ) ; } return JsonDiffPatchBuilder . createDiff ( source , target ) ; }
{@inheritDoc}
 @throws IllegalArgumentException if the type of {@code target} is not the
                                  same as {@code source}.
{ @inheritDoc } @throws IllegalArgumentException if the type of { @code target } is not the same as { @code source } .