code: public static <T> Object unwraps(T[] target) {
  		return new StructBehavior<Object>(target) {
  
  			@Override protected Object booleanIf() { return unwrap((Boolean[]) this.delegate); }
  			@Override protected Object byteIf() { return unwrap((Byte[]) this.delegate); }
  			@Override protected Object characterIf() { return unwrap((Character[]) this.delegate); }
  			@Override protected Object doubleIf() { return unwrap((Double[]) this.delegate); }
  			@Override protected Object floatIf() { return unwrap((Float[]) this.delegate); }
  			@Override protected Object integerIf() { return unwrap((Integer[]) this.delegate); }
  			@Override protected Object longIf() { return unwrap((Long[]) this.delegate); }
  			@Override protected Object shortIf() { return unwrap((Short[]) this.delegate); }
  			@Override protected Object nullIf() { return null; }
  			@Override protected Object noneMatched() { return this.delegate; }
  			
  		}.doDetect();
  	}
docs: Converts the given object array to primitive array object.
  
  @param target
  @return