AddElements implements
        Validatable,
        MultiInput<Element> { @Override public void setOptions(final Map<String, String> options) { this.options = options; }  @Override boolean isValidate(); @Override void setValidate(final boolean validate); @Override boolean isSkipInvalidElements(); @Override void setSkipInvalidElements(final boolean skipInvalidElements); @JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.EXISTING_PROPERTY, property = "class") @Override Object[] createInputArray(); @Override Iterable<? extends Element> getInput(); @Override void setInput(final Iterable<? extends Element> elements); @Override Map<String, String> getOptions(); @Override void setOptions(final Map<String, String> options); @Override AddElements shallowClone(); @Override boolean equals(final Object obj); @Override int hashCode(); @Override String toString();  }
@Test public void shouldJSONSerialiseAndDeserialise() throws SerialisationException { final AddElements addElements = getTestObject(); final Map<String, String> options = new HashMap<>(); options.put("option", "value"); addElements.setOptions(options); String json = new String(JSONSerialiser.serialise(addElements, true)); JsonAssert.assertEquals(String.format("{%n" + " \"class\" : \"uk.gov.gchq.gaffer.operation.impl.add.AddElements\",%n" + " \"validate\" : true,%n" + " \"options\" : {\"option\": \"value\"},%n" + " \"skipInvalidElements\" : false%n" + "}"), json); }