code: private Object[] handleParameters(IoBuffer in, Notify notify, Input input) {
          Object[] params = new Object[] {};
          List<Object> paramList = new ArrayList<>();
          final Object obj = Deserializer.deserialize(input, Object.class);
          if (obj instanceof Map) {
              // Before the actual parameters we sometimes (connect) get a map of parameters, this is usually null, but if set should be
              // passed to the connection object.
              @SuppressWarnings("unchecked")
              final Map<String, Object> connParams = (Map<String, Object>) obj;
              notify.setConnectionParams(connParams);
          } else if (obj != null) {
              paramList.add(obj);
          }
          while (in.hasRemaining()) {
              paramList.add(Deserializer.deserialize(input, Object.class));
          }
          params = paramList.toArray();
          if (log.isDebugEnabled()) {
              log.debug("Num params: {}", paramList.size());
              for (int i = 0; i < params.length; i++) {
                  log.debug(" > {}: {}", i, params[i]);
              }
          }
          return params;
      }
docs: Sets incoming connection parameters and / or returns encoded parameters for use in a call.
  
  @param in
  @param notify
  @param input
  @return parameters array