### Question:
Reflection { public Class<?> getTargetClass() { return this.targetClass; } Reflection( Class<?> targetClass ); static Class<?>[] buildArgumentClasses( Object... arguments ); static List<Class<?>> buildArgumentClassList( Object... arguments ); static List<Class<?>> convertArgumentClassesToPrimitives( Class<?>... arguments ); static String getClassName( final Class<?> clazz ); Class<?> getTargetClass(); Method[] findMethods( String methodName,
                                 boolean caseSensitive ); Method[] findMethods( Pattern methodNamePattern ); Method[] findGetterMethods(); String[] findGetterPropertyNames(); Method findFirstMethod( String methodName,
                                   boolean caseSensitive ); Method findFirstMethod( Pattern methodNamePattern ); Object invokeBestMethodOnTarget( String[] methodNames,
                                            Object target,
                                            Object... arguments ); Object invokeSetterMethodOnTarget( String javaPropertyName,
                                              Object target,
                                              Object argument ); Object invokeGetterMethodOnTarget( String javaPropertyName,
                                              Object target ); Method findBestMethodOnTarget( String methodName,
                                          Object... arguments ); Method findBestMethodWithSignature( String methodName,
                                               Class<?>... argumentsClasses ); Property getProperty( Object target,
                                 String propertyName,
                                 String label,
                                 String category,
                                 String description,
                                 Object... allowedValues ); Property getProperty( Object target,
                                 String propertyName,
                                 String description ); Property getProperty( Object target,
                                 String propertyName ); List<Property> getAllPropertiesOn( Object target ); Map<String, Property> getAllPropertiesByNameOn( Object target ); void setProperty( Object target,
                             Property property,
                             Object value ); Object getProperty( Object target,
                               Property property ); String getPropertyAsString( Object target,
                                       Property property );  }### Answer:
@Test public void shouldHaveTargetClass() { assertThat(stringReflection.getTargetClass() == String.class, is(true)); assertThat(stringListReflection.getTargetClass() == List.class, is(true)); }