@Override
        public boolean test(final V valueA, final V valueB) {
            GremlinTypeErrorException typeError = null;
            for (final P<V> predicate : this.orP.predicates) {
                try {
                    if (predicate.test(valueA))
                        return true;
                } catch (GremlinTypeErrorException ex) {
                    // hold onto it until the end in case any other arguments evaluate to TRUE
                    typeError = ex;
                }
            }
            if (typeError != null)
                throw typeError;
            return false;
        }
@author Marko A. Rodriguez (http://markorodriguez.com)
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/OrP.java