code: public <V> Reflecter<T> populate(Map<String, V> properties, List<String> excludes) {
  		if (Decisions.isEmpty().apply(properties)) {
  			return this;
  		}
  		
  		if (this.delegate.get().getClass().isArray()) {
  		    Object els = null;
  		    
  		    if (null != (els = properties.get(JSONer.ReadJSON.itemsF))) {
  		        this.delegate = Optional.fromNullable(Resolves.<T>get(this.delegate.get().getClass(), els));
  		    }
  		    
  		    return this;
  		}
  		
  		if (this.autoExchange) {
  			autoExchange();
  		}
  		
  		fieldLoop(new TransformMap2ObjVal<V>(properties, excludes));
  		this.isChanged = true;
  		return this;
  	}
docs: Populate the JavaBeans properties of this delegate object, based on the specified name/value pairs
  
  @param properties
  @return