### Question:
CorbaConduit implements Conduit { public NVList getArguments(CorbaMessage message) { if (orb == null) { prepareOrb(); } NVList list = null; if (message.getStreamableArguments() != null) { CorbaStreamable[] arguments = message.getStreamableArguments(); list = orb.create_list(arguments.length); for (CorbaStreamable argument : arguments) { Any value = CorbaAnyHelper.createAny(orb); argument.getObject().setIntoAny(value, argument, true); list.add_value(argument.getName(), value, argument.getMode()); } } else { list = orb.create_list(0); } return list; } CorbaConduit(EndpointInfo ei, EndpointReferenceType ref, OrbConfig config); OrbConfig getOrbConfig(); synchronized void prepareOrb(); void prepare(Message message); void close(Message message); EndpointReferenceType getTarget(); void close(); void setMessageObserver(MessageObserver observer); final EndpointReferenceType getTargetReference(EndpointReferenceType t); final String getAddress(); void buildRequest(CorbaMessage message, OperationType opType); NVList getArguments(CorbaMessage message); NamedValue getReturn(CorbaMessage message); ExceptionList getExceptionList(Map<TypeCode, RaisesType> exceptions,
                                             CorbaMessage message,
                                             OperationType opType); Request getRequest(CorbaMessage message,
                                 String opName,
                                 org.omg.CORBA.NVList nvlist,
                                 org.omg.CORBA.NamedValue ret,
                                 org.omg.CORBA.ExceptionList exList); Map<TypeCode, RaisesType> getOperationExceptions(
                                         OperationType operation,
                                         CorbaTypeMap map); MessageObserver getMessageObserver();  }### Answer:
@Test public void testBuildArguments() throws Exception { Message msg = new MessageImpl(); CorbaMessage message = new CorbaMessage(msg); CorbaStreamable[] arguments = new CorbaStreamable[1]; QName objName = new QName("object"); QName objIdlType = new QName(CorbaConstants.NU_WSDL_CORBA, "short", CorbaConstants.NP_WSDL_CORBA); TypeCode objTypeCode = orb.get_primitive_tc(TCKind.tk_short); CorbaPrimitiveHandler obj1 = new CorbaPrimitiveHandler(objName, objIdlType, objTypeCode, null); CorbaStreamable arg = message.createStreamableObject(obj1, objName); arguments[0] = arg; arguments[0].setMode(org.omg.CORBA.ARG_OUT.value); CorbaConduit conduit = setupCorbaConduit(false); NVList list = conduit.getArguments(message); assertNotNull("list should not be null", list != null); message.setStreamableArguments(arguments); NVList listArgs = conduit.getArguments(message); assertNotNull("listArgs should not be null", listArgs != null); assertNotNull("listArgs Item should not be null", listArgs.item(0) != null); assertEquals("Name should be equal", listArgs.item(0).name(), "object"); assertEquals("flags should be 2", listArgs.item(0).flags(), 2); assertNotNull("Any Value should not be null", listArgs.item(0).value() != null); }