code: private Object[] getValues(String pType, Object pCurrentValue, JmxWriteRequest pRequest)
              throws AttributeNotFoundException, IllegalAccessException, InvocationTargetException {
          List<String> pathParts = pRequest.getPathParts();
          Object newValue = pRequest.getValue();
  
          if (pathParts != null && pathParts.size() > 0) {
              if (pCurrentValue == null ) {
                  throw new IllegalArgumentException(
                          "Cannot set value with path when parent object is not set");
              }
  
              // We set an inner value, hence we have to return provided value itself for resetting
              // it later back via JMX
              return new Object[] {
                      pCurrentValue,
                      converters.getToJsonConverter().setInnerValue(pCurrentValue, newValue, pathParts)
              };
  
          } else {
              // Return the objectified value
              return new Object[] {
                      converters.getToObjectConverter().prepareValue(pType, newValue),
                      pCurrentValue
              };
          }
      }
docs: Get values for a write request. This method returns an array with two objects.
  If no path is given (<code>pRequest.getExtraArgs() == null</code>), the returned values
  are the new value and the old value. However, if a path is set, the returned new value
  is the outer value (which can be set by an corresponding JMX set operation) where the
  new value is set via the path expression. The old value is the value of the object specified
  by the given path.
  
  
  @param pType type of the outermost object to set as returned by an MBeanInfo structure.
  @param pCurrentValue the object of the outermost object which can be null
  @param pRequest the initial request
  @return object array with two elements, element 0 is the value to set (see above), element 1
  is the old value.
  
  @throws AttributeNotFoundException if no such attribute exists (as specified in the request)
  @throws IllegalAccessException if access to MBean fails
  @throws InvocationTargetException reflection error when setting an object's attribute