}
    }
    // Check for duplicated definitions.
    for (int i = 0; i < list.size(); i++) {
      Outputmethod om = list.get(i);
      if (om.isClassDefinition()) {
        for (int j = i + 1; j < list.size(); j++) {
          Outputmethod om2 = list.get(j);
          if (om2.isClassDefinition() && om.getClassName().equals(om2.getClassName())) {
            writer.writeln("\n\"" + om.getClassName() + "\" already defined in row " + om.getRow() + ". Error in row " + om2.getRow() + ":\n" + om.getRow() + ". " + om.getStatement() + "\n" + om2.getRow() + ". " + om2.getStatement());
            return false;
          }
        }
      }
    }
    // Check for duplicated method signatures.
    for (int i = 0; i < list.size(); i++) {
      Outputmethod om = list.get(i);
      for (int j = i + 1; j < list.size(); j++) {
        Outputmethod om2 = list.get(j);
        if (om.getArgumentSignature().equals(om2.getArgumentSignature())) {
          writer.writeln("\nElement \"" + om.getArgName() + "\" already defined for \"" + om.getCargName() + "\" in row " + om.getRow() + "\nwith the same argument signature, error in row " + om2.getRow() + ":\n" + om.getRow() + ". " + om + "\n" + om2.getRow() + ". " + om2);
          return false;
        }
      }
    }