### Question:
StreamSequencerAdapter implements Sequencer { protected String[] extractMixinTypes( Object value ) { if (value instanceof String[]) return (String[])value; if (value instanceof String) return new String[] {(String)value}; return null; } StreamSequencerAdapter( StreamSequencer streamSequencer );  StreamSequencerAdapter( StreamSequencer streamSequencer,
                                   boolean addDerivedMixin ); SequencerConfig getConfiguration(); void setConfiguration( SequencerConfig configuration ); void execute( Node input,
                         String sequencedPropertyName,
                         NetChange changes,
                         Set<RepositoryNodePath> outputPaths,
                         SequencerContext context,
                         Problems problems ); static final boolean DEFAULT_ADD_DEFAULT_MIXIN; }### Answer:
@Test public void shouldExtractNullMixinTypesFromNullValue() { assertThat(sequencer.extractMixinTypes(null), is(nullValue())); }
@Test public void shouldExtractMixinTypesFromStringValue() { assertThat(sequencer.extractMixinTypes("value"), is(new String[] {"value"})); assertThat(sequencer.extractMixinTypes(""), is(new String[] {""})); }
@Test public void shouldExtractMixinTypesFromStringArrayValue() { assertThat(sequencer.extractMixinTypes(new String[] {"value1"}), is(new String[] {"value1"})); assertThat(sequencer.extractMixinTypes(new String[] {"value1", "value2"}), is(new String[] {"value1", "value2"})); }
@Test public void shouldExtractMixinTypesFromStringArrayWithNullValue() { assertThat(sequencer.extractMixinTypes(new String[] {"value1", null, "value2"}), is(new String[] {"value1", null, "value2"})); }