Reverted back to using getSerialNumber()

It looks cleaner than having all that code scattered inside newDescriptor().