FederatedOperationChain extends GenericInput<I> implements InputOutput<I, CloseableIterable<O_ITEM>>,
        Operations<OperationChain> { @JsonIgnore public OperationChain getOperationChain() { return operationChain; } FederatedOperationChain();  FederatedOperationChain(final Operation... operations);  FederatedOperationChain(final OperationChain operationChain); @JsonCreator  FederatedOperationChain(@JsonProperty("operationChain") final OperationChainDAO operationChain,
                                   @JsonProperty("options") final Map<String, String> options); @Override TypeReference<CloseableIterable<O_ITEM>> getOutputTypeReference(); @JsonIgnore OperationChain getOperationChain(); @Override @JsonIgnore List<OperationChain> getOperations(); FederatedOperationChain<I, O_ITEM> shallowClone(); @Override Map<String, String> getOptions(); @Override void setOptions(final Map<String, String> options); @Override String toString(); @Override void close(); @Override boolean equals(final Object obj); @Override int hashCode();  }
@Test @Override public void builderShouldCreatePopulatedOperation() { final OperationChain<CloseableIterable<? extends Element>> opChain = new OperationChain.Builder() .first(new GetAllElements()) .build(); final FederatedOperationChain op = new FederatedOperationChain.Builder<>() .operationChain(opChain) .option("key", "value") .build(); assertEquals(opChain, op.getOperationChain()); assertEquals("value", op.getOption("key")); }