GenerateSplitPointsFromSample implements
        Operation,
        InputOutput<Iterable<? extends T>, List<T>>,
        MultiInput<T> { @Override public GenerateSplitPointsFromSample<T> shallowClone() throws CloneFailedException { return new GenerateSplitPointsFromSample.Builder<T>() .input(input) .numSplits(numSplits) .options(options) .build(); }  @Override ValidationResult validate(); @Override Iterable<? extends T> getInput(); @Override void setInput(final Iterable<? extends T> input); @Override TypeReference<List<T>> getOutputTypeReference(); @Override GenerateSplitPointsFromSample<T> shallowClone(); @Override Map<String, String> getOptions(); @Override void setOptions(final Map<String, String> options); Integer getNumSplits(); void setNumSplits(final Integer numSplits);  }
@Test @Override public void shouldShallowCloneOperation() { final GenerateSplitPointsFromSample op = getTestObject(); final GenerateSplitPointsFromSample clone = op.shallowClone(); assertExpected(clone); }