Why to use @RequiredArgsConstructor