UniformProcessor extends SynchronousProcessor { @Override public Pullable getPullableOutput(int index) { if (m_outputPullables[index] == null) { if (m_inputArity == 1 && m_outputArity == 1) { m_outputPullables[index] = new UnaryPullable(); } else { m_outputPullables[index] = new OutputPullable(index); } } return m_outputPullables[index]; } UniformProcessor(int in_arity, int out_arity, /*@ null @*/ Context c);  UniformProcessor(int in_arity, int out_arity); @Override Pullable getPullableOutput(int index); @Override Pushable getPushableInput(int index);  }
@Test public void testSamePullable() { Passthrough pt = new Passthrough(); Pullable p1 = pt.getPullableOutput(0); Pullable p2 = pt.getPullableOutput(0); assertTrue(p1 == p2); }