// Alter the search mechanism to handle older specifications.
// If a key is specified, then we match on key, if one is found.
// Otherwise we return the material which matches on name.
// this requires us to loop through the entire db at least once to look for the key.
for (Material m : db) {
// perfect match based on key.
// Alter the search mechanism to handle older specifications.
// If a key is specified, then we match on key, if one is found.
// Otherwise we return the material which matches on name.
// this requires us to loop through the entire db at least once to look for the key.
for (Material m : db) {
// perfect match based on key.