Given two sorted lists of strings, one designated as the Source and the other the Prefixes, perform the following filtered merge. Items are in the merged list if the item is a member of the Source list and it has a prefix from the Prefixes list or the item is a member of the Prefixes list and it is not a prefix for any item in the Source list. A longer statement of the problem follows. Assume that the application is given two arbitrary string lists one of which is designated as the Source and the other as the Prefixes. The application will produce a merged list containing items that come from the Source and Prefixes lists. The string lists contain 7-bit nonzero ASCII characters and are sorted using a standard case-insensitive ASCII string comparison test with strings that are less than other strings by the comparison coming first in the list. It can also be assumed that no two strings in a given list are identical under this comparison. An item X is in the merged list if and only if one of the following is true. § X is from the Source list and there is an item Y in the Prefixes list that is a case-insensitive string prefix for X. § X is from the Prefixes list and there is no item in the Source list for which X is a case-insensitive string prefix. The completed merged list should be sorted as is defined above.