if (olda == null)
return; // no SourceFile attr.
String obvious = getObviousSourceFile();
List<Entry> ref = new ArrayList<>(1);
olda.visitRefs(this, VRM_PACKAGE, ref);
Utf8Entry sfName = (Utf8Entry) ref.get(0);
Attribute a = olda;
if (sfName == null) {
if (minimize) {
// A pair of zero bytes. Cannot use predef. layout.
a = Attribute.find(ATTR_CONTEXT_CLASS, "SourceFile", "H");
a = a.addContent(new byte[2]);
} else {
// Expand null attribute to the obvious string.
byte[] bytes = new byte[2];
sfName = getRefString(obvious);
Object f = null;
f = Fixups.add(f, bytes, 0, Fixups.U2_FORMAT, sfName);
a = attrSourceFileSpecial.addContent(bytes, f);
}
} else if (obvious.equals(sfName.stringValue())) {
if (minimize) {
// Replace by an all-zero attribute.
a = attrSourceFileSpecial.addContent(new byte[2]);
} else {
assert(false);