code: public DecomposableMatchBuilder0<T> decomposeFirst(DecomposableMatchBuilder0<A> first) {
      Objects.requireNonNull(first);
  
      Map<Integer, DecomposableMatchBuilder> buildersByIndex = Maps.treeMapOf(extractedIndex, first);
  
      List<Matcher<Object>> matchers = getChildMatchers(buildersByIndex);
  
      NestedFieldExtractor<T> nestedFieldExtractor = getNestedFieldExtractor(buildersByIndex);
  
      return new DecomposableMatchBuilder0<>(matchers, nestedFieldExtractor);
    }
docs: Returns a new {@link DecomposableMatchBuilder0} that further decomposes the first element of
  this match builder.
  
  <p>The first element is decomposed and 0 elements.