code: private static <E> TypeInformation<?>[] extractTypeInfos(PojoTypeInfo<E> pojoTypeInfo, String[] fieldNames) {
  		Preconditions.checkNotNull(pojoTypeInfo);
  		Preconditions.checkNotNull(fieldNames);
  		Preconditions.checkArgument(pojoTypeInfo.getArity() >= fieldNames.length);
  		TypeInformation<?>[] fieldTypes = new TypeInformation<?>[fieldNames.length];
  		for (int i = 0; i < fieldNames.length; ++i) {
  			String fieldName = fieldNames[i];
  			Preconditions.checkNotNull(fieldName, "The field can't be null");
  			int fieldPos = pojoTypeInfo.getFieldIndex(fieldName);
  			Preconditions.checkArgument(fieldPos >= 0,
  				String.format("Field %s is not a member of POJO type %s",
  					fieldName, pojoTypeInfo.getTypeClass().getName()));
  			fieldTypes[i] = pojoTypeInfo.getTypeAt(fieldPos);
  		}
  
  		return fieldTypes;
  	}
docs: Extracts the {@link TypeInformation}s  from {@link PojoTypeInfo} according to the given field name.