public void delete() throws CoreException {
    // Delete from the binding chain
    PDOMMacroReferenceName prevName = getPrevInContainer();
    PDOMMacroReferenceName nextName = getNextInContainer();
    if (prevName != null) {
      prevName.setNextInContainer(nextName);
    } else {
      getContainer().setFirstReference(nextName);
    }

    if (nextName != null) nextName.setPrevInContainer(prevName);

    // Delete our record
    linkage.getDB().free(record);
  }