Builds a {@link DecomposableMatch3}.
493934
public DecomposableMatch3<T, A, B, C> build() {
    return new DecomposableMatch3<>(fieldMatchers, extractedIndexes, fieldExtractor);
  }
600387
public static MultiMatcher<MethodTree, VariableTree> methodHasParameters(
      MatchType matchType, Matcher<VariableTree> parameterMatcher) {
    return new MethodHasParameters(matchType, parameterMatcher);
  }
790956
public <U extends T> InitialMatching0<T, U> when(
      DecomposableMatchBuilder0<U> decomposableMatchBuilder) {
    return new InitialMatching0<>(decomposableMatchBuilder.build(), value);
  }
609574
public <U extends T, A, B> InitialMatching2<T, U, A, B> when(
      DecomposableMatchBuilder2<U, A, B> decomposableMatchBuilder) {
    return new InitialMatching2<>(decomposableMatchBuilder.build(), value);
  }
1028119
public static DecomposableMatchBuilder1<String, String> caseString(MatchesAny s) {
    List<Matcher<Object>> matchers = new ArrayList<>();
    matchers.add(any());

    return new DecomposableMatchBuilder1<>(
        matchers, 0, new PrimitiveFieldExtractor<>(String.class));
  }
965576
public static <T extends Case1<A>, A> DecomposableMatchBuilder1<T, A> case1(
      Class<T> clazz, MatchesAny<A> a) {
    List<Matcher<Object>> matchers = Lists.of(ArgumentMatchers.any());
    return new DecomposableMatchBuilder1<T, A>(matchers, 0, new Case1FieldExtractor<>(clazz));
  }
1183419
public static <T, ET extends T, A1, A2> DecomposableMatchBuilder2<List<T>, A1, A2> headNil(
      DecomposableMatchBuilder2<ET, A1, A2> head) {
    List<Matcher<Object>> matchers = Lists.of(ArgumentMatchers.any());
    return new DecomposableMatchBuilder1<List<T>, ET>(
        matchers, 0, new ListConsHeadFieldExtractor<>()).decomposeFirst(head);
  }
587769
public BuildableType.Builder mergeFrom(BuildableType value) {
    BuildableType_Builder defaults = new BuildableType.Builder();
    if (defaults._unsetProperties.contains(Property.TYPE)
        || !Objects.equals(value.type(), defaults.type())) {
      type(value.type());
    }
    if (defaults._unsetProperties.contains(Property.BUILDER_TYPE)
        || !Objects.equals(value.builderType(), defaults.builderType())) {
      builderType(value.builderType());
    }
    if (defaults._unsetProperties.contains(Property.MERGE_BUILDER)
        || !Objects.equals(value.mergeBuilder(), defaults.mergeBuilder())) {
      mergeBuilder(value.mergeBuilder());
    }
    if (defaults._unsetProperties.contains(Property.PARTIAL_TO_BUILDER)
        || !Objects.equals(value.partialToBuilder(), defaults.partialToBuilder())) {
      partialToBuilder(value.partialToBuilder());
    }
    if (defaults._unsetProperties.contains(Property.BUILDER_FACTORY)
        || !Objects.equals(value.builderFactory(), defaults.builderFactory())) {
      builderFactory(value.builderFactory());
    }
    if (defaults._unsetProperties.contains(Property.SUPPRESS_UNCHECKED)
        || !Objects.equals(value.suppressUnchecked(), defaults.suppressUnchecked())) {
      suppressUnchecked(value.suppressUnchecked());
    }
    return (BuildableType.Builder) this;
  }
693656
public static DecomposableMatchBuilder1<Short, Short> caseShort(MatchesAny s) {
    List<Matcher<Object>> matchers = new ArrayList<>();
    matchers.add(any());

    return new DecomposableMatchBuilder1<>(
        matchers, 0, new PrimitiveFieldExtractor<>(Short.class));
  }
121285
public <U extends T, A, B, C> InitialMatching3<T, U, A, B, C> when(
      DecomposableMatchBuilder3<U, A, B, C> decomposableMatchBuilder) {
    return new InitialMatching3<>(decomposableMatchBuilder.build(), value);
  }
58580
public ParametricFactorGraphEnsemble build() {
    return new ParametricFactorGraphEnsemble(
        new DynamicFactorGraph(variables, constantFactors, constantFactorNames),
        parametricFactors, factorPatterns, baseFactors, IndexedList.create(parametricFactorNames));
  }
55038
public static <A, B, EA extends A, A1> DecomposableMatchBuilder1<Tuple2<A, B>, A1> tuple2(
      DecomposableMatchBuilder1<EA, A1> a, MatchesExact<B> b) {
    List<Matcher<Object>> matchers = Lists.of(ArgumentMatchers.any(), ArgumentMatchers.eq(b.t));
    return new DecomposableMatchBuilder1<Tuple2<A, B>, EA>(
        matchers, 0, new Tuple2FieldExtractor<>()).decomposeFirst(a);
  }
680594
public static <T1, T2, T3> Tuple3<T1, T2, T3> create(final T1 v1, final T2 v2, final T3 v3) {
        return new Tuple3<T1, T2, T3>(v1, v2, v3);
    }
1245124
public static DecomposableMatchBuilder1<Double, Double> caseDouble(MatchesAny d) {
    List<Matcher<Object>> matchers = new ArrayList<>();
    matchers.add(any());

    return new DecomposableMatchBuilder1<>(
        matchers, 0, new PrimitiveFieldExtractor<>(Double.class));
  }
695141
public <T0, T1, T2> SingleOutputStreamOperator<Tuple3<T0, T1, T2>> projectTuple3() {
		TypeInformation<?>[] fTypes = extractFieldTypes(fieldIndexes, dataStream.getType());
		TupleTypeInfo<Tuple3<T0, T1, T2>> tType = new TupleTypeInfo<Tuple3<T0, T1, T2>>(fTypes);

		return dataStream.transform("Projection", tType, new StreamProject<IN, Tuple3<T0, T1, T2>>(fieldIndexes, tType.createSerializer(dataStream.getExecutionConfig())));
	}
1041629
public static boolean decomposeSafe(DecompositionInterface<ZMatrixRMaj> decomposition, ZMatrixRMaj a) {

        if( decomposition.inputModified() ) {
            a = a.copy();
        }
        return decomposition.decompose(a);
    }
17541
public <U extends T, A, B, C> OngoingMatchingR3<T, U, A, B, C, R> when(
      DecomposableMatchBuilder3<U, A, B, C> decomposableMatchBuilder) {
    return new OngoingMatchingR3<>(this, decomposableMatchBuilder.build());
  }