static Type[] mapKeyAndValueTypes(Type context,Class<?> contextRawType){
  if (context == Properties.class)   return new Type[]{String.class,String.class};
  Type mapType=getSupertype(context,contextRawType,Map.class);
  if (mapType instanceof ParameterizedType) {
    ParameterizedType mapParameterizedType=(ParameterizedType)mapType;
    return mapParameterizedType.getActualTypeArguments();
  }
  return new Type[]{Object.class,Object.class};
}

static Type [ ] mapKeyAndValueTypes ( Type context , Class < ? > contextRawType ) { if ( context == Properties . class ) return new Type [ ] { String . class , String . class } ; Type mapType = getSupertype ( context , contextRawType , Map . class ) ; if ( mapType instanceof ParameterizedType ) { ParameterizedType mapParameterizedType = ( ParameterizedType ) mapType ; return mapParameterizedType . getActualTypeArguments ( ) ; } return new Type [ ] { Object . class , Object . class } ; }
returns a two element array containing this map ' s key and value types in positions 0 and 1 respectively .
