public Decoder(DecoderServerRemote server) {
public Decoder(int id, DecoderServerRemote server) { this.id = id;
  public Decoder(DecoderServerRemote server) {    this.server = server;    try {      this.posMap = server.posMap();      this.nonterminals = server.nonterminals();      this.leftSubcatMap = server.leftSubcatMap();      this.rightSubcatMap = server.rightSubcatMap();    } catch (RemoteException re) {      System.err.println(re);    }    String useCellLimitStr = Settings.get(Settings.decoderUseCellLimit);    boolean useCellLimit = Boolean.valueOf(useCellLimitStr).booleanValue();    if (useCellLimit)      cellLimit = Integer.parseInt(Settings.get(Settings.decoderCellLimit));    String usePruneFactStr = Settings.get(Settings.decoderUsePruneFactor);    boolean usePruneFact = Boolean.valueOf(usePruneFactStr).booleanValue();    if (usePruneFact) {      pruneFact = Double.parseDouble(Settings.get(Settings.decoderPruneFactor));    }    chart = new CKYChart(cellLimit, pruneFact);  }