diff --git a/src/main/java/org/apache/log4j/chainsaw/ExpressionRuleContext.java b/src/main/java/org/apache/log4j/chainsaw/ExpressionRuleContext.java
index 5c45f28..95f2902 100644
--- a/src/main/java/org/apache/log4j/chainsaw/ExpressionRuleContext.java
+++ b/src/main/java/org/apache/log4j/chainsaw/ExpressionRuleContext.java
@@ -222,11 +222,8 @@
       text.substring(lastFieldStartPosition, lastFieldPosition).toUpperCase()
           .trim();
 
-    if (resolver.isField(field)) {
-      return true;
-    }
+      return resolver.isField(field);
 
-    return false;
   }
 
   //returns the currently active field which can be used to display a context menu
diff --git a/src/main/java/org/apache/log4j/chainsaw/LoggingEventWrapper.java b/src/main/java/org/apache/log4j/chainsaw/LoggingEventWrapper.java
index 63363a3..0077702 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LoggingEventWrapper.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LoggingEventWrapper.java
@@ -173,11 +173,7 @@
 
     LoggingEventWrapper that = (LoggingEventWrapper) o;
 
-    if (id != that.id) {
-      return false;
-    }
-
-    return true;
+      return id == that.id;
   }
 
   public int hashCode() {
diff --git a/src/main/java/org/apache/log4j/chainsaw/RuleMediator.java b/src/main/java/org/apache/log4j/chainsaw/RuleMediator.java
index 301534a..b8f6270 100644
--- a/src/main/java/org/apache/log4j/chainsaw/RuleMediator.java
+++ b/src/main/java/org/apache/log4j/chainsaw/RuleMediator.java
@@ -63,11 +63,7 @@
       return false;
     }
 
-    if (filterRule != null && !filterRule.evaluate(e, null)) {
-      return false;
-    }
-
-    return true;
+      return filterRule == null || filterRule.evaluate(e, null);
   }
 
   public boolean isFindRuleRequired() {
diff --git a/src/main/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java b/src/main/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java
index 647a92c..b1461fb 100644
--- a/src/main/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java
+++ b/src/main/java/org/apache/log4j/chainsaw/dnd/FileDnDTarget.java
@@ -171,9 +171,7 @@
     	int sa = e.getSourceActions();
     
     	// we're saying that these actions are necessary
-    	if ((sa & acceptableActions) == 0)
-    		return false;
-    	return true;
+        return (sa & acceptableActions) != 0;
     }
 
     /**
