{
Type localType = paramTypeLiteral.getType();
if (!isFullySpecified(localType))
{
localObject = new Errors().keyNotFullySpecified(paramTypeLiteral);
throw new ConfigurationException(((Errors)localObject).getMessages());
}
if (paramTypeLiteral.getRawType() == Provider.class)
{
localObject = (ParameterizedType)localType;
TypeLiteral localTypeLiteral = TypeLiteral.get(Types.providerOf(localObject.getActualTypeArguments()[0]));