docs: @Override
      public boolean supports(TherianContext context, Copy<? extends SOURCE, ? extends TARGET> copy) {
          if (context.eval(ImmutableCheck.of(copy.getTargetPosition())).booleanValue() && isRejectImmutable()) {
              return false;
          }
          return TypeUtils.isAssignable(copy.getSourceType().getType(), getSourceBound())
              && TypeUtils.isAssignable(copy.getTargetType().getType(), getTargetBound());
      }