// lhs > hrs

            // lhs > hrs
//C++ TO C# CONVERTER WARNING: 'const' methods are not available in C#:
//ORIGINAL LINE: bool operator ()(const PendingTransactionInfo& lhs, const PendingTransactionInfo& rhs) const
            public static bool functorMethod(PendingTransactionInfo lhs, PendingTransactionInfo rhs)
            {
                CachedTransaction left  = lhs.cachedTransaction;
                CachedTransaction right = rhs.cachedTransaction;

                // price(lhs) = lhs.fee / lhs.blobSize
                // price(lhs) > price(rhs) -->
                // lhs.fee / lhs.blobSize > rhs.fee / rhs.blobSize -->
                // lhs.fee * rhs.blobSize > rhs.fee * lhs.blobSize
                ulong lhs_hi = new ulong();
                ulong lhs_lo = GlobalMembers.mul128(left.getTransactionFee(), right.getTransactionBinaryArray().size(), lhs_hi);
                ulong rhs_hi = new ulong();
                ulong rhs_lo = GlobalMembers.mul128(right.getTransactionFee(), left.getTransactionBinaryArray().size(), rhs_hi);

                return((lhs_hi > rhs_hi) || (lhs_hi == rhs_hi && lhs_lo > rhs_lo) || (lhs_hi == rhs_hi && lhs_lo == rhs_lo && left.getTransactionBinaryArray().size() < right.getTransactionBinaryArray().size()) || (lhs_hi == rhs_hi && lhs_lo == rhs_lo && left.getTransactionBinaryArray().size() == right.getTransactionBinaryArray().size() && lhs.receiveTime < rhs.receiveTime));
            }