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