Questa è la classe completa:

codice:
public class Asta implements Serializable {

    private static final long serialVersionUID = 6884156563697118688L;

    //informazioni inserite all'atto della creazione di una nuova asta
    private int id; //id univoco per ogni asta.
    private String venditore; //l'utente che ha inserito l'asta
    private String nomeOggetto; //il nome dell'oggetto in vendita
    private String descrizione; //la descrizione dell'oggetto in vendita
    private String categoria; //categoria di appartenenza
    private Double prezzoBase; //prezzo di partenza
    private Date dataIns; //data di inserimento dell'asta
    private Date scadenza;
    private Boolean statoAsta; //chiusa o in corso

    //informazione inserite successivamente
    private Offerta offertaCorrente; //l'offerta attuale
    private String vincitore; //l'utente che ha vinto l'asta (offerta più alta)
    private Informazioni info; //le domande e le risposte

    // Costruttore vuoto per risolvere problema di GWT sulla serializzazione di alcuni tipi
    public Asta() {
    }

    //costruttore 1 per quando si crea una nuova asta
    public Asta(int id, String venditore, String nomeOggetto, String descrizione, String categoria, Double prezzoBase, 
            Date dataIns, Date scadenza, Boolean statoAsta) {
        this.id=id;
        this.venditore=venditore;
        this.nomeOggetto=nomeOggetto;
        this.descrizione=descrizione;
        this.categoria=categoria;
        this.prezzoBase=prezzoBase;
        this.dataIns=dataIns;
        this.scadenza=scadenza;
        this.statoAsta=statoAsta;
    }

    //costruttore 2 
    public Asta(int id, String venditore, String nomeOggetto, String descrizione, String categoria, Double prezzoBase,
            Date dataIns, Date scadenza, Boolean statoAsta, Offerta offertaCorrente, String vincitore, Informazioni info) {
        this.id=id;
        this.venditore=venditore;
        this.nomeOggetto=nomeOggetto;
        this.descrizione=descrizione;
        this.categoria=categoria;
        this.prezzoBase=prezzoBase;
        this.dataIns=dataIns;
        this.scadenza=scadenza;
        this.statoAsta=statoAsta;
    }

    public int getId() {
        return id;
    }

    public String getVenditore() {
        return venditore;
    }

    public String getNomeOggetto() {
        return nomeOggetto;
    }

    public String getDescrizione() {
        return descrizione;
    }

    public String getCategoria() {
        return categoria;
    }

    public Double getPrezzoBase() {
        return prezzoBase;
    }

    public Date getDataIns() {
        return dataIns;
    }

    public Date getScadenza() {
        return scadenza;
    }

    public Boolean getStatoAsta() {
        return statoAsta;
    }

    public Offerta getOffertaCorrente() {
        return offertaCorrente;
    }

    public String getVincitore() {
        return vincitore;
    }
    
    public Informazioni getInfo() {
        return info;
    }

}
Che ne pensi? Non ho capito cosa intendi con "sarebbe bene implementare uno dei due come invocazione dell'altro".
Di fatto una volta che l'asta viene creata (col costruttore 1, diciamo), quelle info di "base" non vengono più modificate, eccetto lo statoAsta che passerà a false alla scadenza, ma verranno semmai aggiunte/aggiornate le altre informazioni, cioè il vincitore, l'offerta corrente e le eventuali informazioni.
Grazie!