protected MatchType getMatchType(TypeName m) {
    return match(m)
        .when(typeOf(ParameterizedTypeName.class)).get(
            t -> {
              if (isDecomposableBuilder(t.rawType)) {
                return MatchType.DECOMPOSE;
              } else if (t.rawType.equals(MATCH_ANY)) {
                return MatchType.ANY;
              } else if (t.rawType.equals(MATCH_EXACT)) {
                return MatchType.EXACT;
              } else {
                return MatchType.EXACT;
              }
            })
        .when(typeOf(TypeVariableName.class)).get(t -> MatchType.EXACT)
        .orElse(MatchType.ANY)
        .getMatch();
  }
protected MatchType getMatchType ( TypeName m ) { return match ( m ) . when ( typeOf ( ParameterizedTypeName . class ) ) . get ( t -> { if ( isDecomposableBuilder ( t . rawType ) ) { return MatchType . DECOMPOSE ; } else if ( t . rawType . equals ( MATCH_ANY ) ) { return MatchType . ANY ; } else if ( t . rawType . equals ( MATCH_EXACT ) ) { return MatchType . EXACT ; } else { return MatchType . EXACT ; } } ) . when ( typeOf ( TypeVariableName . class ) ) . get ( t -> MatchType . EXACT ) . orElse ( MatchType . ANY ) . getMatch ( ) ; }
Returns the type of match to use for a given type.