@Override
  public DefaultInferenceParameters toDefaultInferenceParameters(CycAccess cyc) {
    if (this.getCycAccess() == cyc) {
      return this;
    } else {
      DefaultInferenceParameters copy = new DefaultInferenceParameters(cycAccess);
      Iterator<CycSymbol> iterator = this.keySet().iterator();
      while (iterator.hasNext()) {
        CycSymbol key = iterator.next();
        Object value = this.get(key); // note: this might should be cloned
        copy.put(key, value);
      }
      return copy;
    }
  }