code: public static void shallowCopy(Object source, Object target, final String... propertyNames) {
  
          ObjectUtils.doShallowCopy(source, target, Boolean.FALSE, propertyNames);
      }
docs: Makes a shallow copy of the source object into the target one excluding properties not in
  <code>propertyNames</code>.
  <p>
  This method differs from {@link ReflectionUtils#shallowCopyFieldState(Object, Object)} this doesn't require
  source and target objects to share the same class hierarchy.
  
  @param source
  the source object.
  @param target
  the target object.
  @param propertyNames
  the property names to be processed. Never mind if property names are invalid, in such a case are
  ignored.