public boolean matches(FooterKey key) {final byte[] kRaw = key.raw;final int len = kRaw.length;int bPtr = keyStart;if (keyEnd - bPtr != len)return false;for (int kPtr = 0; kPtr < len;) {byte b = buffer[bPtr++];if ('A' <= b && b <= 'Z')b += (byte) ('a' - 'A');if (b != kRaw[kPtr++])return false;}return true;}

public bool Matches(FooterKey key){byte[] kRaw = key.raw;int len = kRaw.Length;int bPtr = keyStart;if (keyEnd - bPtr != len){return false;}for (int kPtr = 0; kPtr < len; ){byte b = buffer[bPtr++];if ('A' <= b && ((sbyte)b) <= 'Z'){b += (byte)('a') - (byte)('A');}if (b != kRaw[kPtr++]){return false;}}return true;}
