diff --git a/common-core-open/src/main/java/com/bbn/bue/common/InContextOf.java b/common-core-open/src/main/java/com/bbn/bue/common/InContextOf.java
index <HASH>..<HASH> 100644
--- a/common-core-open/src/main/java/com/bbn/bue/common/InContextOf.java
+++ b/common-core-open/src/main/java/com/bbn/bue/common/InContextOf.java
@@ -1,6 +1,7 @@
 package com.bbn.bue.common;
 
 import com.google.common.annotations.Beta;
+import com.google.common.base.Function;
 import com.google.common.base.Objects;
 
 import static com.google.common.base.Preconditions.checkNotNull;
@@ -52,4 +53,14 @@ public final class InContextOf<T, CtxT> {
     return Objects.equal(this.item, other.item)
         && Objects.equal(this.context, other.context);
   }
+
+  public static <F, T, C> Function<InContextOf<F, C>, InContextOf<T, C>> passThroughContext(
+      final Function<F, T> f) {
+    return new Function<InContextOf<F, C>, InContextOf<T, C>>() {
+      @Override
+      public InContextOf<T, C> apply(final InContextOf<F, C> input) {
+        return InContextOf.createXInContextOfY(f.apply(input.item()), input.context());
+      }
+    };
+  }
 }
Allow passing functions through InContextOfs