Como inicializo classes com muitos campos de maneira elegante?

No meu aplicativo, preciso instanciar muitos tipos diferentes de objetos. Cada tipo contém alguns campos e precisa ser adicionado a um tipo que contém. Como posso fazer isso de uma maneira elegante?

Minha etapa de inicialização atual é mais ou menos assim:

public void testRequest() {

        //All these below used classes are generated classes from xsd schema file.

        CheckRequest checkRequest = new CheckRequest();

        Offers offers = new Offers();
        Offer offer = new Offer();
        HotelOnly hotelOnly = new HotelOnly();
        Hotel hotel = new Hotel();
        Hotels hotels = new Hotels();
        Touroperator touroperator = new Touroperator();
        Provider provider = new Provider();
        Rooms rooms = new Rooms();
        Room room = new Room();
        PersonAssignments personAssignments = new PersonAssignments();
        PersonAssignment personAssignment = new PersonAssignment(); 
        Persons persons = new Persons();
        Person person = new Person();
        Amounts amounts = new Amounts();

        offers.getOffer().add(offer);
        offer.setHotelOnly(hotelOnly);

        room.setRoomCode("roomcode");
        rooms.getRoom().add(room);

        hotels.getHotel().add(hotel);
        hotel.setRooms(rooms);

        hotelOnly.setHotels(hotels);

        checkRequest.setOffers(offers);

        // ...and so on and so on
    } 

Eu realmente quero evitar escrever código como este, porque é um pouco confuso ter que instanciar cada objeto separadamente e inicializar cada campo em várias linhas de código (por exemplo, ter que chamarnew Offer() e depoissetHotelOnly(hotelOnly) e depoisadd(offer))

Que métodos elegantes posso usar em vez do que tenho? Há alguns "Factories"que pode ser usado? Você tem referências / exemplos para evitar escrever código como este?

Estou realmente interessado em implementar código limpo.

Contexto:

Estou desenvolvendo umRestClient Aplicativo para enviar solicitações de postagem para um serviço da Web.

A API é representada como umxsd schema arquivo e eu criei todos os objetos comJAXB

Antes de enviar uma solicitação, preciso instanciar muitos objetos porque eles têm dependências entre si.(Uma oferta tem hotéis, um hotel tem quartos, um quarto tem pessoas ... E essas classes são as geradas)

Obrigado pela ajuda.

questionAnswers(6)

yourAnswerToTheQuestion