if (BaseAdapter.isInstance(newSourceNode, BaseMethodCall.class) && oldTargetNode != null) {
newReference = SReference.create(sourceReference.getRole(), newSourceNode, oldTargetNode);
} else {
String resolveInfo = oldTargetNode == null ? sourceReference.getResolveInfo() : oldTargetNode.getName(); // todo: getRefName()
if (resolveInfo != null) {
<BUG>newReference = SReference.create(sourceReference.getRole(), newSourceNode, null, null, resolveInfo);
</BUG>
referencesRequireResolve.add(newReference);
} else if (oldTargetNode != null) {
newReference = SReference.create(sourceReference.getRole(), newSourceNode, oldTargetNode);

if (BaseAdapter.isInstance(newSourceNode, BaseMethodCall.class) && oldTargetNode != null) {
newReference = SReference.create(sourceReference.getRole(), newSourceNode, oldTargetNode);
} else {
String resolveInfo = oldTargetNode == null ? sourceReference.getResolveInfo() : oldTargetNode.getName(); // todo: getRefName()
if (resolveInfo != null) {
newReference = new StaticReference(sourceReference.getRole(), newSourceNode, null, null, resolveInfo);
referencesRequireResolve.add(newReference);
} else if (oldTargetNode != null) {
newReference = SReference.create(sourceReference.getRole(), newSourceNode, oldTargetNode);
